The Abyss

A high-tech gaming hardware and software system solution for theme parks that turned off-the-shelf PC computer games into 3D interactive virtual reality experiences.


Unreal Engine 1 & 2, Quake 1 & 3

Release Date:
January 2003


The Abyss was originally designed for theme parks and amusement arcades. It allowed users to experience their favorite PC video game in a fully immersive simulation with up to seven other players using 3D stereoscopic head-mounted displays.

In 2004, the television channel G4 ran a show called G4 Arena featuring the Abyss using an early port of the America’s Army game on which I also worked. This system was later turned into a military training simulator.

As the Lead Programmer, I supervised a team of engineers to maintain and extend the company’s VR middleware, consisting of multiple components:

The Mission Control software was written in Borland Delphi and controlled all aspects of the simulation. Its most important features included the registration and billing of customers, management of game sessions, monitoring the state of VR pods, recording of all game play into a database, and the ability to play it back at a later time (after-action review).

Each VR pod was powered by a separate computer and connected to mission control via a Satellite application (also written in Delphi) that handled the communication with the games. Unlike other VR systems available at the time, the Abyss did not require the games to be modified in order to run, nor was source code access necessary for porting.

Stereoscopic rendering was implemented via DLL injection to transparently modify the stream of OpenGL calls on the fly. Similarly, all player input from motion sensors and weapons was translated by the satellite into Windows messages that could then be processed by the game’s existing input handlers.

Recording of game play was also handled via existing facilities in the video games, such as demo recording in Quake and Unreal based games. Finally, the state of the game engines and the progression of game play was tracked by monitoring the log files for relevant events.

In principle, any PC game with sufficient support for input configuration, game play recording and event logging could therefore be supported on the Abyss. I ported and helped porting several games, including Quake, Quake 3, Unreal and Unreal Tournament.

Due to its high complexity and price, the system was not a commercial success, but the renewed interest in virtual reality in the early 2010's proves that this technology was clearly ahead of its time.

Press Coverage