Home |
How To Play |
Technologies |
Downloads |
Team
Game Concept
Our concept of the game came from all team members' fondness of driving simulations. We wanted a game where gameplay is fun and easy with good replay value. Crazy Taxi came to mind. A game where you race with the clock and maneuver through the city to reach a goal was jus tthe kind of idea we wanted to go with... and so we did! In the process of creating the game, we decided the game was too realistic and the look of it was just not exciting enough. While browsing through our 476 book looking at shaders, we saw an image of a cel-shaded car in a game called Cel Damage. In a unanymous vote, the team decided we needed cel-shading in our game to give it the kick that it needed. This change allowed us a more cartoonish look, therefore allowing us to exaggerate the physics of the game to fit that of a cartoon world. So in the end, by combining the gameplay of Crazy Taxi and the look of Cel Damage, we now have Mad Cab!!! | |
Crazy Taxi
|
Cel Damage
|
World Architecture
The streets in “Mad Cab” are arranged similar to streets in a big city, that is, they are parallel for long stretches. When we designing the world for “Mad Cab” we exploited this by creating a two dimensional array of a “tile” data structure. Each tile structure holds a collection of passenger spawn nodes, traffic path nodes as a directed graph, collision geometry, dynamically placed objects such as fire hydrants and trees, and an indexed-face-set mesh used to draw the ground plane and any structures in the region covered by the tile’s |
The blue blocks represent passenger spawn locations, and green boxes represent traffic path nodes. The traffic path nodes are connected by the traffic graph edges, each edge is directed from blue to red. |
span. Each tile covers a square region and all tiles have the same dimensions, so the tiles that are closest to the car can easily be found by indexing into the two dimensional tile array with the car’s world position divided by the tile edge length. |
Traffic
Collision Detection
View Frustum Culling
Mad Cab uses the geometric approach to View Frustum Culling to extract the camera planes. This is done by using the 3 vectors to define the camera and the near and far plane distances. Through multiple cross products and trigonometry the 6 planes of the View Frustum are found. After the 6 planes are found the world objects need to be tested against the View Frustum. Mad Cab has three abstract objects that need to be checked for culling; passengers, traffic and world tiles. Both the passengers and traffic objects are culled using bounding spheres. The world tiles are tested as boxes by using their four planar points that define the tile. |
Animation
Mesh Simplification
Audio