Two players, one arena
The plan for tonight was simple: the designer grinds arena runs in the standalone build while the bot grinds identical arenas in the editor at triple speed, and the telemetry pipeline records both sides for a head-to-head comparison. Naturally, actually doing that surfaced a fresh crop of problems within the first hour — which is the point of doing it.
The batch that died of a mouse click
Clicking into the editor mid-batch killed the bot's run: the click made Unity notice code that had changed on disk earlier, trigger a recompile, and abort play mode — and a subtle second failure meant the rest of the batch silently never ran. The launcher now defuses the trap instead of hoping nobody clicks: pending changes are compiled before a run starts, and if a compile does interrupt a batch, the batch picks itself back up and continues where it left off. The first live test was the fix's own deployment — the interrupted batch resumed itself with the new code in place.
While that was being fixed, the console turned out to be drowning in a warning storm: every ordinary skeleton complained twice per frame about animation parameters only the ranger has. Thirty skeletons, sixty warnings a frame, thousands per second at 3× speed. Fixed, and the run summaries now count console warnings so the analyzer can flag the next storm automatically. The editor is also simply muted while batches run — nobody needs bone-rattle audio from a background window.
The player is always right about inputs
First human findings, straight from the designer's hands rather than the logs:
Ability priority. Queue up a Cleave, mash your basic attack while waiting for the swing window, and the mash would overwrite the queued Cleave. The rule is now explicit: a deliberate spender or utility cast in the queue always outranks basic-attack spam. The analyzer got a rule that flags any future violation.
Sprint. New: hold Shift to sprint. It's metered — a few seconds of burst, then it needs to breathe — so it can't be held forever, with a slim yellow bar above the character's head that appears while sprinting or refilling and fades away when full. Drain it to zero and it locks until partly refilled, so there's no stuttering at empty.
The arena that wouldn't come back. Clearing the arena in the standalone build made the "start arena" button permanently dead — the finished arena's invisible controller object lived on and blocked every rerun. One cleared-arena eviction later, the arena restarts on demand. That one also got an analyzer rule.
All of it shipped as v0.0.6 mid-session, and the human runs continue on the new build. The comparison data is piling up — the next entry should finally have the numbers.
Watch the machine play
Proof of concept, captured live this evening — the test bot fighting the three-wave arena at 3× speed (batch 11, run 5/5, per the banner). It strings the pack out, cuts down the leaders, drops its healing circle under pressure, and reads the heavy's red telegraph — and every event in the fight lands in a log that the AI analyzes afterward to find bugs, grade the balance, and feed the next round of improvements.
Click through for the video (24s).
Round two, same evening
The designer kept playing, and the list kept growing — so v0.0.7 followed a few hours later:
Arrows that are just arrows. The skeleton rangers' shots were a glowing orange dart with a flame trail — pure sci-fi. The art pack already contained the matching crossbow bolt, so the projectile now wears it: dark shaft, steel head, plus a deliberately faint pale tracer so the shot stays readable (and dodgeable) in flight.
Casts that actually fire. Two more ways the game was eating deliberate inputs, both fixed: a queued heavy skill would silently expire if the current swing's chain window arrived too late (queued casts now wait out the swing, however long it is), and any button pressed during a dodge roll was swallowed whole — now it queues and fires the moment you land. The analyzer flags every eaten cast from here on.
Lunge that interrupts. Lunging into a pack was a guaranteed damage trade — you arrived, and whatever was mid-swing hit you anyway. The lunge now staggers everything it dashes through or lands on, briefly interrupting even attacks already in motion. The armored heavy is the deliberate exception: its poise holds, its telegraphed swing stays honest, and dodging it remains your job.