README

Bots that break games (and make them better)

Drekken

July 9th 2025

Why hello Reader,

In June, I spoke at the XP Summit here in Toronto—a gathering of game developers from across the industry. Instead of focusing on the usual competitive angle, I talked about something that doesn’t get as much attention: how the bots we build could actually help make games better.

Think about it—most studios are drowning in QA work. Testing is repetitive, slow, and expensive. Meanwhile, our bots already do what testers can’t: run the same scenario over and over without losing focus, break things in unexpected ways, and explore every edge case without complaint.

Studios like Ubisoft and EA are already leaning into this. They’re using bots to balance systems, run overnight tests, and catch bugs humans miss.

So here’s the idea I pitched at XP: what if our bots weren’t just good at playing games, but actually improving them? What if the next step for your project wasn’t a stronger opponent—but a smarter ally for game devs?

There’s a real opportunity here. Not just to sharpen your skills, but to build something useful—something that makes the whole game better.

Here’s the full talk if you want to see how I laid all this out at XP Summit :

video preview

For Your Radar

we’re back for Week 3 of Probots, elimination week! don’t forget to set your notifications so you don’t miss it at 5:30 PM EDT

🗒️ ./run Notes:

A couple of ideas from my XP summit talk, if you want to build skills for using a bot (in this case a SC2 Bot) for QA.

Heatmaps & Pathfinding

  • if you haven’t yet, give my pathfinding challenge a try.
  • Practice using A* or Dijkstra to get the probe to the goal
  • In the second part use heat maps to prevent the probe from dying

Adversarial Bot Loops

There are still no good training environments for Python-sc2 that I have found (though Sharky for C# just cooked one up). You could mess with Stablebaseline3 + Zoo or Gym but that’s a whole mission. (Let me know if that’s something you’d want to see.)

To keep it simple though, with a microbot:

  • Run BotA vs BotB locally using python-sc2.
  • Download a Bot Micro Practice Map – (shout out to Sharknice for his) or you can create your own.
  • Track metrics like win rate and time to win.
  • Mutate one bot slightly after each round (e.g., add aggression, change unit comp, tweak micro timing).
  • Use the results to evolve the weaker bot—or stress test the stronger one.

Got ideas this sparked? I’d love to hear what you’re testing. But that should be enough to get you started

Ok before we go,

One Last Thing…

Email Preference:
Unsubscribe | Update your profile | 113 Cherry St #92768, Seattle, WA 98104-2205