sgTANKS

small green tanks · 1999–2001

A two-player tank duel written as a Java applet by Attila Levente Egyedi, with 37 hand-built lands, a scriptable land format and a built-in level editor. The original 2001 bytecode now runs unmodified in the browser — no Java plugin, no install.

Play

Lands

Many of them are nods to something — a C64 game, a film, a myth. Those notes come from the author’s own memory of 1999, checked where checking was possible; a couple are still unidentified.

Classic Classic Where every game started: two tanks, a walled oasis and sand soft enough to slow you down. The land the applet boots into, unchanged since 1999. Modelled on Tanks (Radarsoft, 1984), the C64 two-player duel whose three optional extras — obstacles, guided missiles, night mode — all turn up again here, twenty-five years later.
Desert Desert The classic duel moved out onto open dunes. Loose sand drags at the tracks, so the palm cluster in the middle is the only real cover. The same C64 duel, moved to the sand.
Polar Polar A white-out. Ice, drifts and a pair of walls sketched in snow — the map where you lose sight of your own tank against the background.
Duel Duel No cover, no distance: two tanks start nose to nose on a hyper-speed strip between red barricades. The shortest and meanest land in the game.
Dream Dream Soft colours and destructible blocks. Everything mild here can be blown apart, so the map you finish on is never the one you started with. A cartoon half-remembered from childhood, all soft colours and floating shapes.
Dali Dali Salvador Dalí's melting geometry as a battlefield: white bullets, a wide blast radius and walls that collapse like soft watches.
Karthago Karthago Carthage, 264 BC. Two war fleets — the ships replace the tanks — trade orange fire across a harbour of quays and open water. Carthage and the Punic Wars — two fleets instead of two tanks.
Karthago II Karthago II The siege on land. Tighter alleys, deep water on both flanks and slow going where the sand has drifted into the ruins.
Dakar Dakar The Paris–Dakar rally: seven checkpoints, three laps, cars instead of tanks and no weapons at all. Fast strips reward the racing line. The Paris–Dakar rally, and Rally Speedway (1983): top-down, both cars sharing one screen, a built-in track editor, and roads you could set wet, dry or icy. Every one of those ideas is in sgTANKS.
Tatooine Tatooine Podracing on the Star Wars desert world. Two racers, hyper-speed canyon floor, three laps, and a boost that will happily bury you in a wall. The Boonta Eve podrace from Star Wars: Episode I – The Phantom Menace, in cinemas the summer this land was built.
Venice Venice Motorboats through the canals. Three checkpoints around a red palazzo, jetties to clip and no cannons — just wake and wall. The speedboat through the canals in Tomb Raider II (Core Design, 1997), whose Venice levels put Lara in a motorboat between the jetties.
Crete Crete The labyrinth under Knossos, run as a single timed lap. Nobody can be hurt here; the maze does the damage. The labyrinth of Knossos, built by Daedalus for King Minos to hold the Minotaur and run by Theseus on Ariadne’s thread. No maze was ever excavated there — the legend attached itself to the palace’s maze-like plan and to the labrys, the double axe carved all over it.
Crete II Crete II The same palace, ransacked. Fourteen treasures hidden in the corridors and seventeen lives to spend finding them before the other tank does. The same palace, this time looted rather than escaped.
Lascaux Lascaux Through the painted caves of Lascaux — six checkpoints, four laps, ochre bulls on the walls and rock that gives way when hit.
Meadow Meadow No guns at all. Two tanks pick flowers across a summer field with its own sound scheme; thirty-five to gather, and speed is the only weapon.
Meadow II Meadow II The meadow replanted: flowers keep sprouting on a timer, so the field never empties and the race never really settles.
Diamond mine Diamond mine Deep shafts, white bullets and its own chiming sound scheme. Ten diamonds in the rock, and the walls take the hits instead of you. Boulder Dash (First Star Software, 1984) — Rockford digging through the cave for diamonds.
Soccer Soccer Tank football. The ball is a treasure you push with a well-aimed shot, the goals are the two touchlines, and three of them wins it. Console football before it got good: Atari’s Pelé’s Soccer and the C64’s International Soccer.
Shooting Shooting A range, not a fight. Rows of targets across the top; you collect them by shooting, and the bullet cannot be steered once it leaves the barrel.
Desert storm Desert storm 1991, and both sides are grabbing what they can. Twenty rounds to shoot your own markers out of the sand — bullets fly straight over enemy loot. Operation Desert Storm, 1991 — filtered through the war spoofs that came after it.
Windows Windows The one land built to be demolished: nine thousand pixels of destructible surface, and the pane you shoot away stays gone. Windows versus Linux, settled the only way that matters.
Sun Sun A blazing disc with water at its edges. The two tanks start north and south and have five lives to cross it.
Night Night Blacked-out tanks, green tracer, a night-vision counter. Everything is the same as Classic except that you can barely see it.
Labyrinth Labyrinth A maze generated fresh every round by the game itself, holding a single treasure. One life each — first one through the walls wins. Generated afresh every round by the game itself — no two runs are the same maze.
Bio Bio The generated maze again, this time grown rather than built, and with the guns disabled. Pure navigation under a one-life rule.
Moonlight Moonlight The same maze with its walls painted out. You can see the two night tanks and nothing else — you learn the corridors by hitting them.
Arena Arena Physics stripped bare: no friction, no braking, constant speed, fast bullets and twenty hits to land. Momentum is the whole game.
Atom Atom A proton and an electron circling in a frictionless field, collecting neutrons that keep appearing on a timer. Twenty-five rounds of particle chase.
Carma Carma The Carmageddon joke: two cars, thirty lives, pedestrians spawning every few seconds, and points for what you leave on the tarmac.
Mini Mini Small circuit, big slide. A race and a treasure hunt at once — two checkpoints per lap while the pickups keep dropping.
Crazy Crazy Three checkpoints on a surface that will not hold a line: heavy slide, unequal axes and two cartoon cars that fight the steering. A late-90s game the author remembers fondly and nobody has since identified: candy characters driving tiny cars.
Ufo Ufo Two saucers at a permanent 200, with friction and acceleration both set to zero. Nothing slows down; you aim by planning the bounce. Flying saucers, somewhere between 2001: A Space Odyssey and the asteroid films of the late 90s.
Amigos Amigos A Mexican standoff over stones scattered in shallow water. Slow footing, unguidable bullets and ten pickups to argue about. Mexico by way of the movies — ¡Three Amigos! if the name is the clue, From Dusk Till Dawn if the mood is.
Plates Plates Flying plates on a random start, collected by shooting them out of the air. Fourteen rounds, twenty plates and a tricky opening position.
Sheeps Sheeps Two villagers herding red and blue sheep across scrub. No weapons, fifteen rounds, and the flock keeps wandering into the wrong pen. The 1999 land dressed itself in Age of Empires sprites and screenshots. Every pixel of it — shepherds, sheep, bush, log, pasture, stockade and treeline — was redrawn from scratch in 2026, so the land is finally its own.
Tutorial Tutorial The teaching land: fast strips, hyper strips, mud, water, hills and destructible walls laid out side by side, driven by a cannon and a car.
Test Test The author's scratch pad, left in the build — a single UFO, one life, and whatever was being tried out that afternoon.

How to play

Two players, one keyboard

Player 1W A S D drive, Shift fire
Player 2 drive, , fire

Click the field to take control. Every key is rebindable from the Keys panel, and each player has an optional second fire key.

In-game keys

F2New game
F3Choose land
F5Keyboard test
F6Land editor
F7Refresh
F8View playground
F10Replay

Not just a duel

Lands come in three flavours: destroy (shoot the other tank), race (laps and checkpoints — Venice, Dakar) and quest (collect treasures). Water, hills, mud, ice and destructible walls all behave differently under the tracks.

Make your own land

The editor

Press F6 in the game for the original land editor: draw rectangles, ovals, circles and polygons, paint them with the terrain textures, drop treasures, then Export the result as a land.xya script. Its Help button documents all 73 commands.

The land script

Every land is plain text — geometry plus physics:

pos1 560,425,36;
object1 boatred;
race ;
normalspeed 150;
checkpoint 1;
rect 520,250,120,30;
solid ;
rect 130,130,390,190;

That fragment is Venice: two boats, three checkpoints and a big red palazzo.

Sound

Three packs ship with the game and you pick one on the play page. Original is the 1999 recording exactly as it was: 8 kHz, 8-bit µ-law. Restored is that same recording rebuilt at 32 kHz. New is synthesised from scratch, with a distinct voice for each of the five schemes.

Lands pick their own scheme: the mine chimes, the meadow is soft, Soccer gets a referee's whistle. Compare the three packs or audition alternative takes.

Where the name came from

Small green tanks

The name echoes Big Red Racing (Big Red Software / Domark, 1996) — sixteen absurd vehicles, twenty-four courses from Earth to Mars, and network play over a modem or a LAN. It was the game to lose an afternoon to, and sgTANKS took its cue: silly machines, shared screen, someone else in the room.

The network mode that is gone

sgTANKS could be played over a LAN. NetFrame, Communicator and a small Java server class are all still in the source, and the applet still takes serverip and serverport parameters. It cannot come back in a browser: raw TCP sockets are not something a web page is allowed to open. Two players on one keyboard works exactly as it always did.

About this revival

sgTANKS was written between 1999 and 2001 for Java 1.1 and the <applet> tag, which browsers dropped years ago. Nothing here was rewritten: the 29 class files compiled in January 2001 are bundled into sgtanks.jar and executed by CheerpJ, a Java 8 runtime compiled to WebAssembly. The AWT windows, the µ-law sound effects, the recorded demo replays and the level editor all work exactly as they did.

Two things did change. The applet registered its key handling on the Play button alone, so a click on the playing field left the game deaf; the playground is now a focus owner in its own right. And each player has an optional second fire key. Everything else — physics, lands, editor, replays — is the 2001 code.

The 2013 launcher page is kept as index-2013.html, and the original applet page as tanks.html, for the record.