How to play
You sit in a tank on a flat arena ringed by a fence, with mountains on the horizon. Robot tanks arrive in waves. A robot that sees you turns towards you, glows at the tip of its barrel for a moment and fires a slow, bright shell. Shells fly in a straight line and burst on the first cube or pyramid in their way, so drive out of the line of fire or put an obstacle between you and the robot.
You have three lives. A hit cracks the view and costs a life; for the next 2.5 seconds nothing can hit you and every enemy shell in the air fizzles out. Every third wave you clear gives an extra life, up to five. Wave 1 has two to four tanks, depending on the difficulty, and every wave one more, up to sixteen. From wave 3 on, any new robot may be a fast scout, and from wave 5 on, a heavy tank that needs two hits; both get more common in later waves. The difficulty sets how fast the robots drive, turn, react and fire and how well they aim. Your best score for each difficulty is saved in this browser.
Controls
- Mouse: click Start and the browser captures the pointer. The mouse turns the tank (turret and hull together), a click fires, and holding the button keeps firing whenever the gun has reloaded (0.8 s). W and S drive, A and D also turn. Esc releases the mouse and pauses.
- Keyboard only: ↑ ↓ drive, ← → turn, Space fires. A released turning key stops the turn within about a tenth of a second, so short taps make fine corrections.
- Touch: a stick appears under your thumb on the left half of the view: push up or down to drive, sideways to turn. Drag on the right half to aim and hold FIRE to shoot.
- P or Esc pauses, F switches full screen, M the sound; turning speeds are in Settings.
How it works
Projection and hidden lines
Every point is moved into the frame of your gunsight (x right, y up, z ahead) and projected, so that an object twice as far away looks half as big:
W is the view width and FOV its horizontal field of view (50° to 90°, depending on the window shape). Edges that reach behind you are cut at a plane a quarter of a metre in front of the eye. Faces turned away from you are skipped (back-face culling), and objects are painted from the farthest to the nearest with a dark fill (the painter’s algorithm), so a near cube hides a tank behind it. Mountains, moon and stars are infinitely far away: they turn with you but never come closer.
How the robots think
Each robot runs a small state machine ten times a second. It patrols towards points near you until it notices you: within range, with no obstacle on the straight line between you, and after a short reaction time. Then it turns towards you, keeps its distance and fires when its barrel points at you and nothing is in the way. After firing, or when one of your shells flies close by, it sometimes hides behind the nearest obstacle, on the side away from you, for two to four seconds. To get round an obstacle it steers for the tangent of a circle drawn around it.
Robots aim with a limited lead. They find the flight time t of their shell to the interception point from
where P and V are your position and velocity, E is the robot and s the shell speed, and then aim at P + k·V·t. The factor k is 0 on Easy, 0.35 on Normal and 0.6 on Hard, plus a small random error. So on Normal and Hard a steady speed is not a sure escape; braking or turning after the shot is.
Things to try
- Watch for the glow at the tip of a robot’s barrel and start moving sideways before it fires.
- Fight from cover: drive out from behind a cube, fire, and back in while the gun reloads.
- Read the radar: coloured squares are robots, yellow dots their shells, round marks on the rim are farther than 90 m.
- Hit a robot while it stands still to aim; a moving one needs a little lead.
- Play once with the keyboard only and once with the mouse.
Frequently asked questions
Why does the game pause when I press Esc?
Esc releases the captured pointer, so the game pauses until Resume captures it again.
The view stops turning when I move the mouse far to one side. Why?
On some computers the hidden pointer still stops at the screen edge. The game notices when no more movement arrives and keeps turning that way until you move the mouse back; without a captured pointer, the edges of the view turn the tank.
Can the robots shoot each other?
No. A robot does not fire while another tank is in the way, and a shell that hits another robot just bursts.
Is every hit fair?
Enemy shells are slow and bright, those within 90 m also show on the radar, a robot glows for at least half a second before it fires, and no shell passes through an obstacle.