🎮 New: Controller & Steam Deck Support (Experimental) Full gamepad support via a decoupled virtual-cursor layer — works with generic pads, the Steam Deck’s built-in controls, and the Steam Controller. It’s experimental and improving, but fully playable.
Controls
Left stick — move cursor / aim on the board D-pad — hop between on-screen buttons (menu navigation) A — place / select · B — cancel X — start wave · Y — game speed LB / RB — switch cap · L2 / R2 — sell / upgrade ☰ (Start) — pause menu (and the exit: ☰ → Menu → Quit Game) On-screen button hints appear when you pick up a controller and quietly retire each one once you’ve used it. Keyboard + mouse is untouched — the controller layer is completely inert with no pad connected.
Playing on Steam Deck (uses the normal Linux build, no special package):
Download CapsLock.x86_64. Copy it to the Deck’s internal storage (running off a USB/SD card can trip a “couldn’t load project data” error). Mark it executable (chmod +x, or Properties → Permissions). Steam → Add a Non-Steam Game → pick the file. Leave compatibility off — it’s a native Linux binary, so don’t force Proton. Known rough edges: Steam Input may remap buttons if you assign a custom template (start with the default/“Gamepad with Trackpad”); some dense UI screens are comfier with the stick than the D-pad. Feedback welcome.
✨ New Features Field Guide — a menu-accessible catalogue of every cap and enemy. Entries unlock as you discover them (click a known entry to open its full dossier). Shows your completion count. Mycophage Drill — a maze-mode special that chews through obstacles. Place it on a log/crystal/boulder; it resolves after a few waves (scaled by obstacle size) with a 25% chance to drop a Mycelium mote. Unlocked with Mycelium; persists through prestige. End-of-Level Collection & Shop — clearing a (non-final) level now freezes the board so you can sweep up remaining chitin and visit the shop before cashing out; the Start Wave button becomes Finish Level ▸. Banking happens on finish, so everything you sweep/spend counts. Super abilities are now earned — supers unlock on the Upgrades screen for a flat 50 essence. Locked supers are teased (greyed + lock badge) in the hotbar until purchased. ⚖️ Balance & QoL Petrify now uses a dedicated freeze timer, so it no longer gets diluted or pinned by overlapping slow effects. Tower panel redesigned into a clean two-column stat layout (name left / value right). Upgrade button shows a live, greyed-out cost and lights up only when affordable. Plan while paused — you can now select, upgrade, and sell towers while the game is paused. Dialogue tutorial beats stop repeating after 3 views (persisted). Prestige nudge — a toast fires the first time prestige becomes available.
🐛 Bug Fixes Base HP bar now redraws correctly on levels without path nodes. Fixed credit attribution (SarahzHere → kapisare).
📋 Known Issues / TODO Mycophage Drill art is missing (assets/towers/demolition.png) — currently shows a ⛏ glyph fallback. Auto-collect essence upgrade (#56) exists but stays gated until the Level-3 economy ships — decision pending on whether to ungate it early. Tower groups / manual-aim mode (#53) — deferred to beta. Pause-timescale behavior (#54) — under review. Issues closed by this build: #45, #46, #47, #48, #49, #52, #55, #57, #58, #59, #60, #61 (plus the gamepad work). Left open: #53, #54, #56.
