The ngMUCK Project
From ngMUCKWiki
A Simple And Elegant Online Game Engine.
|
The ngMUCK project is a flexable MMOG (massively multiplayer online game) framework. It handles a game database, client protocols, and a script interpreter. You build the rest. |
Here's how it worksGame DatabaseThe ngMUCK software runs as a server daemon, handling all the game connections and processing, but it's doesn't do any useful work on its own. Your game exists inside ngMUCK's game database. The game database can be held in a number of different backends, such as a PostgreSQL database system, to store a hierachy of 'game objects'. A game object can be defined simply as something that can move around inside the database (reparented), and contains a set of name/value pairs called 'properties'. But these objects can be used to represent any number of game concepts, from players (Parented by a room, with health values, strength values), to rooms (Parented by an 'environment' object, with terrain values, description values), and even game script objects. Client ProtocolsClient protocols are hard coded into the game. Typically the protocol you'd want to use is telnet, allowing you to create MUD style games. But you're free to modify ngMUCK's open source code to create your own custom clients, protocls, and data-types. Script interpreterThe script interpreter is what ties it all together. It's code is both contained within the game database, and manipulates the game database, allowing a truely dynamic environment as clients connected to the game can be capable of modifying its behaviour, and developing your custom game environment in real time. It has access to I/O functions which allow it to read in commands, and output events to connected clients. Why is it called ngMUCK?
The current status of the ngMUCK projectngMUCK is a work in progress, and we're always looking for developers to help out. The 'scripts as game objects' structure of ngMUCK makes delegating tasks easy, and you should be able to see rewarding results quickly. Also, if you've made yourself some custom scripts (Or even a game engine) in the ngMUCK scripting language, please feel free to donate it to the ngMUCK project. For more details on contributing, see the Documentation page. |
Project Status: Pre-Alpha
|


