Deep Dive: Balancing a Goose Game
The iteration that turned a text adventure into something playable: balance tuning, achievement scaffolding, and the 1081-line manual that made it legible.
On this page
The first playtest ended with my wife abandoning the game on day 3. “I don’t know what I’m supposed to do,” she said, “and the honking costs too much.” She was right. The verbs worked, the tests passed, and playing it felt like trudging through a spreadsheet.
What it needed was a pencil and some arithmetic against a constraint I’d been ignoring: 30 time units per day, 20 days, 600 total actions to reach victory. Every cost I’d chosen casually now had to justify itself against that budget.
The Budget Problem
A player who wants to explore all six zones and honk at things, which is the core fantasy, burns time like this:
- Travel between zones: 3 units each (I’d set it high to make flying feel “special”)
- Honk at an NPC: 2 units each
- Pick up dropped loot: 2 units each
Six moves and one honk each comes to 30 units. That’s the entire day, before picking anything up, and the player has done nothing toward their goal.
Framed that way the failures are obvious. If a goal requires more actions than the budget allows, it isn’t hard, it’s impossible. And if a core verb feels expensive, players stop using it and the fantasy collapses. Nobody plays Canada Goose Simulator to carefully ration their honks.
The Re-Tuning
I adjusted every cost to respect the budget:
| Action | Before | After | Reasoning |
|---|---|---|---|
| Honk | 2 | 1 | Honking is the fantasy. Make it cheap. |
| Travel | 3 | 2 | Six zones, casual exploration. |
| Fly | 3 | 4 | Strategic escape, not default move. |
| Waddle | 1 | 1 | Already fine. |
| Look/Status/Map | 0 | 0 | Information should be free. |
For the Dynasty Builder goal, the lifecycle ate half the game before a single gosling reached independence:
| Phase | Before | After | Why |
|---|---|---|---|
| Egg incubation | 3 days | 2 days | TEND daily, then hatch |
| Gosling maturation | 7 days | 5 days | Reach independence before day 20 |
| Observations to learn | 3 | 2 | Learning loop completes faster |
The inventory cap settled at 8 items. Below that the nest loop turned into constant micro-management, and much above it The Hoard stopped being a challenge. Eight keeps the nest loop alive without punishing the player for picking up something interesting.
None of these numbers are interesting on their own. Together they make the system tractable: time stays tight without being punitive, and the goals are reachable without perfect play.
Achievements as Quiet Tutorials
With the numbers fixed, I added achievements for two reasons: give completionists obvious targets, and teach mechanics to everyone else without lecturing.
The list is deliberately small:
Goal Achievements — one per victory condition:
- The Nested Life (build perfect nest)
- Agent of Chaos (annoy 50 NPCs)
- Dynasty Builder (raise 3 goslings)
- The Hoard (stockpile 30 food)
- Territorial Supremacy (claim all 6 zones)
Milestones — highlight mechanics:
- First Honk (tutorial: you can honk)
- Vocal Victor (win a honk battle against the swan)
- Minor Nuisance (annoy 10 NPCs—shows honk range affects multiple targets)
- Bread Bandit (steal food from an NPC—shows the steal/drop loop)
Hidden — reward discovery:
- Peace Was an Option (finish without honking—proves it’s possible)
Mastery:
- Ultimate Goose (earn every achievement) — unlocks the Golden Goose Trophy desk decoration
A milestone teaches without announcing itself. “Minor Nuisance” rewards the player for noticing that honks affect up to 4 NPCs within 3 tiles. “Bread Bandit” rewards them for discovering that aggressive honking makes NPCs drop their loot. The achievement records what the player found; it doesn’t explain it in advance.
The Manual Problem
This game has six zones, five goals, a territory system, goslings with personalities, a day/night loop, and a honk battle minigame. That’s a lot of surface area for a text interface where the player types HONK and hopes for the best.
So I wrote the manual — 1081 lines — and treated it as part of the design.
The result is old-school: a reference you can skim for commands or read end-to-end for strategy. Table of contents, command reference, zone maps, NPC behaviours, food values, time costs. Everything the game can’t teach implicitly, because the interface is dense and discoverability is limited.
Text adventures from 1980 shipped with manuals, and a game that wants to feel like Infocom probably has to as well.
What the Tuning Pass Settled
No single number mattered as much as letting the budget drive the design. Once the costs and timings fit inside 600 units of time, the honk loop got loud, the gosling loop became visible (hatch on day 2, independent by day 7), and the achievements had room to teach.
Balance turned out to be arithmetic before it was flavour. When the arithmetic was broken, no amount of deadpan humour or procedural honk audio was going to rescue the experience.
The game that made my wife quit on day 3 now plays through to victory in about 45 minutes, with no new features in it.
See also: Deep Dive: Building a Canada Goose Simulator — the core mechanics and audio model.