Hello testers!
PT4 is now live. This update focuses on three areas: a rebuilt main menu and the new COMPENDIUM, a project-wide stability pass, and an ESC pause that truly freezes the game. Combat feedback and the developer console have also received major upgrades.
Update Highlights
- New COMPENDIUM: Units, Items, Cards, and Cores now have their own fully accessible archive channels.
- 29 issues cleared: Major fixes cover progression, fusion accounting, speed leakage, and full-board purchases.
- True ESC pause: Shop time, input, and background motion now freeze completely and resume from the exact same state.
■ Main Menu & Compendium
- Rebuilt main menu: A fixed Continue / New Game / Compendium / Settings / Quit layout, a new right-side rail, adaptive label sizing, and a device-power-on entrance sequence.
- Better Continue information: The CONTINUE row now shows Difficulty · Core · Node progress at a glance.
- Persistent version display: The current version now appears in the lower-left corner of the main menu.
- COMPENDIUM is live: The archive-terminal grid includes Units, Items, Cards, and Cores. Newly unlocked entries receive a NEW marker, and clicking a tile now keeps focus stable instead of being interrupted by hover.
■ Stability & Correctness
This project-wide bug audit resolved 29 issues, including:
- Fixed the Last Sun softlock: Bosses can no longer become permanently unkillable after the upgrade pool is exhausted.
- Fixed completion-accounting races: Abnormal exits no longer lose difficulty unlock progress or create zombie progression and incorrect rewards.
- Fixed fusion overflow accounting: Fusion above the tier cap now consumes free XP first and preserves paid XP, producing fairer sell values for affected items.
- Fixed speed leakage: Finishing combat at ×2 / ×3 no longer carries combat speed into the shop or menus.
- Fixed full-board forge purchases: Buying a forge component with a full deployment board no longer produces the “money gone, item gone” failure.
■ ESC & Pause Rework
- Core selection: ESC now returns correctly from the core selection screen.
- True shop pause: Time fully freezes, hover and hotkeys are blocked, and background drift, breathing outlines, and shelf animation stop on the current frame.
- Seamless resume: RESUME continues every system from the frozen state.
- Correct menu layering: The ESC menu now stays above all overlays, and nested Settings screens open and close correctly.
■ Combat Feedback
- New Arc Splitter VFX: A cyan beam fan now appears at the contact point on hit, synchronized with the damage number on the same frame.
- Speed-synchronized timed effects: Imprison glitch, Embers, Gravity Well, Stasis, and other timed visuals now match their real mechanical lifetime and end immediately when control is released.
- PULSAR shockwave fix: Hitting zero-attack units such as Decoy Beacons now triggers the shockwave correctly.
- Clearer cores on the build board: Cores now use full-object outlines and fill treatment through the same visual pipeline as the Laser Fighter.
■ Tester Tool: Developer Console
How to Enable and Use It
In your Steam Library, right-click BALLRENA → Properties → Launch Options, then enter -console.Launch the game and press ~ to open or close the console. Opening it automatically pauses the game.Read-only commands work immediately. State-changing commands require command on once after every game launch; use command off to lock them again.Enter help for the full command list, or help <command> for parameters and usage of one command.Reproducing Bugs with seed and dumpbuild
If a problem involves random results or your current build, run these commands in the same run where the issue occurs:
Enter seed and record the run seed, node, and difficulty.Enter command on, then dumpbuild. An active run is required.The console prints replayable build commands and saves them as dev_build_dump.cfg. The exact save path is printed in the console.Attach the seed output and cfg file to your bug report, or copy the dumpbuild output directly.To replay it, enter command on, then run exec dev_build_dump.cfg.Important: seed reproduces discrete random results such as cards, shops, and enemy selection, but does not guarantee frame-identical ball physics. dumpbuild restores the build, not a complete battle recording. Console commands modify the current run, so please use them in a testing run or testing save.
System & Inspection Commands — no command on required
- help / help <command> — Show every command, or detailed usage for one command.
- clear — Clear the console display.
- command on|off — Unlock or lock state-changing commands for the current session.
- state — Show money, node, board instance IDs, core, and HP summary.
- tally — Read-only dump of the three Compendium telemetry tables.
- items / items <keyword> — List item IDs, names, and prices, optionally filtered by keyword.
- mobs — List every enemy ID.
- cards <x y|s<i>|#id> — Show attached traits and the available card pool for an item. Board coordinates start at bottom-left (0,0); s<i> addresses standby slots and #id addresses an instance ID.
- seed — Show the current run seed, node, and difficulty.
Combat Commands — command on required
- spawnmob <id> <tier> <count> — Spawn enemies; the last two arguments are optional, tier is 1–5, count is capped at 50, and the result is limited to the current scene.
- weaken — Reduce every living enemy to 10 HP.
- clearmobs — Remove all enemies without running the normal death pipeline.
- hp +n|-n — Add or remove player HP, clamped between 1 and max HP; cannot kill directly.
- setatk <n> — Set player attack for the current scene.
- sethaste <n> — Set player haste; cooldowns already in progress are not recalculated retroactively.
- setmaxhp <n> — Set max HP and clamp current HP to the new cap; existing snapshots are not retroactively updated.
- god / god on|off — Toggle full damage immunity. No argument toggles the current state; scene changes reset it.
- enemyscale <hp> <dmg> — Set enemy HP and damage multipliers. Damage changes immediately; HP applies only to newly spawned enemies.
- killall — Kill every enemy through the normal lethal/death pipeline.
- hurt <n> — Damage the player through the normal damage pipeline; has no effect while god is active.
Build Commands — command on required
- money <n>|+n|-n — Set, add, or subtract money. Subtraction counts toward spend-based ledgers such as spend-to-shield.
- equip <itemId> — Grant a T1 item and auto-place it on the board.
- give <itemId> <tier> <x y|s> — Grant an item; the last two arguments are optional and set tier, board coordinates, or standby placement.
- unequip <id> — Remove an item by instance ID; use state or cards to find IDs.
- removeitem <x y|s<i>|#id> — Remove an item by board position, standby slot, or instance ID.
- upgrade <id> / upgrade <id> unit|tier — Add unit XP or raise the item by one tier. Shop tier-ups correctly open the card-pick overlay.
- card add|rm <x y|s<i>|#id> <cardId> — Add or remove an item trait. Mechanical effects update immediately; re-enter combat when validating numerical effects.
- pickcard <0|1|2> — Select the first, second, or third card in the current upgrade choice.
- pickreroll — Reroll the current upgrade choices.
- clearbuild — Clear the entire current build, including standby.
- corepick list|add <id>|rm <id> — List, add, or remove core-growth traits; changes take effect next battle.
- dumpbuild — Print replayable commands for the current build and save persistentDataPath/dev_build_dump.cfg.
- exec <filename> — Run a command script from persistentDataPath. Lines beginning with # are comments; nested exec calls are blocked.
Rule Override Commands — command on required
- standbyslots <0..5>|off — Override standby capacity on the next shop entry; off clears the override.
- arena base|alley|chamfer|portal|auto — Choose the next battle arena layout; auto restores automatic selection.
- traits / traits set <id,…> / traits clear — Inspect, set, or clear global combat-trait overrides; changes apply next battle.
- difficulty / difficulty <0..10> — Inspect or rewrite run difficulty. Related global traits and SCRAP update from the next battle.
■ Current Known Issues
- BGM continues during pause. The current “true pause” scope covers visuals and game logic.
- If ESC is pressed on the exact frame an item is purchased, the balance-number bounce may finish its final animation for up to 0.2 seconds.
- HEAVY / TETHER core slots may currently display raw numbers instead of their correct icons. A fix is already planned.
Please keep sharing feedback and bugs in the discussion boards. Every report goes into our tuning and fix pipeline.
Have fun!
— vampireblackcat