Featurelist

Introduction

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.

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 generic data extension possibilities.

Feature list

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

Current Activities

The GCS is fully implemented, currently no further features planned.

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 persistence. The GWE also provides the communication infrastructure for elements.

Feature list

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)

Current Activities

Further improvements in the network layer to allow multi-hierarchy server infrastructure. Persistent content, moving element responsibility between servers. Implementing element subscriptions. Agent plugin architecture is important and needs to be implemented soon.

G Client Engine (GCE)

State: usable, improvements still to be done in user-element interaction

Abstract

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.

Feature list

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

Current Activities

Interface beautification and usability, action interface.

G Basic Elements (GBE)

State: World generation and a few basic agents done.

Abstract

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.

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 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

Current Activities

Scriptable Agents. Agents for working with Kolab groupware.

G Universe: The universe created with the G System

State: since version 0.5 of the G System it's possible to run a multi-user virtual universe.

Abstract

Packs the G System, which is a framework, into an application.

Feature list

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)

  • ...

Current Activities

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.


G System Documentation Home