README

You don’t need AlphaStar money to use ML in SC2

Drekken

Why hello Reader,

“It’s impossible. 😑”

That’s a reply someone gave in Discord when someone asked about making an ML bot in SC2.

I get it, though. Google built AlphaStar all those moons ago, and even then they had to make concessions. So what hope does a non deep pocket Bot builders have?

You actually have more than you’d think!

The SC2 Machine Learning struggle is real but it CAN be done

Let me explain.

Shrink the Game

The action space in SC2 is absurd. Hundreds of actions, dozens of units, fog of war, real-time pressure, and rewards that show up ten minutes later. If you hand all of that to an agent and say only one thing, win, it has no chance. There is no signal and nothing to latch onto.

So you shrink the world. One map. One scenario. One matchup. Sometimes even one unit. Makes traction way more possible.

Even AlphaStar controlled its variables. No reason you shouldn’t too.

There’s More Than One Way

When someone hears ML they think, neural networks, but lets slow the roll there because. That’s dialing the difficulty crank to 100.

Almost every serious SC2 AI project is hybrid. You hardcode the boring, brittle stuff. You filter actions, add basic rules, give the bot fallback behaviors, and stabilize the early game with simple logic. Then ML handles improvement inside that structure.

As tempting as it might seem, you also don’t need to chase fancy unsupervised setups. In SC2, the game naturally lends itself to reinforcement learning and supervised learning from replays: clear actions, clear rewards, and tons of human games to mine.

You cannot let an agent choose from 800 actions every frame. You have to reduce the action space, bundle decisions, and gate choices. Without priors, the bot never learns anything useful.

Scope is Your Best Friend

This is the lesson almost nobody believes at first.

The ML that actually works in SC2 is always scoped to one job. Zerg rush detection. Range stutter stepping. Strategy choosing. Small, tightly defined problems with immediate feedback.

Trying to learn the whole game at once is a good way to end up pulling your hair out. This will also reduce the time and resources ($) to train it, especially when you’re doing reinforcement learning loops.

My take

ML feels “impossible” when you think you are teaching StarCraft. You are not. You are teaching one slice of it. Shrink the world, add structure, and train tiny problems. Do that and ML starts becoming a real tool you can use.

I spoke to some bot makers across different games (including someone who worked on Alphastar) to get their takes on how you build an ML bot without breaking the bank, tons of insight

Watch it

video preview

📺Compile & Chill

Stop the Cheese: Teach Your SC2 Bot to React

video preview

Cheese, cheese, cheese, let’s stop the cheese. I’ve talked about for a few issues how cheese can deliver a quick L to your bot, so I did a workshop on building out a system to detect, react, and win.

May the Bugs Be Ever In your Favour🪲

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