Slashdot Mirror


WorldForge Forges Ahead

Anonymous Coward writes "LinuxWorld has an article up about the WorldForge Projects's game Acorn. Some of the developers of this cool open source EverQuest-like game are hanging out in the article forum answering questions. The groovy thing about the game is that you can contribute to it creatively more than with Ultima, etc., making your own special items and other stuff." There are several of these MMORPG's kicking around, and while I applaud their efforts I have this sneaking suspicion that the amount of work required is so high that none of them will ever be completed.

30 of 82 comments (clear)

  1. Death Spirals, etc by Alien54 · · Score: 2
    One thing it is hard to do in these games is to maintain quality. This requires a certain artistic vision as far as the universe of the game goes. Not everyone is competent as a universe maker, or knows what would work well in a certain context.

    All to often you will have somthing that will break the game show up. The obvious things are easy to legislate against.

    Hand grenades and beam weapons and other one sided technologies, introduced by a player, in a low end medieval fantasy world, for example.

    An example of this is in song-writing. I can remember one guy writing a song, playing it for a friend, who comment was that it would be a heck of a lot better if it sounded like Led Zeppelin

    Of Course , most players are smarter that this, but let's face it, you do have that class of player who wants to convert everything they touch into another shooter program.

    Some of the funniest games I ever played in a pencil and paper setup were with characters that were deliberately and well under powered. (runaway! runaway!)

    So I wish them luck, knowing how difficult it is to do this sort of thing right.

    --
    "It is a greater offense to steal men's labor, than their clothes"
  2. Re:Is this a Good Thing(tm)? by zzorn · · Score: 3
    Cheating, hidden codes, and advantageous bugs will be plentiful in this game, and so nobody will play it. It will be a failure of the Open Source model. And let's not get into the idea of them trusting client-side programs to be run. You can't even trust Diablo client-side, so why would you trust something with open source?

    We do not trust the clients. That is actually one of our basic design principles. The server does all the world and character related calculations. The clients are of course free to use prediction, but the server always has the final say.

    --
    Hans Häggström, WorldForge developer.

  3. One last thing... by CrazyJim0 · · Score: 2

    b4 I learned of Gnutella... I designed a network that was unhackable p2p... Basically it revolves around the assumption that the gnutella community is large, so there was at least one person who saw you last time you logged off and saved. So your data is always stored on other people's puters... Its like client/server but its patroled by computer COPS... etc. RNG are based on a bunch of other computers rolling, and all games are watched by random computers... Kinda tough to cheat... if you do, you're ousted from the community

  4. OOPs by hugg · · Score: 2

    The thing I liked best about MUDs and OOPs are that you could code objects in the environment, say, a HTTP server, and print "You hear a whirring noise" or something when it is accessed. Programming -- that's more interesting than slogging through giant rats!

  5. WorldForge Forges Ahead by brianvan · · Score: 2

    Dude, you're a staff member of Slashdot. You don't need to follow Signal 11's method of karma whoring (posts an opinion everyone wants to disagree with, just to get modded up as interesting).

    All Open Source projects will always be completed. It's your kind of pessimism we don't need in the world of OS programming. If you think it's not gonna get done, why don't you take some of your free time and go help them? No, it's a lot easier to sit there and not do a goddamn thing but berate everyone else for not writing programs that do exactly what you like.

    (okay, if you've been agreeing with me so far, may I point out three reasons you're on crack:
    1. michael has a valid point based on the complexity of such projects alone... artwork, gameplay, and plot are all factors as well
    2. michael has a life other than dropping everything to write a game to give out to the rest of the world.
    3. No project is guaranteed to get completed, for a variety of plausible or oddball reasons. After all, a meteor might land tomorrow... do you want God to hold it against you that you didn't make the deadline for your DeCSS Mozilla plugin?

    Thank you.)

    1. Re:WorldForge Forges Ahead by scrytch · · Score: 2

      > Dude, you're a staff member of Slashdot. You don't need to follow Signal 11's method of karma whoring (posts an opinion everyone wants to disagree with, just to get modded up as interesting).

      Huh. Consider the possibility that he could actually have differing opinions. Actually, I think I'm going to change my .sig now, you'll see it below.
      --

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  6. Re:More work on the server. by UnknownSoldier · · Score: 2
    > If you limit the amount of trust given to the client, most of these problems go away... In essence, the client becomes a 'dumb' terminal;

    Except that it doesn't scale up ! Ask Carmack about how he feels about having everything on the server.

    MMPRG's are stuck between two bad extremes
    • everthing on the server: great security, bad scalability
    • everything on the client: no security, great scalability

  7. ac by Cycon · · Score: 2

    anyone else get the impression that this guy posted anonymously because he's the same guy that wrote the article?

    --
    Your Brain + EEG + LEGO Robots = Brainstorms
  8. Idiot by Shoeboy · · Score: 2

    Hey, that arguments remind me of some of the greats faults in cryptography. Your argument is basicaly the same as security through obscurity.
    deCSS has clearly shown that this principle doesn't work. Blowfish, AES, TEA, RSA, ... and are all completly documented cryptos that remain unbroken. (At least with an good key length)


    Kindly pull your head out of your ass.

    There's a world of difference between enabling secure communications with an open source program and preventing cheating in multiplayer games.

    In cryptograpy <oversimplification> the goal is to enable Alfred and Betty to communicate without letting Chris listen in. </oversimplification> This assumes that Alfred and Betty can trust each other not to phone up Chris and tell him what the other person said. In short, you can trust the client - it's third parties you can't trust.

    In gaming, this assumption does not hold. I can not trust Betty not to hack her client and frag my ass by shooting through walls. There are only 3 ways that I can deal with this.

    1) I can just accept that Betty might be cheating and try to avoid the servers that she plays on.

    2) I can try to ensure that Betty will have a very difficult time cheating by hiding the source code from her. This is security through obscurity, but I will make it impossible for *most* gamers to create cheating clients. If Debbie does build a cheating client and share it with Betty, I can release a patch that will break it and make make go back to the drawing board and release a new one. Since Betty, Beatrice, Bill and Bob aren't all that bright, they will have to play fair, at least until Debbie builds a new cheating client. This is security through obscurity, but it's workable.

    3) I can move all the crucial logic from the client to the server. Since Frank runs the server and is trustworthy, I don't have to worry about hiding the source from Betty or Debbie. This is the most effective method of dealing with cheaters, but it also will increase bandwidth requirements and cpu overhead on the server. Either Frank or myself will have to spend serious cash on servers and tell the modem users to fuck off, or we'll have to live with shitty performance.

    Those are my options. If I am a for-profit development house, option 2 is the most attractive one for me. I don't want to spend lots of money on servers or tell modem users to fuck themselves so option 3 is right out. Option 1 is also right out, as widespread cheating will piss off my user base and hurt sales.

    Sure it's security through obscurity, but as long as you can keep the userbase *relatively* free of cheaters, that's *good enough*. The users will complain about campers and low ping bastards instead, and since they do that with *every* game, it won't hurt sales.

    Security through obscurity is only a bad thing if a single exploit can fuck you over. If someone hacks your credit card database, or the government reads your emails about your pot smuggling operation, that's a disaster. If 1 or 2 people figure out how to cheat at counterstrike, that's only a *very* minor annoyance. Security through obscurity does work to restrict the number of people who can find holes. As long as your system can tolerate a small number of cheaters, you do not need bulletproof security.

    Understand?

    --Shoeboy

    1. Re:Idiot by prizog · · Score: 2

      2) I can try to ensure that Betty will have a very difficult time cheating by hiding the source code from her. This is security through obscurity, but I will make it impossible for *most* gamers to create cheating clients. If Debbie does build a cheating client and share it with Betty, I can release a patch that will break it and make make go back to the drawing board and release a new one. Since Betty, Beatrice, Bill and Bob aren't all that bright, they will have to play fair, at least until Debbie builds a new cheating client. This is security through obscurity, but it's workable.

      It is *not* workable. Look at alll the Diablo I and Quake cheats out there. Blizzard, which is as closed a company as you can get, gave up on this model for Diablo 2.

    2. Re:Idiot by dasunt · · Score: 2

      Perhaps we can look at a real-world example. Lets try MUDs, which are pretty popular, have been around for the last decade or so, and its rather easy to find the source to 95% of the MUDs out there (although it isn't GPL).

      Now in any mature MUD code, all the major security holes have been fixxed, and the only thing that looking at the code does is allow me to figure out the game mechanics, which doesn't matter, because someone has calculated it already and posted it to their webpage.

      Now muds are also rather nifty for the bandwidth requirement. It isn't hard to imagine switching a mud from a room-based system to a coordinate based system*, and giving it a graphical front end. Then, all the mud has to do is figure out where every object is and which objects are in range of the player, and sends that data over to the client (tree@x=25,y=57,z=-2) and if anything is interacting with the player (kobold(attacking)@x=10,y=3,z=0). Then the client can send the player's actions back to the server (myplayer(attacking kobold)->moving( speed=3,x=57,y=15)),myplayer(attacking kobold)->casting(fireball). All the client does is makes a pretty picture, adding the actions to the picture (when the server sends a "kobold parrys", it shows it parrying, etc), and allows the player to input his/her actions. The client simply acts like a glorified 3-D renderer + MUD client, nothing more. Since I can't see why the bandwidth requirements for this would be any higher then a mud, I can imagine worlds with 1k-2k people logged in without a problem. And since all the data is stored server-side, its "impossible" to cheat in most of the ways that people describe. Any custom clients would probably add convienences like "paths" and "triggers", as well as an automapping feature, which some gaming purists might decry as a "cheat", but is nothing that the majority of us cannot accept. At the worst, one runs the risk of bots, however, in my mudding experience, most bots don't work beyond repeating a simple activity.

      *Thinking about it, actually, you want "zones" + coordinates so you can cut down figuring out which objects are range of a player. But just a quibble...

  9. Re:Is this a Good Thing(tm)? by Erasmus+Darwin · · Score: 2
    WHat people do is they add code to the source and then play with their funky new cheat, something the other players in the game don't have. This gives them an edge.

    The WorldForge philosophy, as I understand it, is that anything you can do with a client from an automation or display standpoint is 100% legal. So, provided there's not a bug in server enforcement of game rules, the open-source thing should be a non-issue.

    However, I do disagree with some of the philisophical decisions the WorldForge developers have made on this issue. As I understand it, it would be legal to have a bevy of automated "slaves" that bankroll your main character.

  10. Re:Is this a Good Thing(tm)? by prizog · · Score: 2

    "somebody could commit a CVS change with nobody knowing the difference. "

    No, they couldn't. While WF does give wiki accounts out like candy, CVS is read-only until someone contributes something real.

  11. Re:What is wrong with having "only" 300 people ? by raju1kabir · · Score: 2
    The distributed server thing ala peer-2-peer for online playing is a great idea! Have each server be a land or portion of a land and you must pass through some kind of gate to move to the next server or perhaps cross some mountains, or take a boat ride, or enter some caves etc.
    Yes, this is an idea that many have floated before, in various guises, over the years at WorldForge, and because of that I would have to bet that when we're further along, people will experiment with doing that.

    Back in 1990 we did a fair amount of work along these lines. Never came to anything though, because we kept running into a fundamentally insurmountable problem: Cheating.

    The best we could come up with was a central server that authorized the allocation of experience points, treasure, etc., and each "area" (on its own server) was only able to give out an amount of these commodities in proportion to the total number of visitors it received. That way, in the worst case, an area that gave all the treasure to its owner's friends would soon develop a reputation as unfair and other people would stop going there. But then it came back to the scaling problem again.

    I'd be fascinated to watch what sort of solutions eventually do appear.

    --
    "Patriotism is your conviction that this country is superior to all other countries because you were born in it." -- GBS
  12. Try this! by Emil+Brink · · Score: 5

    Um, if you're interested in networked applications involving 3D graphics, such as most modern games (including MMORPGS), you might want to check out Verse.

    Briefly, Verse is a system (network protocol, client library, and a lightweight server) to make development of such applications easier. It's based on cool tech (such as subdivision surfaces), almost completely free and open (we use GPL, LGPL and BSD licenses), and best of all: not vapor!

    Verse has been under development by two full-time developers for over 20 months, so we sure have code. If this sounds interesting, swing by the above SourceForge page and take a look. Thanks.
    --
    main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
    1. Re:Try this! by Emil+Brink · · Score: 4

      Um, this is probably "helping the enemy", but anyway: here's a link to Gel3D. I haven't followed Gel's development as closely as perhaps I should, but glancing at their Info page reveals one major difference: it's peer-to-peer, whereas Verse is client/server. The "war" between P2P and C/S network architecture in the distributed graphics/VR community is pretty intense, and I guess there's still no clear cut winner. They both have advantages. P2P offers potentially lower latency and better distribution of course, but C/S has the benefit of being easily understood, administered and also easier to make secure and persistent.

      --
      main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
  13. Never completed? by DarkClown · · Score: 2

    You're right, and mozilla will never be a browser.
    Hey, wait a second, I'm posting from it now!

  14. Why don't they ??? by Enonu · · Score: 2

    Combine a Quake 3 or perhaps Blade of Darkness 3D engine with the actual gameplay for these MMORPG's? The graphics are typically disgusting and drab enough that it's distracting. Developers could then concentrate on building a complex realm and plot.

    1. Re:Why don't they ??? by Nurgster · · Score: 2

      Because there is only much data that can be sent to the clients. A single object in Quake 3 (the animation system breaks each model into 3 parts, head, torso and legs) would require 3 times the amount of data for the animation frame.

      While this wouldn't impact the client much, it would cause a severe bottleneck at the server.

      Another factor is the frequency of updates. Most MMORPG use a full-mediation model, where the server does all the work, and the clients just display some stuff. With a simple graphics system, this isn't much of a problem, but when you start adding stupidly complex graphics, the server would have to update the clients at a more regular interval, which usually isn't possible.

      --
      "Faith is the last resort of a desperate man" - Me
  15. Who's going to pay for this? by Nurgster · · Score: 2

    I mean, an MMORPG needs a centralised server, or at least a directory of servers currently running. Granted, as someone mentioned in another thread about the CDDB thing, people can use other boxes, but an MMORPG uses a serious amount of bandwidth (unless it's shit), and a dedicated box really is needed.

    I've worked developing a multiplayer game (a sports game). While it was slightly different in principle, the theory is the same, and a dedicated server could only manage about 300 users playing at any one time.

    Game like UO and EverCrack have THOUSANDS online at any one time, spread over several servers. How can a free game compete with this?

    --
    "Faith is the last resort of a desperate man" - Me
    1. Re:Who's going to pay for this? by Nurgster · · Score: 2

      Some server bandwidth is not enough.

      An FTP server for Debian will have a maximum of what, 50 users? 100? Probably throttled, so if there are 100 users they will be getting pretty appauling download speeds.

      An MMORPG is a REAL-TIME application, and needs the data from the server as soon as possible, and chances are there will be alot of it.

      As a minimum, I'd expect each user needs 1kbytes a second. That is a LOT of bandwidth for a machine that is hosting something else. That's a very large chunk of a megabit connection, PER SECOND. You really think an ISP or someone is going to give up that much bandwidth for free?

      A model I'm planning on using for an MMORPG I'm going to develop in the future is to use a micropayment system (say, $0.50 per hour), so people only pay for the time they use (unlike others, where you pay a fixed rate)

      --
      "Faith is the last resort of a desperate man" - Me
  16. Complexity? by Erich · · Score: 3
    and while I applaud their efforts I have this sneaking suspicion that the amount of work required is so high that none of them will ever be completed.

    Complex? You mean like an OS kernel, or a windowing system? How about a database?

    TONS of Free Software out there is extremely complex.

    --

    -- Erich

    Slashdot reader since 1997

  17. Re:The difference by DarkClown · · Score: 2

    you're absolutely right. that's why IIS kicks such ass on apache!
    badoomski!

  18. Re:What is wrong with having "only" 300 people ? by Bryce · · Score: 3

    The distributed server thing ala peer-2-peer for online playing is a great idea! Have each server be a land or portion of a land and you must pass through some kind of gate to move to the next server or perhaps cross some mountains, or take a boat ride, or enter some caves etc.

    Yes, this is an idea that many have floated before, in various guises, over the years at WorldForge, and because of that I would have to bet that when we're further along, people will experiment with doing that. In fact, we're planning to put the hooks in to allow people to experiment with this into our next version of the server.

    Now, there's a lot of issues to deal with in such a situation, but heck, that's what experimentation is all about, and it wouldn't be fun without some challenges, right? ;-)

    It's impressive to see how quickly everyone is grokking what WF is about! And you know you're all welcome to come join in the fun with us, there's plenty of interesting work to go around.

    Bryce Harrington ~ WF Coordinator fella

  19. Re:Paying for a free game by Per+Abrahamsen · · Score: 2

    > if people are still paying, they're going to
    > realize that they might as well pay for the
    > closed source game, which, at least at the
    > moment, has far outpaced the open source efforts

    Yes, to the gamers it will just be a matter of price. To the people running the servers, using a free engine and initial maps may be more cost effective than developing their own, and may thus lead to lower prices for the gamers.

    This of course requires that the volunteers can create a quality engine for free.

  20. Re:Is this a Good Thing(tm)? by wunderhorn1 · · Score: 3
    You can't even trust Diablo client-side, so why would you trust something with open source?

    I'd rather have a small group of developers (say, 5 or so) writing the game, with no source code availability.


    You contradict yourself right there. Diablo was closed soure, handled only by the Blizzad team, but you don't trust them?
    Do you think that just because programmers profess a belief in open-source ideologies it magically makes them better coders?

    At least with an open game (let alone free-speech) you can look for cheats, bugs, backdoors, etc yourself.

    [I couldn't decide whether to mod this down as a troll or reply, but I figure joining the discussion is the noble thing to do. It may not be so blatantly obvious to our "younger readers" why the parent was incorrect]

    --
    Karma: Bored. (Thinking about resurrecting the "Anyone else is an imposter" joke.)
  21. Missing the point. by nikal · · Score: 5

    Worldforge isn't trying to create one specific game.

    They are creating the tools that will reduce the task of creating an online world. Hence the name Worldforge.

    Acorn happens to be a client/world that has been designed and developed as a "test" of the current development.

    It usually helps to read about something you are planning on criticizing.

    --
    kojent
  22. Majik3d by eean · · Score: 2
    Majik 3d is another massive online world. It is still a work in process. It looks like it takes much more from MUD then Fantasy RPG games, so it is less centerally organized.
    On the FAQ it says:

    What is the difference between WorldForge and Majik?
    WorldForge: WorldForge's approach is not to create a single game, but instead a flexible framework that can support a variety of different kinds of servers, clients, rule sets, worlds, and graphical "looks".
    Majik: The Majik Project strives to create not a system for creating roleplaying worlds, which is what WorldForge aims at, but is a concentrated effort to create one complete and evolving roleplaying world.

  23. More work on the server. by schon · · Score: 2

    If you limit the amount of trust given to the client, most of these problems go away..

    Of course, this brings other problems to the server (which makes it more complex).. you have to maintain the client's state (as in everything the client can see) on the server - and only send that. You also need to send the client input events ("move forward 1 meter") to the server, and make sure that the 'character' is capable of moving/doing that.

    All of which will increase bandwidth requirements..

    In essence, the client becomes a 'dumb' terminal; it only displays what the server sends it, so someone can't write an 'aimbot', or make all of the walls transparent (well, they could make the walls transparent, but it wouldn't do them any good.)

    The short answer is that you'd write it just like you'd write any other secure app - you don't trust the client.

  24. Paying for a free game by Per+Abrahamsen · · Score: 2

    > Game like UO and EverCrack have THOUSANDS
    > online at any one time, spread over several
    > servers. How can a free game compete with this?

    Eh, the _source code_ is free. This does not mean the connecting to the server need to be free. People will idealy be able to pay a subscribtion fee for a big server, try it free on some small hobbyist server, or even try to create a competing commercial server if the existing servers are too expensive or poorly managed.