Get in touch

A real table forplaying Hive.

A 3D tabletop I built for macOS. Pieces that lift, climb and land, and an opponent that taught itself over about 38,000 games.

A personal, non-commercial project · Native macOS app · Rust engine · Not distributed

An independent project, not affiliated with or endorsed by Gen42 Games.

The board gamewith no board.

Every piece you place becomes the board. No dice, no cards, nothing captured. Pieces only block, climb and surround, and the game ends when a Queen has nowhere left to breathe.

This page is one real game, 57 moves from the first Spider to the last. Scroll, and it plays. Each move here was checked by the same engine the app ships with.

1 of 8

Queen

ply 7 wQ wS1-

The Queen walks one space per turn. She is slow, and keeping her free is most of the game.

She must be on the table by your fourth turn. In this game both Queens arrive on that last possible turn.

2 of 8

Ladybug

ply 9 wL /wS1

The Ladybug always moves exactly three spaces: two on top of the group, then one down into an empty space.

3 of 8

Mosquito

ply 11 wM /wQ

The Mosquito has no movement of its own. On each turn it moves as any one of the pieces it is touching at that moment, of either colour.

Here it touches only its own Queen, so it takes her one step. At ply 28 the black Mosquito copies a Pillbug and throws the white Spider.

4 of 8

Soldier Ant

ply 24 bA1 /wP

The Ant walks any number of spaces around the outside of the group, as far as it likes, as long as every step is a legal slide.

Nine steps, in one move. It is the most mobile piece.

5 of 8

Grasshopper

ply 32 bG1 -bP

The Grasshopper jumps in a straight line over one or more pieces and lands in the first empty space beyond them.

Because it jumps, it can reach spaces the walking pieces cannot squeeze into.

6 of 8

Spider

side line wS2 wP-

The Spider walks exactly three spaces around the group, never fewer and never more, and never back over a space it has just walked through.

No Spider walks in this game, so this one is a side line: a move from the engine's own list at this position. It walks it, comes back, and the record goes on.

7 of 8

Beetle

ply 47 wB1 bL

The Beetle moves one space per turn, like the Queen, but it may also climb up onto the group and move along its top.

A piece with a Beetle on it cannot move. The black Ladybug just found that out.

8 of 8

Pillbug

ply 54 wA2 bP-

Instead of moving itself, the Pillbug may carry a piece next to it, of either colour, up over its back and set it down in an empty space next to it.

Black's Pillbug, White's Ant. The opponent's piece, moved on your turn.

Five levels.Each one measured.

A level shipped only after it beat the level below it: 200 games, both colours, with the whole 95% interval of its score above even.

Each level's score against the level below it, over 200 games.
LevelScore against the level belowW / D / LThink
BeginnerThe floor: any legal move < 1 ms
Club
93.9%
172 / 24 / 01 ms
Expert
88.2%
156 / 41 / 340 ms
Master
98.2%
195 / 3 / 230 ms
Engine
95.5%
184 / 14 / 23.9 s

Scores count a draw as half a win; the tick on each bar marks 50%. Each bar is against the level directly below, so the bars measure the steps, not overall strength. Four of Club's 200 games reached the 300-move cap and were not scored. Think time is the average over 40 recorded positions; each move also waits a natural 0.9 s pause.

It learned byplaying itself.

Generations
19
Games per generation
2,000
Self-play games
~38,000
Machine
1 M1 Pro

A new generation became champion only by beating the one before it. Generation 20 died when the disk filled up. Generation 19 is the one you play.

Then, a realquestion.

Should a neural network see the hive as a grid, or as a graph of touching pieces, the way the lines on the table now draw it? Two separate studies compared them over several seeds, each with its protocol frozen before its first run.

The graph did not win. The report says so.

The beautiful partcannot disagree withthe correct part.

Hivzz never reimplements the rules. Every legal move, every win and every hint comes from the engine: a separate process, written in Rust, speaking the Universal Hive Protocol. The app checks the engine's checksum at launch and refuses any other build.

The engine, at this game's last position
> newgame Base+MLP;InProgress;White[29];wS1;bM \wS1;…
ok
> validmoves
wG2 wS1/;wG2 wS1-;wG2 wS2/;… 83 legal moves
ok
> bestmove depth 4
wB1 /bA2
ok
> play wB1 /bA2
Base+MLP;WhiteWins;Black[29];wS1;bM \wS1;…
ok

Before any of this, the engine's move counts were checked against the published reference tables to depth 7, and tens of thousands of positions were replayed against two public engines, Mzinga and nokamute, looking for any disagreement.

Modelled in millimetres.

Every tile in the game is the same object, with true thickness, rounded corners and an engraved symbol. This is the game's own model, drawn live in your browser.

It moves like it weighs something.

Hover
0.6 mm
100 ms
Press
0.35 mm
40 ms
Lift
14 mm
120 ms
Drop
no bounce
140 ms

The app's own motion values. A piece slows into the table and stops dead.

Eight species. Two colours.

The same pigment on ivory and graphite, set into the engraving like inlaid resin. Muted, and nothing glows.

Quiet untilyou ask.

The app itself, thirty seconds

A scripted run of the app, recorded from its own window. Nothing composited: every position replayed by the engine, every move the engine's. No sound.

Hints that show, not tell

A warm ring on the piece, an outline where it should go, a ghost of it landing. Only when you ask, and always the engine's own best move.

A table that turns

Toward each player with a close-up, or fixed, or by hand. Your choice per game.

The rules guide open at the Grasshopper, with a live illustration of the real pieces.

Rules you can watch

Every rule in the guide is shown live, on the game's own table, with the engine deciding what is legal.

Review mode: a recorded game on the table, the move history open beside it.

Every game kept

Saved games, review and replay, a move history, and an analysis panel that counts legal moves and the Queens' free sides.

The New Game card: opponent, colour, the base game and three expansion pieces, clock and table mode.

Your kind of game

Against a friend on one Mac, or the computer. The base game, with any of the Mosquito, Ladybug and Pillbug. A clock if you want one.

  • Mouse, trackpad or keyboard for every move
  • Reduced Motion honoured
  • Larger interface
  • High contrast
  • Up to 120 frames a second

The hint showsone move.

A ring on the Beetle. An outline on the last free side of the black Queen. The same move the engine named earlier, asked for at the Master level.

White wins.

Queen surrounded, move 29.

Hivzz is my personal project, built for the love of the game. The rules engine is in Rust, the AI learned through AlphaZero-style self-play on one M1 Pro, and the app is native Swift with SceneKit on Metal.

Personal, non-commercial project · Not sold or distributed