Patch Notes · Dispatches from the Dungeon

The Chronicle

What we've built, what we've broken, what we've quietly buried on floor 4. Newest first.

◀Page 10 of 11 · v0.32.0 — v0.23.0▶
v0.32.0#April 24, 2026Feature

The Dungeon Starts Talking

This patch doesn't change how the game plays. It changes what the game knows about itself.

We finally wrote down the Shardrealm. There's a proper intro chapter at /lore now — the Rift, the seventeen floors, the shop that's always open whether or not its keeper has been home. It's short, on purpose. The dungeon explains more of itself the deeper you go, and we don't want to ruin that on page one.

We also wrote the first handful of bestiary entries. Slime, Goblin, Skeleton, Imp, the Stone Golem on floor three, the Trialmaster on six. Each one is one paragraph of what this is and one line of what the dungeon wants you to learn from it. Sixteen more entries to go; they'll keep showing up.

Quietly, in the same patch: every public release from v0.19 to v0.26 has a Polish translation now. The last three already did. Full backfill closes the gap, so a Polish reader opening /changelog on release day gets the whole timeline in their language.

And then on top of everything else, the enemy death animations landed. Every kill now plays a three-frame stagger → collapse → dust sequence before the sprite fades. It's a tiny change per kill, and genuinely a big one over a whole run.

What landed

  • Lore intro chapter — The Shardrealm / Kraj Odłamków at /lore, both languages.
  • Bestiary entries — six enemies with proper flavour prose (Slime, Goblin, Skeleton, Imp, Stone Golem, Trialmaster), EN + PL each.
  • Polish changelog backfill — every public release v0.19 → v0.26 now ships a .pl.md alongside the .en.md.
  • Enemy death animations — 22 enemies + 3 bosses each get a three-frame death sequence (stagger → collapse → dust) before the sprite fades.
v0.31.0#April 24, 2026Feature

One Life, One Keyboard

Two kinds of players asked for this patch. The ones who want the run to matter more. And the ones who, on principle, refuse to touch a mouse.

For the first group: Hardcore mode is a new toggle on the New Game screen. Flip it and your character gets one life. Die in a hardcore run and the slot turns into a tombstone — a Permanent chip, greyed-out tile, Continue disabled. The save stays in your slot list as a record of how that one ended, which is either a trophy or a note for next time. Both useful.

For the second group: every menu in the game is keyboard-driven now. Character select responds to arrow keys, Enter, Del, F2 (rename), N (new), and Esc. The class / difficulty / hardcore picker cycles the full ladder with ↑↓. The shop modal switches tabs with 1 / 2 / 3 or Tab and closes with Esc. Inventory closes with Esc. The main menu already knew the trick — Sprint 27 taught it. Now everything else matches.

Two quieter wins came in the same patch:

  • You can rename slots now. Rename button, F2, or double-click the name. 24-character cap.
  • Anonymous saves migrate to your account on login. Sign in with characters in your browser and you'll get a one-shot prompt: import them or not. We ask before we touch anything.

What landed

  • Hardcore mode — per-save permadeath toggle on New Game; dead hardcore slots get a Permanent chip and Continue locks them out.
  • Full keyboard navigation — character select, class picker, shop, inventory, all responsive to arrow keys, Enter, Esc, and context hotkeys (F2, N, Del, H, 1-3, Tab).
  • Slot rename — inline editing on every character tile, with matching server + localStorage validation (1–24 chars).
  • Anon → account promotion — one-shot confirm prompt on login imports your browser-local characters into your cloud account.
v0.30.0#April 24, 2026Major

Three Spells and an Actual Tree

The skill tree was a tree the way three potted shrubs in a row are a forest. We've planted a real one.

Every class now branches from a shared root into three gateways, and tier 2 forces an either/or — Berserker or Duelist, not both. Two Warriors in the same party will no longer look identical. Capstones demand points spent in the branch. The grand capstone at the top of each tree wants two of three branch capstones and the active ability. Specialists and generalists finally reward differently.

Speaking of: every class has an active ability now, bound to G. Warriors get Shield Bash — 90° cone, 2× damage, guaranteed knockback and a short stun. Archers get Volley — three arrows in a 30° fan. Mages get Fireball, which does exactly what you'd hope, on a 64px radius.

The ability node has cross-branch prerequisites. You can't blitz one branch and grab the spell on the way through. Warriors need offense AND defense; Archers need precision AND volley; Mages need elemental AND arcana. The spell is a hybrid build's reward.

A few notes for the eagle-eyed:

  • Old saves carried their unlocked nodes over wherever the ids matched. Anything that didn't match came back as a free skill point. Call it a mid-patch respec, on us.
  • The new dial next to your XP bar is the cooldown. Pie fills while cooling, glows gold when it wants to be cast.

What landed

  • Skill tree rebuilt — root → gateways → XOR choices → capstones → ability → grand capstone. Every class now has ~15 nodes laid out as a real graph, not three stacked lists.
  • Three active abilities — Shield Bash, Volley, Fireball, on G, one per class, all gated behind the cross-branch ability node.
  • Cooldown HUD dial — class-themed icon plus a radial fill that pulses gold on cast-ready.
  • Cross-branch build incentives — abilities want two specific gateways; the grand capstone wants two of three branch capstones plus the ability. Pure-branch sprints stop paying off here.
v0.29.0#April 24, 2026Major

The Chronicle Itself

You're reading it. This page used to be a big JSX file we edited by hand every release, which worked fine until we realised we'd been writing patch notes in TypeScript. We've demoted it to a pile of markdown files, and, while we were at it, gave it a voice.

The entries you're scrolling through are all freshly rewritten. Same facts, less "we added an active character ID field to the zustand store", more "scrap your save, cry, start over." We also taught the page Polish — hit the PL toggle in the nav and everything adapts.

Behind the scenes, a little script ferries our internal sprint notes through Claude to produce a public draft we then edit into shape. So next time we ship a patch, the note will be this voice without one of us staying up to hand-craft it.

What landed

  • Markdown-driven changelog — entries live as files under content/changelog/ so we (and contributors) can write in prose instead of JSX soup.
  • Fresh voice pass — every historical entry rewritten in the new register. Same facts, more personality.
  • Polish translations — for the last two releases so far, more coming as we backfill.
  • Drafting helper — internal tool that converts Sprint notes into public drafts. We still edit. Claude just gets us to 60%.
  • Lore scaffold — the infrastructure for a future lore + bestiary pass is in place. Doesn't change anything you see today, but the next world-building patch won't need a refactor to ship.
v0.28.0#April 24, 2026Feature

The Shop, Fully Open

Our shopkeeper used to be a gold-tinted copy of the player. He didn't move. He didn't blink. He sold you potions in grim silence. We've intervened.

He now has his own sprite, his own robe, and a part-time job: wandering between the counter, the shelves and the potted plant, stopping to inspect each one as if he forgot something. He also waves when you walk up, which is either charming or deeply unsettling depending on how long you've been in the dungeon. The shop itself finally looks like a room someone works in — counter, shelves, barrel, iron-bound chest, a warm brass lantern that actually flickers, and a rug so he has something to stand on.

The door got upgraded too. Heavy oak, brass kick-plate, OPEN banner hanging over it. Monsters can't follow you in any more — the barrier holds whether the door is open or not, which, yes, we know, makes no physical sense.

What landed

  • A proper shopkeeper — idle breathing, faces whoever walks up, waves on approach, strolls between decor when you're not looking.
  • Shop interior — counter, shelves, barrel, chest, rug, potted plant, lantern with a warm additive glow. Same glow now lights wall torches everywhere too, because it turns out we could have been doing that all along.
  • Enemy barrier at the door — goblins try, goblins fail.
  • Identification reveal toast — a properly-sized card tells you what you just bought, what it does, and why you paid 50 gold for the privilege. Replaces the previous "silently mutate the item in your bag" experience.
  • Stable shop modal — Buy / Sell / Identify tabs no longer trampoline the modal height when you switch between them.
  • Dedicated shop BGM + SFX — a cozy tavern-style loop fades in when you cross the threshold. Door swings have a proper creak and a bell.
v0.26.0#April 23, 2026Balance

Pick Your Pain

We shipped the audio pass, ran a playtest, and immediately noticed half of you were dying on floor 1. Not a difficulty curve, a vertical wall. So the dungeon now asks before you start: Easy, Normal, or Hard.

Easy adds 30% HP and cushions incoming damage by 20% while enemies hit back for less — "a bit of a holiday". Normal is what we originally tuned for. Hard sharpens enemy hits and cuts your gold and XP by 10% — for the repeat customers who'd decided Normal was comfortable.

You can change difficulty mid-run in Options too. Your HP ratio is preserved, so a Hard → Easy swap at 20/100 stays proportional on the new max.

What landed

  • Three presets on New Game: Easy, Normal, Hard — each affects player HP, damage taken, enemy HP + damage, and gold/XP gain.
  • HUD chip — a coloured badge next to your level shows the current preset (Normal hides it — you're in the baseline).
  • Live switch — change difficulty from the pause-menu Options without quitting the run.
v0.25.0#April 23, 2026Major

Something to Listen To

The dungeon sounded like a synthesiser for most of its life. In this patch we commissioned 8 original BGM tracks (one per theme plus boss music), 39 SFX one-shots, and a dedicated menu loop. Every swing of a sword, every potion gulp, every footstep — rendered properly instead of the placeholder bleeps.

Footstep volume is attenuated because Suno mastered them hotter than everything else and you could hear the Warrior coming from three rooms away. Separate music / effects sliders landed in Options too, saved per device.

What landed

  • 8 themed BGM tracks + alt takes + menu theme — dungeon, sewer, cave, forest, ice, crypt, void, boss. Triggered from theme keys so the right track plays on the right floor.
  • 39 new SFX across hits, picks, UI, and combat — pooled with random variants so rapid attacks don't sound like one sampler.
  • Music / SFX split sliders — Options → Pause menu. Device- scoped localStorage, 0.5 default.
  • Multiplayer fix (while we were in there) — classes and sprites finally sync between clients. Pause Escape twice no longer keeps you paused forever.
  • Torches rework — every lantern hangs on a wall now (no more torches floating in the middle of rooms), and decorative torches no longer spawn as random dungeon props.
v0.24.0#April 23, 2026Feature

Knockback and Shareable Seeds

Two small things that nobody explicitly asked for and everyone started using immediately.

First: enemies now fly backwards when you hit them. Weapon classes and Strength scale it, bosses resist it, slimes travel surprising distances. It turns melee from "clicking until dead" into a little physics conversation.

Second: run seeds are shareable. Every New Game now rolls a seed, and the pause menu has a Copy Link button that packages your current dungeon into a URL. Send it to a friend and they get the same floors. Nice for races, co-op, or bragging about the legendary you found on floor 2.

What landed

  • Knockback — new weapon stat, scales with Strength, resisted by elites/bosses at 0.3–0.8×. Hits now have weight.
  • Run seeds — rolled on New Game, persisted through the run, visible in the pause menu.
  • Seed share — Copy Link button bundles the current run into a ?seed= URL. Paste in the browser, same dungeon spawns.
  • URL seed pre-load — visit a shared link and the dungeon is already waiting for you on New Game.
v0.27.0#April 22, 2026Feature

One Hero Isn't Enough

You rolled a Warrior, got to floor 5, then wondered — reasonably — how an Archer would play the same dungeon. The old answer was: scrap your save, cry, start over. We have prepared a more dignified answer.

Up to 5 save slots per account. One per class, per difficulty, per mood. Continue now opens a grid of little character cards — class emblem, level, difficulty chip — and you pick which run you're in the mood for. New hero? "+ New Character" tile, same screen.

Guest runs get slots too, stored on this device. Log in whenever you feel like making them permanent.

What landed

  • 5 save slots — per-character saves with class emblem + level + difficulty on the card.
  • Character picker — Continue opens the slot grid; pick one or start a new hero from the same screen.
  • Anonymous slots — guest runs get local slots on your device. Login migration coming.
  • Autosave routing — switching characters no longer overwrites your other hero's progress, which, yes, used to happen.
v0.23.0#April 22, 2026Major

Three Ways to Die

Before this patch, every hero was the same person wearing a different hat. We've introduced Warrior, Archer, Mage — three actual classes with distinct starting attributes, different weapons, and a skill tree each.

Warrior is bulky and hits hard; starts with a rusty sword. Archer is fast and precise; starts with a bow. Mage is fragile but ferocious; starts with a wand. Each class has its own icon, its own player sprite (freshly commissioned pixel art), and 12 skill nodes you can unlock with level-up points across three branches per class.

Also: new tile pack landed, so the dungeon visually reads better — seven themed floor textures with matching wall tiles and scattered props (mushrooms, coffins, pipes, crystals, depending on the theme).

What landed

  • Three classes — Warrior, Archer, Mage — with unique starting attributes, starting gear, and per-class skill trees.
  • Player sprites — proper pixel-art class spritesheets replacing the placeholder knight everyone used.
  • Skill tree — 12 nodes per class across three branches. Spend your level-up points, respec isn't a thing (yet).
  • Tile pack v2 — 7 themed floor + wall sets with procedural props. The dungeon no longer looks like one beige room 17 times.
▼ Older dispatches · Page 11