Notice: Undefined index: ID in /var/www/localhost/htdocs/g-system/inc.p.config.php on line 27
G System

Notice: Undefined index: ID in /var/www/localhost/htdocs/g-system/inc.h.page_top.php on line 85

Notice: Undefined index: ID in /var/www/localhost/htdocs/g-system/inc.h.page_top.php on line 90

Notice: Undefined index: TID in /var/www/localhost/htdocs/g-system/inc.h.page_top.php on line 95
 
Developers information
Abstract
The G System is a C++/Qt framework for simulation of virtual realities. The core library defines the structure of world content, so called elements, and defines the interface for so called agents which implement the behaviour of elements.
A world engine (GWE) is used for storage (DB), communication between elements and network transparency. The goal for the GWE is to build a hierarchical network distributed system that allows for huge worlds to be simulated. The structure represents the structure of the world itself like solar systems - planets - continents - areas - cities/lands - ...

We also intend to build such a virtual reality with the system.

See the documentation for detailed information.

Development Tools
- qmake (included in Qt, see below)
- doxygen
- docbook xml
- subversion (http://subversion.tigris.org)

Development Libraries
- Qt (http://www.trolltech.org)
- KDE (http://www.kde.org)

IDE
KDevelop offers the best support for Qt/KDE based applications and has integrated subversion (and doxygen and qmake) support. But any texteditor is sufficient. Be sure that the editor in use does not change the end of line (EOL) characters! This might result in strange and really big diffs for subversion!! The rule for EOL characters is '\n' (UNIX style). And please do NOT use tabs, every tab should be replaced by two spaces (=indentation). Brackets on new line.

Source code management
Subversion server at: svn://svn.g-system.at/G

Communication
Mailing lists

License
BSD style license (that means it's "free and open source" software).

Programming style guidelines
The GCS (in src/core) serves as style reference.

Documentation
Docs are in the doc directory of the source code release or on the homepage. You can use the makedocs script to create formatted documents.

Project Parts (source code)
GCS - G Core System (src/core) GBE - G Basic Elements (src/basicelements) GWE - G World Engine (src/worldengine) GCE - G Client Engine (src/clientengine) demo - a demo application for testing purposes (src/demo) god - G Options Dialog for world engine configuration (src/god) startuniverse - lightweight app for running the GWE (src/startuniverse)

The GCS (library) defines the element structure. Elements are the basic building blocks for world content.

The GBE is a library of basic element parts (agents, influences, forms,...) that can be used to faster build new worlds.

The GWE (library) provides the execution environment for elements. This also includes the network layer as well as the DB interface. It makes interaction between elements possible. Note that the interaction itself is handled by agents (part of the GCS).

The GCE (library) is responsible for user interaction. It should represent the world content in a 3D environment and allow for user input.

All parts should have a good API documentation (for further information).

The demo application should show the basic usage of the system and can also serve as a quick testing framework. The GOD application serves as easy to use KDE based configuration utility for the GWE. You can create/modify config files and integrate a GWE Server into an existing server network infrastructure.

A simple startup application is startuniverse. It can load existing configurations, written by hand or created with GOD, into the GWE and initialize it. startuniverse is also meant to be usable as system startup application to initialize a GWE Server on system startup (rc script).

Project Goal (as a library)
Provide a simulation framework.

Project Goal (as an application)
Simulation of evolution.

Eternal laws govern our life. They make evolution possible. The G system tries to catch these laws into usable software and create a virtual world that makes it possible to experience this.


For further documentation you might want to look at the doc-section.



updated on 29th March 2005, raphael-langerhorst@gmx.at
updated on 23rd September 2004, raphael-langerhorst@gmx.at
updated on 28th August 2004, raphael-langerhorst@gmx.at
updated on 29th July 2004, raphael-langerhorst@gmx.at