TankMaze Help

Tanks & Programming

Overview

TankMaze is a code-battle platform: you write a tank's AI as a Go program, compile it to WebAssembly, and submit it here. Test it freely against the built-in bots, or challenge another player's tank, then register it for a Game Day — a scheduled tournament where tanks compete head-to-head and results feed a global ranking.

Writing a tank

Implement Tick(sensors Sensors) Action — the server calls it once per game tick, and it must return a single action. Package-level variables persist across ticks, so they're your tank's memory; there's no real-time control once a match starts, and no other state to manage.

Stats

The Config panel allocates exactly 15 points across five stats (1–5 each): Speed, Sensor Range, Damage, Armor, and Fire Rate. Save & Validate rejects anything that doesn't sum to 15 before it even tries to compile.

Testing

Test vs. AI and Challenge run unranked matches on any version, any time — neither affects your ranked stats, so it's the safe way to iterate before promoting. Test vs. AI runs against a built-in bot (Scout, Bruiser, Ranger, or Randy); Challenge runs against another player's tank — it only appears on tanks you don't own, so open the tank's page from the Leaderboard, a Game Day, or a friend's profile and challenge it from there.

Templates

The "Start from a template" row on your Dashboard lets you fork one of the built-in AI tanks (Scout, Bruiser, Ranger, Randy) as a starting point instead of writing from a blank file.

Saving & versions

Every Save & Validate bumps a minor version (v0.1, v0.2, …) — safe to do as often as you like, since minors are test-only. Promote to Major turns the current minor into the next major version (v1, v2, …); only major versions can be registered for a Game Day and count toward ranked stats.

Game Days

Overview

TankMaze matches only run during a scheduled Game Day: a two-phase tournament. Every registered tank first plays a round-robin group of roughly 8 tanks, then the top finishers move into a single-elimination bracket down to a champion. Register a tank ahead of time to enter the next one — results feed straight into the tank's spot on the Leaderboard.

Round robin

Registered tanks are ranked by Global Score and split into groups of about 8, seeded so each group gets an even spread of stronger and weaker tanks. Every tank in a group plays every other tank once; a win is worth 1 point, a flawless win (no damage taken) 2 points.

Elimination bracket

The top finishers from each group (everyone, in smaller fields) advance into a single-elimination bracket seeded best-vs-worst. Lose once and you're out — the last tank standing is the Game Day Champion.

Registering a tank

Registration is explicit and per-version: open your tank's page and register its current major version before the window closes. Promoting a new major version later means re-registering it — the old registration doesn't carry over automatically.

Status & badges

Upcoming / active / complete reflect where a Game Day is in its schedule. A ↻ Recurring badge marks an occurrence that belongs to a repeating series (weekly, monthly, or every N days) — each occurrence still runs and scores independently. STUCK means a scheduled phase never actually fired; it's a platform hiccup, not something on your end.

Reading the bracket

Slot colors mark each match's outcome: green for a win, gray for a loss, amber while a match is in progress, and a dim slot for a bye (an automatic advance with no match played).

Leaderboard & Ranking

Overview

Every tank's Global Score is the sum of placement points it has earned across Game Days — a stronger finish in a bigger field is worth more points, and old results eventually drop off, so the score reflects recent competitive form rather than one lucky run.

How ranking works

At the end of each Game Day, every tank earns placement points based on its final standing and the size of the field: the champion earns points equal to the number of competitors, and each lower placement is worth roughly half of the one above it.

Reading the table

Score is the Global Score described above. Best is the highest placement the tank has ever achieved. Days counts Game Days participated in. Ties in score are broken by best finish, then by Game Days played.

Last active bar

This is a local staleness indicator only — it fills up the longer it's been since the tank's last Game Day, turning amber and then red as a nudge that it may be time to compete again. It's unrelated to how long placement points stay valid for scoring.

Friends & Messaging

Overview

Friends is TankMaze's lightweight social layer, separate from Game Day competition. Add another Tank Author as a friend from their profile page — once they accept, you can send each other direct messages. It's built for coordinating test matches, swapping strategy, or just talking trash before your tanks meet in a bracket.

Adding a friend

Friend requests are sent from a Tank Author's profile page. Once you send one it shows up as pending until the other person accepts or declines it.

Requests

Friend requests are incoming requests waiting on your answer. Sent requests are ones you sent that are still pending — you can cancel those any time before they're answered.

Messaging

Direct messages only work between accepted friends — it keeps the inbox to people you've actually chosen to connect with.

Plans & Tiers

Overview

TankMaze's tiers exist to cover the cost of compiling your tank's code, not to give anyone an edge in the maze — every tier plays by the exact same rules, stats, and scoring. Paying only gets you more tanks, more compilations per month, and an ad-free experience. Signed-in authors can see current pricing and their own usage from the Upgrade page, linked from the nav once you're signed in.

Free

$0. Up to 2 registered tanks and 10 compilations per rolling 30-day window — enough to try TankMaze and compete in Game Days. Ads are shown on this tier.

Builder

Pricing coming soon. Up to 5 registered tanks and 50 compilations per 30-day window, and no ads — aimed at authors iterating on multiple tanks and shipping more versions.

Pro

Pricing coming soon. Up to 15 registered tanks and 200 compilations per 30-day window, and no ads — for running a full roster of strategies.

See the leaderboard · Browse Game Days · Sign in to start building.

Privacy & Terms