G Universe Handbook

Raphael Langerhorst

Anton Melser

0.6

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

1. Introduction
2. Installation
UNIX Platforms
Preparation
Installing
Configuration
Changing the Configuration
Troubleshooting
3. G Universe Client
The client application
The user interface
Overview
Information Interface
3D OpenGL Frame
Action interface
Communication Interface
Connection Status Indicator

Chapter 1. Introduction

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.

Chapter 2. Installation

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

UNIX Platforms

Preparation

  • 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

Installing

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

Configuration

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

Changing the Configuration

Whenever you want to change the configuration after initial installation, simply run the god application.

Troubleshooting

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.

Chapter 3. G Universe Client

Abstract

This chapter describes the G Universe Client user interface.

The client application

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

Overview

The client user interface consists of the following major components:

  • Information Interface on the left
  • 3D OpenGL Frame at the top
  • Action Interface on the right
  • Communication Interface at the bottom

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.

Information Interface

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.

3D OpenGL Frame

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.

Camera distance and zooming

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.

Throttling 3D rendering speed

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.

Action interface

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:

  • select the desired action from the box,
  • then use the text area just below the selection box for parameters, one parameter per line,
  • you get a description of the selected action at the lower text area, parameters are also described there
  • when you have entered all the desired parameters you can click the perform Action button which performs the desired actions once,
  • focus is returned to the 3D view and navigation is thereby enabled

Communication Interface

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.

Connection Status Indicator

In the center the current network connection status is shown. This is useful to know whether the connection to the server G Universe is still open.


G System Documentation Home