Game Design
2026
Shiftguard
[ CLIENT ]
Personal Project
[ ROLE ]
Game Design & Development
[ YEAR ]
2026
A Balatro-style roguelike tower defense where half the board is erased after every boss.
[ THE CHALLENGE ]
Can a deck-builder’s difficulty be tuned from simulated runs, so every number from the first wave to the last boss is measured?


A tower defense with a deck
Shiftguard is a roguelike tower defense built around a deck of spells, in the spirit of Balatro. You hold a road against waves of living crystals, building towers on stone pads beside it and buying lasting powers between waves. A run is five regions of eight waves, each ending in a boss, and you keep what you unlock between runs.

TOWER 01 / THE STARTER
Archer
Cheap, fast and long ranged, and the only tower a new profile owns. At tier III it branches into Multishot or Sniper.

TOWER 02 / ARMOUR BREAKER
Mage
Magic that deals +50% to armoured crystals and ignores Titan shields and Shield Bearer absorption. Branches into Frost or Lightning.

TOWER 03 / SPLASH
Cannon
Hits a whole burst of crystals: the target takes full damage and the rest 65%. Branches into Mortar or Flamethrower.

TOWER 04 / SUPPORT
Beacon
A support tower that makes everything inside its aura work harder. Branches into Haste or War.

TOWER 05 / SUPPORT
Ward
A support tower placed for coverage along the road. Branches into Warden or Oracle.

TOWER 06 / SUPPORT
Shrine
A support tower that grows with its tier. Branches into Overdrive or Resonance.
Test: the Cannon was the game
The first balance pass measured each tower against the others. One Cannon did 1823 damage per 100 gold, an Archer 445 and a Mage 332, and a bot playing greedily built 97% cannons. The cause was a rule: a blast hit everything inside it for full damage. Now the target takes full damage and the rest take 65%, and the Mage breaks armour, so every tower has a job.
Test: the first minutes
Region 1 is where new players quit, and the runs showed it: 25 of 40 simulated novices and 14 of 40 Archer-only starts died there. I had the curve rebuilt so each region ramps to big waves on 3 and 6, then wave 7 and the boss. Now nobody dies in region 1, a first-timer reaches region 2, and the skilled bot clears about a third of its runs.
Test: the bots were lying
The shop routine crashed on every tower offer, and supports were placed by comparing a range in squares to a distance in pixels, so the bot had never built a single support tower. The tools were fixed before the game was. Every run is deterministic, so a before and an after can be compared seed by seed.

The balance editor
The tests grew into a native Mac app. It lists every spell, tower, gem, crystal, animal and environment with its numbers, its 83 synergy links and a clip of each tower firing. A change is saved as a draft against the game's current value, and the game stays untouched until the drafts are applied.






The Shift and the biomes
After each boss comes the Shift: the left half of the world crumbles away with every tower on it, and a new region rises on the right. Where you build so your towers survive is half the game. Each biome does one thing to the whole board: Grassland strengthens towers the longer they stand, Desert sends sandstorms that cut range, Lava sets crystals alight and Snow slows them. Two halves of the same biome double the effect, and two different biomes combine into a new one.




Spells, a shop and unlocks
The shop opens after waves 3 and 6 and after each boss. It sells spells that combine with each other, towers for your reserve rack and, from region 2, a voucher that lasts the run. You hold five spells and their order matters. The 28 spells fall into builds like archery, frost, pyromancy, precision, command, wealth and fortress. A new profile starts with Archers and six spells. Everything else unlocks through play, and an unlock joins the run in progress with a fanfare.

Towers as pieces
Shiftguard began as a 2D game in LÖVE. The move to Godot and 3D made the towers physical pieces: they stand on a shelf beside the board, and you pick one up, carry it and set it on a pad. I modeled the six towers and the gate by hand as flat-coloured toon shapes. Each grows through three tiers, then picks a specialisation.






Card art, two rounds
Round one was oil and gouache: loose brushwork and canvas texture, with the background cut into flat geometric panels. Round two became the set: a clean illustrated subject on a two-tone patterned panel, one pattern per spell family so a build reads at a glance. Both were generated with a mix of image models, one card at a time from a shared prompt frame, with no text on the card face.

Who did what
By hand: the brief (balanced the way Balatro feels, an easy start, then a climb), the tower and gate models, the card prompts and the pick of every card. With AI: the Godot code, the port from LÖVE, the tests, the balance bots and the editor, plus the card art and the hand cursors, which a script cuts to pixel art. Tools: Claude Fable, Claude Opus, Cursor, Gemini, Higgsfield, Figma Weave and Figma.
Where it stands
A playable beta with notes for testers: 7 towers, 28 spells, 4 biomes and a bestiary of 13 crystals, in Godot 4.7. Next is more of the same loop: more spells that change a build and more reasons to start another run.