archive by month
Skip to content

what race is easiest?

What race is easiest to write a bot for? I have an opinion.

Ground rules: The goal is to write a bot that plays strongly by today’s bot standards, not a world-beater necessarily but a bot that has a fair chance to place. You’re lazy, and you want to do it with the least labor so you can go watch anime instead. What race do you pick?

Some people give the same answer for bots as for humans: Protoss, because protoss needs less micro to play at a fairly good level.

It’s reasonable, but I don’t quite buy it. Micro is hard for bots, but it’s not the hardest part. The hardest part is coordinating units or groups that have to work together: Planning and executing a multi-part action whose parts have to fit. Humans do this naturally (though limited by hand speed), and bots struggle with it. Difficulty with coordination is why no bots are good with arbiters. “Where do I stasis to help the battle the most?” is a coordination question; the arbiter and the combat units have to coordinate their actions. In other words, “where do I stasis?” and “how do I line up this attack?” are questions that are best answered jointly, not severally. Difficulty with coordination is why no bots are good with defilers (“where do I swarm?”). It is why no bots successfully drop with more than one dropship or shuttle. It is why bots that make both ground and air units often look awkward. It is why bots struggle to pull off complex attacks—even an attack as simple as “siege down the static defense efficiently” is complex—and why bots are usually so fragile in defense.

Terran units are micro-intensive and terran armies are coordination-intensive. Terran, I think, must be the hardest race to code well. The terran bots tscmoo, Tyr, Krasi0, Iron, and LetaBot have all seen major work in recent months, but the top spot on the SSCAIT ranking is usually a protoss or zerg that has not been updated as recently.

Protoss basic units can get by with little micro and little coordination, at this level of play, but at some point protoss needs to add reavers or high templar to keep up. The protoss advantage is high tech, and high tech units need careful micro and good coordination with the rest of the army. No bot does reaver-shuttle micro, and no bot is good with psionic storm, and protoss bots suffer for it. That’s how it seems to me.

Zerg is the easiest in my view. Zerg micro is not too hard, not at the level needed for a good bot today: Mutalisk micro is practically standardized, and zergling micro of the caliber “move into or around the enemy formation before you start to attack” is unheard of. Hydras, ultras, and guardians can all get by with simplified control. Lurkers call for coordination, but defeating lurkers also calls for coordination. Zerg benefits from surrounding the enemy before attacking, a kind of coordination but (it seems to me) a particularly easy kind. I think an uncoordinated zerg is more effective than an uncoordinated protoss, and the coordination zerg needs most seems easier to me than protoss. I think it’s no coincidence that the top finishers of the big 2015 tournaments are zerg.

Well, it’s purely my opinion and it’s kind of a close call. I won’t argue if you disagree. It’s not that zerg won’t benefit hugely from coordinating its army, even before defilers are out. Mutaling is an industrial-strength combination, and bots so far can’t use it effectively. Zerg only seems to suffer less for being uncoordinated.

At a higher level of play, coordination is no longer the bottleneck skill and the answer might be different.

If you want to tackle coordination head on, by the way, the keyword is search. A bot that foresees the future of its units can consider different courses of action until it sees something good.

Update: If you want to argue against me and claim that protoss is easier than zerg, here are a couple arguments you could try. I won’t change my opinion easily since I’ve already thought about this stuff, but then again, I won’t argue against you either.

1. ZvZ is a super-technical knife-edge matchup where tiny details count. Building one extra drone at the wrong time can lose the game, but squeezing out one extra drone at the right time can win. Playing ZvZ well calls for deep understanding and close adaptation to the opponent. PvP is not as tricky.

2. Because a larva could become anything, zerg is freer than the other two races to trade off between economy and army. And that freedom is hard for bots to take advantage of. None of the zerg bots that aims for middle-game play is good at adapting its defense to the threat it faces, which zerg has to do to maximize its economy.

Trackbacks

No Trackbacks

Comments

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Submitted comments will be subject to moderation before being displayed.