AESOP Multiplayer Game Framework


WARNING: This framework is still in pre-alpha and is subject to a high rate of churn.

I am anticipating an alpha release in or around November of 2010. Until then I can't support this for anything but my own development!


The AESOP project is a framework for storytellers. In particular, it is designed for creating multiplayer networked 3D games. It has these objectives:


AESOP as a framework is built to be highly extendible. In fact, most of the engineering involves incorporating as many already-available libraries as possible, while keeping coupling between components to zero. See AESOP Requirements and Features.

For instance, all of these should be trivial to swap out or extend:

The core AESOP package includes default implementations of all of the above, so it is immediately usable. The defaults use Bullet (http://www.continuousphysics.com/) for physics, there are a combination of 3D model formats supported, OpenGL and glut are used for rendering.

The basic, non-swappable pieces of AESOP are the core client/server communications framework. These are client and server libraries which establish the basic communication protocols, deal with discovery and lag, and provide easy means for client game code to talk to the server. This is built to be as general as possible, so that games needing custom communication with the server can add it easily.

In addition to tools and utilities, there are two key binaries that the framework supports, intended for distribution with the final game:


This is the main intended use case for players:


This is the main intended use case for storytellers:


Massively-multiplayer mode (such as MMOPRGs, see http://en.wikipedia.org/wiki/MMORPG) is not supported. AESOP aims to support around 16 players at once. The primary use case is a shared experience with a small group immersed in a story-driven world. If you are looking for a MMORPG experience, try WorldForge (http://www.worldforge.org/).

AESOP is probably best for LAN play, although the wire protocol is kept as spartan as possible to allow WAN play. AESOP uses standard but simple techniques to accommodate some network lag.


AESOP is released freely to the community under the BSD license (see http://en.wikipedia.org/BSD_licenses). Some portions of the code are from other authors and those areas may be subject to other licenses. Those exceptions are called out clearly.


Starting points: