The G System Feature Plan
Raphael
Langerhorst
Anton
Melser
02/02/2005
Version 0.5
2004 - 2005Raphael Langerhorst
2004Anton Melser
This feature plan 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.
For a more detailed technical description please have a look at the
technical documentation of the G System.
Please note that many implemented features are still subject to improvements.
G
System
Feature
Plan
Feature Plan
G Core System (GCS)
State: stable
Abstract
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 extension possibilities for forms
and influences. A generally plattform and programming language independent XML
representation specification of Elements is also part of the GCS.
Feature list
Implemented features
General definition of element structure
Object (holds data, also energy and form)
Energy (element characteristic)
Basic form (element geometry)
Agent interface (agents define element behaviour)
Influence interface
Element interface (signals and slots for element management by the GWE)
General purpose element wide data storage that is shared among all
agents of one element
XML specification of element representation
Proper influence energy amount management for received influences
G World Engine (GWE)
State: Element management done, XML based data management including network already usable.
Abstract
The GWE is responsible for Element management, it should provide all means
to allow execution of elements including network management and persistance.
The GWE also provides the communication infrastructure for elements.
Feature list
Implemented features:
Abstract world engine interface
Database interface for persistent element storage
Local influence handling
element storage
Serialisation of elements (for databases, network transportation)
- targeted for 0.5 release
Network layer (hierarchical, distributed and
dynamic server infrastructure - XMPP) - targeted for 0.5 release
Missing features (most of them are currently being worked on!):
GCS::GAgent Plugin infrastructure (see GWE docs)
User client management, local clients
are already possible. Maybe clients will just be local additions to the GWE.
G Client Engine (GCE)
State: usable for testing purposes and simple frontends
Abstract
The GCE is responsible for defining a standard for the client - server interface
to allow anyone individual client implementations.
The G System provides a standard client that includes libraries for visualisation
and client - server communication. These libraries can also easily be used
to develop custom clients.
Feature list
Implemented features:
OpenGL interface
Camera
local (library based) GWE interface
Missing features:
Network capable GWE interface and protocol
Interface for user controlable agents ("action" interface)
Interface for showing information about user controlled elements
The GCE should be completely rewritten in a well designed way,
currently it serves only testing purposes
When redesigning the GCE, special care should be taken about
the client server protocol, it should allow anyone to write custom clients
G Basic Elements (GBE)
State: Deterministic random world generation and a few basic agents done.
Abstract
The G Basic Element 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.
Feature list
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 dynamic universe creation
Missing features:
Agents for physics calculations, like collisions, ...
More sophisticated user controlable agents
Agents for evolution
GUniverse: The universe created with the G System
State: starting with G System 0.5 a multi-user virtual universe is possible
Abstract
Packs the G System, which is a framework, into an application.
Feature list
Implemented features:
Server, see GWE
Client, see GCE
GOD, a basic configuration utility