This is a summary of status reports from the WorldForge Project.

Overall, the team is making slow but sure progress on many fronts. The project's core focus right now is development of the game Mason, and many of the development areas revolve around that central effort. Mason is the second phase in the WorldForge Bootstrapping Plan (WF-BSP), which began with the completion and release of the game "Acorn". Following Mason will be a sequence of other increasingly more sophisticated game development efforts (Werewolf, Sands of Syllus, Acid Tempest, Arhipelago, and Catacombs), which will culminate ultimately with a multiplayer online fantasy game code-named "Belchfire", and potentially an even larger scale sci fi game called "Endarchy".

Besides this core development effort we welcome and encourage other game development efforts to join us. The WorldForge Project's vision is to foster an independent community in which many free games develop and evolve, with unique roleplaying-oriented game worlds and rules, a wide selection of server and client implementations, and a standard networking protocol to tie everything together. In addition to our mission to pursue the set of games comprising the WF-BSP, we strive to develop tools, clients, and servers which are general purpose and that can be used by other game developers to create many other games.

Clearly, our ambitions are boundless, and far exceed our capabilities. But we remain dedicated to our efforts and enthusiastic with our plans. We made wonderful development progress in 2001, though we had few solid releases. We hope that in 2002 we will be able to produce more releases, reduce installation troubles, and see our work come into general use. I personally hope we can be playing Mason before the year is out. :-)

Game Development Efforts


Bryce has selected Malcolm to be the point of contact for coordinating Mason development.

Malcolm is examining the uclient<->cyphesis usage in Mason, which has required a lot of blood & sweat and is surprisingly more difficult than expected. He's also installed a copy of Cyphesis on his machine with the intent of keeping it as a world for Mason.

Malcolm thinks the best course of action is to get morgate to play mason, in a similar fashion as uclient was made to play Acorn. "Don't think of it as a complete rug-from-under-feet swap, either - Morgate is very similar to Uclient in many respects, but it's a helluva lot easier to build. The morgate scripting engine is far more straightforward, we don't have to mess with LD_LIBRARY_PATH, it doesn't depend on libuta, etc. etc. etc."

MagnetHead is currently putting the finishing touches on the male adult builder model for further animation and output for the mason client. The female adult model is currently in a half-done phase; some review of her body proportions are needed. Children models will be forthcoming after the adults are done and the proportions of those models are 'commited'.

Orcs will be a little further along, however MH currently has a male adult that is a variation on the human model and it's about 75% completed in juxtaposition to the female human model.

Bear is creating and testing the sql structures for the Mason Entities.

Brent Bartels was working from text files in CVS to come up with a list of items for Mason. He is working with bear on putting this work directly into Eidetic on victoria.

Malkin is working on the rulebook, and has started filling in some of the text, gathering information, etc. She hopes to be releasing it for review and tweaking within the month.

Bryce has created an SVG map for the mason game world and is coordinating the entity design team. Archetypes have been identified for most of the existing 2D media, and the team is working on sorting out a "first release" set of entities and associated media files.

Alistair is currently working closely with James to define how to represent Geo data in Atlas. It is hoped that this will form the basis for describing large scale maps in Atlas, and will be essential for Mason. He hopes to add features to equator allowing SVG maps to be imported, and used to create the Atlas Geo data required by the server.


Cronos is a fantasy world written in spanish, for tabletop roleplaying games but which will have a 3D online implementation with WF tools. Cronos is hosted at

There is a 90-pages basic worldbook and the draft of the 30-pages first expansion "Las Tierras Lobregas":

Archipelago - Lee

The story is progressing slowly but is coming along. Lee is rendering some art work that goes with the story and/or in the game. He is reconsidering some things ruled out out earlier and pondering the meaning of "Focus is on 3D graphics." An almost flat sea would probably not further 3D graphics (islands and the seabed might though).

Client & Editor Development Efforts

Yup - adam

Yup has completed the intial stages of server to client communication and has done some minimal user interface interaction. What needs to be done now is to flesh out the user interface some more and to start working on getting the world/game state from the server and representing it some way in the world view of yup.


Dime aims to be a portable and modularized client. Other goals include good developer documentation, producing a client framework that various client features can be implemented on easily, use existing libraries when possible and split up functionally different parts of the client in different libraries, flexible user interface, following an iterative development model and producing frequent releases, and have a lot of fun in the process. See also:

Project participants include nikal, zzorn, AlistairD, Tim, and phil.

The focus lately has been the GUI library, but it is felt that a better focus might be producing a simple initial architecture and getting release 0.0.1 out.

Dime will be divided into low level layers that take care of communicating with the server, and keeping a local cache of the world and entities on the client. These parts will also do client side prediction. On top of that lives a framework layer that provides basic services for components, such as listening to particular types of changes in the world, or querying various properties of the avatar. This layer is called Medusa.

On top of that lives the component library, called Artemis. It implements a number of useful visual and non visual components, such as game views, inventory views, message view, client side scripting facilities, user input mapping to avatar actions, debugging windows, and so on.

The user interface of the components is separated from them, into a separate layer called Gorgon. The current plan is to create a GUI library called meadow on top of SDL to provide widgets that gorgon can use.

Lastly, there is the facade that starts the client, does setup, etc. This is all described graphically and in a bit more detail here:

In the near future, the Dime team is considering joining forces with the YUP team, perhaps so that YUP would provide a 3D game view, and some of the code for the low level libraries. Dime is still early in development, and don't have much code in CVS, although much of the initial planning is done.


Malcolm is porting uclient to win32


Malcolm has ported morgate to win32. Morgate suffers currently from interface polish. It crashes mightily when you ask it the wrong thing. Malcolm thinks he can fix it though.

Frost - ZephyrAlfredo

Progress on Frost continues. Michael Buttrey has improved STAGE and Cyphesis support and made the codebase more accessible to other developers. He's investigating better support of material in media-2d and the Frost Atlas code. His plans for the next few months is to make Frost support Mason. An issue he is struggling with currently is the lack of high level Atlas documentation.

Vestri - MagnetHead

Vestri is an Eidetic client that will connect to the media repository and allow the user to catagorize and maintain artwork and other media resources relevant to the project. Currently written in java using JDK 1.3 (Swing) it's gui is nearly complete and lacks only the following functions to be useful:



Opal - Jesse

This is a rewritten version of mclient, and uses the Willow library. The primary reason for the rewrite was to eliminate the dependency upon the Whisper application framework and to make the code easier to port to Unix systems.

Willow and Opal are largely written as component libraries using a substantially more powerful version of the COM object model used in Adobe's InDesign. It takes a bit of getting used to, but it's a great way to architect frameworks.

The basics are all in place: there's a landscape engine, vegetation, and a silly 3DS model for the player. The app can be built as either a Mac application or an SDL app with CodeWarrior or gcc (although I still get a few link errors with gcc). The near term goals are to get a simple console window up and running and then to start talking to an Acorn server.

Apogee - alriddoch

Apogee is being developed to act as a test platform for Eris and servers. While it is a player client, it is not intended to be usable by end users, but is intended to allow developers a rapidly moving client to ensure they always have something to use to test their latest features. It now has a working but buggy isomap renderer, cal3d based character animation, and can control and view a character walking around the map, including rendering other entities as bounding boxes.

Equator - alriddoch

Equator is currently being developed as quickly as possible to the point where Mason content creators can use it to build worlds in cyphesis. This and cyphesis are my main development focuses at the moment. Its current features include loading and simple rendering of blade and iso maps, connecting to a server and viewing the world state. Feature to modify the world state are currently being developed.

Anvil - dusk

After a long, slow history and endless design and implementation thrashing, Dusk's settled on Java as the language of choice; also, where the original Anvil was a 2D client app, and the mid-term Anvil (which never made it past pipedream stage) was a generic editing framework, he think the Real Anvil (tm) will be more of a higher level plot/character/history designer. It'll have full support for text writing (with XML output, which should make it a nice medium for Chopping Block article writing). It should eventually be able to manage the broad, detailed Agrilan history that now sits statically on the website. A monster compendium would be another nice add-on. [Sounds like another potential Eidetic client! -- bwh]

PyEdit - mithro

PyEdit is a tile based map editor which can currently view Isoedit maps. Mithro's working on this and a python UI toolkit.

Server Development Efforts


Bear is testing the stage sql requirement and setup documentation for accuracy across different OS types, and working with the stage team to clean up the stage sql test data and updating the stage install docs.

Rakshasa cleaned up Sylvanus and feels it's now ready for use. A patch to convert it to using wfmath has been sent by rsteinke.

Orion now handles forces that can move an entity around in different manners, from simple acceleration to attemting to reach a position/velocity. Simple links are under work in order to hack in floors/wall/ceilings.


Cyphesis is currently being driven by Mason requirements, and is undergoing steady development. The core code is now extremely stable, and the emphasis is now on features to enable Mason development.

Eidetic - Bryce

Eidetic is a web database and content management system; it's especially well suited for management of data that needs to be crosslinked and associated in a variety of ways, and displayed on the web. It has a user account and password management system, news and article management, scheduling, and some basic project management capabilities.

A build/push system has been developed, that will allow us to set up separate machines for integration, testing, and production. This also allows for establishment of mirrors of the website, possibly including file downloads, media, and so forth.

A file upload system has been added to support Vestri and to provide archive management capabilities. This will be used as a media repository, among other things.

Filters have been written to allow content to be edited in wiki-style syntax, in addition to straight HTML.

Work is underway to put together WorldForge-specific and Mason-specific database tables, incorporate the current website look & feel, and get it ready for use.

Library Development Efforts


The current release of Atlas-C++ stable, version 0.4.4 appears to have no serious bugs. Alistair had initially hoped this would be the final release of this series, but is currently evaluating a set of changes from Jesse which are required for some non-GNU compilers. If necessary he will make another release, but it is hoped that this will be the last.

The devel version of Atlas-C++, which implements the next iteration of the Atlas protocol is currently on hold, as it is not in the projects current focus. Aloril, James and Alistair hold periodic discusions about what the next revision should have. Most of the changes will be minor, but should have major performance advantages. Nothing fundamental in the philosophy of Atlas will change. The switch to using the next version of Atlas-C++ will only take place after full consultation, and only if there are major advantages to doing so.


COAL is usable for now, and in no dire need of major improvements. Though, one look at Request Tracker and it's obvious that there's still quite a lot left to do. Dusk's opened development to other dedicated contributors, including Brent and Alistair.

In switching to the new API Brent Bartels noticed that the BladeLoader class wouldn't Save or Load maps correctly. As this is pretty much essential for Ptah, John's handed this over to him. Right now Brent is writing a cross between the old BladeLoader class and Atlas's XML codec class.

Willow - Jesse

Jesse has been working on a 3D games framework called Willow, which is a rewritten version of Smoke. See Opal client status above for more info.

WFMath - rsteinke

Ron Steinke is working on this general purpose game math library. The currently implemented classes can be divided into two sorts. The first kind are basic mathematical objects, whose members are all fundamental types. The second kind are shapes, which implement the shape class interface described in doc/shape.h.


This library is fairly stable, however rsteinke and others have been contributing patches to help maintain it.

skstream - Rykard

This library provides a socket based iostream class, which is required for using Atlas. Almost all of the clients and servers we have make use of it. There were some concerns about licensing issues because it did not contain provisions for distribution of modifications. However, this has been resolved - there is now a skstream 2 version. We hope to get people to migrate to using this new version.

Other Development Efforts


Tom Austin is ready to do art for sentigen/sabra in dural. His main goal is to get all of his tile work into the database, along with the 2D art he's done, but is unsure how to go about this.

Lee would be interested in seeing some good map tools to help restart world development, and he's waiting on that to continue his work on the Isles of Eli.

3d Modeling Confluence Initiative (3Mocia) - MagnetHead

MagnetHead has been examining the current crop of available free and open source 3d modelers on the linux platform. The chart on the page shows the results. He would like very much if everyone that uses 3d modellers could add information to the chart in the appropriate place, or mail him listings to be added. Once this chart is at a point where he feels it clearly represents the needs of all the programs listed, he'll write a final report on which projects seem most promising, along with contact information for the developer factions on each project. The aim of this initiative is to provide to our wide-spanning developer base the option to put work in on the project that will see the most traffic from wf artists. While it doesn't make sense to start building editors of our own from scratch, incorporating the initial vision of other projects into wf's own goals could be very intellectually lucrative.

Media (General)

Pato is creating 3D content and textures (base humanoid models), and getting together an Asian Texture Library from Public Domain sources.

Mithro is working on Media Helper, a tool that automagically downloads media from various places. It currently supports CVS, nfs, http/ftp drives, and works under both windows and linux. It runs with python but can be compiled.


Jack is researching DEVS, maintaining various servers, and handling DNS changes.

MyKarz and Bryce are working on consolodating and sorting out the old wiki webpages to be merged with the new files on the zope site, and setting up machines for testing out Eidetic.

Pato is helping with the new website.

Status Contributors

magnetHead Thomas Ingham <>
ZephyrAlfredo Michael Buttrey <>
jack Jack Cummings <>
Malkin Tess Snider <>
malcolm Malcolm Walker <>
tom Tom Austin <>
jesse Jesse Jones <>
rsteinke Ron Steinke <>
Rykard Krystian G Bates <>
lee Lee Begg <>
dusk John R. Sheets <>
Aglanor Miguel Guzman Miranda <>
Brent Brent Bartels <>
Bryce Bryce Harrington <>
adam Adam Wendt <>
mithro Tim R Ansell <>
Rakshasa Jari Petter Sundell <>
alriddoch Alistair Riddoch <>
zzorn Hans Häggström <>
bear Mike Taylor <>