How do you test an action-RPG's combat hundreds of times a day without a QA department? Dreadmark's answer: an AI bot that actually plays the game — moves, kites, dodges telegraphs, picks targets, spends resources — plus a telemetry pipeline that turns every run into analyzable data.

The brain
The bot is a utility AI: every tick, each possible action — kite, dodge, disengage, each of the five skills — scores itself from 0 to 1, and the best score wins. Emergency actions (dodge a filling telegraph, flee at low health) can interrupt anything above a trigger threshold. A small stickiness bonus keeps the current action from dithering, and actions that keep failing get benched with doubling timeouts. No randomness in decisions — reruns reproduce.
Its playstyle is codified doctrine: stutter-step kiting is the fundamental (hold the band where you can hit them and they can't hit you), efficiency trades on top of safety (a flank angle that catches three skeletons per swing is worth a scratch), and telegraphed attacks are to be dodged if charges allow, outrun if not.
The telemetry
Every run writes a structured log: every cast, every hit and miss on both sides, every telegraph's lifecycle, every dodge with its i-frame window, positions on everything. An analyzer digests the logs red-flags-first: hits that landed after their telegraph ended, dodge charges wasted on trivial threats, stretches of walking that went nowhere, deaths with their causal chains. Every bug class ever found — by any means — becomes a permanent analyzer rule, so it can never return unnoticed.
The payoff: the bot found real game bugs no one saw by eye. The telegraph that ended early. The arrow that couldn't be dodged. The wind-up that tracked too fast to escape. Each one surfaced as a red flag in a log before a human ever felt cheated by it.
Ten iterations to flawless
The bot's standing goal was brutal: clear every monster without taking a single hit. It took ten self-directed iterations — each one a batch of runs, an analysis, a fix, a rerun. The failure modes fell one by one: dodge charges burned in the opening seconds, walking back into a mid-swing heavy, camping in its own healing circle while a pack surrounded it. Run by run, the damage-taken number fell — 100, 72, 20 — until the log finally read: six kills, zero damage taken, 75 seconds.
The bot isn't the game's difficulty ceiling — it's the canary. Humans play for feel; the bot plays for proof.
Next: a watch day — the designer takes the controls.