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.
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"
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.
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
God spoke to me
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!
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.)
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
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
Hey, that arguments remind me of some of the greats faults in cryptography. Your argument is basicaly the same as security through obscurity. ... and are all completly documented cryptos that remain unbroken. (At least with an good key length)
deCSS has clearly shown that this principle doesn't work. Blowfish, AES, TEA, RSA,
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
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.
"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.
Become a FSF associate member before the low #s are used
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
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);}
You're right, and mozilla will never be a browser.
Hey, wait a second, I'm posting from it now!
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.
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
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
you're absolutely right. that's why IIS kicks such ass on apache!
badoomski!
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
> 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.
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.)
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
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.
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.
> 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.