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