Sliders, Saves, and Remembering Where You Died
This update is the "quality of life" episode — no new bullets, no new monsters, just two changes that make the game feel less like it's actively trying to confuse you.
An Options menu, finally
Cube Penance now has an Options menu with an Audio submenu: three independent sliders for Master, Music, and Effects volume, each adjustable in 10% increments. The important part isn't that the sliders exist — sliders are easy — it's that they actually do something the moment you touch them. Drag the Music slider down and the soundtrack quietly fades right there, live, no "apply changes and restart" nonsense. Under the hood that's just Excalibur's Sound.volume and Sound.playbackRate setters being updated in real time, but it's the kind of thing that feels obvious in any other app and weirdly satisfying to finally have in this one.
Settings persist across sessions too, saved alongside your progress. There's also a "Clear Progress" button in there — deliberately built so it only lights up if you actually have progress to clear, because nothing says "polished UX" like a destructive button that's perfectly happy to do nothing.
Small system, big diff: this one touched five new actor/scene files and came with eight test files and 185+ assertions. Yes, for volume sliders. The logic/actor split from post one earns its keep again — the actual "what should the volume be" logic is fully testable without ever opening the game, so all that coverage came cheap.
"Back" now actually means back
Here's the old flow: you lose a stage, hit the Game Over screen, press "Back," and... get dropped at the world selection screen. Not the stage you just died on. Not even the world you were in necessarily front-and-center. Just "here's the map, good luck finding where you were."
Now, pressing Back from Game Over takes you straight to the stage selection screen for the world you were just in, with the cursor sitting on the exact cell you just played. The fix itself is almost suspiciously small — the Game Over scene now passes the worldId along when activating the world/cube selection scene, which uses it to skip the world picker entirely and jump straight to the right grid. One extra piece of state, threaded through one scene transition. 105 lines of test coverage for what amounts to "remember which button you pressed five seconds ago."
It's a tiny change, but it's the kind of tiny change that disproportionately improves how a roguelike feels — losing a run already stings, the least the game can do is not also make you re-navigate a 4×4 grid of grids to try again.
That's the dev log for now. Same cube, same regrets, slightly better menus.