Guns

Guns is going to be a 2D, top-down view game where the player can build their own tank and then drive it against other tanks driven by either an AI or other players, with the objective of obliterating the enemy.

Core design

 * See inspiration: Stratosphere -- build your own flying island and fight against others.
 * Similar game: Captain Forever -- we're aiming for that kind of art style, for the most part
 * Simple, well-known controls: WASD, Tab (afterburner; no, really!), mouse (for aiming).
 * No micromanagement: no special moves, no picking ammo in the middle of battle, none of that stuff. Keep it simple and fun.
 * Draw your tank by picking from a few basic shapes and sizing them and putting them together,
 * place components, guns, etc. on the tank to make it a proper weapon,
 * and then drive your tank and blow up the enemy.

Building a tank hull
We want a player to be able to build just about any tank shape they can think of and power it just about any way they want to, so the hull-building process is likely to be reminiscent of using MSPaint:


 * Pick from several shapes (two triangle shapes, square, hexagon, circle, half-circle, quarter-circle, x-pointed star).
 * Pick a hull type (light, medium, heavy; with/without hovercraft skirt).
 * Rotate/flip the active shape as needed and connect it to the rest of the tank.
 * Repeat as needed.

Adding stuff
Other than the basic hull, you need GUNS! And some kind of power generator, and some coolant system... but mostly GUNS!

Anything you add on will have some mass (which needs to be supported by the hull), and most modules will also drain power and generate heat in varying amounts. Power linkage and heat pumping are fully automatic,

Here's some possible modules:


 * Power Generation/storage
 * internal combustion engine/generator combo; generates some heat;
 * miniaturized fission generator (mini-nuke): more power than the IC, but a massive boom when destroyed; generates more heat;
 * batteries: heavy for its (small) size, but stores quite a bit of power and discharges twice as fast as the IC generator can produce power (exactly as fast as the mini-nuke); generates some heat while charging/discharging;
 * capacitors: lighter than the battery, less storage amount, but much faster charge/discharge; generates a lot more heat while charging/discharging;
 * Heat Management
 * heat pumps: smallish; light; continuous power drain; generates heat (!), but can move up to X amount of heat from hotter components to cooler ones to balance things out;
 * heat sinks: heavy; unpowered; highest natural cooldown rate;
 * placed on top or side of the hull, very fragile;
 * Movement Modules
 * wheels/treads: completely automatically placed, reserving space on the left and right sides of their respective hull sections; consume power and generate heat while operating;
 * hovercraft impeller: provides air for an air-cushion vehicle, and provides fairly fast movement; is also quite fragile so should be well-protected; consumes power and generates heat continuously, unlike other movement modules; automatically placed but movable (and extras can be added) when building a hover-hull;
 * hover-thrusters: conceptually some kind of propeller or jet engine assembly, but simplified; produces thrust for a hover-tank, allowing it to move and resist winds; consumes little power and generates some heat when in use; resizable -- size determines thrust as well as power drain and heat;
 * afterburner: conceptually some kind of fixed rocket engine; greatly increases speed in one direction while the afterburner key is held (up to X seconds); consumes minimal power but generates lots of heat, most of the latter being exhausted directionally (can be used as weapon); has a cool-down that is linearly proportional to amount of time active (maybe 6-12x);
 * the only movement module that may be turreted (only if mounted on a hover-hull), in which case it will be pointing away from the mouse cursor (i.e. hit Tab and you will boost away from what you're pointing at);
 * Offensive Modules: guns!
 * projectile gun (aka gunpowder cannon): consumes some power when reloading; generates some heat when fired; uses fair-sized ammo;
 * can be mounted as field guns or artillery; artillery can fire over obstacles and fire further, but becomes quite inaccurate over longer ranges;
 * comes in three sizes each, the largest of which cannot be turret-mounted (but has some natural traverse);
 * railgun: consumes some power when reloading, quite a bit of power when firing; generates less heat than a cannon when fired, but has a lower heat capacity; uses smaller ammo than cannon do (ammo does not include its own propellant);
 * laser: consumes lots of power and generates a lot of heat while firing; doesn't use any ammo and has much less recoil than the previous weapons;
 * can be forced to act as a pulse laser (fixed duration fire on-target with reload timer); normal behaviour is beam laser (continuous for as long as you hold the button down, or until capacitor runs out);
 * rocket launcher: consumes some power (shifting ammo around); generates some heat (blowback from rocket nozzle); uses large ammo; rockets track the mouse cursor (aiming point) independently of turrets (actual method of guidance is unimportant);
 * variations from one-shot large missile to 24-shot small missiles; the larger ones may not be turreted (but turrets generally aren't required for rocket launchers);
 * right-click to release rockets to internal guidance, where they try to acquire target independently (with a chance of failure resulting in immediate self-destruct);
 * flamethrower: consumes "ammo" (actually fuel) but no power; generates a small amount of heat while firing; induces heat in the target, possibly overheating it;
 * spikes: mounted on the outside of the tank hull, spikes will take damage first in a collision -- and deal proportionally more damage while undamaged; consumes no power but adds lots of weight (thus, to be used sparingly)
 * Extra Modules
 * pole-mounted camera: lets you see further; very fragile (take one hit *anywhere* and it dies);
 * armor plating: heavy; unpowered; large heat capacity but minimal cooldown rate;
 * placed on top or side of the hull, has a chance to intercept projectiles on that side before the main hull or components behind it;
 * pilot's seat: unique module; unpowered; no heat;
 * must be placed on a vehicle to enable it to operate; when this dies, you lose; if your tank splits into multiple pieces, the part with the pilot's seat will remain under your control (for whatever that's worth; you can plan for that, I suppose)

Example tanks
These should be possible using the aforementioned modules:


 * hover-spiker: light hull with hover-skirts, combustion power generator, afterburner, spike(s).
 * point it at the enemy and hit Tab!
 * plain old-fashioned tank: wheeled/treaded hull, medium turreted projectile cannon in field gun mode, armor plating on the front/sides.
 * point your mouse at the enemy and click!
 * artillery: treaded hull, one or more heavy projectile cannon in artillery mode.
 * have someone else reveal the enemy while you just point your mouse there and click!
 * "Katyusha": wheeled hull, non-turreted 12-shot rocket launcher
 * again, point at the enemy and click (several times); keep your mouse on the enemy!
 * "Hot stuff": wheeled hull, non-turreted front-mounted flame thrower, twin turreted heavy lasers, afterburner
 * point at the enemy to laser it for damage and heat; if the enemy is silly enough to get in front, overheat it with the flame thrower; if they get behind you, afterburner to safety (possibly inducing a bit more heat in the process)

Design issues

 * We want to support keyboard + mouse as well as the xbox 360 controller no, screw that, controllers don't do guided missiles and I want guided missiles.
 * Balance: how do you keep players from just building the biggest possible tank?
 * Using the coolant mechanic: just one size of coolant module; need to move heat around faster? Find space for more. Might not be all that effective when you have a lot of tank to put heat pumps and heat sinks onto.
 * Attacking the size directly: the bigger a hull, the lower the HP/area (calculated using the full surface of all hull sections)

Code Stuffs

 * Guns Server Design
 * Guns Metaserver
 * Guns Protocol
 * Guns Interface Mockups
 * GitHub (Source)
 * Guns topdown design
 * Guns tank thoughts

Misc

 * Precipice forum thread