Game Development – Escape from Tibet

Introduction

In Bruce Elenbogen’s C# class, at U of M – Dearborn, our final project was to create a 2D game using C# and the Microsoft XNA framework. I worked with Bilal Ghalib to create Escape from Tibet.

I didn’t have as much time to work on Escape from Tibet as I would have liked, but everything turned out pretty well in the end. Escape from Tibet is actually a two-dimensional game, but it ‘simulates’ a 3D landscape from a 1st/3rd person view. It does this by performing the perspective calculations for positioning the in-game objects so that things look somewhat 3D. (This is sometimes called ‘2 and 1/2 – D’.) In the game you are skiing down a hill, and you must avoid colliding with any obstacles.

James Bond has just recovered an important government document detailing the time and place of an attack on a U. S. embassy from the evil Dr. Soothsayer’s lab high atop a mysterious unnamed mountain in Tibet. To escape this treacherous place, Bond must ski down the steep slopes, populated with obstacles such as rocks, trees, and snow drifts. He needs to reach his car (at the base of the mountain) before time runs out and the explosion proves fatal to the embassy workers.

The game supports keyboard input, mouse input, and webcam input. The webcam input feature uses a C++/CLI wrapper to integrate with the OpenCV library’s facial recognition code. It allows a user to control his character’s movements down the slope by leaning his head one direction or another. This feature originally did not work correctly upon release; however, I recently fixed the problem and implemented a threaded system for polling the camera along with a user camera calibration routine that runs prior to game start.

Screenshot of the game:
Escape from Tibet Screenshot

Downloading and Running

Current Version: 1.50

Due to Escape from Tibet’s reliance on .NET and XNA, you need quite a few prerequisite to run the game:

  • A graphics card that supports shader model 1.1
  • Microsoft .NET Framework 2.0 – If you don’t have .NET 2.0 installed already (you probably do), download .NET 3.5, which includes .NET 2.0 and .NET 3.0.
  • The latest DirectX DLLs – You may already have all the latest files, but if not, run the DirectX End User Runtime Updater to update your DirectX files.
  • XNA Framework Redistributable 2.0 – You can download it here.

(Prerequisite hell, I know!)

Once you have all the prerequisites, download the Escape from Tibet ZIP file (36 MB). Extract ALL of the files from the zip file to a new empty directory. It is important to extract ALL of the files in the zip to the same location so that the game can find the image and sound files. If you run the game directly from the zip file, you will get an error message.