Information for (new) developers: + 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. If you use kdevelop, please don't add/remove files with the qmake project manager since this screws up the qmake files, do it manually. + Source code management Subversion server at: svn://svn.g-system.at/G + Homepage http://www.g-system.at + Communication Mailing lists (see homepage for details) + License BSD style license (that means it's "free and open source" software). See LICENSE.BSD for details. + 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) guniverse - lightweight app for running the GWE Server (src/guniverse) guniverseclient - client frontend to the universe (src/guniverseclient) 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. This component depends on KDE. A simple startup application is guniverse. It can load existing configurations, written by hand or created with GOD, into the GWE and initialize it. guniverse is also meant to be usable as system startup application to initialize a GWE Server on system startup (rc script). guniverseclient is the "user client" for the G System universe. It builds on top of the libraries and the G World Engine and provides an user interface to interact with user elements. This application depends on KDE. + Project Goal (as a library): Provide a simulation framework. + Project Goal (as an application): Simulation of evolution/life. 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 directory. created on 5th July 2004, raphael-langerhorst@gmx.at updated on 29th July 2004, raphael-langerhorst@gmx.at updated on 28th August 2004, raphael-langerhorst@gmx.at updated on 23rd September 2004, raphael-langerhorst@gmx.at updated on 29th March 2005, raphael-langerhorst@gmx.at