Cross Logo

Software Architecture

The architecture of Space Trash is rather complex, since many components are involved, which will be introduced in the following.

inVRs

The inVRs framework is used as an application base for Space Trash. It renders the word of space trash with the help of OpenSG as a scene graph. inVRs provides basic interaction, navigation and networked communication. The framework acts as glue for the game logic and the other needed components.

Navigation and Interaction

The input generated by the input devices is converted into impulses for the physics simulation of the space ships or used for aiming at the trash pieces and collecting them. Existing inVRs modules were altered for these mapping operations.

Physics Simulation and Network Communication

In order to create a realistic behaviour of the ships as well as the floating trash pieces a physics simulation is incorporated. The simulation is calculated on a single server and then distributed to the game clients. The server controls the game logic and manages the game states as well.

Inverse Kinematics and Animation

The simulation of the space ships grabbing arms is performed by inverse kinematics algorithms. In order to display in-between sequences like the launching of new satellites or the credits sequence pre-defined animation sequences were created.

Head-Up Display

The head-up display acts as a navigational aid and supports the game play by providing information about score and other states of the trash. For aiming a crosshair is displayed on the screen.

Graphical Effects

Shaders were used to implement the visual representation of the Earth. Additionally experiments with reflection maps and real-time shadows were performed to generate a realistic display of the virtual world.

Audio

The audio of Space Trash consists of different soundtrack pieces and a set of sound effects that are played if the grabbing arm becomes active or a trash piece is successfully collected.