Hacker News new | ask | show | jobs
by WhompingWindows 2989 days ago
Creating a micromanagement AI is only the first step. This must be piped into a macro AI, which produces the units with with micromanagement can be done. Then, another critical layer beyond micro or macro is scouting the opponent and predicting what their plan is. Next, you need to adapt your own strategy, which must also be planned at the start of the match since you can't scout instantaneously or perfectly. Finally, your own initial strategy choice must be tailored to the map, to the player you're playing against, to recent games/strategies other pros have exposed as powerful/weak. There are an incredible number of layers of complexity to what a truly fierce Starcraft AI would need to do.

And yet, something similar may have been said about Go, Chess, Checkers, Poker, Jeopardy, or many other games before this. If enough talented minds and powerful devices focus on Starcraft, how would humans compete? Does anyone here think top pros would win in a best of 7 or a best of 11, for instance? Which top pros, and BW or SC2? To me, I just think it'd be arrogant to assume SC is different from all the other realms in which humans have been bested by machines.

2 comments

SC2 has a lot of things that help the player over an AI, like imperfect information, a very large ruleset, and continuous movement and time.

The main advantage AI can exploit is "infinite micro" units. There are certain units in SC2 that are primarily limited by someone's ability to pay attention to them. Terran Reapers, for instance, in early patches could dance back and forth just within range Zerg Roaches, but out of range of being counterattacked (though the reapers would quickly die if player stopped paying attention). This required such fast movement that it was almost never employed except by professionals during the early game when not much was going on.

If an AI is not limited by the number of actions a person can take, these "infinite micro" units become extremely powerful. In particular, most of these types of units are within the Terran race and most powerful in the early game. The best AI in the near future will likely focus on early all-in attacks using these sorts of units (primarily reapers, widow mines, hellions, and medivacs). The human player would have to rely on defensive structures that would put them at a major disadvantage and then catch up in the mid-late game, relying on the fact that the AI gets worse as the game goes on and becomes less predictable.

Another thing to note is that Terran strategy relies quite heavily on killing the enemy workers in the early game, but the inbuilt controls for targeting workers are quite clunky and prioritise military targets. Players can target individual workers manually, but generally do so with their whole army at once, while an AI could select the perfect number of units required to 1-shot a worker, give them the command, then select another group, and so on.

> like imperfect information

The information is only imperfect for a human but an IA can have a way better access to information: - if you scout you opponent mineral line and click on the minerals, you know exactly how much minerals he's harvested since the beginning of the game. If you scout your opponent army and building, you know exactly how much he spent. Then you can deduce if he has something hidden somewhere or in production. Of course this is impossible to do for a human, but really easy for a computer. - scouting is easy but requires a lot of actions, an IA could have one mutalisk wandering over the map the whole game without being killed, which is impossible for a human unless you dedicate full time on this.

Imho, beating humans to StarCraft isn't a big deal in itself, but it would need a lot of work to build the AI to deal with the game's complexity. But it's merely domain specific work that has little to no interest on AI in general. Creating an AI that trains itself how to be good at StarCraft will take much more times and effort, but at least it will provide value outside of the specific problem.

> Then you can deduce if he has something hidden somewhere or in production. Of course this is impossible to do for a human, but really easy for a computer.

This is definitly not impossible for humans. High level SC players are able to keep track of the mineral and gas spendings of their opponent in the early game (After the early game there is usually no complete information to calculate this). Just seeing the timing of taking the gas geysers gives you information about the earliest possible time a certain unit/building can be produced.

Of course a AI can scout more and take more variables into account but humans are surprisingly good at this too.

> Imho, beating humans to StarCraft isn't a big deal in itself, but it would need a lot of work to build the AI to deal with the game's complexity. But it's merely domain specific work that has little to no interest on AI in general.

The same thing was said about early chess AIs and the Alpha GO project. In the end both lead to major advancements in AI. If you solve the domain specific problem starcraft you could easily apply the gained knowledge to similiar problems.

At the top levels, it's a lot more about where those units/buildings are than whether they exist. You know they're going to be mining and spending efficiently, so just seeing the number of workers gives you a very good idea of how much other stuff they have. Pros also check to see what technologies are being researched (buildings have a different animation while researching).

You can't get much more scouting than that because there is a cost associated with scouting, either because you lose a worker's time or because you spread out your army.

> You can't get much more scouting than that because there is a cost associated with scouting, either because you lose a worker's time or because you spread out your army.

I agree but I was mainly talking about the time it takes to perform the scouting. A AI could scout 5 different places at the same time which is pretty hard for a human to do without falling behind elsewhere. I know SC pros are really good at multitasking but at some point the AI is just superior. If this gives the AI a significant advantage is a different question.

> The same thing was said about early chess AIs and the Alpha GO project

Afaik, chess AI (I mean, modern ones like deep blue) had little to no wide impact on AI. They had a lot of impact on chess though.

But it's way easier to model a chessboard than a game like StarCraft, the domain specific work is just orders of magnitude bigger.

> Afaik, chess AI (I mean, modern ones like deep blue) had little to no wide impact on AI.

Apart from the pure technical side (which I am no expert in so you might be right) the impact on public attention and awareness for AI was huge for those projects. It's important that "normal" people get a feeling for AIs and what they are able to accomplish.

It depends what your goals are, but those development nevertheless sound useful.

If you want to stay "human-comparable", it sounds as if it wouldn't be hard to artificially impose those restriction on an AI - e.g. you could simulate a "viewport" that the AI can move around and restrict the micro engine to only take inputs from within that viewport, etc.

(Assuming the AI could make use of that advantage anyway. If I remember correctly, there is a lot of research going on that uses "attention" itself as a primitive in AI architecture. So depending on the architecture, AI might not always be able to make use of that advantage.)

On the other hand, an AI that does use infinite-micro strategy might be useful for UI research. E.g., you could pit it against a human player and use the human player's performance as a benchmark for UI improvements.

I don't think anyone doubts computers will eventually beat pros in Starcraft. I do think it will take quite a bit longer though, even with recent advancements seen in the likes of AlphaGo.

From a human perspective, Starcraft doesn't seem "harder" than Chess or Go, but it has more fluidity and ambiguity, both things computers struggle with. And the ruleset, as it were, is VASTLY more complicated.

I disagree that Starcraft doesn't seem harder. The strategic depth is arguably comparable, but the difference is you need the dexterity of a master pianist to execute.