Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Games Entertainment

Full GPL Game Company - Nevrax 212

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."
This discussion has been archived. No new comments can be posted.

Full GPL Game Company - Nevrax

Comments Filter:
  • by Anonymous Coward

    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!

  • by Anonymous Coward
    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.

  • 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).

    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 [glitchless.com]. 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.
  • 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.


    ... 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)
  • 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"...
  • 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...)
  • 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.

    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!"

  • ...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.

  • 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.

  • Is your multiplayer space sim called Terminus, by any chance? I'm pretty active in what passes for the multiplayer Terminus scene....
  • 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?

    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.

    ;-)


    ---
  • 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.
    --
  • Not much money to be made.
  • 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.
  • 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"
  • you bastard!
  • The correct approach is to make the client as smart as possible -- so that improving the client becomes a genuine challenge. Then, if improvements are made to the client that create an "unfair" advantage, those improvements can be rolled into the next version of the client, not banned. Sure, it becomes an "arms race", but eventually everyone is going to run into the same walls, and the game remains fair.

    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.

  • 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.

    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.

  • "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.".

    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.

    1. Build a culture around the game that dislikes cheating, perhaps by making cheating relatively useless. Plenty of MUSHes have no strict rules, and player who wants can give himself piles of money and huge attributes. The more serious players will simply ignore anyone who twinks himself this way and enjoy themselves.
    2. Build a game where important information simply isn't available to the clients. Obviously this is hard, but in many cases it's possible. RPGs lend themselves to this state. The server only trusts it's own numbers, so you can't give yourself infinite power. Rapid targetting isn't very important, so computer aided targetting isn't very useful (in fact, it could be explicitly added to the client as a feature). At the generally slow pace of an RPG, knowing what's immediately behind a wall using transparency or model mangling isn't that useful.
    3. Build a game where modifying the client is part of the game. Obviously the appeal of this will be limited to fairly geeky people.
    4. Use a blessed binaries approach like Netrek [netrek.org]. The source is all open, but to play on "secure" servers, you need to use a binary provided by trusted developers.
  • You mean Phantasy Star Online?

    Buy the game, play for free until your body gives out from exhaustion...

    Of course, then you need a Dreamcast.

    Raptor
  • 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??

    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.

  • They could incorporate the ads right into the game: billboards, placards, skywriting[...]

    YES! Far less intrusive, in my opinion, than banner ads (heck, if it were done correctly, it'd probably add to the "flavor" of the setting). (Are you listening/reading, advertisers?)

    They do this in movies all the time ("Product Placement"). Remember the infamous E.T. and Reese's Pieces?


    ---
    "They have strategic air commands, nuclear submarines, and John Wayne. We have this"
  • 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 :)
  • by Sloppy ( 14984 )

    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.

    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.


    ---
  • 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

    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.


    ---
  • 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.

    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.


    ---
  • by krb ( 15012 )
    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-
  • This sounds like the same approach I might try with my GridSlammer game engine. It is mainly a hobby at the moment, but at some point I hope to run a well connected / co-located game server and charge subscription fees to cover the hosting cost. The code will still be open source, and there is nothing stoping others from hosting their own servers... but it can be very expensive to host a well connected server, so perhaps people will be willing to pay to access a server that is not bogged down all the time. Making unique 'content' is definetely vital as well.

    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 [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.

  • I wonder... distributed servers, anyone? That would be a cool, and probably gawdawfully complex project. Sort of like Napster, only with real-time updates.

    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

  • 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).
  • 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.

    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.

  • 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 [worldforge.org] 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 [neverwinternights.com] 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.
    --
  • One of the biggest problems with massively multiplayer games is the cheaters ...

    So make the rules infinitely flexible -- it'll be video Calvinball!

  • I did the UO thing for a while (The while they supported Linux while) and one of my biggest gripes about the game is that you could for 8 hours at a potentially mind-numbingly tedious job and then come home, log in to UO, and work another 8 hours at a definitely mind-numbingly tedious job. Do that for 6 months or so and you ends up with a somewhat useful character.

    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.

  • One of the biggest problems with massively multiplayer games is the cheaters

    You are perfectly correct. There was an excellent article on /. talking about just that. You can find the article here [gamasutra.com]. 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.

  • 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.
  • Uh, dude, you don't have to pay $40 everytime Half Life comes out with a "new version or a nifty upgrade." Just go to a good half life web page [planethalflife.com] and get the latest pathes and whatnot there.

    I might also add that many very popular mods [counter-strike.net] are also freely available.

  • if both the client and the server are GPL'ed it will be that much harder to crack down on the cheaters.

    Netrek [netrek.org] 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 [gnu.org]; 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? [pineight.com]
  • 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? [pineight.com]
  • 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? [pineight.com]
  • 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?

    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.

  • 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.


    --
  • 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?

    --
  • 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.

    --
  • 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.

    --
  • "Their business model makes a lot of sense: they won't sell CDs, they will sell access to the massively multiplayer server".

    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 point he's trying to rebut is that an earlier poster kind of generalized that this game company should suceed because their business model is based on the open source development model.

    The problem with that premise is that just because a company deals in open source software doesn't mean that they will automatically become successful.
  • As much as I would like to see this succeed, I'm not so certain people will flock to either.

    I think in order for this venture to succeed they're going to have to make some serious headway in a very short period of time. The gaming market is fickle and a genre can fall out of favor in an instant. The online RPG market could evaporate just as the game starts to get good.

    Another thing that might scare people away is the fact that it is GPL'ed. The fear of cheaters is definitely going to keep some people away. The game's security model and good user education may alleviate this factor, but it definitely will not prevent it entirely.

    Anyways, I'll definitely give it a look see and I hope so do a lot of people, but I can't help being a little pessimistic.
  • The risk of prosecution will not deter very many people.

    The only solution is to implement a mechanism for verifying the integrity of each and every client at connection. They will probably have to release "approved binaries" periodically and have a crypto checksum to verify that the client has not been "illegally" modified. I'm certainly not an expert in these matters, but I can imagine this being one of the most difficult aspects of the project.

  • While I agree that this would be interesting - I would likely enjoy it very much. But it detracts from the game in two ways:

    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.

  • 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.

    Whats to stop the Nevrax from re-merging 'the work of the hundreds of coders' work back into their service?
  • Right - but the real product in this case will be the service... which you tried to refute....

  • You've got to love their page devoted to slashdot response:
    • Slashdot:
    • If anybody can get the code, you won't ever be able to prevent cheating !
      Nevrax: Gee, we've never thought about that. I think we're going to close down and cry now. ;)


    ---

  • 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.
  • Could this give an advantage to their official server over free servers that others put up? When you play on a free server, you'll have no assurances that it's not cheating somehow. On the official server, however, you would be guaranteed that the server is fair.

    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.
  • by jms ( 11418 ) on Wednesday February 07, 2001 @03:20PM (#448330)
    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?

  • by CAIMLAS ( 41445 ) on Wednesday February 07, 2001 @02:32PM (#448331)
    There's a project called Arianne RPG here [arianne.cx] that seems like it will be similar, and is planning to have a lot of safegaurds built into it in order to prevent cheating. This project doesn't appear to be as far along, but the finished game will very likely be much more complex as well as have more of a 'realistic' feel to it, not just a hack and slash game. Players will not gain experience through killing, the experience is gained by use of their skills, etc. Thus, the experience by killing someone would be no more than practicing, etc and thus not encourage PK's. That will cut down on the cheating greatly. Other anti-cheating features are being added as well... but too much for me to talk about here. :) Check the site, and please, if you're interested in helping, give this project a hand. :) It seems to promise more than the project mentioned here on /.

    -------
    CAIMLAS

  • 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.
  • by Yokaze ( 70883 ) on Wednesday February 07, 2001 @01:16PM (#448333)
    I think there is a different reason, why a GLP'ed game may not be the right solution:

    Cheating...

    Even doing all the calculations on server-side won't prevent this.

    How do you seperate player from bots or bot-assisted players?

    I think it's hard to prevent this in software and it'll be even harder to prevent if you've access to all the code.
  • by jidar ( 83795 ) on Wednesday February 07, 2001 @01:38PM (#448334)
    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.
  • by MalaclypseJr ( 134881 ) on Wednesday February 07, 2001 @06:41PM (#448335) Homepage
    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.
  • by AaronStJ ( 182845 ) <AaronStJ AT gmail DOT com> on Wednesday February 07, 2001 @12:18PM (#448336) Homepage
    Why play the pay servers when the free ones are just as good??

    Because the pay serves have professional game deisgners, artist, and level designers bakcing it up. As the story says, the game data is propietary. Sure, the framework for the game is free, but the meaty parts that make code into a game belong to the company running the pay server. Its likely a lot of gamers won't mind subpar graphics/maps/whatever and forego the pay servers, but I imagine there will be those that do want the "good stuff", and will pay for it.
  • by SubtleNuance ( 184325 ) on Wednesday February 07, 2001 @12:51PM (#448337) Journal
    This is just like pay-per-play muds

    I know the /. crowd seems to love MUDS - but I hated them because the graphics sucked... simple. Why would I pay for a text adventure that basically a fantasy story away from the ones I wrote on my C=64?. If I want a a fantasy story there are always novels.

    The difference between EQ, UO and a MUD is the immersivness, level of interactivity and the 'beuty' of having a 3D(or 2D) game. I wouldnt be getting my 'moneys worth' from a game that I was essentially the Graphics Engine (my imagination). The two are not really at all comparable.

    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

    I disagree :). This service has potential - with MMORPGs and other online immersive games becoming the future of gaming - you will definately see more of this. People will pay to play on a world with the best developed graphics, sound, story, etc. One of the reasons this will succeed is because people will be working on it full time. The time of the designers, graphics artists and musicians will be what you are paying for. And as much time as the GNU Army may have - Im sure we would all like to spend our regular work days on GPL.. we cant. But they will.
  • by Trevor Goodchild ( 187368 ) on Wednesday February 07, 2001 @12:13PM (#448338)

    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..

  • by AFCArchvile ( 221494 ) on Wednesday February 07, 2001 @12:04PM (#448339)
    ...and you've got Nervrax
  • by Bonker ( 243350 ) on Wednesday February 07, 2001 @12:25PM (#448340)
    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.
  • by QuantumG ( 50515 ) <qg@biodome.org> on Wednesday February 07, 2001 @12:18PM (#448341) Homepage Journal
    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!
  • by devphil ( 51341 ) on Wednesday February 07, 2001 @12:42PM (#448342) Homepage


    ...the open source game Xconq [redhat.com]. That one really huge map of the world is way, way impressive.

    ("Way impressive" is a technical term they learnt me in college...)

  • by bigpat ( 158134 ) on Wednesday February 07, 2001 @12:47PM (#448343)
    I've heard a lot of comments that a GPL's game system will be prone to cheats.

    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 ....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.
  • by fnurb ( 310028 ) on Wednesday February 07, 2001 @06:43PM (#448344)

    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;
  • by jms ( 11418 ) on Wednesday February 07, 2001 @01:12PM (#448345)
    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. There's plenty of games that get boring fast for this very reason.

    The real challenge is twofold:

    1) Writing a game that cannot be mastered by computer automation. Something that really, truly requires a human level of creativity, intuition, and interaction. Generally, having humans play against each other introduces a lot of strategy into the game.

    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."

    The problem is in what you consider to be "cheating." Think of Indiana Jones facing down the machete-swinging Ninja. Sure, pulling a gun on him and shooting him is "cheating", if you subscribe to the world-view that the Ninja, by challenging Indy, had defined the rules of the game as a sword-fight. On the other hand, you could interpret the Ninja as being the cheater -- after all, he was highly trained in sword combat, and, as far as he knew, all Indy had was a whip. The Ninja considered himself to be technologically superior to Indy, until Indy pulled his gun, and turned the tables.

    If Indy had pulled a gun at a fencing match, he would be, at the very least, disqualified. However, in the wide world of the internet, it becomes impossible to determine who is "cheating" by modifying their client. Thus, the only way to guarantee that no one is cheating is to simply redefine what is fair. You have to start with the premise that you have a client/server interface, and anything on the client side is fair. All "unfairness" must be addressed on the server side and the server side alone. Otherwise, you're fooling yourself, and are going to be plagued with "cheaters."

    The correct approach to solving the "cheating client" problem is NOT for the game designer to make a dumb client, and attempt to prevent people from "smartening up" the client. This will always fail, especially if the client is GPLed. The correct approach is to make the client as smart as possible -- so that improving the client becomes a genuine challenge. Then, if improvements are made to the client that create an "unfair" advantage, those improvements can be rolled into the next version of the client, not banned. Sure, it becomes an "arms race", but eventually everyone is going to run into the same walls, and the game remains fair.

    The alternative is security-by-obscurity, which is really no security at all. After all, you wouldn't accept a "security system" that did password checking and authentication unprotected on the client side, would you? The common practice of releasing binary-only game clients has made game designers lazy -- a "hackable" client is just as defective as a "hackable" security system.

    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. That "cheater" should wake up the next morning to find his player dead. If not, then your game suffers from a defect -- it doesn't require human-level intelligence to win.
  • by AugstWest ( 79042 ) on Wednesday February 07, 2001 @12:37PM (#448346)
    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?

  • by sabaco ( 92171 ) on Wednesday February 07, 2001 @12:46PM (#448347) Homepage Journal
    Assuming its reasonbly well coded and extensible, I'm all for it. Having worked on a number of GPL projects in the past that often start out as some high school kid coding something for his own enjoyment and it growing much larger, I'd say I'd probably really appreciate having some professional coders start the project.

    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 [blacknova.net] 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.

  • by clary ( 141424 ) on Wednesday February 07, 2001 @12:30PM (#448348)
    With increasing hardware power, I think a neat evolution of these games would be to have characters be "always on," regardless of whether the real-life person was playing at the time.

    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.

  • by mblase ( 200735 ) on Wednesday February 07, 2001 @12:16PM (#448349)
    Their business model makes a lot of sense: they won't sell CDs, they will sell access to the massively multiplayer server.

    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?

  • by Bonker ( 243350 ) on Wednesday February 07, 2001 @12:22PM (#448350)
    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

FORTRAN is not a flower but a weed -- it is hardy, occasionally blooms, and grows in every computer. -- A.J. Perlis

Working...