Games - Work & Education - Films & Stories - Misc. Programming
About Me - Résumé - Code Samples - Blog - Contact

Wormhole Workout

Wormhole Workout is a short, single-course bicycle racing game using an abandoned bicycle instrumented with magnetic trackers as the player's "game controller". The trackers measure the angle of the handlebars and the rate at which the player peddles, and the game uses those values to steer and accelerate the virtual bicycle. After mounting the bicycle, the player also dons a virtual reality helmet, or "head-mounted display", which allows him to look around in any direction by moving his head.

The game was created in two weeks as part of the Building Virtual Worlds class. It was very well-received by the class instructors and was selected by a jury of industry professionals to be a part of the end-of-semester B.V.W. Show.

The race course is a futuristic "worm hole" with a visual style inspired by Tron and other old science fiction films. To differentiate our game from other racing games, we chose to have the player race inside a giant tube. Because of this, it is impossible to fall off the edges or leave the track, which we found helped the game stay fun for players as they became accustomed to riding the bicycle. As they progress down the track, the frequency of hazardous obstacles increases. In addition to obstacles, there are also boost panels to give a temporary speed increase, as well as jumper pads that send the player flying over obstacles.

At various points throughout the tube there are "flipper" panels which, when touched by the player's bicycle, cause the player to "flip" to the outside of the tube or back inside. The outside of the tube is more treacherous because of many moving asteroids, but there are also more boost panels, meaning a skilled player can reach the finish line quicker by choosing to travel on the outside.

As the project's programmer, the biggest technical challenge for me was creating a system that allowed the track to be constructed out of parts and quickly iterated on. Because of scope constraints, creating a visual editor was out of the question, and so I settled on a simple text file that allowed the track designer (also myself) to define "rings" made out of "tiles" and then the whole course out of those pre-defined rings. Parsing this file into its in-game form was a significant challenge. It may also be interesting to note that because of scope the other bicycles seen are not driven by an artificial intelligence, but are instead driven by pre-recorded input of other players playing the game.

Credits: myself (programming, track design, producer), Christian Tsu-Raun (sound design), Shuying Feng (modeler & animator), Rob Chan (texture artist)