WorldForge: In Pursuit of Open Source, Massive, Online Gamesby Howard Wen
Ultima Online is what gamers call a massive, multiplayer, online, role-playing game -- or MMORPG, for short. In this kind of environment, tens of thousands of players interact online. In some ways, it's like open source development, where a distributed collection of users (or developers) works together to make something happen.
One group of programmers is setting out to build a MMORPG using just such an open source model. WorldForge is an online community that formed three years ago to create such a game. The results of their early efforts were unveiled last year at LinuxTag 2001, with a working demo of their first online, role-playing game, Acorn.
Since that debut, the WorldForge community has gained a few hundred new contributors, but it's still a fairly small group. The game's announce list has 455 members, and on any given week, 10 to 20 folks commit code, content, or media. The group's focus now is on the development of a second game, Mason, and on working out the core principles around which clients and servers will communicate using the network protocol that WorldForge's programmers created, Atlas.
"The feel of the project has changed as people have come and gone, but all in all it feels as though we are really getting somewhere," says Al Riddoch, a 27-year-old from Southampton, U.K. Riddoch coordinates the development of Acorn and Mason when he's not working as a systems programmer for the University of Southampton. "Now we have more momentum than we have ever had before."
A task that's too big
The idea of an open source clone of Ultima Online hasn't evolved in the way it was originally envisioned. A few days after WorldForge was announced, one of the first decisions made by leaders of the effort was not to clone Ultima Online. They felt that the hack-and-slash play strategy of such games was boring and limited.
They also felt that from a technical standpoint, it was unrealistic to try to build a game that would serve tens of thousands of players simultaneously.
"We're a long way from cloning a commercial MMORPG, even if we wanted to," admits James Turner, a 21-year-old developer in Edinburgh, Scotland who works in Mac Mozilla development for an educational software company. He coordinates architectural development for WorldForge game servers and maintains a client-side session layer used by the project's various in-development clients.
So WorldForge focused on creating a generic game-engine client and server that would be flexible enough to support virtually any kind of online, role-playing game.
Obviously, a networking protocol is needed to run games like these. WorldForge programmers built such a "glue" to bind together large numbers of different clients and servers, along with editing tools for online games. Named Atlas, it's a technology that the community has been honing and aiming to have stand apart from the networking protocols used in commercial, online games.
Atlas is dynamically extensible and self-defining, so servers can communicate new types of entities and operations (actions) to the client. Clients can flexibly support various rule-sets and games without custom code, and new entities can be defined at will. This allows content creation to be much more iterative, and it enables a much looser client-server relationship than is traditionally possible. Present work on Atlas will also allow the protocol to be extended without the client or server needing to be restarted.
"Atlas is probably way ahead of anything being used commercially in terms of flexibility and power," says Riddoch. "We are frequently told that Atlas is over-engineered and too slow, but I believe that in the long run, it will pay off. As CPUs get faster, the cost of this flexibility will diminish, and performance will be less of a problem."
Building on simple games
The first game developed by the WorldForge team, Acorn, was mainly an experiment for them to learn how to develop a very basic role-playing game. Players compete online to raise and sell pigs in a world rendered in 2D, isometric graphics. Compared to the vast scale of Ultima Online, the size of Acorn's environment is much smaller and it serves fewer players; its gameplay is simpler, too.
The work on Mason, the second WorldForge game under development, aims to develop ways to build and manipulate objects in a role-playing game, and to better understand the physics engine. Mason's world features two races, humans and orcs, who compete for resource materials that include trees, animals, and iron ore. There will be no combat or spell-casting; threats to player-characters will come in the form of inanimate objects like deadly traps and poison.
"We're hoping that a social structure, completely different from the culture grown in the Ultima Online world, will emerge in Mason. When [acquiring] power and money are the only objectives, things get boring very quickly," says Oliver White, a 24-year-old software engineer in Melbourne, Australia who's developing a program to import data from Relational Database Management Systems (RDBMS) into the game-world model to be used for Mason. The absence of violence can present a different challenge to the gameplay, he adds: "When your neighbor builds an outhouse on your prized strawberry patch, and you can't simply knock him on the head with a club, things become a bit more interesting."
Overall, the idea behind the designs of Acorn and Mason is to build the various elements of online, role-playing games, little by little, over a series of simple-to-play games that aren't too daunting to make. More complex games can then be built upon the work of these successes. "By doing the [games] on a low level with a small set of core rules, we can avoid a lot of the balancing problems that arise from creating a large number of rules," explains Hans Häggström, a 24-year-old software engineer in Helsinki, Finland who is handling the lead design for Mason.
Pages: 1, 2