Games
A collection of original games I've designed and built. Each is playable directly in the browser.
Mythic Circus
A deck-building card game for 2–5 players
Build a troupe of mythical workers and send them on stage to earn Victory Points. Hire new workers, unleash abilities, and outmaneuver your rivals. First to the VP cap wins.
SvelteKit · TypeScript · Vitest
Vhere's Valdo
How fast can you find someone in a crowd?
Every Valdo is a unique SVG figure generated from a name. Find the matching Valdo before the timer runs out — each correct tap grows the crowd and adds time, each wrong one costs you.
SvelteKit · TypeScript · Procedural SVG
TactiMon
A tactics-style Pokémon battle experience
Move your Pokémon across a grid to battle and capture opponents. Stats and moves are pulled from real PokéAPI data — level, base stats, learnable moves, and evolution chains all factor in.
SvelteKit · TypeScript · PokéAPI
Recent Updates
-
Status conditions, accuracy, and AoE targeting
Battles now have real depth. Moves can burn, poison, paralyze, freeze, put to sleep, or confuse — each condition affects the afflicted Pokémon every turn until it clears. Accuracy is enforced, so fast and reliable moves feel different from powerful but unreliable ones. Area-of-effect moves now show you exactly what you'll hit before you commit: click a tile to preview the blast radius (friendly fire included, highlighted in yellow), then click again to confirm. Higher-level Pokémon also have a much richer move pool, with flying, dragon, steel, fairy, and other type options filling out the move lists you'll see at Lv. 25 and Lv. 50.
-
Choose your starting level — Classic, Standard, or Expert
You can now pick your starting tier at the beginning of every run: Lv. 5 Classic (base forms, one or two moves), Lv. 25 Standard (mid-stage evolutions, a solid move kit), or Lv. 50 Expert (final-stage evolutions, full power from turn one). Your starter's sprite and name update live as you switch tiers — Charmander at 5, Charmeleon at 25, Charizard at 50. Enemy levels across all regions scale automatically to match, so every tier offers the same challenge.
-
Items drop on the map — heal and revive mid-battle
Potions, Super Potions, Hyper Potions, Max Potions, Revives, and Full Revives now appear as pickups on the battlefield. Walk your Pokémon over one to collect it, then use it from the battle controls on your turn. Items use the official sprites straight from the Pokédex. A compact bag summary sits above the battle log so you can see your stock at a glance. When all your Pokémon faint you can now jump straight back into the same region rather than navigating the map, and retreating mid-battle shows a confirmation so you never leave a fight by accident.
-
Pallet Meadows, team details, and traverse maps
Three new things this update: Pallet Meadows is a beginner-friendly traverse map packed with Normal and Flying types, with Arcanine waiting at the far end. Tap any Pokémon on your team in the region select screen to pull up a full summary — sprite, types, stats, moves, and XP progress. Your team sprites are also now loaded directly from their cached data, so recruited and evolved Pokémon show up correctly. Traverse maps have been renamed from their working title to simply "Traverse".
-
Move range, AoE, and the Rest action
Moves now have real range and area of effect. Thundershock can strike two tiles away, Earthquake rattles all four adjacent tiles, and Surf sweeps an entire row. Each move's range and AoE pattern is shown as a badge in the battle controls and tooltip. New: Rest — skip your turn to recover 25% HP and 1 PP on every move. After attacking you can still move, and vice versa. Team colour indicators now render correctly inside tiles.
-
Regions & persistent roster
Your team now carries over between battles. Choose from three themed regions — Viridian Forest, Mt. Moon, and Cerulean Cove — each with its own wild Pokémon pool, 10 waves of enemies, and a powerful boss waiting at the end. Clear a region to unlock it permanently on your map.
-
Wave progression system
Each region sends wave after wave of wild Pokémon. Enemies grow in number and level as you push deeper — Wave 1 is manageable, but by Wave 10 you will be outnumbered. Survive all 10 waves and face the boss to claim the region.
-
Starter team of three
When you begin a new run you pick one starter and two companions are chosen to round out your team. Your full trio levels up, gains moves, and evolves across every region you tackle — no starting over from scratch each battle.
-
Area-of-effect moves
Moves like Earthquake and Surf now hit every unit in a blast radius, not just a single target. Position matters — catch two enemies in one move for a big advantage, but watch out for friendly fire.
-
Evolution & recruitment
Defeat enough wild Pokémon and your team members will evolve — stats jump and new moves unlock. You can also recruit defeated wilds to grow your roster beyond the starting three.
-
Auto-save between battles
The game saves your progress mid-battle and between regions. Close the tab and return whenever you like — your team and map state will be exactly where you left them.
-
TactiMon launches
A tactics-style Pokémon battle game on an 8×8 grid. Move your team, choose targets, manage PP, and outlast wave after wave of wild Pokémon. Type matchups, level-up stat growth, and a wild CPU opponent all powered by live PokéAPI data.
-
CPU opponents now have personalities
Every time you play against the computer, your rival is a different character with a distinct play style: the Grand Showman goes for the biggest, flashiest creatures; the Cunning Trickster builds card-draw engines and combos; the Cold Optimizer quietly accumulates the most efficient points; and the Relentless Bruiser attacks early and often. The game log tells you who you are up against when the match begins.
-
Three new game presets
Pick a ready-made card set from the Setup screen: Gnomes on Parade (cheap creatures and fast fun), War (attack-heavy chaos), or Baby's Day Out (tricksy utility cards). You can also mix and match any combination you like with the full card roster.
-
Mobile card preview
Long-press any card on the Setup screen to see its full details — ability text, stats, and art — before the game starts.
-
New card: Garden Gnome
The Garden Gnome (cost 2) is the only worker that stays on stage after your troupe performs instead of going to the discard. Build up a permanent performance engine turn after turn.
-
Play vs Computer
Challenge an AI opponent in 2-player mode. The computer builds its deck, distributes attacks, and makes strategic hire decisions — good for solo practice or showing off the game. Toggle "vs CPU" on the Setup screen.
-
Undo card plays
Changed your mind? Hit ↩ Undo in the top bar during the Play phase to take back your last card play. Works for all cards.
-
Auto-save & resume
Your game is saved automatically as you play. Close the tab and come back later — your game will be right where you left it.
-
Redesigned turn phase bar
The turn phases now flow left-to-right in a slim bar pinned to the bottom of the screen. Easier to read at a glance and much more comfortable on mobile.
-
New card: Baby Troll
Baby Troll (cost 3, Perf 2) lets you hand off a card from your hand directly onto an opponent's stage. The perfect way to unload your least-useful gnome onto someone else — or sabotage their carefully built setup.
-
New card: Dwarf
Dwarf (cost 3, Labor only) has a hire-trigger ability: when you hire a card this turn, you may place it on top of your deck instead of into your discard — so you draw it next turn instead of waiting for the shuffle.
-
8 expansion cards added
Eight new creatures join the roster: Hydra (injury payoff), Centaur (draw or attack), Gryphon (direct injure or Attack 2), Ogre (big attacker), Dragon (self-injurer that attacks on perform), Cyclops (deck-topper), Pegasus (draw engine), and Frost Giant (splashes Attack 1 to everyone). Mix them into any preset or build your own set.
-
Mythic Circus launches!
The original 10-card My First Circus set is live: Goblin, Golem, Faun, Werewolf, Mermaid, Fairy, Minotaur, Sphinx, Phoenix, and Unicorn. Gather your troupe and be the first to 7 Victory Points!