Sixteen tanks · one island · no server

Treadcore

An overhead tank game for the drone battlefield. Your gun fires where your recon drone looks; your interceptors keep the sky over you.

MIT · 0.2.0 · Linux, macOS, Windows · bots fill empty seats

The game on autopilot: a fleet's wingmen spread out toward the pillboxes north of their leader; the brushed-metal frame holds the orders on the left and the shells, drones, squad and armour on the right
7596 p15 boarded a boat3536 whoop (Interceptor) away. ripping a pack7622 you (team): fleet: form up on me at (74,60)3520 PICNIC: unreachable (computer says no; the chair says why)t0-guard3: rotation: out to the push point (86,32)7466 PEBKAC: squad already out (the lamps called it)t2-wing14: island hop: by sea for (45,108)

The gun

Fire at what your drone can see.

  • Indirect fire. The gun lobs a shell at a point; it lands where a recon drone is watching, or blind.
  • Interceptors hold a ring round the hull and rip enemy drones out of the sky.
  • Strike and longshot drones carry the fight past the horizon, one way.

The tank was just handed a new battlefield. The game is about the sky over it.

A fight at a bridge: rangers dodging shells while the leader calls the fleet to form up
A fight by a bridge: two rangers dodge a barrage while their leader calls the fleet in.

The fleet

Bots that hold a line and never stand about.

  • Fleets of five: a leader on the autopilot, a guard, rangers and wingmen in a wedge.
  • Rotation. Every tank has a defense point at its base and a push point halfway to the objective, and goes between them.
  • Pings and talk. A bot that calls a target says so in team chat; the minimap rings where.

Empty seats fill with bots that play like a side, not a crowd.

Team one's leader fells trees for a boat while its fleet guards the island
Island hopping: the leader fells timber for a boat while the guard rotates out to its push point.

The squad

Take the pillboxes. Build the fortress.

  • Pillboxes move. The squad lifts one, carries it home and sets it down at the gate.
  • Walls and roads. A ring of wall outside, a ring road inside, a depot in the middle to refill.
  • Bridges before boats. Three tiles a trip, laid from the material the squad gathers.

Hold the island's depots and pillboxes and the match is yours.

A base going up: pillboxes, a depot and a road on a small island
A base going up: two pillboxes brought home, the depot between them, the road begun.

The network

Sixteen players. No server.

  • The windows elect a host. They find each other on a LAN or through an introducer, measure the latency, and pick.
  • Late arrivals take a bot's seat mid-match; a rematch is one key.
  • 4× speed. The host runs the match at 1×, 2× or 4×, and every window follows.

Free, MIT, written in Rust with Bevy. Everything drawn is a rectangle.

A networked match: the host's window with its peers listed
A networked match: the host's window, its peers on the newswire.

Build it

With your own Rust, 1.85 or newer.

git clone https://github.com/treadcore/treadcore.git && cd treadcore
make deps        # what this system needs, by its own names (APPLY=1 installs it)
make install     # into ~/.local, with a menu entry
make run         # or play from the tree, against fifteen bots
SPEED=4 make quad # three windows, a team each, on the autopilot, at 4x

Where it is built

Every build of the current release: the system, what it needs there, and whether it was built, installed and played there before it was published. A release is not published until every package's test passes (how).

SystemArchFormBuiltTested therePublishedRuntime dependencies

Read more

The rules, the balance, the network, and how it was made. Every lab report is on one page; the book of 2 November is the post-mortem of the first month and the plan for the second.