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