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.
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!) :)
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.
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.
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.
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.
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...
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.
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.
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.
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.
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.
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).
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
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.
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
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).
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.
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.
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
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.
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.
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.
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).
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
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.
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.
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..
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.
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.
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.
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?
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.
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?
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.
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.
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.
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.
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.
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
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.)
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.
110 comments:
I like this as a concept - taking a very real world task and checking whether it works.
Surprised the outcomes are so poor though. I recall years ago AI was capable of beating pro level DOTA teams.
I guess in one case it was specifically trained on the interface & game while here it was not?
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.
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!) :)
I hope it's called Mar Sara.
That would be cool. It's Captain Pump's Raiders
oh man! missed opportunity.
So ... Zerging Man?
So dope
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.
I did buy it, all three, loved it. But somehow, broodwar is the one coming back on the scene more than it
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.
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.
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.
My best greetings to all Starcraft Elders clanners of yesteryear :).
Likewise really miss those carefree days killing time in servers and making diabolically hard maps to play online with strangers and friends.
Man I wish I could check in on my old battle.net friends
Yes! Being young is great, and it always seems like those days were the best.
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...
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.
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/
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.
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.
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.
I would love all the NukeTheStars matches in 4k, his commentary was fantastic
Link to the matches?
https://www.youtube.com/@CholeraSC/videos
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.
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.
On a tangential note, try run Vibe Island (or equivalent) with Protoss WAVs for the agent sound effects.
Committed to the bit; context aliased “change plans” to “pylons” and I have a command to /construct them
There is currently a bot beating everyone on the ladder. Just watched it today on Artosiscasts yt channel.
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.
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).
Specifically, it can micro across multiple screens of engagement in a way that we can't as easily.
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.
dota wouldn't exist without Aeon of Strife (the UMS map from Starcraft that was later reworked into WC3 dota)
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
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.
Bots have been unable to beat even pretty good amateur humans despite those advantages so it's still pretty interesting.
bot is at the top of the kr ladder right now (excluding drop hackers) https://www.youtube.com/watch?v=1vsTqNwHquE
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
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).
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.
Excuse me? Is this thing supposed to be a borderline SGI or not? We already know LLMs are good at spitting out code.
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.
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
It's a very fun tic tac toe!
(I have not reached single digit kyu)
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.
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.
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.
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).
No model will ever figure out how to make a ling tight wall.
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).
Maybe just speed? TFA said that many agents failed because they were thinking too much and doing too little.
Openai 5 dots 2, and alpha Star, AI research used to be very fun
AlphaGo, Watson, Stockfish, Eliza. I can name so many of the interesting stuff and each new LLM just comes and goes.
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.
If you want to see human written bots in action or compete in the bot ladder yourself, try https://aiarena.net/
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
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.
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.
At last something that feels properly orthogonal to pelicans on bicycles.
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.
That’s why I tried making https://wrathbench.shard.page
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.
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..
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.
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.
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.
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?
Try it, you can run your own games on bw.swerdlow.dev
Would Jev be good for this?
It can play doom in realtime so maybe it can play this.
+1 because StarCraft
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.
I might open this up to a tournament if enough people want. Any interest?
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...
+ Playable Agent driven Starcraft
Dibs on the fly brain
"THIS FLY CAN BEAT YOU AT STAR CRAFT: HAS SCIENCE GONE TOO FAR????"
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?
I wonder if there is a library to decipher brood war replay files. Perhaps an agent could learn by watching.
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.
I haven’t checked for SC:BW but Blizzard has official parsers/replayers for SC2 on GitHub.
Not hard to build. I was shocked at how fast/easy this was to pull together.
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
I only played the StarCraft demo two decades ago. Why is that so? Rushing?
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.
Defilers
Unless you Protoss and mind control the Zerg, and then are Zerg+Protoss.
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.
Good example of how these things sometimes spend way too much time thinking to be useful
Wondering what it would look like if you allowed them to write scripts. You could throttle the number of clicks to make it interesting.
working on a similar project for street fighter currently https://www.youtube.com/watch?v=dJYTV3ZiT6o
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.
*wonders if running startcraft in wasmjs uses less CPU than anubis
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.
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.
Gemini wasn’t included, but I’m guessing its performance would have been similar to Grok’s performance despite having roots in DeepMind.
I don't normally anthropomorphize the AIs but this is super cute, lol.
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
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.)
I predict LLMs will reach superhuman level and beat even that model in the next 12 months
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.
I predict latency will improve greatly in the next 12 months to more than 4x speed on current frontier tasks
Yeah but Starcraft needs, like, 10-20x the APM these agents are doing.
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.
Do the humans get to use this auto-stagger too?
Yeah. Some of it may just be "thinking" less rather than faster token generation.
Should be possible to play this with Jev.