Slashdot Mirror


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

6 of 212 comments (clear)

  1. Re:Bad Idea. It'll Make Cheating Too Easy by jms · · Score: 5

    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.

  2. Great, another "massively multiplayer" project. by AugstWest · · Score: 5

    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?

  3. I'll support it by sabaco · · Score: 5
    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 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
  4. Expand the rules to include "cheating" by clary · · Score: 5
    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.

    --

    "Rub her feet." -- L.L.

  5. What's wrong with selling CD's? by mblase · · Score: 5
    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?

  6. Reasons EQ players hate Open Source MMORPG's by Bonker · · Score: 5

    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!