DAY 0015 min read
I built a hex war game with AI in one day. Here's what broke
Brother vs Gary went from decision to live in 75 minutes, then got rebuilt three times before breakfast. The timeline, what broke, and the rules we ended up with.
THE NUMBERS
| Decision → live | 75 min05:24 → 06:39 CET |
|---|---|
| First playable version (v0) | ~33 min of AI agent time17 tests, 200-game balance simulation |
| Versions on Day 1 | 4v0 → controls rebuild → standing orders → classic hex war rules |
| The board | 5 × 7 hexes, 33 tiles, mirrored |
| Players, game #1 | 2 / 1,000as of 07:06 UTC, from /v1/stats |
Game #1 is Brother vs Gary, a hex territory war. I'm orange, my brother is blue, grey tiles are neutral, black tiles are walls, and we take turns: I move, then my brother answers. (On launch morning we both moved at once — more on that below.) There's a new map every day (UTC), plus practice against three brother levels. It runs in the browser, it's free, and there's no account. Play it here.
It wasn't even the plan. At 05:24 the plan for game #1 was Slide to the Car, a game about me sliding to my car in pool slides. By 05:39 it was parked as work in progress and the hex war took slot #1. Slide to the Car is still in the repo. It will slide again.
The timeline
All times are Budapest time (CET) on 25 October 2026.
| Time | What happened |
|---|---|
| 05:39 | Repo scaffold. Slide to the Car parked. |
| 05:56 | v0: seeded, mirrored daily map plus practice, simultaneous turns, three brother levels, a share card. 17 tests. In a 200-game simulation the normal brother beat a simple greedy bot 58% of the time. |
| 05:59 | Wired to the public player counter. |
| 06:10 | A bot played a full game in real Chrome against a local server. The counter went 0 → 1. |
| 06:39 | Live at garygitpush.com/hex/. In the production smoke test ONLINE went to 1 and PLAYERS stayed at 0, because nobody had finished a game yet. |
| 07:04 | Controls rebuilt after "I can't move". |
| 07:22 | v3 live: standing orders, AUTO play, resume, pinch zoom. |
| 07:47 | v4 committed: rebuilt on the classic hex war rules (below). |
| later that morning | v4 live, then v5: turns alternate and the only way to win is to take every tile. |
What broke
1. "I can't move."
The first human to play it, my producer, couldn't work out how to move. Moves were drag-only and the game gave no feedback when you got it wrong. The fix came at 07:04. Tap a tile and it lights up with its neighbours. A wrong move gets a message instead of silence. The arrows got bigger, and a step-by-step banner explains the first turns.
Lesson one: AI writes a game loop in minutes. It can't feel that the game is confusing. Someone has to touch it.
2. Two things that weren't the game
The same morning the browser showed "Not secure" on the site, because the domain's HTTPS settings weren't strict yet. Always-HTTPS and strict SSL fixed it. The slogan also wrapped in the wrong places on phones. Not game bugs, but players saw them first.
3. Standing orders made it worse, differently
v3 added standing orders: arrows that keep firing every turn, supply lines between your own tiles, and an AUTO button that plays the turns for you. On paper it looked great. Then the producer played it: "the numbers don't add up, and the controls are too complex". He was right. You couldn't tell from the board how many units would actually move.
4. So we went back to the source
Brother vs Gary is inspired by an older mobile game, Hex War by Benoit Renaud. Instead of inventing a fourth set of rules, we read how its rules work and rebuilt ours on the same mechanics. We didn't take its name, its text or its art.
- You choose exactly how many units move, with a stepper, and you can make a move repeat every turn (a supply route). The arrow shows the exact number that moves, and the tile shows how many stay.
- Tiles grow by round(√units) each turn, up to 99. Above that they shrink. Small tiles grow fast, and giant stacks rot.
- Combat has no dice. The bigger side keeps A − B²/A units and the smaller side is wiped out. That's the Lanchester square law, which is a fancy way of saying: gang up.
- Gold, silver and bronze tiles grow faster. Attack and defense tiles give +25%.
- The brother's difficulty is mostly how fast his tiles grow: ×0.5, ×1 or ×1.5.
What we changed on purpose: a 5 × 7 board of 33 tiles, mirrored 180°, so the daily map is fair for both sides. And after another playtest, two bigger calls by the producer: turns alternate (you move, then the brother answers the new board, instead of both moving at once like the original) and conquest is the only win — no turn cap, no points. Moving first turned out to be a disadvantage, so I start with +3 units. In 200 uncapped normal-vs-normal games it's 50.5%, games average about 19 rounds, and none stalled.
5. The lesson behind the lesson
Each version shipped within the hour and got played within the next. The game got better every time a human touched it, not every time the tests passed.
What I learned on Day 1
- Fast is real. Decision to live game took 75 minutes. The first playable version took about 33 minutes of AI agent time.
- The bugs that mattered weren't code bugs. Confusing controls, and numbers that didn't add up to a human eye. Both were found by one person playing for a few minutes. No test caught them, because nobody had written "is this fun?" as a test.
- When a genre already has a great game, read it before you invent. Three versions of my own rules lost to one careful look at how the original works.
Players so far: 2 (as of 07:06 UTC). Finish one game and you're on the counter too. Play Brother vs Gary.