Tanks! Project Design
This is the original design document for the adventure game as proposed, NOT the current arcade iteration.
After an accident with a military air drop the player's tank is stranded in an unknown territory. If the player can collect the pieces of the transmitter that are scattered around the overworld they can call for rescue. The order of objectives is still the same, but the player can wander around the world as they wish.
- The player tank (simple tank to start, but becomes stronger through upgrades)
- Other story characters may be possible as bosses
- Different varieties of enemies (passive melee enemies, seeking melee enemies, passive ranged enemies). Enemies may take the form of other tanks, or maybe even gun installations. (parent object)
- Player can move using W, A, S, D -- collisions with obj_barrier parent.
- Clicking will create an instance of obj_bullet in the turret's direction.
- Can pick up upgrades to increase health, damage, etc.
- Upon contact with an object with health, it will deplete other's health by the set player's damage.
- Instances will be destroyed upon contact or leaving boundaries of the room.
- The class for enemies. Not to be used in the room or with any events.
- Basic enemy that wanders around the region and will damage the player if they come into contact.
- Shoots a bullet at the player when the player comes into its range.
- obj_barrier (parent class)
- Player can not move through any of this object's chuldren, including...
- obj_metal - a basic barrier
- obj_wall - can be destroyed by obj_bullet when its hp is reduced to 0.
- Only serves as a sprite with a very low depth value.
- Once all instances of this object are collected the game is complete.
- Controls view which follows this object, which will remain in the center of the region. All instances outside of this region are deactivated.
- Uses the same system for pausing the game, with a boolean.
- Uses a 2-dimensional array for inventory.
- Uses an array to make title menus. This object will be used in all title rooms. The player can select an index (drawn on the screen as strings) to move to the next room or action (this is also used for the pause menu). This object also draws the room's text (like in instruction screens).
Level & Environment Design
The over-world is an urban/war area, where scenery is brick, metal, and perhaps little vegetation or rivers. It is split up into same-size compartments that act as rooms, with unique format for each. There is an order of tasks that allow the player to progress the story but the player can roam the overworld wherever they are able to.
The overworld is square, so it will be made up of 100 compartments (10x10)
Some terrain may be destructible (bricks or something) or traversable (bushes)
- The player tank can move in 4 directions. The gun on the player's tank is aimed at the cursor (with a slight rotation delay for realism). On destruction (depletion of the player's health bar) the player can -- Load a save point or use a life? (decide)
- Enemies can be shot and destroyed by the player but otherwise they provide no benefit.
- There will have to be some source of consumable items (bombs, missiles, repair kit), whether that be a breakable container or a shop of some kind (in which case enemies will have to drop currency).
- Items will be stored either in quantities or single (in which case they might be reusable instead of consumables). Some consumable items: bombs, missiles; some upgrades: better armour(hp), stronger cannon(dmge)
- All of the transmitter pieces can be collected to complete the game.
Art will be pixelated (some resources from “Battle City” by Namco). Other effects that should be considered are cannon-fire sparks/smoke, tracks left behind the tank, bullet explosions (on surfaces), and screen transitions.
Sound & Music
Sound and music will be very simple and retro.
User Interface and Game Controls
The player can move using W, A, S, D and aim with the mouse. Other keys may be needed to access other upgrades, items, or GUI (Spacebar, E, Q, Tab).
The user interface will include the player’s hp (in a bar or “hearts”), and their currency if there is one. Pressing a key will bring up the extra menu with the player's inventory and perhaps a map of the world. Pressing escape will bring up the pause menu, from which the player can quit to the title screen (after their progress is saved).