Project Description
The goal for the Bachelor-Thesis was to create a Squash game in the CAVE (Computer Automated Virtual Environment). The game is projected onto four of the six sides in the room, and the racket can be controlled with a haptic device, the Phantom Sensable Omni. The walls and projectors were polarized to generate the 3D effect two project two pictures and to enhance the immersion into the virtual reality.
A classmate and I did the thesis together, splitting up the tasks equivalently so that both of us worked in every area we had to implement something.
We had to use the framework from the school, the I3D, which is written in C/C++ and built on:
- OpenSceneGraph: Rendering and scene-handling
- Bullet: Physics
- Equalizer: Communication between all systems (overall about 11 computers are used which all need to be synced)
- Chai3D: Handling of the haptic devices
Documents (German)
My tasks
- Modeling of the scene.
- Dynamic scene generation based on a file.
- Physics integration: Simulation and collision detection.
- Haptic integration: fixed limitation that only one input device could be used (driver bug).
- Applying the squash rules for the game flow.
- Implementing the visual effects (water in the main-menu, textures, etc.).
![BFH BT – CAVE 1 [:en]CAVE 1: The complete system of computers needed for the CAVE.[:de]CAVE 1: Alle benötigten Computer für den CAVE.[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_cave_01.jpg)
![BFH BT – CAVE 2 [:en]CAVE 2: The setup with the beamers and screens[:de]CAVE 2: Die Installation mit den Beamern und Leinwänden[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_cave_02.jpg)
![BFH BT – CAVE 3 [:en]CAVE 3: Running our Squash in the CAVE. (each screen has two projections for 3D)[:de]CAVE 3: Unser Squash läuft im CAVE. (Jede Leinwand hat zwei Projektionen für den 3D Effekt)[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_cave_03.jpg)
![[:en]BFH BT – Menu 1: Shadow[:de]BFH BT – Menu 1: Schatten[:] [:en]Menu 1: Shadow in the level[:de]Menu 1: Schatten im Level[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_menuShadow.jpg)
![[:en]BFH BT – Menu 2: Water-Effect[:de]BFH BT – Menu 2: Wasser-Effect[:] [:en]Menu 2: Water-effect on the floor.[:de]Menu 2: Wasser-Effekt am Boden.[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_menuWater.jpg)
![[:en]BFH BT – Game 1: Example of a level[:de]BFH BT – Game 1: Beispiel eines Levels[:] [:en]Game 1: Example of a level[:de]Game 1: Beispiel eines Levels[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_game_01.jpg)
![[:en]BFH BT – Game 2: Example of a level[:de]BFH BT – Game 2: Beispiel eines Levels[:] [:en]Game 2: Example of a level[:de]Game 2: Beispiel eines Levels[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_game_02.jpg)
![[:en]BFH BT – Game 3: Example of a level[:de]BFH BT – Game 3: Beispiel eines Levels[:] [:en]Game 3: Example of a level[:de]Game 3: Beispiel eines Levels[:]](https://breitmuuufrosch.ch/wp-content/uploads/2018/11/bfh_bt_game_03.jpg)

