
This feature list describes the desired functionality for the G System that should be implemented for the 1.0 release. The G System is made up of various parts, each part will be documented independently. Only source code related features will be discussed. Nevertheless documentation is just as important as source code so we work hard to provide good documentation for the whole system. Documentation and other aspects are included in the raodmap.
Please note that many already implemented features are still subject to further improvements.
State: stable
The purpose of the G Core System is to provide an abstraction of world content of any kind. It should also provide reasonable interfaces for element handling by the GWE, agent specialisation as well as generic data extension possibilities.
Implemented features:
General definition of element structure
Object (holds data, also energy and form)
Energy (element characteristic)
Form (element position and geometry)
Agent interface (agents define element behaviour)
Influence
Element interface (signals and slots for element management by the GWE)
General purpose element wide XML data storage that is shared among all agents of one element
XML specification of element representation for serialization
Proper influence energy amount management for received influences
State: Element management done, XML based data management including network already usable.
The GWE is responsible for Element management, it should provide all means to allow execution of elements including network management and persistence. The GWE also provides the communication infrastructure for elements.
Implemented features:
Abstract world engine interface (factory, controller, ...)
Database interface for persistent element storage
Local influence handling
Element storage (database)
Serialisation of elements (for databases, network transportation)
Network layer (based on direct TCP/IP connections; XMPP currently disabled)
Local clients directly using the GWE library are possible
Missing features (most of them are currently being worked on!):
GCS::GAgent Plugin infrastructure (see GWE docs)
Network protocol for clients
Network protocol improvements for multi-hierarchy-levels servers
Advanced network protocol capabilities like moving elements, update subscriptions
GWE Modules (see old docs from first svn repository)
State: usable, improvements still to be done in user-element interaction
The GCE is responsible for defining a standard for the client - server interface to allow anyone to write individual client implementations.
The G System provides a standard client that includes libraries for 3D visualisation and client - server communication. These libraries can be used to develop custom clients.
Implemented features:
OpenGL interface
Camera
Local (library based) GWE interface
Communication between users (XMPP messages)
Rendering of static X3D models
Interface for showing information about user controlled elements
Interface for user controlable agents (action interface)
Missing features:
Network capable GWE interface and protocol
Optimization for user input
GUI to enable the user to manage customized actions (customized action buttons)
Infrastructure for rendering plugins
State: World generation and a few basic agents done.
The G Basic Elements Library implements common agents, forms, influences which provides basic element functionality. All element functionality that is required for a virtual universe to function is provided in the GBE.
The GBE is a collection of agents.
Implemented features:
Very basic agents for movement
Very basic agents for influencing
A very basic agent for form manipulation according to an element's energy
Framework for deterministic random universe creation
Missing features:
Agents for physics calculations, like collisions, ...
More sophisticated user controlable agents
Agents for evolution
Scriptable agents (with SPL, Ruby, ...)
Agents to interface external systems
State: since version 0.5 of the G System it's possible to run a multi-user virtual universe.
Implemented features:
Server
Client
GOD, a basic configuration utility
Translatable strings in GUI
Missing features:
Realistic world content (landscapes, rivers, solar systems, ...)
Webinterface: GWI (G Web-Interface)
...
The client is being improved to allow more interaction with the simulation as a whole and to show more information about connected elements, energy and so on. See also the GCE feature list.
Work on the GWI has started, it already provides functionality to query a guniverse server for information.
Basically the G Universe grows together with the G System.