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

Evil Technology Center

Evil Technology Center was created in four weeks as part of the Building Virtual Worlds class. It is the first time in the history of the class that green screen video with a live actor was streamed into a game.

The game was made to be shown during the end-of-semester B.V.W. Show. Our personal goal, besides creating something new, was to provide a fictional through-line for the show. As part of the story, the show's host Jesse Schell is captured by the "Evil Technology Center". An exchange student named Clifford (with the help of the audience and an "audience-controlled jetpack") flies to the top of their tower, defeats the head of the Evil Technology Center, and saves Jesse. A live video feed of Clifford is streamed into the game. Clifford reacts to the dynamic events as they happen and provides a running commentary. The gameplay is that of a simple vertical shooter.

The biggest issue with the game was that the audience had a hard time believing that the video of Clifford was live and not pre-recorded. Largely because of this issue, the game was not selected to be in the B.V.W. Show. However, we adjusted the game to accommodate naive players and set it up for anyone to play at the reception following the show, where it was enthusiastically received.

The technical challenges with creating this game were many. The biggest challenge was integrating a live green screen video feed into the Panda3D game engine, which had never been done before. A custom reflective green screen and a special camera rig were constructed. Video feed from the camera is streamed into a graphics texture, and a custom pixel shader then replaces all of the green pixels with transparent pixels. The resulting video is displayed as a billboarded sprite in the game world. The second big challenge was integrating the silhouette of Clifford into the collision system, and also locating Clifford's hands from which the fireballs and lightning bolts are released. And the third big challenge was simply maintaining a clean, organized codebase given the many varieties of enemies and the complicated final boss fight.

Credits: myself (programming), Freddie Sulit (sound design, multimedia production, performance of Clifford, project producer), Steve Geist (2D & texture art), Brent Elmer (models & animation)