Generic C++ engine for virtual world - Summary
This group is not part of the GNU Project.
This is an engine for building networked virtual world with a simple (has it can) protocol and a generic server. Main goal is to make easier sharing objects between machines and grant control of object set to client.
A small library offers base classes and usefull client routines.
Main Concepts:
- everything is an object (instance of FObject class)
*the server
*each connection
*each world specific object
*sub-set defined on the object set (called 'part')
- every object is shared and updated on each client (depend on his read access)
- full text protocol (actualy, but planned to add a binary mode)
- the protocol only transfer object states
ex. "obj-plane_one alive part-all part-player_one 3 6 8"
(see the protocol grammar)
- read/write access authorisation on each object
- server is completly generic and world independent.
The full protocol grammar: ('...' means world specific)
<msg> ::= <head> <...>
<head> ::= <obj> <state> <read-group> <write-group>
<state>: 'dead' | '...'
<*-group> ::= 'con-...' | <part>
<part> ::= 'part-all' | 'part-...'
<obj> ::=
'server' : the server (ex: "server alive part-all server")
'console' : a common console (ex: "console alive part-all part-all ...")
'con-...' : a connection (ex: "con-... alive part-all con-... ...")
'part-...' : an objects sub-set (ex: <head> {<obj>}*)
'obj-...' : specific world objects
To show it, a simple networked shooter game implements the engine.
Registration Date: Sun 22 Jun 2003 09:41:51 PM UTC
License: GNU Lesser General Public License
Development Status: 2 - Pre-Alpha
Powered by Savane 3.14-d582.
Corresponding source code