Summary

A two-player tank game with a physics model and a light 3D implementation.

The basic idea

Both players steer an IS-7 Light Tank and try to destroy the other player's tank. Tanks fight on a small arena which is shown in 3D from an aerial perspective. Tanks are controlled using five keys and one for shooting and four for movement. There are small obstacles on the arena to protect the player from enemy's hits. Physics modeling is an important part of the game and is applied to tank movement (inertia due to tank mass), shooting (recoil) and bullet hits (kinetic energy of the bullet and the tank that was hit.).

Steering

Player one steers using the arrow keys and shoots using the enter key. Player two steers using the a, s, d, w keys and shoots using the tab key. Keyboard layout is the usual one, i.e. forward = up arrow / w key, turn right = right arrow / d key, etc.
Steering keys will also turn the pipe, however. Turning right will first turn the pipe to a 45 degree angle and only after that the tank will start to turn and at the same time the pipe will start to straighten.
Tank movement should take the tank's mass into account and the tank won't stop immediately when the forward key is released. Similar rules should be applied to turning.

Shooting

When shooting, tank sends a bullet to 3D space. The pipe is completely horizontal (tanks won't shoot upwards, but straight forward).
If bullet hits the other tank, it causes damage depending on bullet velocity and hit angle. The more directly bullet hits the tank's side (the closer the incoming angle is to the surface normal), the greater the damage it causes. Also the tank that was hit is thrown in opposite direction where the bullet came. This effect is called hit effect. The length and the direction of hit effect is depending on the bullet velocity and hit angle.
Recoil effect should be exaggerated, so that tank rocks backward when firing. This prevents firing consecutive, aimed shots.

Other

Tanks should be able to take 3-5 hits, depending on bullet hit angles and velocities. Graphics are not that important, so rough tank models are sufficient (a few cubes for example). However, here' s a reference for the IS-7 tank model: http://www.battlefield.ru/is4.html
The game arena could be a flat plane, with cubes as obstacles. There doesn't have to be much of an interface in the game, as long as it can be restarted when the other player has died, and the status of tanks is somehow shown to the players.

To show your skills you can make different effects and texture's on game but they are not mandatory.

Tech

Rendering api: https://jogl.dev.java.net/
Development kit: http://java.sun.com/j2se/1.4.2/download.html

INFORMATION

Damien "damsku" Morello
Gameplay and Graphics Programmer
Mobile: +358-(0)50-3387119
E-mail: tilapikseli(at)gmail.com
LinkedIn Profile