Ripoff 3D

Ripoff 3D was inspired by a 2D vector graphics game I played while in high school. In hat game as in this one, your job is to protect your resources (in this case fuel cells) from marauders bent on stealing them. You do this by shooting the enemy with your tank canon.  You are confined to a circular arena bounded by a translucent barrier. Marauders would appear from outside this arena to begin their attacks. The game is over when all of your fuel cells have been stolen.  A fuel cell is considered stolen if an enemy tank manages to carry it outside the arena.  Your score is determined by the number of tanks you destroyed. You start the game with a certain amount of shield energy. Once that shield is depleted (from enemy shots), your tank is dead and will be reincarnated after a few seconds of penalty (in which the enemy tanks have a free rein in making off with your fuel cells).

Controls:
Controls are done via the keyboards:
'A'  to rotate left
'D'  to rotate right
'W'  to move forward
'S'  to move backwards
' '  to shoot
'P'  to pause the game
'Esc' to exit the game

Menus:
Use the right mouse button to select the following:
Top View: See the game from the top of the arena
Behind View: See the game from behind your tank
First Person:  See the game from inside your tank
Texture On: Turn on texture
Texture Off: Turn off texture
Exit: Exit the game

Creation of textures:
All textures were created by myself using Painter Classic on the PC. For each of the textures, I generate them using the water color paint brush. For textures that requires tiling, I use the wrap around feature so that panels tiled together would appear seamless.  For the skyline, I use the forest and stars paint brush to create the desired background. Finally, for the ground texture, I did a post light filter to make the texture appears more 3 dimensional.

Creation of tank models:
Done by sketching it out on paper and transferring the coordinates by hand to the program.

Basic Features:
Basic features in the game includes 3D viewing and objects, user input, lighting and smooth shading, and texture mapping.

Advanced Features:
In addition to the basic functionality described above, the following advanced features were implemented:
- On-screen control panel: In each of the three views, your shield, current score, and number of fuel cells left are rendered in a HUD (head's up display). Also, rendered is a radar screen showing how the enemy tanks, missiles, fuel cells, are oriented in relation to you.  In the radar screen, your tank is always in the center pointing up and everything moves in relation to you. This feature is necessary because in the first person view, you need to know what is going on outside your field of vision.
- Artificial Intelligence: Each of the enemy tanks in the game have heuristics programmed in to evaluate what course of action to take based on the current game situation.  For example, an enemy tank might try to acquire a fuel cell if it is closer to it than your tank.  Later on, as conditions change, it might decide to attack your tank if it is deemed more feasible.  Also programmed in to the enemy tanks are the concepts of what to do if it hits an obstacle and plotting a way out of the arena once it has obtained a fuel cell.
- Collision Detection: Simple distance checks between centers of objects are used for collision detection. Collision will be detected between tanks, missiles, and fuel cells.
- Sound: Rudimentary sound was added so that when your cannon fire, it plays the cannon sound .wav file.