
0.6
Copyright © 2005-2006 Raphael Langerhorst
Abstract
The G Universe is a huge, living virtual reality based on the G System. It's focus is simulation of life and evolution, to provide communities a meeting place and communication platform and to give users an unique experience of a living reality.
Table of Contents
The G Universe Handbook contains all information you need to be able to install, use and configure the various application for the G Universe. If you need more in-depth information or want to learn more what the project is about, please take a look at the G System Developers Handbook which you can also find on the webpage.
Within the G Universe Handbook the term G System as well as G Universe is used. G System refers more to the base system, the libraries and the overall system. G Universe refers mainly to the applications, the client and the server, as well as the virtual reality itself.
Table of Contents
You can download the latest release from the G System webpage.
After downloading, extract the archive and run the installer. That's all.
The installer is a graphical installer for the G System that uses various scripts to do the actual work. It is all you need to install the G Universe Client, the G Universe Server and the documentation. If you want to know more details or want to use the scripts directly, then please take a look into the doc/INSTALL file. It discusses the installation steps in depth.
So far no menu entries are done for your desktop. This means you have to to run the installed applications either from a shell or by pressing Alt+F2 within KDE.
The following applications are installed:
guniverseclient - the client for the G Universe
gunivers - the server for the G Universe
god - the configuration tool for the G Universe
gdemo - G System demonstration application
Download all required files from the download page.
Install Qt4 with qmake and a database plugin (SQLite and PostgreSQL are recommended):
$ tar -xzf qt-x11-opensource-src-4.1.3.tar.gz # or other version $ cd qt-x11-opensource-src-4.1.3 $ ./configure -release -qt-sql-sqlite -qt-gif -no-qt3support $ make # should be GNU make $ make install $ export PATH=/usr/local/Trolltech/Qt-4.1.3/bin:$PATH # setenv on csh $ export LD_LIBRARY_PATH=/.../Qt-4.1.3/lib # DYLIB_LIBRARY_PATH on MAC
You should make sure that these environment variables are set permanently, for example by putting the above commands in your profile.
Install the X3DToolKit with the following commands:
$ tar -xjf X3DToolKit-1.1.tar.bz2 $ cd X3DToolKit-1.1 $ cd src $ qmake JPEG_DIR=/usr/local # wherever you have JPEG installed $ qmake JPEG=no # if the above doesn't work $ make # it should be the GNU version of make $ cd .. $ cp -r include/X3DTK /usr/local/include # or other prefix $ cp -R lib/* /usr/local/lib # or other prefix
The G System provides a graphical installation script, if you have problems with this, have a look at doc/INSTALL:
$ tar -xjf G-System-0.6.0-BETA.tar.bz2 $ cd G-System-0.6.0 $ ./installer
As an alternative you can extract the tar ball and simply click on the installer script from within Konqueror.
The installer will greet you with a choice of what to install:

The next step is to choose the installation directory:

After all this has been chosen, the G System can be compiled:

While the G System is being compiled for your platform, you can have a look at the README file:

You will be notified as soon as the installation is completed which takes between 4 and 10 minutes, depending on your hardware and selected components.
After installing you should run god to create an initial configuration:
$ god
This will show you the configuration dialog:

You should make sure that you choose a master_server that is also UP and available. Have a look at the server status page to find a suitable server. Set the identity to the username that you desire. This will be visible to other users.
Please make sure that you set a correct Data Path setting as well. If you installed the G System into /usr/local, then your data path should be /usr/local/share/gsystem/data in a default installation.
Whenever you want to change the configuration after initial installation, simply run the god application.
Make sure that the qmake application from Qt4 is in your path. You must not use Qt3. You should set QMAKESPEC to the correct value. The cleancompile script requires you to have all environment variables set. So you should work with ./scripts/cleancompile if there are any problems with the normal procedures.
If you have the X3DToolKit installed in an unusual location, you can set the X3DTK_LIB_DIR and X3DTK_INC_DIR environment variables before compiling the G System. Additionally you can set additional linker flags with the G_EXTRA_LIBS environment variable, like -L/usr/local/lib You should use ./scripts/cleancompile if you set the variables after you already tried to compile the G System(!) because ./scripts/compile doesn't regenerate the makefiles.
If installations fails while making the documentation, you should consider simply deselecting the documentation component in the installer. The documentation requires xsltroc, docbook-xsl and other packages while the API documentation needs doxygen and graphviz additionally. If you don't have these, simply don't install the documentation. If any problems remain, please contact us on the mailing lists.
If the slient does not show any scene after connecting then you should check your Data Path configuration. It is likely that the G Universe Client cannot find its graphic files. See above for details.
Table of Contents
Abstract
This chapter describes the G Universe Client user interface.The name of the client application is guniverseclient. In KDE, simply hit Alt+F2, enter this command and click OK, this should start the G Universe Client.
Please note that the G System does not make any entries into the K menu yet, but you can create entries yourself if you like.

The client user interface consists of the following major components:
Most of these components can be hidden by dragging the borders with the mouse. This way the user can customize the sizes of each component and can even hide those that are not needed.
Almost all components have tooltips, just move with the mouse to the item you want help on and wait for a few seconds, a help text will soon appear. Just move away with the mouse to make the tooltip dissappear.
The information interface displays status information of the user element. This includes energy status as well as current position.
In addition the element hierarchy is displayed. The ID of the parent element is shown as well as a list of child elements. The ElementID shown between parent and children list is the ID of the user element.
At the bottom the ID of the connected element is shown. Every element can be connected to exactly one other element which accounts for a special relation between those elements.
The 3D view at the top renders the content of the G Universe in a three dimensional way.
It is currently capable of rendering spheres (generic forms) as well as complex 3D models in the X3D format. Such models can be created with 3D modeling tools like Blender.
The OpenGL Frame currently shows some extra information like camera parent element (top left corner) as well as frames per second (top right corner). Additionally, owners of elements are rendered as text which identifies other users.
If this frame has focus for keyboard input it can be used for navigation purposes. Arrow keys turn the camera around the user element, which is shown in the center. The spacebar can be used to give an impulse into the current direction. This allows for basic navigation.
The user element is usually shown in the center of the frame. The camera distance to the user element can be changed with the slider on the left side of the 3D view. The higher the slider value, the further the distance of the camera to the user element.
The slider on the right side of the 3D view can be used to throttle rendering speed which can be useful to save CPU time when smooth frames are not required.
There is some initial throttling set, which can be further reduced by moving the slider down to get slightly faster rendering.
The action interface which is on the right can be used to perform various actions that the user element is capable of. These actions are provided by the agents of the user element.
To perform an action, do the following:
Below the 3D view is the communication interface. It can be used to chat directly with other users.
The users are listed in a list on the right, you can click on a user to set him or her as a communication partner.
Left of the communication partner setting you can type the message that should be sent.
After typing the message, sending can be done by hitting the return or enter key.
The message is sent to all recipients and appears in the communication log of sender and recipients.
You can use the asterisk/star character * to send broadcast messages.