Hey all,

So, I've recently made big strides with an old project that I've been kicking 
around ever since working on Divunal back in the Twisted Reality days. Since it 
uses several Twisted-community projects to solve some problems I've been 
tinkering with for years, the first place I hoped to recruit interest was among 
the Twisted community.

My goal has been to create a MUD-like environment, particularly one derived 
from the philosophies of LambdaMOO. However, I also wanted to use modern web 
technologies to create something that could be more than a text-based 
environment, though still probably less suited for an immersive 3D environment 
or some such. I wanted to allow "anyone" to safely develop in-game code using 
Python, without fear of accidentally creating an infinite loop and taking down 
the system. Finally, I wanted to ensure that if someone did create a virally 
popular game, it would be possible to scale the system in ways LambdaMOO never 
could.

Today I released what is best described as a developer preview of the 1.0 
release of this software, antioch. It comes somewhat from the lineage of a 
predecessor named txSpace, but is pretty much a complete rewrite.

antioch approaches things with entirely different goals than Twisted 
Reality/Imaginary did. Like LambdaMOO, it makes very few assumptions about the 
attributes of your world, assuming it will all be implemented using game verb 
mechanics. It's primarily concerned with individual user rights, object 
ownership, and code isolation.

Using Twisted, community libraries (such as Nevow, txAMQP and ampoule), 
PostgreSQL and RabbitMQ, antioch implements a high-performance, scalable 
virtual world. There's more details on the features below (sorry for the 
execu-speak, a habit), but to jump right in, head over to:

        http://philchristensen.github.com/antioch

Or sign up for the discussion group/mailing list at:

        http://groups.google.com/group/antioch-dev

I've done my best to create tons of documentation and installation guides, but 
I'm always adding to the collection.

Any and all feedback is always appreciated,

- phil



antioch feature set
--------------------

* **Customizable AJAX-Enabled Client** — 
  The antioch web client provides a standards-compliant interface based
  on the Nevow Athena AJAX framework, and is supported by all modern browsers.
  
  Although the default database provided is geared towards text-based games,
  the flexibility of the client interface and the power of the plugin system
  allows many different kinds of games to be developed on the antioch 
  platform.

* **Graphical Object Editors** — 
  Programmers and authors alike will find the built-in authoring tools
  expedite world creation and verb programming.

* **Plugin System** — 
  antioch 'modules' allow developers to create new client functionality.
  The module system was used to implement the built-in object and verb 
  editors, demonstrating the creation of new verb-environment functions,
  Web resources, and client-side JavaScript.

* **Isolated Verb Execution** — 
  Database code is run in individual subprocesses, allowing for memory and
  runtime limits to be applied at the UNIX process level, and allowing for
  verb code to be written in a synchronous style.

* **Highly Scalable Messaging Layer** — 
  antioch uses the RabbitMQ server to implement message passing support,
  allowing support of thousands of active clients with minimal latency.

* **Powerful Natural-Language Parser** — 
  The built-in interpreter parses a large number of different imperative
  statements, making user-world interaction a more immersive experience.

* **Internal Scripting** — 
  A Pure-Python scripting layer integrates tightly with the framework code,
  allowing a high degree of customization.
  
* **Robust Networking** — 
  antioch relies on the Twisted Python and Nevow frameworks to implement
  client-server communication. This robust asynchronous networking library
  allows client counts to scale easily to hundreds of connections.



_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to