For those interested in writing their own bots, especially if you want to take more of an approach of scripting build-orders vs. pure machine learning, one of the main frameworks from Starcraft I was adapted to work with this API. It comes built in with some utility stuff like extracting base locations, handling basic combat micro, etc., so you can experiment with more high-level strategy options.
This is cool. I almost think you would need a really high level component that is constantly evaluating a large scale strategy and then executing on it.
On the micro level I think it shouldn’t be too hard to beat a human player as a computer can multitask way better, control each individual unit. But on macro, humans can do really surprising things in this game that if you can’t really scout for.
I would love to hear more about how some of the built in AIs are programmed. I remember one called “green tea” that was really challenging.
You’d be surprised on micro what AI’s do when people throw them curveballs. In one competition, the AI’s based its attack or retreat on a weight of how threatening the attacker was individually or in a group against its units individually or in a group. It did that in a really local way that was per unit or maybe physical area. The human pro recognized this. The player then put it to work by throwing a group against individual units of the enemies that would cause a fleeing action. Did that repeatedly despite the attackers being weak with defenders having significant advantage. Result was defenders’ micro-strategy of fleeing leading them to defeat by the classic Sun Tzu strategy of fragmenting the stronger enemy into weaker pieces that one’s own weak force can destroy fragment by fragment.
Just one weakness due to AI’s mathematical approach to microing that supposedly gives it an advantage over humans. I’ve seen the AI’s pull off amazing feats that humans probably can’t do in general. Just no guarantees it will work when humans are probing its “thinking.”
I see that as a “macro” failure. I.e. if you don’t realize your army is bigger or your unit composition is bad that’s a macro problem. Which is kinda what I was saying before. Attack/retreat should be a macro decision, but when exactly to pull your marine back so their health is exactly 1hp or juggling marines with medivac etc. could be a huge advantage. They just need to get the macro play there (which is also the harder part for a computer).
Well, yeah, it is a macro failure but not to that AI. A lot of the AI’s, due to traditional thinking, have multiple layers each looking at different things. The micro engines are champions at micro battles. So, the thinking is let them decide when to attack or retreat at the unit level unless strategy layer gives them different orders. That usually works better than it did in this case. Where to draw the lines and how each should override the other is an open topic with many combinations to consider.