Two renderers, one screen.
Three.js draws the table, the 3D creatures and the boss environments; a transparent Phaser canvas on top handles cards, UI and input. The camera sits low across the table, like sitting opposite the boss.
A roguelike card battler for phones — goofy creatures, a 3D table and combos that multiply.
Roguelike deck-builder · iOS & Android



Lane battles from the board-game tradition, with the “just one more run” pull of modern roguelikes.
Four lanes, four terrains: Swamp, Volcano, Clouds and Crypt. A creature can only be played on the lane of its own terrain, so every hand is a small placement puzzle. Attack, and each creature hits the lane in front of it. Hits add to Damage; doubles, triples and all-out attacks add to Combo. The boss takes the product.
Between fights you walk a branching path — shop, campfire, mystery event, treasure — and pick up Jokers that bend the rules, Balatro-style. Runs are short, playable with one hand, and work offline.
Around the core loop: starter decks and a deck editor, card upgrades and evolutions, an album to complete, daily missions, player levels, a login streak and cosmetics — painted card backs, animated environments, shiny creatures.
































































































One TypeScript codebase, two renderers, both app stores.
Three.js draws the table, the 3D creatures and the boss environments; a transparent Phaser canvas on top handles cards, UI and input. The camera sits low across the table, like sitting opposite the boss.
A headless bot plays complete runs through the real game code, so balance changes are measured, not guessed. Before one tuning pass it won 0 of 10 runs and cleared 6.7 fights on average; after it, 1 win and 8.4 fights.
World leaderboards and cloud saves run on Supabase without asking players to sign up. Each phone gets a random id and a 16-character secret; the code restores progress on a new device.
The whole game is free. Real money only buys cosmetics; card packs are paid for with stars earned by playing — no paid loot boxes. Rewarded videos are optional.
Portrait-only, thumb-friendly, readable at a glance.




36 release builds in the first three weeks.
Every build is signed, smoke-tested on an emulator for crashes and uploaded to Google Play’s closed track and TestFlight. Testers get an in-app prompt when a new version is out, and a small news feed lets me talk to them without shipping an update.
The pipeline around the game is code too: Python scripts generate the icon font, logo variants and card backs, and a headless-Chrome script captures the store screenshots straight from the running game.