Race for glory and freedom from killer nanites on the planet Sandar! This is the DigiPen Junior project that I worked on. Unfortunately the game suffered from design problems. It's incomplete and not very fun, but it has several strong technical features that taught me a lot about making 3D games.
I made the height map terrain engine. A converter changes 256x256 grayscale bitmaps into our height map format which also stores precalculated lighting normals. When loaded in the entire terrain is broken into 1024 smaller chunks for culling purposes. All the chunks use separate index buffers while sharing a vertex buffer to save video memory. A copy of the heights is also kept in system memory so that the terrain can be deformed mid-game. We used this feature to "dig" and selected race track into the ground. I also created a function that will find the Y height any float X/Z position that is used for the placement of nearly every object in the game.
I created the collision engine which uses hierarchical layers of increasing precision. Objects first check if they are in the same or adjacent squares. If that succeeds they check a radial collision. Finally they check a bounding rectangle. The best thing about the system is that it is flexible enough so that some objects don't need all three layers. Also layers are abstracted so that custom layers can be derived. Objects that collide with each other log pointers to each other so that when the time comes they have data about the collision.
I built a sound engine that interfaces with DirectSound. It handles streaming background music as well as stereo and positional sound effects. It is multi threaded so that streaming tacks can be updated uninterrupted by general gameplay calculations. It uses range and priority based occlusion when the sound card runs out of channels. Ogg file compression is supported using the Vorbis SDK.
I composed and produced all the songs in the soundtrack (except for the title screen, win, and loss songs which were done by Joshua Billeaudeau). We wanted an upbeat African worldbeat feel to the music and it worked well. Most of the vocal samples come from The African Childrens Choir who inspired me in their recent tour. The sound effects came from a collection but I found and edited them to work with the game.
I created a wrapper for 3D text that made them easy to manipulate and designed the menu system interfaces. I made the texture for the skybox using Terrigen. I created the cactus and set of the way that they gib. I textured the buggy and did the graphics for the HUD. I designed and made the box art.