upvote
Brood War Bench

(bw.swerdlow.dev)

Unrelated to the benchmark...

I love StarCraft. I started playing it right from the beginning, most of my friends right now are from that era. I literally met people that have spread to almost every continent when I was in my early teens. We played at internet cafes and did not have access to the internet, that was priced differently...

I miss those days so much.

Everybody was from a different background back then, and nobody was anything other than a guy that plays StaCraft at the cybercafe... And now, we are in our 40's and I know Math teachers, history teachers, oil rig operators, software programmers, professional gamers, lawyers and more... hahah So crazy to think about it... and I know them, we talk, what a world.

reply
Even at Burning Man, in the middle of the desert, there is a camp that hosts a StarCraft tournament every year (on the dustiest setups you've ever seen!) :)
reply
I hope it's called Mar Sara.
reply
That would be cool. It's Captain Pump's Raiders
reply
oh man! missed opportunity.
reply
So ... Zerging Man?
reply
So dope
reply
Oh boy, I've spent more hours playing it than I dare to admit. I won over 10000 battle.net games ... on just one of my several accounts :) When the SC2 beta came out, I played about 50-100 games and never bought the full game, because I knew it would be like heroin to me, and I was already an adult that had to take care of himself.
reply
I did buy it, all three, loved it. But somehow, broodwar is the one coming back on the scene more than it
reply
Battle.net servers was my hangout spot with friends eventually joint clans and playing ranked matches. Making maps to play online was also super fun. Brood War was perfect.
reply
Same and Brood War is starting to have a bit of a resurgence. Not anything huge. When Battle.net servers are actually working, tend to play on the ladder a few times a week. Get crushed, but still one of the greatest competitive games ever made.
reply
I agree.

My first time playing StarCraft was at summer camp around a decade after it came out.

All the smartest people played it so I wanted to too. Great decision, I have been continually impressed with the people who StarCraft introduced me to.

reply
My best greetings to all Starcraft Elders clanners of yesteryear :).
reply
Likewise really miss those carefree days killing time in servers and making diabolically hard maps to play online with strangers and friends.
reply
Man I wish I could check in on my old battle.net friends
reply
Yes! Being young is great, and it always seems like those days were the best.
reply
I mean, if anything, the "great" part is about the specific time and place. Which is incredibly interesting when it comes to this post, because the time and place i am talking about brought me here...
reply
Later we even listened to Eminem and played violent video games. Most of have never even been charged with a crime, much less abused someone.
reply
Back in 2010, during the early days of bwapi, there was a Brood War AI tournament held by the Expressive Intelligence Studio at UC Santa Cruz. It's interesting to see how different the approaches were back then, vs this or Deepmind's SC2 work.

https://web.archive.org/web/20091124210529/http://eis.ucsc.e...

There's a great contemporary Ars Technica piece by a competitor:

https://arstechnica.com/gaming/2011/01/skynet-meets-the-swar...

As an undergrad I did a project using genetic programming. It was not very successful, but it was a lot of fun.

https://tomisin.space/archive/starcraft-genetic-programming/

reply
All the hobbyists were using proxybot because it allowed you to use more fun languages than C/C++ but proxybot lacked the features to effectively play Zerg. I really wanted to play Zerg so I built a really sweet API+DSL in Ruby around proxybot and then used that to give the other newbies a hard time with a zergling rush.

Unfortunately the proxybot limitations precluded me from expanding its capabilities so I tried to switch to having ruby embedded in C++ and I basically got mired there and was eventually distracted by real world concerns like actually finishing my degree.

I think I played against Krasi0's bot a couple times in the early days. Hopefully they stuck with AI and have suddenly become crazy rich after 2016. It certainly wasn't a given that AI was going to lead to a fruitful career back then, let alone to unimaginable riches.

reply
In the early days of SC2, I remember people using genetric programming to optimize build orders. I remember a slightly unorthodox Zerg Roach Rush which was _really_ fast.
reply
I don't know where else to write this, but I want to throw the idea out there. I have long wanted to take old broodwar televised matches, many of which are terrible quality 240p, and use machine learning to convert them to into perfect Broodwar Remastered frames. This seems tractable to me because you should be able to map the terrain sets to their remastered equivalents, and the game is just a series of sprites rendered at specific frames. Even if the source quality is terrible, I imagine this is able to be extracted at high quality since you can, eg, set up an automated pipeline which generates training data. Maps from original graphics to remastered, and then again for 240p -> tilemap positions for frame camera center + sprite positions / animation index.
reply
I would love all the NukeTheStars matches in 4k, his commentary was fantastic
reply
I thought that it was videos of the replays on the site. Was very impressed that it was a replay playing that you can scroll around in and select units.
reply
I love this. Funnily enough StarCraft has influenced how I approach AI at a meta level

Protoss: powerful and expensive frontier coding agents you directly micromanage for the toughest tasks

Terran: versatile team comps of dedicated agent roles you can delegate well-defined tasks to

Zerg: massive swarms of specialist custom agents inside your apps that you evolve and optimise for speed and cost

Knowing every faction has its strengths and weaknesses helps me decide which tools to use for the job.

reply
On a tangential note, try run Vibe Island (or equivalent) with Protoss WAVs for the agent sound effects.
reply
Committed to the bit; context aliased “change plans” to “pylons” and I have a command to /construct them
reply
There is currently a bot beating everyone on the ladder. Just watched it today on Artosiscasts yt channel.
reply
Link to the video for the curious: https://www.youtube.com/watch?v=1vsTqNwHquE . I would note the bot is not APM limited, and comments suggest (https://www.youtube.com/watch?v=1vsTqNwHquE&lc=UgxBrY4CkuZx7... , https://www.youtube.com/watch?v=1vsTqNwHquE&lc=UgyZ0XVFDqzJT...) it's likely using map hacks, both of which make the bot significantly less impressive.
reply
If you read the TL thread on this, the bot is technically running at 240 APM, but its commands get split off into separate commands for each unit, so the APM looks higher.

I've watched several replays on this. It using map hacks is lame but it also doesn't always take advantage of them. It sometimes does respect its own fog of war. It mostly wins with incredible micro (kinda has to, it's macro kinda sucks).

Most of its few losses come from drops (it never makes turrets and doesn't know how to handle them), bad macro (blocking its own ramp) or just incredibly unconventional play from its opponent (which is certainly not in its training set).

reply
Specifically, it can micro across multiple screens of engagement in a way that we can't as easily.
reply
StarCraft is just not a good benchmark exactly for these reasons: Endless complaining about the bots not being limited in the way humans are.

"Oh it's able to issue commands too fast." "Oh no, I give it full map access and it uses that."

Ego shooters are, naturally, also not good benchmarks.

OpenAI won DotA2 in 2019, a way better game.

reply
dota wouldn't exist without Aeon of Strife (the UMS map from Starcraft that was later reworked into WC3 dota)
reply
It is in fact APM limited, and its creator claims it was trained without the map hack so it should do just as well without it. I think the bot is VERY impressive and has already managed to beat several top Korean pros which is really godlike
reply
I’m a little bummed it did have map hack on. Would love to see this play “legit”. It really reminds me of my pastime, chess. When you play bots, if you don’t mess up early, it can often feel like you’re winning in the early game even though you’re just hanging yourself slowly with the rope it’s giving you.
reply
[dead]
reply
Bots have been unable to beat even pretty good amateur humans despite those advantages so it's still pretty interesting.
reply
bot is at the top of the kr ladder right now (excluding drop hackers) https://www.youtube.com/watch?v=1vsTqNwHquE
reply
A friend of mine created GoBench[1][2] that evaluates LLMs on 9×9 Go using KataGo opponents as Elo anchors, you see real capability differences there, like Astra Max substantially leading all other models. I think strategy is a generally interesting area to evaluate LLMs on

[1] https://rolandgao.com/blog/gobench/

[2] https://rolandgao.com/gobench.pdf

reply
A better benchmark might be asking the LLMs to write GO ai and then comparing that-- the issue is that there will be a HUGE difference in performance that depends purely on this game being in the LLM's training... but training a general LLM to directly play these games would be a waste of capacity and shouldn't be encouraged for benchmaxxing sake.

Programming an engine OTOH is a skill that is more general and they should all have.

Might be useful to have the target of the engine be some specific virtual machine that gets a strict cycle budget-- e.g. execution runs so many cycles, and result is read out of a specific memory address at the end (or when it terminates early).

reply
This is a great idea. It could learn from its mistakes, repeat things that work, abstract complex situations. I would even want humans monitoring the project.
reply
Excuse me? Is this thing supposed to be a borderline SGI or not? We already know LLMs are good at spitting out code.
reply
Playing these games autoregressively isn't even the right way to use the LLM for this task (unless it was trained to do so...). It's somewhat like having a creative writing bechmark but requiring that all the input/output be base64 encoded. It can do it-- but no guarantees on the results!

And it's also just bencmaxxing bait: you can get a huge improvement on the task by RLing on it, but make no improvement on anything else. Doing so would just waste model capacity.

If you could tell that every LLM was equally not being exposed to the task then you could justify it as a test of abstract reasoning, but you can't. So it ends up on how much go transcripts ended up in the training, which is ... not a very interesting metric.

reply
imho doing it on 9x9s kind of misses the whole point, anyone who has gotten to single digit kyu vs humans will understand when I say its effectively tic tac toe with extra steps
reply
It's a very fun tic tac toe!

(I have not reached single digit kyu)

reply
This thing kept me sane through university. I had a shitty computer which could barely run this and no Internet so I just played against the computer, which was both frustrating and educational.

I will always love this and now I'm going to play it again. Remastered and on a fancy modern machine.

reply
Your minds will be blown when you realize just how much StarCraft is ingrained into South Korean culture. They literally had (or have) dedicated TV channels just for StarCraft.

Brood War was the first video game to be broadcast on TV in Korea. I'm pretty sure it's still going.

reply
Eh… I'm fairly sure that most of the people here are old enough to have played Star Craft and Brood War when it first came out, and are fully aware of e-sports becoming huge in South Korea. And I have a hard time imagining younger generations that grew up with e-sports being an established thing instead of a novelty to not be aware of how South Korea looks at Brood War differently.
reply
Interesting that it benches down to Haiku but doesn't bench any Chinese models (which are at least between Sonnet and Opus, when they aren't beyond Opus).
reply
Why was Luna Low so good?!? Better than Terra XHigh. Can't even say it's all APM because Sol Medium beat Sol Low (both beat Sol XHigh).
reply
No model will ever figure out how to make a ling tight wall.
reply
Openai 5 dots 2, and alpha Star, AI research used to be very fun
reply
AlphaGo, Watson, Stockfish, Eliza. I can name so many of the interesting stuff and each new LLM just comes and goes.
reply
I'm trying to play but it says "another match is already active". Can only a single player play on your system at the same time?

EDIT: Nevermind, seems to work now. Watching a local qwen3.8-flash-next play this.

reply
If you want to see human written bots in action or compete in the bot ladder yourself, try https://aiarena.net/
reply
Did it play by looking at screenshots and sending clicks, or was there other mediation/symbolization?

It sounds like it might have been actually played in real time, which would be very important to distinguish.

I have recently seen other harnesses letting agents play real-time games in what seems like discrete time slices, turning eg Portal into something turn-based https://www.youtube.com/watch?v=ruuGXFAmiOE

reply
There's a bot data stream already; it's probably hooked up to that rather than screencap. Yes, I believe these were playing in real time.
reply
It plays from a special API. Some things that are impossible with normal UI are possible with API, like selecting a unit under other units. Invisible units are also reported via the API.
reply
At last something that feels properly orthogonal to pelicans on bicycles.
reply
This is a great idea for a benchmark. Something all the benchmarks seem to be missing is strategy, tactical solutions in most of the benchmarks are all thats required but here requires actual long term thinking and tactical thinking, balancing and orchestration.
reply
That’s why I tried making https://wrathbench.shard.page
reply
Wow this is super cool. I wonder when LLMs get cheap enough that NPCs will be able to have full conversations with players.

Not sure they’re the best option for raiding, but as a high-level orchestrator for choosing content, that sounds pretty great.

reply
I think we're on the early days of games you connect with your agent to. Human + AI units one versus the other. Like knights with their horses. Not sure which is the horse..
reply
I've been running these with friends recently, it's very fun. I ran irl bot tournaments for board games a couple times but the agent era opens up a huge amount of possibilities.

Must recently I built out a MMORPG puzzle box thing, I wrote a general game architecture doc but left the specific puzzle design up to Fable. Nobody is actively playing rn but I left it up at bot.willmorrison.net.

reply
Would Jev be good for this?
reply
It can play doom in realtime so maybe it can play this.
reply
Any details about the harness the agents were given? I am curious what representation of the screen and world state was provided to the agents and what tools they had available.
reply
Oh sorry I should be more clear on that. Will add to report.

For agent harness I did Claude Code, Codex, Grok Build. This was primarily a cost driven decision — I have a lot of free tokens and I didn't want to pay API prices for this.

For game harness I used minimal BW-API issue command and get observation apis as tools. I felt this was the most fair way to do it on my small scale.

In the future I would like to integrate code mode and multiple games/I think if it was a best of 5 where each agent could learn from its past games and build its own automations over time that would be much more interesting.

reply
Given that a lot of their failures are from fairly basic mistakes related to the unique setup (eg, thinking rather than defending immediately) I'd love to know how much they improve with basic tips.

Or possibly even whether they can learn from a game themselves. "Analyse your game for your failures" -> Then give a fresh agent of the same model that "learnings" doc for the next match. Do the rankings change over time, if models can write instructions for future selves?

reply
Try it, you can run your own games on bw.swerdlow.dev
reply
+1 because StarCraft
reply
Would be interesting if you could team a fast and slow agent together -- slow model can either act directly or maybe just communicate to the fast model.
reply
I might open this up to a tournament if enough people want. Any interest?
reply
Hah, yeah that's definitely interesting, though maybe a general platform for this stuff would be even more interesting.

Although, maybe benchmarking an agent on "how well can you command a swarm to annihilate the Terrans" is how it all starts going downhill...

reply
+ Playable Agent driven Starcraft
reply
Dibs on the fly brain
reply
"THIS FLY CAN BEAT YOU AT STAR CRAFT: HAS SCIENCE GONE TOO FAR????"
reply
A ton of conversations about the game must be in the training set. I wonder, is there any way just from watching how they play, of telling if they tend to pick strategies that people complain or meme about online?
reply
I wonder if there is a library to decipher brood war replay files. Perhaps an agent could learn by watching.
reply
Yes, e.g. https://github.com/gulshngill/bwrepanalysis. But I doubt an agent would learn much from them without a lot of additional processing - the replay files are little more than a stream of the orders given during the match (e.g. "at tick 17, player 1 ordered unit 234 to attack-move to 56,78"). They're difficult to make sense of without a lot of additional context, like the map layout, the location and status of other units, what parts of all that are actually visible to each player, etc.
reply
I haven’t checked for SC:BW but Blizzard has official parsers/replayers for SC2 on GitHub.
reply
Not hard to build. I was shocked at how fast/easy this was to pull together.
reply
At high levels of play Zerg is generally considered significantly stronger than the other races. So I generally will assume AI will tend to pick Zerg
reply
I only played the StarCraft demo two decades ago. Why is that so? Rushing?
reply
Production speed scaling due to hatches.

If you want 6 carriers at the same time, build 6 starports.

If you want 6 ultralisks or 6 mutas at the same time, build 2 hatches (which you already have)

One consequence of this is that changing army composition as Z is very easy.

reply
Defilers
reply
Unless you Protoss and mind control the Zerg, and then are Zerg+Protoss.
reply
This is not a viable strategy in competitive play. It's a huge resource/time investment with a dubious payoff.

If you could win as Protoss by building Dark Archons, raiding your Zerg opponent's base to capture a worker, building a bunch of Zerg production and tech buildings, and attacking with a combined army... you most likely outclass your opponent, and could have won much faster using a more conventional strategy.

reply
Good example of how these things sometimes spend way too much time thinking to be useful
reply
working on a similar project for street fighter currently https://www.youtube.com/watch?v=dJYTV3ZiT6o
reply
Wondering what it would look like if you allowed them to write scripts. You could throttle the number of clicks to make it interesting.
reply
deleted
reply
*wonders if running startcraft in wasmjs uses less CPU than anubis
reply
I would love to create one of these benchmarks for age of empires 2, but I have no idea how to make the AIs play it. Maybe I can get Claude to do it anyway.
reply
deleted
reply
Game performance is one of those topics that makes it so abundantly clear how limited these systems still are. StarCraft is predominantly a mechanical game so the horizon of what you need to do is quite short and tactile, and even then without advantages no system has come close to beating a human.

I saw someone recently try to get an agentic system to play Final Fantasy and it did about as well as a Roomba.

reply
AlphaStar was absolutely dominant. I don’t know if it played exhibition matches after it got its view restricted, but surely it still performed at a very high level. The APM restriction they put on is actually a handicap in favor of the human since humans are allowed to have 2k APM, just incapable of doing so.

If you just mean general LLMs can’t beat humans yet that’s one thing, but it’s not the case that no system can do so.

reply
Gemini wasn’t included, but I’m guessing its performance would have been similar to Grok’s performance despite having roots in DeepMind.
reply
I don't normally anthropomorphize the AIs but this is super cute, lol.
reply
Somewhat related: In 2018, Google DeepMind had already created AIs that were capable of beating professional gamers in StarCraft 2 (the sequel to Brood War): https://www.youtube.com/watch?v=cUTMhmVh1qs
reply
AlphaStar beat one retired professional by cheating.

AlphaStar won a showmatch against TLO. TLO was never one of the strongest players in the world. He had been retired for over three years by the time of the match. Google set the rule that their system would have human-like mechanics, but it played several times faster than any human, never issued a wasted action, had an inhumanly fast reaction time, issued commands with perfect accuracy using an API, and could see the entire map at once.

It was later released to the open ladder with more human-level mechanics. Even strong amateurs regularly beat it. I have beaten it myself. It was strong, but not even close to the level of the strongest human players. It had obvious and easily-exploitable deficiencies in strategy and building placement.

I think even the cheater version would have lost handily to Serral or any of the strongest players.

(It apparently beat MaNa as well as TLO, but those matches were never released to my knowledge. I see no reason to assume Google cheated less flagrantly in private than they did in public.)

reply
I predict LLMs will reach superhuman level and beat even that model in the next 12 months
reply
Starcraft is APM-dependent. Unless the latency will improve greatly in frontier reasoning LLMs (which is unlikely), it will remain a bit like knitting with an excavator.
reply
I predict latency will improve greatly in the next 12 months to more than 4x speed on current frontier tasks
reply
Yeah but Starcraft needs, like, 10-20x the APM these agents are doing.
reply
I’m not convinced a lot of it can’t be solved with code mode.

Marine staggering for example seems like an ideal code mode task.

reply
Do the humans get to use this auto-stagger too?
reply
Yeah. Some of it may just be "thinking" less rather than faster token generation.
reply
Should be possible to play this with Jev.
reply