react to the future
Humans don’t react to what they see in front of them—not as such. It would be too slow. Humans react to what they expect based on what they see.
Watch a bot chase the enemy scout. The chasing units line up behind the fleeing scout. If there’s more than 1 chaser, then the others are likely wasting their time. Bots react to what they see, and it’s slow.
Watch a progamer chase the scout. The pro maneuvers back and forth, trying to cut off the scout’s line of escape and limit its choices. The pro is not reacting to the scout’s current position, but to its possible future paths.
No pro sees a moving dropship without taking into account “Where is it going?” No pro storms hydralisks without considering “Which way could they run?” And so on. The pro is constantly assessing the opponent’s intentions and reacting to the future, not to the immediate situation.
I keep harping on search as The Cure For All Ills, and search does bring the future into view. But here the underlying issue is goal inference, or recognizing the opponent’s intentions. I expect that little packages of heuristic rules could recognize intentions in a lot of interesting cases without needing search, so that bots could also react to the future that they expect. I also expect that the heuristics would have to be robust or adaptive, though, so that the bot can’t be tricked too easily. Or this: Deep learning should be great at figuring out how to recognize the opponent’s goals, though it will need training data brought in supertankers.
I gave examples of micro intentions (which way can the scout run?) and tactical intentions (where is the dropship going?), but the same works for strategic intentions: Do I expect harassment or mass attack? Do I need air defense, drop defense, detection? What weaknesses does the enemy plan leave open for me to exploit? Reading the enemy’s goals helps at all levels of abstraction.
Comments
Igor Dimitrijevic on :
I think very few people noticed, but this helped making Stone so strong in the early game.
Some exemples from SSCAIT2015: https://www.youtube.com/watch?v=tlOt0u90rWY
(You need to point to the precise times, which may require enlarging the window).
- At 48:45, we see one SCV chasing one drone. If you notice, it does not follow the targeted drone. Instead of that, it follows a path that intersects the drone's path.
- At 49:37, we clearly see how this technique help smoothing the path of the SCV, that finally catches the drone.
- At 50:03, there are two dancing SCVs helping another SCV attacked by a zergling. They start chasing the zergling using the technique.
The technique involves very simple geometry with vectors.
Another technique I used to improve Iron's micro is trying to stay closer to the center of the areas than the targeted unit.
The implementation is straightforward with the BWEM library which gives for each tile its distance to the nearest edge.
Iron's units use the very sames techniques so you may observe them as well!
I'll add some graphics to Iron on the SSCAIT site, to illustrate the techniques involved.
Back to your article, reading you, it is clear that reaction in Stone and Iron is still very basic. Only the micro level is concerned...
Jay Scott on :
Jay Scott on :
Igor Dimitrijevic on :