For my final project, I created a game called Car Crasher. The goal of this game is to avoid the gold houses that appear on the road in order to reach the portal at the end and advance to the next level. Try to see how many levels you can pass, and make your own levels too!


a - move car left
d - move car right
p - pause the game

The above screenshot shows the start of the game, using the default level configuration. The tree models, speed meter, house, and status bar are all using hierarchical modeling. Textures were added to the game using the provided code from Professor Zoe Wood. The car model is an .obj file, which was found at TF3DM (see references section). The .obj loader I used was also provided by Zoe Wood.

The above screenshot shows the gold house obstacle. If the player hits one of these obstacles, they will be taken back to level 1. The player advances a level in the game by reaching the portal at the end. Once the player advances a level, they are teleported back to the start and now have to make it past an additional house with an increased speed. The level the player is on is represented by the green dots in the top status bar, and the speed is represented by the speed meter at the lower left of the screen.

In this screenshot, the player is on level 7 and they've reached a pretty crazy speed.

Players can create their own levels by creating level files. These files have a list of vertices that give the location of where the obstacle houses should pop up. The first vertex listed will be loaded in the first level of the game, the second vertex will be loaded in the second level of the game, and so on. An example level file is shown in the below screenshot.

This is what the impossible level file looks like once loaded. The player in this screenshot is at level 6, so 6 houses have shown up at the first 6 vertices given in the impossible level file.

Thanks for checking out Car Crasher!

- Lucas David



Tutorials Used

Textures Used


Note: This project will only build (as is) on Mac OS X.