README

making your bot worse on purpose

Drekken

I bet you couldn’t guess how many hours I sunk into the micro for PiG_Bot, cause it’s an ungodly amount lol. When you’re building a bot, micro feels like the place to really showcase what an AI can do.

I wanted my units to arrive in a concave formation, already holding an advantage when the battle begins. So I calculated curves, Euclids, and enemy forecasting all for the perfect approach, only to end up with an engagement that looked crazy unnatural.

It’s a constant wrestle to figure out how far to push these features without losing that human feel. Admittedly I was stuck on this until I sat down with the lead AI developer at ZeroSpace. He pointed out the exact assumption that was ruining my design.

Marvin Gouw and I were discussing curing predictable game AI. We went on this massive tangent that actually didn’t make the final cut, but it completely broke my brain on how I look at building these things.

Drekken: “Should bots use their full computational extent? Is it better to allow them beyond human capability, or constrain them to human parallels?”

Marv: “Sometimes the game is not built to do that. The game is not meant for a Clem to exist in the world… You break the game if the AI can go anywhere beyond that. You’re playing a game that now isn’t meant to be played and has its own set of exploits the AI can find. So from my view, I don’t think we want to go down that path. You should still limit it.”

The game is balanced around humans. If your AI plays beyond human capability, it stops being fun.

Why perfect speed breaks the game

Marv: “We have a limit on how often abilities are cast, and that limit is based on what a decent player might be able to achieve. You’re not going to see 20 ghosts do rapid-fire lock-on with our AI, because there’s a limit, we don’t want that. It gives a little human feel to it…”

Going beyond human speed finds game exploits the designers never planned for. The constraint is the actual feature.

Coding your own playstyle

An AI’s personality reflects exactly what its creator values.

Marv: “That’s what the personality of the bot will be based on, the creator’s decisions of what they think is important… For example, I try to focus as much as I can on macro to maximize my choices. I’m not so tight, because a lot of people are pretty tight, they see this, they counter with that. I’m not like that.”

Marv plays for macro efficiency to keep his choices open. His AI plays exactly the same way. Give that code to a different creator, and you get a completely different bot.

The real design question

This changes the entire goal of bot building.

Where should this be human?

The limits you slap on your AI are what make it feel alive. And honestly, it’s what makes it yours.

📺 New Episode

ZeroSpace’s Cure for Predictable Game AI

video preview

RTS bots are basically built to be exploited. Marv is fixing that with a three-layer “mastermind” architecture that stops players from pattern-matching the AI.

He walks through exactly how to build it in our conversation on curing predictable game AI.

⌨️ Next Commit

Decide one strategic choice your bot will never make, even if it’s the mathematically optimal move, just because it doesn’t fit its “playstyle.” Add a constraint to your code that hard-blocks that choice

May the Bugs Be Ever In your Favour🪲

Email Preference:
Unsubscribe | Update your profile | 600 1st Ave, Ste 330 PMB 92768, Seattle, WA 98104-2246