Full GPL Game Company - Nevrax
Loic Dachary writes "Nevrax is quietly building a 100% GPL'ed game client and server that contains a framework, a 3D engine, an AI engine and a Network engine aimed at running massively multi-user entertainment in a 3D environment over the Internet. Since this is a company based in Paris I follow their progress with great enthusiasm, although I'm not a game developer myself. Their business model makes a lot of sense: they won't sell CDs, they will sell access to the massively multiplayer server. What I also like is that they don't plan to release the client under GPL and the server under a non-free license. They release both under the GPL. The proprietary part will be the data files for the world (graphics, maps etc) but that was to be expected. They released a demo game for people to play with so that external contributors won't have to build a whole game of their own before testing their first patch."
I guess the observation I've heard so many make regarding Slashdot users being idiots is mostly true.
A simple analogy: Having open source web browser and web server software does not automatically throw the door wide to security vulnerabilities! Just because I can go download the source to Apache and Mozilla-- does that mean that I've instantly got the tools I need to compromise security on any Apache server?
Bugs in the code aside (which there WILL be), the design of a game server is just like the design of any other server daemon-- the client input is 'tainted' and untrusted. You do not maintain the game state on the client-- you maintain it on the SERVER. Is a web browser client responsible for "okaying" my authentication to a web server? No! It's the server, you idiot.
All these "...boo, hoo-- it'll make cheating easy..." posts are obviously written by people who have no idea how a server daemon would be designed. If the game is allowing clients to maintain and dictate state, the design is flawed and it deserves to be fraught with cheating.
Yes-- bugs in the server daemon, just like bugs in any server daemon, may open up the "world" to cheating, unauthorized priviledge elevation, etc-- but this is true of ANY code.
Yeesh-- I can't believe you idiots would think it an advantage to be closed source... Have you ever heard of reverse engineering? Go ahead-- be closed source-- we'll reverse engineer your fucking packets and hack your servers anyway.
In summary, if the damned thing is designed properly, cheating will not be assisted with access to the source code. Duh!
I am all for free speech, and even browse at -1 sometimes. But I still can't help but wonder if this development is really a good thing, in the end. You see, trolls like me are frighteningly stupid, and people can often become so involved in the goatse.cx posts that they forget about their responsibilities in the real world. Trolling can be a bit like drugs, easy to get addicted to in an attempt to escape the real world. We all do it a little, but some people do it too much.
I am sure I would enjoy trolling on Slashdot, but I can't help but wish that they would include code to limit time spent trolling by each IP, in an effort to stop people from trolling too much.
I am just considering the moral aspects. As a practising Christian, I find the moral and ethical dimensions of trolling really quite fascinating, if a little worrysome.
KTB:Mutant, Dumbass, Freakshow, Loser, Windows User.
There is no contradiction.
GPL'd code is far easier to reverse engineer than binaries are.
Well since you don't have to reverse engineer them, sure.
Cheating would be far easier with an open-source game, especially if the characters are stored client-side.
If they're stupid enough to have the characters stored client-side, I think they have bigger problems than that their code is GPL'd. Everything lies in good design. A closed binary can be more secure than a GPL'd and vice versa, all depending on how well thoughout security measures, protocols and serverside coding are. Open or closed source shouldn't change how secure it is, because then it's just bad design.
Okay, so what you're saying is that you're ok with the idea that these are the ONLY games we should ever play. Have fun in your teeny-tiny little world!
And what's being a practising Christian have to do with it? Really... what does Christianity have to do with gameplaying? Perhaps the more orthodox and fundamentalist sects within Christianity might object as it distracts people from dogma and brain-washing? Other than that, I see no conflict of interest, especially for normal Christians. I know Christians who death metal music; I know Christians who believe in abortion; I know Christians who take copious amounts of legal and illegal drugs. You're just up-tight.
Another MMORPG that aims to do just this is Dawn. Made by a company called glitchless is supposed to go into beta soon, then we can see how well it works. Your character is always in the world, and thus can be killed, there is permanent death, user changable landscapes (in other words ppl can build houses, dig rivers, etc), etc. I am thinking that this will be the best MMORPG out there when it comes out.
But anyway, back to my original point, when you log out, your character remains in the world, wandering around, etc. It is POSSIBLE to log out safely so that you can not be killed, but this requires time and planning, so people can't just log out to avoid getting killed or pk'd, etc.
---
Remove the -x- from my email address to send.
... and GPL'ing Quake 1 killed it. Dead. TFC Cheating was already rampant, but when it was GPL'ed, there was no hope at all.
--
Empire is another game that has the opportunity for scripting in the clients, and hasn't suffered too much as a result... (AIUI)
(Disclaimer: I've never actually gotten around to dedicating the fairly large amount of time apparently required to play Empire, but I seem to read through how it works every 6 months or so and not quite try it)
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
nevrax.com is the corporate web site, nevrax.org is the developers' community web site.
Nevrax will not release their game under the GPL because it's a dead project: they chose to do so from the very beginning (event though I think they first intended to keep the server code proprietary).
Nevrax is a real company, funded by real investors, and they intend to make real money, so I guess that they have anticipated attacks from cheaters. The future will tell us if they have chosen the good option, but at least they have probably some good ideas in mind to prevent cheating.
And I'll add that I wish the best to the Nevrax team, such a project needs courage and a lot of work to succed.
Take a look at IRC. Everyone has access to the specifications. That means that anyone can write a client and a server. Only certain people actually run active servers, but nothing can stop me from writing a client that will take advantage of some poorly written server. In theory, I would then be able to get a * next to my nick (server operator), an @ (channel operator) and who knows what. The trick is that there is a community. Everyone has access to the source => anyone can submit a patch that will prevent me from running my exploit. Oh yeah, there's no cracking problems on IRC. Nah, EFNet is the most stable network around, thanks to Open Source! Server exploits never happen because somebody always fixes those holes in a jiffy. No DoS or op hacking there! Safe and secure, yesirrie!
That sell ad space. It is free to play but you must look at the ads. I guess that will not be such a bad thing.
The client can only predict the outcome of a task if it knows all the variables. The solution is to ensure that you can only succeed in the game by constantly interacting with other players. A computer that plays a game must be able to determine whether a given position in the game is better than another given position. It is very hard for the computer to find the best course of action when an important asset for a player is "the yellow player owes me a big favor"...
Finally! A year of moderation! Ready for 2019?
One of the biggest problems with massively multi-player games is the cheaters - those who write scripts and such that build up their characters while they sleep. This is a real problem now, and game companies have to keep constant vigil against those that would ruin the game with their exploits.
You are incorrect, it will improve the games.
Let me suggest a game to consider: Go (frequently described as the chess of Asia).
Any serious go player can beat every computer at Go. There are online go servers, but hacking the clients wouldn't do a damn thing. There is no way a computer can help you.
In every game there is a limit beyond which scripting hacks wouldn't help - Go has a very close limit. But consider a Red Alert 2 type game (assume the client portion contains only the interface). One could hack in improved automatic patrols. Improve the "attack what" in multi-unit battles. Write a basic scouting algorithm one could at the very beginning. But computers can't handle master strategy - no computer player in such games ever stands a chance against a good human opponent. The computer can only help you with the "little thought required" tasks that free you from micromanaging.
Now consider that minimization of micromanagement has been a goal of newer real time strategy games. It focuses the game on higher strategy. Reducing micromanagement rocks. Thus by extension, the GPLing of the client side of games furthering a reduction in micromanaging, also rocks.
Ah, right, the old security-through-obscurity model that works so well with the security holes in Windows...
WTF do graphics have to do with immersion in a game? While at university I was addicted to muds (1/6 of my time at uni was logged on a single mud, and I used to play 10-15). The level of interactivity on a mud is almost unconstrained. We were playing multi-player deathmatch style games well before DOOM, with a whole ton more variety than even UT or Q3A. And that was on a raw telnet session. Your imagination maybe doesn't let you get much from a textual description, or maybe you didn't try such good muds, but in a truly great mud the textual descriptions are almost incidental.
From one point of view, what muds provide is gameplay. Raw, unadulterated, adrenaline creating, fast paced, enjoyable gameplay.
From another point of view, what muds provide is a social experience. I have yet to find a single graphical game that allows me the range of conversational creativity that I get while mudding. On a mud I can exhibit body language, use facial expressions, provide non-verbal cues, engage in multiple conversations with multiple people at the same time. I have still not found anything that makes communication so damn easy - and that includes the web, IRC, usenet, IM variants.
Taking both views, muds provide an experience that I have yet to see matched by any other game type out there.
I play a lot (a LOT) of Unreal Tournament at the moment. I love the fast paced action, the online gameplay is truly fantastic. But I really miss the social side of it.
Just because a game is text based does not make it any worse. And if you feel you need flashy graphics before you're getting your money's worth, then I pity you and your shallow viewpoint.
Incidentally, don't even get me started about Angband - text based graphics, and quite possibly one of the best games ever made. (Oh, and completely free - source code available, etc)
~Cederic
Even if you get the artists and designers and whatnot to work for free, you still have a problem: bandwidth and hardware. Massive Multiplayer is going to mean massive infrastructure and fat pipes. We'll probably see things like we did in the early day of MUDs: a mud starts up, gets really cool, and then the hoard of people who tromp in ensure that the resources that could be spared to run the game for free are no longer adequate.
That assumes, of course, a monolithic server, which it sounds like most of the multiplayer games use. I wonder... distributed servers, anyone? That would be a cool, and probably gawdawfully complex project. Sort of like Napster, only with real-time updates.
(I'll host 100 square feet of the game world on my system, if you'll do likewise...)
Hmm. You could require a certain amount of "off-line" time for characters before they can increase in level, advance their skills, increase their stats, etc. - call it "study/training" time. Certain game activities would require an expenditure of accumulated off-line time. For example, if you have a month of accumulated off-line time, you could spend (declare that you used) that time to work out and increase your endurance, or practice alchemy, or stellar navigation, or whatever.
You'd have to balance this out fairly well - what you're really doing is putting a time-limit on how quickly players can acquire skills. You'd probably want players to be able to ramp up relatively quickly (ie, requires hours or fractional hours of off-line time to learn new skills or achieve some moderate level of ability). After a while, though, you'd want to start to scale back, so that their time becomes more precious, and they need to decide which areas they want to concentrate on and improve.
This won't stop people from writing scripts to do things like camp on a spawn point and wait for items to appear. If you couple it with other game mechanics (ie, cost to train/study, time for training/practice, finding a trainer/teacher, etc.) it might help eliminate the abuses. Then again, it could lead to entirely new abuses...
"Haven't seen you around here lately, Magus."
"I've been trying to rack up enough offline time to make a sceptre of the gods. Another month of not playing and I'll rule!"
"Great men are not always wise: neither do the aged understand judgement." Job 32:9
...the anonymous coward said as if there's no point in saying what you mean and meaning what you say.
i'm serious here. it's a matter of architecture. if your architecture is that the human interface software is a "client" of the game world "service" then your protocol will necessarily place too much authority in the software distributed among the players.
if your architecture is peer-to-peer with a central game resource manager, an independent rule execution agent, and a network of player interaction agents, your architecture will be much more robust.
you can call that "a client/server architecture" if you like, and you can even dismiss my arguments as quibbling over 'semantics', but you don't make good architectures into good designs and implementations by deliberately making poor descriptions of them.
jhw
while we're "redefining" our way around hard problems, permit me to stand on my soapbox and rant about two other fundamental problems for large-scale multiplayer network games that rarely receive the attention they require:
1) the core protocol *is* the game. the rules of the real game the players must abide are documented in the core protocol specification. if you think there is strength in any game design that depends on the obscurity of the real rules of the game from *all* of the players, you should think again.
2) all multiplayer games are peer-to-peer, not client/server. the human interaction software cannot be bundled with transaction controllers in a multiplayer game. either the protocol must be simultaneously completely secure *and* fully distributed, or there must be an independent transaction processing system that all the players trust. unless that system is completely stateless, i.e. is not the authoritative repository of any game state, then you shouldn't call it a server: it's simply one of the peers in the peer-to-peer protocol.
so yeah, you can GPL the human interface implementation if you want. you should probably go through the extra effort of publishing the protocol specification in clear language, and making copies freely available. you can even GPL the game transaction processing system if you're feeling jaunty.
if you do this and you still want to make money, there is exactly one way left to do it: sell the service of operating the game. design the game for a network effect, and you may be able to survive the wave of competing implementations.
jhw
Is your multiplayer space sim called Terminus, by any chance? I'm pretty active in what passes for the multiplayer Terminus scene....
Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
It means that you can improve how well Mozilla displays a page, and maybe improve how fast it downloads. Thus, you will be at an advantage over everyone else, because you will be able to read web pages faster. While you've already sent off $5 in a $$$ Make Money Fast $$$ scheme, the other people are still reading about it. When you are collecting the $10,000 that you get two weeks later, the other people are just now sending out their $5. Then you dump your $10,000 into the economy, buying all the finer things in life, when everyone else is still just opening their envelopes. When everyone else gets ready to spend their $10,000, inflation (caused by you) makes them be able to buy less. You win, everyone else loses. So yes, Open Source Mozilla has let you profit by cheating, at everyone else's expense.
;-)
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
They could eliminate cheating. The thing is, with FPS games, where aiming is a source of cheating, client side cheats could never be eliminated by the server. This is not an FPS game. The server could *easily* check every single thing the client reports for plausibility. This is entirely doable.
That's why Quake broke when it went open source - it depends on reflexes, which the client can hack. This is different. So everyone stop bashing open source. It's a little needless here.
--
There are no trails. There are no trees out here.
Not much money to be made.
Blar.
What this does is open up cheating to everyone equally instead of restricting it to insiders and extremely dedicated cracker types. Wheras in Ultima Online (the current benchmark) you have to pay $10 extra per month per account to get a sanctioned "cheat" program (UOAssist), if the client were GPL'd there would be competition in "cheat" programs and many decent ones would be given away. More exactly, people would trade improved clients and contribute the results back to the community.
Likewise with a GPL'd server, anyone can compete with this company, insuring that users can choose to visit the world which meets there desires and expectations. Is the world they are visiting "cheating" them? It doesn't matter what the answer is, because if they don't like the experience they get, they can try a different one.
The best advantage to opening up the protocols this way is that it focuses game design on systems which cannot be cheated by their design. Make time increments large so that bandwidth doesn't give you an advantage. Make a wide array of client fancyness so that machine speed becomes less important.
The only way you're going to have cheat-proof action is by taking over the user's I/O completely. Otherwise they will always have a way of cheating. Their hacked client can show them secrets they aren't supposed to see, auto-avoid threats, give users perfect aim, etc. If you're going to give up the action element and go with a strategy approach, or even focus on *gasp!* ROLE PLAYING then this project will probably suit your goals nicely.
So, if you're just looking at the obvious questions and answers, then opening up the client and server does give an advantage to geeks, but if you're looking at the long-term/big-picture, then opening up these programs is the ONLY way to solve some of the biggest problems with these games.
This is three and half years of Ultima Online, four years of quake and 10 years of MUD experience talking.
The way I believe it works in netrek, which doesn't have a big cheating problem (But only because a very small number of people play, I think) is that when the client connects, the server sends it some random data, the client encrypts it with a certain key and sends it back. The server encrypts a copy of that data and sees if the two encrypted copies match. Obviously, in a much more popular game this method wouldn't work since it would be reverse engineered in no time.
-Splat
Coders? yes. Artists and designers? Probably not many. Professional quality game artistry is a very specific skill that not many people have. The people that can do it are, for the most part, doing it 80 hours a week for some serious money. Sure there are plenty of highly paid programmers that write GPLed code because they love it. But with artists, I just don't think it's the same situation.
-B
the point of the business model is making people pay to play on their servers. they are assuming that to really have a hugely, massive, multiplayer game, people are not going to be able to set up their own servers. they won't have the bandwidth or the machines necessary.
The code is GPL but the data that is running in the play (levels, monsters, graphics, etc...) are not. You cannot copy them, or reproduce them in a new server. I belive that it will be even hard to copy them from the server without the proper access level.
--
"take the red pill and you stay in wonderland and I'll show you how deep the rabbit hole goes"
[]'s Victor Bogado da Silva Lins
^[:wq
you bastard!
I have discovered a truly remarkable proof which this margin is too small to contain.
The server can ask for a cryptographic checksum, but that ultimately can only ever prove that you have a copy of the official binary; it can't prove that the copy that is answering the request is that same binary.
I'm not contradicting what you say but maybe turning it into a question. Is there a way to design an online game Server/Client protocol that prevents cheating? Or is the only answer, "security through obscurity?" The VPN client that I use to connect to my work runs a check to see if it has been modified before it runs. Is there anyway to design a system so that a server can reliably check whether a client has been modified or not. I guess that my question is relevent even if the source is closed since people can and have modifed binary clients. Any ideas anyone?
But he's got a point, Mr. Dumbass. As many others have pointed out, security through obscurity simply doesn't work .
GPL'ing it will mean that game designers will have no option but to solve this problem. And make no mistake, it will be solved. Just like security holes get solved in a well known GPL'd operating system, which I believe is the point he was making. Sheesh. Who mods your drivel up anyway? Got a spare account, do you?
OK, first off, with a GPL'd client, you _cannot_ assume the client is secure. There is nothing stopping a would-be cheater analysing the data-transportation code
/. article a while back on this). Any thing else could lead to successful snooping.
(i.e. client-server protocol), and then telnet'ing to the server, logging on and telling the server he has load of money/items/ex-points/whatever the server will believe him saying. You cannot assume the client will be trust worthy. Period.
However, there are ways to burden the server with less info - you just have to make sure that the client can only request to do 'legal' things. If you think about a cpu that has two modes - OS kernel mode and app space mode, where in app space mode it can only do 'legel' things (i.e. stuff that doesn't mess other stuff up), then the same can be applied to the game. Of course this all depends on how they've designed the games upto this point anyway. If they cannot break the operations/requests to validatable stuff then this could all be irrelevent anyway.
Other than having very thin clients (read: dumb) and a super-server then security is a hard aspect of open software to solve. There may be another way out though.
Suppose you have three totally random and arbitrarily chosen clients A, B and C. Now suppose A wants to do action X (like move to some point in space). You cant trust A to tell you whether it's legal of him/her to do X themselves - they might lie in order to cheat. But get this: you coudl ask B and C togther to see if A could do X - if and only if they both say yes should A be allowed. Otherwise (if they both say no) A should be told off or (if they disagree) B&C should bew told off and rechosen. This allows some wieght to be taken from the server and processing distributed. It does need B and C to know all about A (in order for them to make the decision properly). In addition to this it is considerably more secure that assuming the clients will always tell the truth and only do what they're allowed.
The other way cheats can break the game is through snooping on other people's data streams. This again does not need security through obscurity - a good encryption scheme should not rely on secrecy of the algorithm (cipher) only of the key. For the ultimate security, a one-time-pad would be a good idea, which is implemented in HardEncrypt (there's a
Gav
Go is not core wars. Nor is a MUD. Nor is StarCraft, which obviously can't be botted effectively, or their AI wouldn't suck. So, what you're really saying is "The world outside of Quake is boring".
Become a FSF associate member before the low #s are used
I agree with you that there is a glut of half finished and unoriginal games being developed for Linux, but people have to start somewhere.
Understanding what makes a game playable and working out how everything should fit together is hard. If you set out to clone an existing game, you only need to worry about the how not why. The first game I ever wrote was Asteroids (learn how to handle user input, do physics, display game objects, collision detection), then Pacman (load data like levels, AI (to an extent)), then eventually a Gauntlet clone called XTux (starring Tux, Beastie and others) and when that is finally finished, I will hopefully have enough knowlege about game design to write something original.
So, while a small tetris clone might not be worth much to YOU, it might be an important step to the person that actually put in the effort to write it.
*sigh* No, they would only be required to release the source if they release a binary. The GPL does not require you to release the source just because it's under the GPL.
Dodger_
"The world is then populated by 'inanimate' players - competing for the 'game resources' very ruthlessly (they are doing nothing *except* this). They would run around the game world, appearing to be 'piloted' until you tried to interact - only to be disappointed. You would eventually stop interacting."
Nonsense. This is just another solvable problem. I'd make it so that when players are logged out the 'Avatar' you see becomes monochrome. When logged in it becomes fully 24 bit color.
Later
ErikZ
Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
The reason the GPL still manages to exist is the consumers are also the developers. One artist designing a level doesn't help another artist in any way, aside from maybe a little inspiration. But when one developer writes a code library, and then another uses his code library to write a text editor that the first developer can use...
--Mal3
Non gratis rodentus anus
That's an interesting model that just might work.... GPL the framework, but keep your copyright on the content of the game.
Give away the razors but charge for the blades? Or something like that...
--
They can't have handled it.
The client must have a secret which the user can't access. Since he has the program he can access all data of it.
The way the GPL works, it's even more impossible.
To fulfill the GPL, the user must have the ability to recreate the binary with all given data.
"Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
CSS is an encryption algorithm.
That an outsider (the player) beats the system (wins) is an inherently part of a game.
In an encryption algorithm or an OS, it would be considered as flaw.
"Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
The difference is, that in an OS or an encryption algorithm, errors leads to insecurity. Obscurity makes it harder to find the error for both sides.
I think that leads to the problem that only the "bad guys" are trying to find mistakes.
But I didn't mean cheating by flaws in the code.
I meant something like aim-bots, semi-transparent tectures, and so on.
Almost all current games have a fundamental flaw in their concept which makes them cheatable by this mean. No patch can fix this.
Someone suggested that, if a bot can help you the game'll be to easy. Theoretically, he is be right, but this'll only achievable, if the server has more calculation power than all the clients combined.
The server has to calculate the outcome of an action, the client can pre-calculate it by same algorithm or an approximation of it.
Therefor the client can predict (to a certain degree) the outcome of a task. The prediction will surely be more correct than any prediction of a player.
This must be possible, because that's the way player decide. If it's unpredictable it's something like rolling dice, but not a game with a challenge.
To a certain amount, the client must be trustworthy.
"Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
So is it nevrax.com or .org? Either way, it's slashdotted. Sounds interesting though.
***
Man, you stole my thunder.
:)
Yeah, Dawn is supposed to be exactly that, always on. The only thing is, when your character goes to sleep (a process which is not connected to when you log on or off) he will become invincible until he wakes up. They even had a little blurb about how if you take someone hostage, you better make sure to take shifts poking and prodding them to make sure they never go to sleep.
A GPL'd EverQuest. Well, my guess is atleast the graphics and interface will be better.
"Your in our world now." - Verant
This is... interesting. On one hand, the Open Sourcing might not be the best idea, as it could scare away vulture capitalists who would rather stick with a closed engine that can be licensed.
On the other hand, an MMOG is more likely to succeed based on content, community, and ease of use, so this gives people a good framework to build on.
If nothing else, open sourcing at least provides lots of free bug fixes, in that all the players dying to cheats and bugs will want them fixed ASAP.
Nothing more than a bunch of packets floating around from here to there and everywhere.
Back in the day, you _knew_ who the cheaters were so it was easy enough to not play with them. On the Internet, identity is borderline impossible to verify and cheating is the order of the day. To deny that if people can cheat and get away with it they will is to bury your head in the sand.
So if you particularly enjoy playing well with others and getting butchered by those who don't, feel free to just keep on playing. The rest of us will keep on looking for greener pastures. Just wake me up when we actually find some.
Easy does it!
This comment has been submitted already, 276865 hours , 59 minutes ago. No need to try again.
Have fun playing the game. I'll have fun laughing at you when your +99 SWORD OF WINNERDOM gets stolen by someone playing on a hacked client.
As is, I only play against friends I know in servers we set up. Cheatery is punished by buying the first round at the bars. There I don't mind cheating quite as much; rather than get bent out of shape, I can just get drunk. Win win as opposed to the servers I've been on with cats with unnatural aim... out of their butts...
Easy does it!
This comment has been submitted already, 276865 hours , 59 minutes ago. No need to try again.
Why not allow your agent(s) to learn from your playing and then play for you _as_ you while you sleep? I find the idea of a game world with a full population that is going all the time kind of enticing. You could train an agent to act a certain way and then set them loose permanently and see how they do, while moving on to create another one. Granted, training AI would probably need to improve substantially, but I'm sure it's doable.
The online RPG isn't going to go away.
Ever.
Just the same as car racing games, flight simulators, sport games, and combat games aren't going to go away.
I don't think most people think about cheaters when they try out a game. I never have. Good reviews make me want to try a game and if the graphics are cool.
They anticipate RedHat selling CD 'distro' :)
of their game.
Its amazing how many of you don't understand that Linux is a kernel and the rest is GNU. GNU isn't meant to make money but for those of us who have used it for 10+ years we are greatful. Who cares about Linux companies and how much money they are making/losing. We'll always have Slackware and companies like Walnut Creek to make money off the CD's.
The first thing that came to mind when I read this story was the metaverse in snowcrash. With everything being open source, this is a chance for people to experiment with the modular abilities the metaverse had. With the new lcd helmet from (that you can get from thinkgeek for around $500) I think that the tech is there to build a metaverse. Its only a matter of time before we have something like that.
Maybe it exists in the software world because software A) can be copied easily, and B) software is useful whereas the work of an artist is not.
Sure, art looks good, and provides entertainment, but it isn't useful in the ways that software is (such as what we're doing right now, with webbrowsers and servers).
He who knows not, and knows he knows not is a wise man
Actually, the GNU Project was launched in 1984. It's right there on the front page of the FSF.
/svenne
Slagborr
As long as the server is well written, there shouldn't be any issues. You probably remember what happened when Quake went open: since the client was trusted to tell the server when the player had done damage to another player, it was easy to say "I did 999 damage to every player but me. I win."
BUT! that was /not/ a well written server. Quake sacrificed security for performance. Since the Quake server trusts its clients, once the client became open anyone could cheat. A well-written MMORPG can be written to avoid these things. Just look at cheating in DiabloII compared to Diablo.
examples:
Bad Idea: server trusts client to determine wether or not a swing of your sword hits the enemy or not and how much damage it does.
Good Idea: server trusts client to say "I swing at that enemy" and server decides hit and damage.
I know Gamasutra had an article written on preventing cheating (from the designers perspective) which goes over a lot of this.
And besides, the code for most MUDs have been open for ages, and cheating isn't (much) of a problem there, and this is just a mud+pictures.
God does not play dice with the universe. Albert Einstein
Those who fail to understand communication protocols, are doomed to repeat them over port 80.
Has anyone made an xkoules computer player yet? That always wins?
-
This post was compiled with `% gec -O`. email me if you need the sources
IIRC, Quake's biggest problem was that the server sent back more information than the client needed in an effort to speed up the connection. Clients could then do prediction and such, but once that got found out bots were created that predicted when people would come around the corner and blast them immediately. Trust me, Quake would had had a far bigger problem if the client's couldn't that prediction. It's a neccessary part of simulating an environment with mulitple client - otherwise lag and bandwidth problems just bite you in the arse.
This form of extrapolation (dead-reckoning) has been used in most of the military sims developed and is still in use the US's latest creation - the HLA (High Level Architecture). And it's been used in just about every realtime multiplayer game written.
If you can't extrapolate positions you can kiss bandwidth goodbye. Here's an example. You have 30 players, each player update take 20bytes, and you want 30 frames a second, so:
20 x 30 x 30 = 18000 = 140KB/sec
That's a lot of bandwidth. Now factor in weapon firing and you'll way up there.
Not to mention the effect variation in lag will have on the smoothness of your opponents movement.
Opensourcing the clients creates a really really difficult security problem. "Security through obscurity is no security at all" is a cryptography term, and the one thing crytographers don't have to worry too much about is efficiently. "Can't trust the client? Then don't" works get for them, but for MMP games it would kill them.
Yeah, it's always a problem. I do PlayerObject collision on the client, and PlayerPlayer and ObjectObject on the server. As far as I can work out this gives the least visual disparity between what you are seeing and what the server (and everyone else) thinks is happening.
the server implements the "laws of nature"
than it is to actually do it. You have two major problems - bandwidth and latency. And while bandwidth gets better all the time latency doesn't improve nearly as quicker.
For example, you might say a Law of Nature is "Thou shall not walk through walks". For this to be done on the server everytime the client moves it has to check to see if it can move! Imagine you are playing with 200ms ping times - having the screen update a 1/5 of a second after you move the mouse/joystick is very noticable. Or a 1/5 of a second delay between pressing fire and having your gun fire? That's very annoying (it's what happens in my multiplayer space-sim at the moment, and it's very noticable).
Not to mention the fact that your server loads goes up a whole bunch. I've written a few very basic multiplayer games and, although I'm proabably a sloppy coder, server load is a real issue - particulary in MMP games.
Really the best you can do is to have the client obey the "Laws of Nature" and then have the server check up on it once in a while (and the checks would still be fuzzy - in a lot of cases you have to extrapolate position based on lag and that can give false positive collisions).
Bandwidth gets better everyday, and with boardband connections becoming more and more common it's almost ceases to be an issue. Latency is here for a long while though, and that's a far harder problem.
(Btw, some of the GPL'ed Quakes have tried to get around the open client problems by releasing "blessed binaries" that have an encyption key hidden in the data, surrounded by a random amount of data each side. It's a nice idea, but it's obviously breakable).
Hell then why not just make your scripting language similar to LISP or APL or just to be annoying use FP (meaning Functional Programming and not first-post)....
Hell I would learn APL again if it mean scripting a game of some sort!
"Survival of the fittest Max, and we've got the fucking gun!" - Pi
Look at what happened to Quake, for example.
IIRC, Quake's biggest problem was that the server sent back more information than the client needed in an effort to speed up the connection. Clients could then do prediction and such, but once that got found out bots were created that predicted when people would come around the corner and blast them immediately.
So, to repeat a sentiment I've seen in many comments, it's probably more possible than we think to accomplish this with a lot of planning. Just nobody has ever tried.
This seems to be a pattern (A good one) in the Gaming industry. Interactivity is what the newer breed of gamers want. Interactivity with humans, to be precise. So you build a game and give it away for free, then charge for access to the multiplayer servers.
I'd probably be more willing to plunk down $4 a month or so for nice, big, juicy Half-Life servers if I got the game for free and didn't have to spend $60 every time they come out with a new version or a nifty upgrade.
Sounds cool.
Wouldn't using some sort of checksum routine on the users software when it runs and comparing to authorized checksums on a centralized authorization server prevent this particular problem?
worldforge does (or will do) exactly that. Here are some docs
- Other divers can be added, including a software mode for those who really want one.
Must be some kind of ocean game.I/O Error G-17: Aborting Installation
You played netrek too I take it? Damn that game rocks. Did you ever consider signing the clients in the same way as netrek?
I/O Error G-17: Aborting Installation
Netrek handled this issue decades ago. All of the source code was readily available, but if you wanted to connect to any of the public servers you would be required to have an RSA signed binary.
I/O Error G-17: Aborting Installation
The graphical aspect adds a bit of trouble for the free servers - not only do they have to work on the "playability" aspect of their server, they have to develop all of their graphics from scratch. This takes a long time...
I/O Error G-17: Aborting Installation
This is true... if you're able to cheat/script trivially it is a serious flaw of the game design.
Stuff like playerkilling and questing forces the player to pay a little more attention, and running should not always be a simple matter.
Even so, I like the idea of developing a really fantastic smart client and trying to beat other coded clients in a good MMORPG/MUD world (the difference vanishes with APIs/open standards) more than the idea of making a killer quakebot.
I'd go as far as to say it was one of the most interesting evolutions of Robowars/Corewar et al =)
Warsawza
Wait a second. Are you actually suggesting using clever game design to solve a problem instead of a techno-fix? What kind of heretic are you?
There's no point in questioning authority if you aren't going to listen to the answers.
In a word, no. Think of it this way. To authenticate this way, there has to be some system by which the server requests authentication from the client and the client responds with the checksum or other security code. But the means of carrying out this challenge-response has to be included in the client code, which is GPLed. That means that at least a cheater can read the code, and figure out how to force the client to respond to a pseudo-server under his control. He the has the authentication code that the client sends back to the server. From this point it's easy. He just rewrites the "return authentication code" routine so that it sends back the known value, rather than the value derived from the checksum of the actual compiled code. Now he can hack the code to his heart's content and the server will continue to think that it's talking to a valid client.
There's no point in questioning authority if you aren't going to listen to the answers.
For example, the server could detect ridiculously superhuman aiming in a 3D shooter. I'm thinking about the player who unerringly spins 179 degrees to head-shot the opponent who just rounded the corner. Doesn't the Quake 2 ZBot detection code do something similar, Quake coding experts?
Of course, you could get into an arms race where clients code in "human-emulating" aiming errors, and servers work harder to detect them. But in the end, you will have better servers, because, as has been said (probably in this thread) many times before...
"Security by obscurity is not security at all."
"Rub her feet." -- L.L.
just a thought... if the code is GPL'ed, then any modifications made to it for cheating purposes would also have to be released under the GPL... so the cheaters would distribute their code and a fix would be quickly implemented, or they would keep it to themselves and risk prosecution
we've killed Nevrax!
It really only killed public servers where there was no trust.
I still occasionally play on servers of clans and people I know that are passworded, and you trust the other players to not cheat.
I also still do Q1 at lan games, where cheating would get you a quick beatdown (quite literally).
--
Soma: because a gramme is better than a damn.
That's still a non-solution. And don't think being open or closed has anything to do with whether or not you'll have cheaters - you will have them. The only option is to have a game design in which you are resilient against cheating (meaning, move as much as you can server side, send the client only information he should display anyway, and so on). Vincent Archer - archer@nevrax.com (yup)
Maybe. Or maybe not. Believe me, code is cheap and easy. Anybody with a modicum of logic can produce passable code. Very very few people can produce any form of art significantly distinguishible from my 3-year old niece's scribblings :)
There's also the mention of "better game"? What makes it a "better game"? A server that crashes when you've got more than 20 players? A server that stops whenever the university dean decides it's a waste of resources?
We're not competing against the hobbyists. We're a service industry. The strength of Nevrax isn't its code. The code is a tool to achieve one thing: service. A community of thousands player interacting. You can't achieve that with limited resources; a full fledged server takes about half a million in hardware, and thousands of dollars per month in connectivity. You can't do that, and remain free (as in no-cost).
We do want hobbyists to create stuff. We're counting on them to use our code, to add to the code, improve things, spot errors, laugh at our mistakes. But they're not competition.
That's about what we intend (and it's in part what you get with the current "snowballs" technology demo). The code is a tool. It's the celluloid that you use in a film, no more. What's interesting is what you
see in the movie, not whether it's being down with 35mm or digital downloads on your home theater.
> How do you seperate player from bots or bot-assisted players?
:)
Answer: You don't. You design your game in such a manner that Borging (love that term for augmented clients) is not a large issue. That means you do not aim: you select a target and the server determine how well you hit. You do not roll your dice: the server does it for you. And so on.
Yes, this places severe constraints on the game design. But thank god, RPGs are a good way to do this, because they put an emphasis on "skills" that are linked to the character (which is server side), and not on the player (which is the Borg side).
Besides, if some Borging improves the game... well, we'll put it in the official client anyway
Quake was killed by opening the source because of its game design. Quake is a game where player skill is what counts. Borging kills these games flat in no time.
:)
You wont have autoaim bots in our game, because we will provide autoaim already in the game. Everything that can be automated client-side, we will provide an automation already in place, and it will be part of normal gameplay.
That's how you defeat cheating. By making it irrelevant. Cheating is futile, you will be assimilated
Yeah, but it doesn't solve them problem. The average MMORPG player plays about 20h a week (of 168 hours). Having virtual avatars running means that only about 1/8th of your population is real - the rest is bots running.
Not good if you want a social game...
Selling games in stores is almost mandatory from a marketing point of view. Why? Because it exposes people who haven't heard about you to the game.
The target population is gamers who are on the internet. Trying to reach as many of them as possible from the Internet side is hard. Very hard. On the other hand, reaching them from the game side is easy: most gamers go to a store every few months at least.
Now, we haven't frozen the distribution model yet. But there's nothing to prevent us from using a dual model similar to what evolved around GNU/Linux. After all, you can download and install your favorite distribution from the internet at no "apparent" cost. Or you can buy one of the various CD distributions.
> I'd be interested to know how they plan on funding this GPL'd game without publisher assistance
We already have funding. Enough to have a team that is on par with most MMORPG being currently developped, and enough cash flow to pay them for the duration of the development. And you know the best? We sold the project to our current investors because it was a Free software project.
Yes and no. Well, there are a lot of things that can be done, and I'm (insert here picture of dubious looking boss reading this over my shoulder) not at liberty to discuss, confirm or infirm anything at all. But basically, we're not selling a software. We'll be selling service, namely hosting on a solid infrastructure a game world we've put a lot of effort into. That's what we're really selling. Not a game, but the service.
:) )
And to dispell a myth: we're not going to make a closed game software out of an open source library. The GPL itself prevents that: if you got the client, you got the client source. Not a hacked down, pared down version but the exact software you're going to run on your system (and the server, even tough it's not really mandated by a strict reading of the GPL - but you're going to have it too). What will be "closed" is the game data, which is covered by classic copyright rules (i.e. enjoy it at home, but you're not supposed to use it publically except under our terms. Well, apart from citation rights, i.e. screenshots
Unfortunately, for any complex game, you have to pay per play. A simple economics course: Let's assume you have an average bandwidth of 2Kbyte/s per user. An OC12 link (622Mbits/s) cost up to $200,000 per month, depending on your negociation and provider. Such a link serves about 40,000 simultaneous users tops. If you postulate that one user plays about 1/8th of the time (3h per day - btw, this is the average playtime for Everquest, 20h/week), each user has to pay almost $1/month just for the bandwidth.
The pay-for-software models for network games work fine because they drastically lower the bandwidth requirements (i.e. a lot of things are done on the client) or let player host the servers (and thus fund themselves the bandwidth).
This is offtopic, but that screenshot looks about on par with Civ 2, not Civ 3. Not to mention the most anticipated part of Civ 3 is the newest gameplay innovations of Sid Meier... Something which I doubt is in FreeCiv (but may make it in after the release of Civ 3... I can't wait that long, though, I'll have Civ 3 the first day).
Josh Sisk
More, maybe because art is considered to be a creative endeavor, an entertaining endeavor while a piece of software is considered to be a tool. Not to mention the fact that the GPL helps coders... By sharing what they do, they can do more, learn more, do more. Not quite the same with the art/sound people.
Josh Sisk
The code is the same, but I doubt the content will be. I expect the GPL'ed aspect of this to be an engine with no models, only a few textures and sounds, etc. The offical servers will have, I'm sure, quality models, textures, plots, a relatively balanced gameplay, etc. Not to mention they will probably have a bigger, more stable world sooner than all the amateur teams. Really, if there were a freeware version of Everquest, do you think everyone would switch? Some would, but most would stay with servers that have all the people on them already.
Josh Sisk
This is just the standard "security by obscurity" argument. This has repeatedly been shown to be false logic - open source is more scrutinizable and the problems are identified and dealt with faster. Worst case scenario: The market floods with hacks in weeks instead of years and they are dealt with far earlier in the game's evolution.
Their plan isn't to profit from the sale of software - selling a conveniently packaged CD is still the easiest form of software distribution around especially to modem users. I'm sure they'll still sell them as a distribution channel but at or just above cost since their business focus isn't the little plastic disk.
Any spoon would be too big.
Remember; Just because he was wearing black and swinging a sword about, doesn't make him a Ninja. Heck, he could have been a Goth/Geek who, in this 'Post Columbine era' was feeling oppressed and thought the only way he could express the angst he was feeling was through some blade-related violence.
Gev
So damn witty, they only let me use half.
Nothing, but its still GPL code, therefore it goes the other way too. Now would you go to a free server, or pay for one when the code is the same?
--
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
This is designed to be a pay to play system. Essentially, its like any other monthly service. If I abuse the bandwidth of my ISP, they can terminate my service. In the realm of online games, if someone cheats, the service providers simply terminate the service. That's it. The real problem is how do we define cheating and then determine if someone does cheat. But if the client is just a thin input/output mechanism where the server does all processing, the potential for client hacks is pretty slim.
Now, if both the client and the server are GPL'ed it will be that much harder to crack down on the cheaters. The biggest hurdle these folks have right now is that they can't access the code directly and must play a constant game of cat 'n mouse with simple scripting tools.
a rd_01.htm
Pretty much everyone can agree that security through obscurity is not really secure at all. Linux is all open source, but does this mean that cracks run rampant? No, it generally means that is is even easier to take steps to prevent cracking, as long as you think about it the right way.
What an open source client and server does mean is that the developer will have to find ways of securing the game that actually *is* secure. This means a smarter server, clients the don't implicitly trust other clients, data that is verified by the "secure" server, and smarter in RAM encrpytion techniques for game variables.
For more info on security against MMOG cheaters, read the excellent gamasutra.com atricle at: http://www.gamasutra.com/features/20000724/pritch
Stupid like a fox!
But we are forgetting the golden rule of the GPL. There will be (in theory) hundreds of coders, artists, and designers working on the free server, which should make it a better game than the pay-servers. Want an example? How about Linux vs. Windows
And Linux companies are turning a huge profit, too, while Mircrosoft goes broke.
Stupid like a fox!
Here is Google's cache of Nevrax's index.html and that news link.
Ok - thats a good idea ;) I was actually thought the same thing - but was intersted in making my point. Which is still somewhat true.
This is so great now we can help with the games and show that we dont need propiertary games anymore but the only downer is that some of thos propiertary games are fun to play. Best of luck to them.
The Beaver The Best Things In Life Are Free And So Is Linux!
So... by you way of thinking open source operating system is bad because you can modify the source to your liking? Well open source has made linux stronger and more stable than windows. So I think they will have a rough start but I hope the best of luck with them.
The Beaver The Best Things In Life Are Free And So Is Linux!
I personally don't think they stand much of a chance. We all know how open source projects take forever to advance (even though they advance safely and surely). The big thing about the game industry isn't about delivering a great game, it's about deadlines (which often slip though).
You could have a thousand genius coders, artists, designers and musicians.. but if you let them work on it until the game is nothing less than an orgasm to play, you'll have missed the train by 5 years and you'll have spent most of those 5 years rewriting the engine because it had become obsolete already. Just look at the bad joke that was Daikatana. It took years before they released it, and it looks and feels like an early playstation game.
The maximum turnaround time for a game is about 9 months for a non-rpg game, and up to 15 months for an rpg (which is part of the reason why rpg's always look cheap technology-wise). Now keep in mind that most game companies slip behind their deadlines all the time, despite long hours and plentiful caffeine (and a psychotic project leader driving everyone insane). In contrast we have the open-source model that churns out quality software at a slug's pace. Sure, slow-cooking that steak brings out all the flavor, but sometimes you just want to grill it quick cuz you're hungry. Gamers are hungry.
-Billco, Fnarg.com
:Disclaimer - IANAP (I am not a programmer):
Couldn't you just make the server-side desync with the client if a checksum or some other type of checking device isn't met?
Jaysyn
There is a war going on for your mind.
I believe that everquest is run on a very distributed system.. Somewhere on the www.everquest.com webpage they stated that there is around 15 computers per eq 'server' and they have 1000's of computers total running in their server farm. In fact the context of the post was how amazing it is that it only takes them 8 hours to patch the 1000's of servers and update the game.
I thought someone said there was going to be free beer!
But isn't this the same old security through obscurity issue that we've talked about time and time again on ./? It leads me to think that the game will have LESS cheating because any time that someone finds a cheat one of the great coding honest players will patch the cheat and give the update back to Nevrax. The only good security is open security, just like the only good encryption is a published equation. Just because everyone has the source to linux doesn't mean that it is less secure than Windoze.. and in fact some would argue that it is much more secure..
I thought someone said there was going to be free beer!
I disagree, DeCSS is a prime example of how security through obscurity just doesn't work. There is always a better reverse engineer than you out there. There are cheats for the games that are out there right now because of reverse engineers. If the games were open source and popular enough there would be groups of coders right now working on ways to prevent cheating, because they want a fair honest game. I believe that open source games could have a strong advantage over closed source games, if they are done correctly. Now just what is correctly? Only time will tell!! :)
I thought someone said there was going to be free beer!
And why not ?
Because GPL is such a stupid idea that would laughed out in any other market yet somehow it lingers in this one.
I am seeing an interesting business model here. Someone designs a MMPOG with open level/mod designing tools. Competitions develop on who can create the best levels, the best designers let the free-market economy through micropayments at maybe $.25 to $.50 a download. This would weed out a lot of crap levels that end up on Planet(InsertFavoriteGameHere).com
You should NOT be happy.
ESR, on the other hand. Now there's a spunk monkey.
"Smart companies save money by deploying MySQL instead of Oracle." - slashdot post
I doubt it. If it follows the open-source model, then any cheat that comes up can probably get treated as a bug fix, and we know how quick the turnarounds on open-source bugs can be...
Besides, even if someone can tinker with her client, it doesn't mean she can tinker with the server too. That differentiation might allow more control to the server admin, although they might have to take a coder's interest in the game...
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
"Homo sum: humani nil a me alienum puto"
(I am a man: nothing human is alien to me)
My only political goal is to see to it that no political party achieves its goals.
My guess for why they're doing this is that not selling CDs means they don't have to worry about manufacturing costs. Individual CDs aren't really that expensive, but the pressing and manufacturing equipment is. Plus you have to figure in distribution costs, etc. Better to leave it to the companies that make those $1.99 Linux CDs and such. That's the beauty of GPLed software -- anyone who wants to can sell a copy.
I REALLY hate pay-per-play systems...i'd rather pay an exorbitant amount for the client instead.
If there is ever a RMS look-alike contest, I win.
Don't know if I should be happy or not
If Godzilla did not exist, man would have had to create him.
Dunno why, but I see coders working for free much more often than artists and designers. I agree with the previous guy -- the really professional artwork (models, animations, textures, GUIs) will only be in the pay-to-play server.
Sometimes nothing is a real cool hand.
Well, comment #12 on this thread is the troll, but where is the dragon?
Sometimes nothing is a real cool hand.
I like the idea of having a game that NEVER stops. Characters continue interacting and "doing" things even when the player is off-line.
And what is wrong with this simple bot routine:
1 wander around country-side.
2 look for stuff to pound on for EXP and treasure.
2.1 pound on the right stuff.
3 run from big nasties.
4 store treasure, stash items, heal self.
5 start from #1 again.
Hey, if that's cheating, the game is way too simple. And if you enjoy such simplicity... well
good for you!
Above comment is personal opinion. Poster is not a spokesperson.
If this works it will show that Open Source can work as a business model and hopefully other companys will try open souce out. But if this fails it will scare other companys from trying open source. I hope people will pay for the server so that it suceeds.
Anyway I'd kill for the souce code to The Sims....
You can definitely do that. Unfortunately, by doing so the game looses players, IMHO. While before everyone was invited to play, only people which are skilled programmers can now play your game. Many people will improve the client, and chances are good that not all changes will be available to the public. Therefore, someone who does not program does not stand a chance in this game.
You also fail to notice another important benefit. By hosting the server-side software, they control the security on their end. Character information will be stored on the server, not the client. This will making cheating much more challenging. They will also be providing server space and bandwidth. The server and bandwidth requirements for a on-line games grow exponentially with the number of players. Hosting a 16 player Netrek game is one thing. Hosting an EverCrack server requires a lot more resources. IMHO this is a great pricing model for the GPL.
A steaming cup of soykaf would be real wiz right now.
You don't need to do a complete refresh very often. You could just tell the client the rules, and if it tries to cheat by messing with the rules, it will just get out of synch with the server, and find its character dead next update. (This has been implemented in Diablo 2)
We all understand that open-source MMO games are a Bad Idea. However, I think this company is doing a Good Thing by allowing small companies with a Good Idea for a MMO game to implement it without having to do all the hard work of building the infrastructure. The game software that is developed based on the open-source skeleton does not necessarily need to be open-source. This may go against the tenets of the OS movement, but I think that we would all be willing to make the exception in this case.
---- Just another spud server.
It would be sufficient to check the moves in hindsight and cancel the effects of illegal behavior.
Suppose someone modified his client and moved through a wall to attack his opponent. The server would not acknowledge the effect of the attack, and the cheater might find himself put back to a place before the wall (depending on implementation).
Thus, people with cheating clients would ruin only their own fun.
C - the footgun of programming languages
In fact, Quake3 'pure' mode was supposed to do just this type of checking in the game realm to avoid hacked clients and it was eventually cracked and gotten around.
But to render landscape data, and xyz of several player's members, and projectiles - that sounds possible.
-- Eat your greens or I'll hit you!
-- Eat your greens or I'll hit you!
> only about 1/8th of your population is real -
> the rest is bots running.
Quite an improvement over reality, actually.
I am for the complete Trantorization of Earth.
Netrek handled this issue decades ago. All of the source code was readily available, but if you wanted to connect to any of the public servers you would be required to have an RSA signed binary.
Ah, nostalgia. Spoofing my Rogerborg client past the Netrek RSA check was my introduction to hacking. Frankly, I couldn't have done it without the source.
On the other hand, because of the almost religious belief in the security of the RSA check, other players refused to believe I was using a hacked client, even though the client kindly broadcast itself as such.
Open source makes it easier for cheats, but faux security makes it easier for cheats to prosper. Should be interesting to see how this one pans out.
If you were blocking sigs, you wouldn't have to read this.
Maybe we really won't need proprietary games? Judging by the progress made by freeciv we really won't need CivIII. Check out this screenshot for example. It's stunning!
Your pizza just the way you ought to have it.
Open source means cheats get fixed faster. The developers would probably find the potental cheat before the people playing. Not too many people are willing, or have the ability, to study millions of lines of code to cheat on a game.
600 MHz Processor
64 MB Fast Memory
Upgradable GPU Slide Bay
8/30/50 GB Hard Drive Option
100 Mbps Ethernet Port
1 S-Video In, 1 Out
1 Component HD Out
1 Stereo In, 1 Out (L/R)
1 Digital Audio Out (Optical)
4 USB Universal Ports
Integrated DVD Player
Wireless Keyboard/Mouse Option
Special "DV Linux" Distribution
Supports Mesa 3D, OpenAL and OpenStream(tm)
Next Generation nVidia GPU
MPEG2 Dual Stream HW Acceleration
HDTV Output Supports 480p, 720p, 1080i
3D Audio Converts to Optical Out
Integrated Gecko Browser and E-mail
MP3 Storage and Playback System
Enhanced Personal TV System
Bundled Game to be Announced at Launch
Well worth lookin' into
"From of old, there are not lacking things that have attained Oneness." - Lao Tzu
But it's nice to see more and more companies (or at least one) approaching business with an open-source mindset.
Fairness is not the ultimate objective. Fun is. Giving everybody the same cheats makes for a lousy game, no matter how "fair".
In a well-designed client/server game, a "smartened up" client with a human controlling it should, in general, be able to defeat a "smartened up" client that is running on autopilot. [...] If not, then your game suffers from a defect -- it doesn't require human-level intelligence to win.
You haven't solved any problems here, you've simply narrowed the scope of what you consider "legitimate" games to some arcane variant of Core Wars, where you're no longer playing a game directly, but rather trying to program and drive the smartest robot. This could be fun, but surely there's more to life than this one kind of game!
I wonder if the only solution to the cheating problem is simply to start establishing the trustworthiness of individuals, and allowing only them to have access to the game. I don't know if we can ever solve an ethics problem with technology.
Most definitely. Game designers learned this a while back, and have been pretty good about designing client-server games this way.
It's not that simple. The trouble with making the server "god" is that it dramatically increases the amount of data that you have to send over the network. If you can't trust the client to do or infer anything for itself, you have to send it a complete state refresh with every update. This effectively makes real-time internet games impossible.
More accurately, it will become impossible to prevent client side cheating. However, it was always impossible to prevent client side cheating, the best you could do is make it very hard to do. All it takes is one skilled hacker to develop the cheat and release it to the world. Ultimately, if it's possible to cheat and the sort of people who like to cheat like your game, they will cheat.
Every game developer should strive to reducing cheating. To reduce cheating based on hacking the client, you simply move information off the client and onto the server. However, this makes writing the game harder. In some cases, it's not really possible to move everying important off of the client. In these cases you simply have to rely on security through obscurity to make it hard to cheat, and shuffle things around between releases so any given cheat doesn't stay valid for too long.
Developing such a product completely open source means you can't rely on this. But this doesn't mean you can't develop a fun game. There are at least four solutions that will work for many different types of games.
Search 2010 Gen Con events
The people running the for-pay servers can hire professional game designers and artists, who can make the game much more interesting and fun. The people who run for-free servers will probably have either too little time or too little talent to come up with a good game. If they had the time and talent, they'd become professional game designers and get paid for it.
WWJD for a Klondike Bar?
Well, you've been scored funny, but I'll assume that you're serious on a couple of points:
:)
6. Open Source Clients mean user built-in macros. If you're not a coder, you don't level as fast as the geek next cube who is
Them with more time than skill will balance out those with more skill than time. That's the way any task works, even menial labor. Being creative increases your productivity. Here, as an added bonus, you can sell your work (the macros, I mean) in the game.
4. Anti-cheat security often means 'Security through Obscurity'...
This is true in games where timing is critical, like Quake3:TA. There, the client must perform precise calculations based on available data to determine whether that last shot hit another player, for instance. It would be impractical for the server to do this, since network latency would seriously affect your accuracy. However, in a MMORPG, timing is not critical, and all of the important work is done on the server. The client is only responsible for requesting actions and rendering the graphics. If the rendering is just slightly off from the actual state of things on the server, it's not such a big deal.
1. Damn penguins pit for 9999 HP a peice
See above
Online RPGs (MUDs) have already had many years to address the scripting problem. The best solution (IMHO) is to just set a very simple social policy: botters are NPCs, and killing them carries no social stigma.
If you meet someone in the game, and in your attempt to interact with them, they fail the Turing Test (as any botter will), then you draw your sword and kill 'em. Or use 'em as a green_fire_bolt practice dummy.
As for other types of cheating, this has been discussed many times. The game just needs to be designed from the beginning so that the server only disclose minimal intel to the client. There will still be "reflex" cheats, but intelligence beats reflexes all the time. Otherwise, a cheetah would be typing this instead of a slow hairless ape.
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
And that's fine. But when you feel like doing that, you don't need your game to be multiplayer. The whole idea of a multiplayer game is that it's for when you want to interact with other people.
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Almost every game that I bought in the last 5 years, has been something that I found out by word-of-mouth/word-of-net. I've bought Loki games for Linux, which are only available through online shops, and Ambrosia games for the Mac, which can also only be bought online. (At least, as far as I know, these are only available online.) And also a few Amiga games, where I found a demo on Aminet, played it, and then placed an order. In the case of conventionally published games (Amiga and Loki stuff), I have to wait a week for the box to arrive in the mail, instead of downloading it and playing it immediately.
In all these cases, marketing and publishing did not help them at all. If anything, conventional publishing hurts Loki, as I would probably buy more of their stuff if I could have instant gratification. Perhaps I am not typical game shopper, but nevertheless, if there are enough people like me, then there's a viable market.
Part of creating this market is to try it, so that gamers begin to change their habits for how they found out about and purchase games. Perhaps a large portion of the game market is through retail, but this is not set in stone, and it can be changed. Maybe in a few years, people will laugh at the idea of buying games at brick'n'mortar stores, because those games will all be "old" ones that came out two weeks ago.
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
is a big problem here. I think it's been mentioned before that open source client-server games rely on a certain trust model which can be exploited rather trivially (for a coder of moderate skill) to make your client advantaged over the rest of the pack. Something tells me that this game will not be fun to play, bacause the less C proficient kids will get housed.
On the other hand, maybe this is a good thing... encourage kids to know how to program, and well at that. Market it as "A MMORPG which tests not only your patience (like, oh, i dunno, EQ) but your coding skill! Modify yourself and school your friends like the wusses they are!"
My 2 cents.
-krb-
The really challenging part will be addressing the cheating problem. It is almost mandatory that the server hold all the authoritative data / sim and the client is as 'dumb' as possible. It will also take some social engineering (some method of banning cheaters). I realize many of you think a (nearly) cheat proof open source game is impossible, but I still think it will be fun to attempt it anyway. Heck, it seems like everyone else is jumping on the 'massively multiplayer persistant universe role playing game' bandwagon... so I might as well also. :)
P.S. Check out GridSlammer at: www.gridslammer.org
I'll be releasing a new 0.6 version in a few days. It will include Linux and Win32 targets, and a bunch of improvements to the API.
The Bolachek Journals
Actually, I am already working on it. The model I have is multiple 'worldlets' running on different servers. You can travel between worlds (servers) by going through a portal. Think of it like web pages/servers... but the links go both directions.
The size of the world you can run is of course determined by the power of your server and the bandwidth of your Internet connection. Size in this context really means the number of simultaneous players that can visit your realm.
Thad
The Bolachek Journals
Original:
In a well-designed client/server game, a "smartened up" client with a human controlling it should, in general, be able to defeat a "smartened up" client that is running on autopilot. [...] If not, then your game suffers from a defect -- it doesn't require human-level intelligence to win.
Reply to original:
You haven't solved any problems here, you've simply narrowed the scope of what you consider "legitimate" games to some arcane variant of Core Wars, where you're no longer playing a game directly, but rather trying to program and drive the smartest robot. This could be fun, but surely there's more to life than this one kind of game!
Rebuttal to reply:
Design a client that improves your skill at "Go". Or at a Role-Playing game which requires Role-playing (as opposed to roll-playing i.e. hack and slash).
Become a FSF associate member before the low #s are used
The thing that will make the for pay servers work is bandwidth. A game is no good unless it's fast and responsive, and for a multi-player game with a central server architecture to be responsive, the central server has to have lots of bandwidth. The maps may be free, the graphics may be free, but the bandwidth for surely isn't free. And if you set up a server in your University dorm room, by the time you've got a decent number of players on the University is going to come knocking on your door to take it down again.
Sure I expect there will be free servers, and I'm sure some people will enjoy playing on them. But the performance will be intermittent and patchy. Without some income, the server operators aren't going to be able to afford the sort of bandwidth that gives consistently good performance.
In short, there's room for both free and for-pay servers in this market.
I'm old enough to remember when discussions on Slashdot were well informed.
Hmm - If they're planning to run a system with a large number of users it doesn't give you much confidence when their site gets slashdotted so quickly...
Check out worldforge for a very similar sounding project that's been underway for some time. They've made alot of progress but there's a long way to go. Great to see another one.
While its not Open Source, people might also like to look at Neverwinter Nights which is a 3D multi-player client/server architecture roleplay game due out sometime this year (based on AD&D 3rd Editon rules). They are promising multi-platform support, including Linux, and the movies showing the current version of the game, and scenario toolkit look very impressive. As someone that ran an LP MUD all through his undergraduate days (a few years ago now it must be admitted) this looks like something that could finally give you the same sort of atmosphere, but with decent graphics.
Al.--
The Daily ACK - Eclectic posts by yet another hacker
So make the rules infinitely flexible -- it'll be video Calvinball!
The fact of the matter is, if advancement can be scripted and run by a computer, chances are it'll only be fun for a computer anyway. In that environment, more power to the scripters.
Make advancement actually require the ownership and use of a brain. There's a lot you could do to differentiate yourself from a boring hack-and-slash whose only redeeming feature is that you can interact with lots of other people online. Do that and you'd eliminate a good chunk of cheating. You can contain the rest to reasonable levels with good protocol design and server sanity checking.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
You are perfectly correct. There was an excellent article on /. talking about just that. You can find the article here. You seem concerned that this phenomenon will increase if everyone has the source code for both the client and the server. The concept of security through obscurity doesn't work. This situation applies IMHO.
Take a look at IRC. Everyone has access to the specifications. That means that anyone can write a client and a server. Only certain people actually run active servers, but nothing can stop me from writing a client that will take advantage of some poorly written server. In theory, I would then be able to get a * next to my nick (server operator), an @ (channel operator) and who knows what. The trick is that there is a community. Everyone has access to the source => anyone can submit a patch that will prevent me from running my exploit.
This situation applies to all Free client-server models. Apache, Bind, etc. As a system admin, I consider security breakins as you, as a gamer, consider online cheating. The fact of the matter is, I have a huge open source community of developers next to me (I mean an email away) to help me. I can read - modify - distribute patches and do whatever the hell I want with the source.
If someone is caught cheating (and it's not very hard to know who is cheating), someone can patch the server. Since it will bne released under GPL, this someone has to distribute the modifications. Isn't it nice? I think it is.
Trust me, you are better off playing on that type of environment. At least, you know exactly what you are connecting to.
Looking for a great online backup: Green Backup
Having your computer play for you still has to be programmed by you, which you could do by sitting at the computer.
Cheating is, say, subverting the channel to create objects, or crashing other players' connections.
Now, think of the cool systems you could have if you were able to program the AI of a monster or pet.
I realize I'm probably going to get slapped down for this, but hear me out first.
I don't think that a GPL'd online game is a good thing. GPL'd code is far easier to reverse engineer than binaries are. By posting the code to a game, people can see the protocols in use, the packets that would be passed back and forth, etc. Cheating would be far easier with an open-source game, especially if the characters are stored client-side. Even if they're not, spoofed packets can be sent to the server to alter the course of play. Look at what happened to Quake, for example.
While I appreciate open-source software, I don't think that it's a good idea to release the code to online games.
Most people I talk to in "real life" still use modems.
I don't think I missed the point at all. He doesn't like unfinished games or massive online ones.
But his question was stupid because there are valid reasons why people are making more online games than before.
And his attitude was uncalled for because he doesn't have to play the game if he doesn't want to so why is he getting his panties in a knot?
Perhaps a different way to phrase the question is why is it that people didn't play massive multiplayer 3d games until fairly recently? The answer to that is obvious. People are only now getting DSL lines and decent graphics cards.
On the other hand, I don't know why you're complaining... It's not as if anyone is going to make you play it if you don't want to.
I'm writing a bot for an online game that I play.
It's not a big deal. It doesn't hurt anyone.
The tricky part is creating a bot that can protect its self from other players. I have another character that has fun taking advantage of bots. With just the tiniest bit of creativity you can make the bots step into death traps. Run out of movement. Drop items. I wouldn't do this but it's fairly easy to make someone lose all their equipment if they are just in bot mode. There's all kinds of stuff you can do.
Not many people are going to write bots. If they do it doesn't hurt anyone. And if it annoys players then they can generally figure out ways to take care of the problem themselves.
With an open source gaming platform, people who aspire to write video games fora living can see what a modern game looks like from the inside, as opposed to getting the source 2 years out of date, like we got with descent 1 and 2, doom, etc. Hopefully this will be put to good use.
I am !amused.
Netrek had a similar problem with this untill they integreted RSA into the clients. basically if you wanted to play on one the servers with it enabled you had to play with one of the pre-compiled binaries with RSA built in(called blessed clients). if the server didn't force RSA authentication, then you could compile and play with your own clients and use cheats (these were called borg clients).
It didn't take long before almost all non-practice servers were using this RSA authentication.
they would only be required to release the source if they release a binary.
Most cracks contain executable code. (And yes, they are cracks, as they exploit vulnerabilities in the server. They don't give you root, but they do give you extra game privileges.) Distributing your crack is considered "releasing a binary" under the GNU GPL; source code must be either included with the binary patch, right next to it on the downloads page, or available on CD-R by mail to satisfy Section 3 of the License.
Cracks you write yourself for yourself, on the other hand...
Like Tetris? Like drugs? Ever try combining them?
Will I retire or break 10K?
move as much as you can server side, send the client only information he should display anyway
The only perfect solution to this is generating all visuals on the game server, and sending them to the player's X11 server. And it's dog slow with current long-haul network technology.
Like Tetris? Like drugs? Ever try combining them?
Will I retire or break 10K?
Obviously the client-server architecture needs to be carefully constructed with the assumption that the client is always compromised
What if the rules of the game are such that reflexes rule (think the Quake series)? How would you reject aiming proxies and the like?
Like Tetris? Like drugs? Ever try combining them?
Will I retire or break 10K?
Well, a reasonable person could claim that yes, chess is deterministic. You always start from the same position, the rules are comparatively simple, and there are no random elements at all. If that's not deterministic, I don't know what is. And in any case, it's not as though programing a chess computer that can take on a good human player is exactly trivial, either. When you start throwing in rules that are significantly more complex than chess- like just about any decent war game- and designing an AI that can beat a competent human opponent becomes much more difficult. When you start adding in the possibility of social interactions ("Hey, there's a killer bot. Lets gang up on it so it doesn't wipe up out one at a time") and it may prove very difficult to make a really capable bot.
There's no point in questioning authority if you aren't going to listen to the answers.
here will be (in theory) hundreds of coders, artists, and designers working on the free server
Okay, now I can't nessicarily disagree with you about designers and coders being attracted to the idea of a GLP'd game, but in all honestly, exactly how many artists actually have an interest in these things? Looking at the graphic quality of 99% of the games I have avaliable here under KDE, I'd say not very many at all.
--
Feminism is the wild notion that women are human beings.
But we are forgetting the golden rule of the GPL. There will be (in theory) hundreds of coders, artists, and designers working on the free server, which should make it a better game than the pay-servers.
Want an example? How about Linux vs. Windows?
--
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
Check out the skins and spraypaints for games like counter-strike, tribes, and Q3 (the amateur ones). Sure you may not attract hundreds of good artists, but you're sure to get a few really good ones.
--
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
This is just like pay-per-play muds.
There will be tons of people that will grab the code and create a free-service server, and everyone will hoard to that instead of the pay servers. Why play the pay servers when the free ones are just as good??
I don't see GPL'ed games working in the business world for this very reason. I know a lot of people will disagree... trust me, I don't like it either, but that's the way it works.
--
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
I have to be skeptical of this business model, as its VERY difficult to create a successful video game without publisher assistance, and good marketing. The best they can hope for is word of mouth amongst game players, but its still difficult to pull off. That and their competition is games like Everquest and Neverwinter Nights, etc.. games which have large budgets
I'd be interested to know how they plan on funding this GPL'd game without publisher assistance, and if they did get a publisher, they would definately want it taken off the GPL license. GPL is a good thing, but to make a successful good game, and I truley believe that thats where softwear is heading, unfortunaletly, publishers (suits) still think of giving away software source code as an extremely bad thing.
-Nathan d'Obrenan http://www.firetoads.com
The world is then populated by 'inanimate' players - competing for the 'game resources' very ruthlessly (they are doing nothing *except* this). They would run around the game world, appearing to be 'piloted' until you tried to interact - only to be disappointed. You would eventually stop interacting.
This encourages 'PowerPlayers' or 'StatWhores' who only seek to accumulate in game 'wealth'. I am sometimes guilty of this myself - every RPGer lusts for new loot, but what of 'game play' to enrich the experience for all?
I would think that this concept of 'always on' game characters would be very intersting - if you could program them to pursue some goal and compete against other peoples creations... it would be a fun game. In a MMORPG it may not be all that terrific if it became too common.
Nevrax: Gee, we've never thought about that. I think we're going to close down and cry now.
---
Video meliora proboque deteriora sequor - Ovidius
Uh, no Mr. Zealot, by my way of thinking there are a lot of half-wit people who think that anything containing the acronym GPL is by definition superior. By my way of thinking, anybody who believes that one single license is the right solution to every problem imaginable is an idiot. By my way of thinking, many advocates of the GPL as a business model are doomed to miserable failure because their way of thinking often lacks common sense.
On the other hand, easy scriptability is a game defect. If a game can be "mastered" by writing a script, then the game is uninteresting -- deterministic -- a solved problem, and playing the game is going to get boring after a while.
Like chess, right? Basically, home computer "scripts" play chess better than most people, and the best computers play better than any person. Is chess boring?
Computer opponents in 3D action games play better than people as well. Play Unreal Tournament with the bots cranked all the way up, and you'll die very quickly.
Computers can beat us at the fast-twitch, and they can beat us at the methodical thought-process games. There's a little bit of wiggle room in the creative puzzle-type game, but that's not really the way the massively online games work.
It's a shame, since I like a good hack-n-slash mindless game sometimes. I like going out again and again killing monsters and looking for new weapons.
2) Designing the interface between the client and server so that the server implements the "laws of nature", and the client implements the "human intelligence."
Most definitely. Game designers learned this a while back, and have been pretty good about designing client-server games this way.
Why are you letting these clowns ruin our country?
Of course, sites running hacked servers would probably be caught rather quickly, and just a few reputable free sites might be enough to put the official one under.
Is writing character build-up scripts really cheating? When I used to MUD, I would alias commonly-used battle commands to simpler, 1- or 2-character commands. This gave me an advantage over people who played via raw telnet. Was I therefore cheating? Obviously the client-server architecture needs to be carefully constructed with the assumption that the client is always compromised... but you should already be doing that, even with closed-source clients!
So as I see it, either the game will be fundamentally broken because of bad architecture, or the GPLedness of the client won't matter. If server exploits become a problem, then that's good news for the company running the official unhacked server... but as an example, MUDs have plenty of opportunity for server exploits, but people keep playing those. "Bad" servers quickly become unpopular and die.
People will start to complain about massive multi-player games, crying, "people cheat" and "it's no fun." Apparently, they feel this is a reason to abandon the game altogether
When I was a runt, running around with the other kids in the neighborhood, we played hide-and-seek. It's a fun game when everyone plays well together. Everyone enjoyed the game and we would play for hours, the more people the better. In the rare event that someone continually cheated... we just didn't play with them.
When someone starts a project like this, it is for a complete love of the game. I recognize that when I play and it makes the experience even better. You can't blame the game for cheating... you have to find the people who are genuinely interested in enjoying the game for what it's supposed to be... even if it means playing in someone else's yard.
Hmm...I don't necessarily think that you're going to have a flood of Everquests rolling off the line just because the whole deal is GPL'd. I mean, the Genesis3D engine's been available for everyone to use for quite a while, and there hasn't been exactly a flood of quality 3D shooters coming out of it. I think that if you've got tools, talent, and time to spare, you're more likely to get a job at Verant than designing a virtual Nirvana.
Well, one of the purposes of releasing code under the GPL is to promote programming literacy.
:-)
If you release the client code under the GPL, you are inviting people to modify the client code. If people using modified clients "ruins" the game, then the basic premise of the entire project is in question, isn't it?
Plus, which would earn you more bragging rights -- using a super-duper client to kick ass, or releasing the source code to it?
-------
CAIMLAS
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
Worldforge has Acorn at 0.3. It's no more "completed" than any Free Software project is "completed", but it works.
Here's a link to get you started: http://www.worldforge.org/website/rules/acorn/
Also, Nevrax is commercial, so they have a better base of programmer time than most non-commercial efforts.
Become a FSF associate member before the low #s are used
No Kidding. I am a daily reader of both linuxgames.com and happypenguin.org and everytime I see another engine released I just groan.
Oh boy, here we go again.
If only we could get just half as many people working on games as engines.
And for christ sakes people, enough with the tetris, bomberman, breakout and sokoban clones.
Sigs are awesome huh?
Many people in this discussion have thought that making the client and server open source is opening the door to cheating, and equally many have replied that any server worth its salt should be enforcing the rules of the world a bit better. Some have even said that Open Sourceing Quake 1 has killed it (which I can't argue with since I don't know the state of the Q1 community).
However, making an RPG open source and making a first person shooter open source mean totally different things in terms of security. An FPS game is designed with most of the rules on the client side; this is not an oversight on the part of the designers, but rather a sacrifice made to make the game playable. When the server is enforcing most of the rules, you get excellent cheat protection, true, but you sacrifice not only CPU overhead on the server side, but you get massive bandwidth issues on the client side. One of the largest problems an FPS developer faces is how to balance the need to stop cheaters against the need to keep bandwidth usage low. Open sourcing such a client, then, does make it much easier to exploit, since the rules are implemented in the client.
RPG games, however, don't really suffer from this, since delays are acceptable (though irritating) and don't destroy gameplay. Here, it is obviously a good idea to make the server do all the work of enforcing the rules, since the benefit is so great and the harm is minimal. An open source RPG client is a fine idea, because the client can't actually break the rules (since it doesn't do the enforcing). As long as the people at Nevrax keep this in mind, I don't see any reason this wouldn't work.
"And real life has warts and smelly feet" -- Paul Jaquays, id Software
One of the biggest problems with massively multiplayer games is the cheaters - those who write scripts and such that build up their characters while they sleep. This is a real problem now, and game companies have to keep constant vigil against those that would ruin the game with their exploits.
Now, if both the client and the server are GPL'ed it will be that much harder to crack down on the cheaters. The biggest hurdle these folks have right now is that they can't access the code directly and must play a constant game of cat 'n mouse with simple scripting tools.
If these people had direct access to source code and could custom-compile their own clients then it would become virtually impossible to prevent wide-spread cheating and exploits. Having an open standard will ruin the game for everybody, and thus nobody will bother playing after the rampant abuse becomes apparent..
...and you've got Nervrax
"Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
Verant might as well not sell CD's because of the constant patching. Over a cable modem, it took almost 40 minutes worth of downloading to download all the patched game files from Verant *after* I spent 20 minutes copying the entire contents of the 650 mb CD to HD.
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
Appart from the fact that people will just run free servers like they do now for Ultima Online, wouldn't it make more sense to charge for those graphics that are costing you a fortune to create? Sure, keep the source open, you get all those great benefits and don't have to assign developers to fixing bugs, but you've paid for the graphics and the sounds and the like to be created, doesn't it make sense to charge people for this? If not, put that under a GNU license too!
How we know is more important than what we know.
...the open source game Xconq. That one really huge map of the world is way, way impressive.
("Way impressive" is a technical term they learnt me in college...)
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
I've heard a lot of comments that a GPL's game system will be prone to cheats.
....er ...I mean monsters you kill. Rather a good virtual environment will be about the interactivity between players and their environment. Thus reducing the impulse to cheat, because you truly would be cheating yourself of the experience.
This is true, up to a point, but soon after cheats are discovered then patches will be put to work to stop them. That is the GPL way
The real challenge will be to make a virtual world which isn't about how long you play or how many scripts
What causes 'cheating' and other 'anti-social behavior' in current MMP games is a series of fundamental design flaws, deeply ingrained into the culture of the game developer community, exacerbated by a misguided belief that human society is as amenable to technological manipulation as AI code. It has nothing to do with exposing the client.
The flaws:
- Anonymity without authentication and persistence of identity (I'm not just talking from the developer/server security perspective, which is all that gets attention in the industry; I'm talking about the importance of those three features for healthy interaction among and between human members of an online community)
- Malthusian, (faux-)closed-system game mechanics, where the optimal strategy (and often explicit purpose) is to gain personal power by killing others and stealing their stuff, and where there is no device to recognize nor quantify the synergetic creation of community value;
- Abstract, symbolic, stat-based (read: easy to quantify and shove in a database table) substitutions for the breadth and depth of human experience. Stats are an anchronistic legacy ill-suited for a networked environment. Online Game developers are still trapped in man-vs-machine dynamics. In an online world, populated with real people, 'reputation' can (and should) be more than a database entry, 'skill' more than a roll of the die, and 'power' more than an abstract product of macros and having no actual life.
Frankly, my peers in the industry all sincerely believe that they can literally *engineer* better societies into being, that all it takes is tighter code to solve anger and greed and hate and venality (and that, on the other hand, they can write subroutines for trust and honor and humor and epiphany). They expend tremendous energy in a wasteful search for responsive AI and fool-proof rules, while squandering the resource of the collective eons of human experience embodied in their player community.
The more they fail and the more disfunctional their player communities, the more code they write, database tables they build, and rules, limitations and barriers they erect to players' freedom and self-expression and self-government. "Never trust the client" is a mantra that invisibly and inevitably expands in the mind of developers into "never trust the player". The name of the development game has morphed from 'serving the players' into surviving them.
That is one of the reasons that, despite the incredible immersive power of these technologies, they reach but a tiny portion of their potential audience.
If you build worlds where the political, economic and social fabric is woven by a human network, where the developers are to players as experienced directors are to powerful actors, rather than parents are to wayward children, where the lessons learned from functional RL societies are adapted to the circumstances of online community, where people enjoy anonymity and the freedom to live their fictions, but are still accountable and held responsible for their interactions in a community, and where the collective efforts of participants builds new wealth, rather than necessitating squabling over finite resources;
If you build world where, in other words, the ethos of the network prevails over the ethos of the oilwell;
Well, then, an open source engine is a source of delight and inspiration, rather than a subject of fear and loathing.
As someone working hard to build such worlds, I certainly wish them success.
Flout 'em and scout 'em,
and scout 'em and flout 'em;
Flout 'em and scout 'em,
and scout 'em and flout 'em;
Thought is free. - Shakespeare [The Tempest]
So far I have yet to see a single game come out of the open source 3d engine projects... and of course they're all "massively multiplayer"
Beyond FreeCiv, what other projects have been completed?
We can at least have some hope they will do a good job in the organization of it. Young coders may be fine at the actually writing of a line of code, but a lot of the younger programmers seem to not have the level of organization needed to keep the code maintainable.
As far as all you people who say "security through obscurity is required to prevent cheating", I say that's just because the games weren't thought out properly and designed for it. I know that Blacknova has had a few problems with cheating in the past, but access to the source code wasn't needed. There were simply bugs in the program that could be exploited. Access to the code has only helped them, so that they can have assistance in figuring out how to plug the holes.
And sure people who know how to program well can alter their clients to make them more efficient, but people already do that (I recall external macroing to be very effective in UO). What needs to happen is that the server is secure and actually enforces the rules of the world. To often coders have put a lot of the rule checking in the client. That may let you run the server on less powerful machines, but sooner or later someone is going to figure out how to cheat and then you'll have to start checking it anyway. (eg: quake 2 proxys like speedbot) Better to start out doing the correct checks than just hope nobody will ever figure it out.
This is SO educational! -- Kintaro Oe
Instead of being a wimp and "saving" your character at the Dragon Inn, you would set parameters on his behavior while you are not in control. You might specify what activities he is to pursue while on "autopilot." You might specify how nice or naughty he is to be to other characters. The list is limited only by the imaginations of the server implementors. Choose your offline behavior wisely, and your character prospers...choose foolishly, and find him a ghost when you return!
Alternatively, clients with always-on internet connections could choose to script or program their autopilot behavior client side. Of course, there is the danger of a poorly coded script causing the character to run about the countryside shouting "Natalie Portman eats hot grits!!!" But such unfortunate incidents could be handled by game administrators.
Building up a character while you sleep is not necessarily a bad thing. It merely shifts the value from sitting in front of your terminal for 23 hours a day to choosing your character's activities wisely, both while playing him and while he is on his own.
"Rub her feet." -- L.L.
This might be a mistake. There are people who would prefer to buy the game, even a simple jewel-case with a paper insert and no box, because of the convenience of having a hard backup or not having to download the whole offline. And there are others who would gladly buy the game, if it was good enough, even after downloading it, just to show support.
They may as well offer the option, even if it's only over the Web instead of in retail stores. Why turn down more money?
6. Open Source Clients mean user built-in macros. If you're not a coder, you don't level as fast as the geek next cube who is.
5. Damnit! 'RMS_Troll' gets all the experience *and* loot!
4. Anti-cheat security often means 'Security through Obscurity', since game designers have to do things like encrypt game values in memory to keep them from being altered.
3. What's the 'Karma_Whore' guild, and why do they keep modding my exp points down?
2. Microsoft just steals the code and introduces 'ActiveMMORPG' components for Internet Explorer
1. Damn penguins pit for 9999 HP a peice
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!