humans don’t understand bots
Igor Dimitrijevic’s comment on yesterday’s post reminded me: It’s difficult to understand much of a bot’s behavior by watching it.
Krasi0 is a good example. In the last several months I’ve watched the old veteran bot grow much stronger, returning to the top ranks. I can describe in general terms some things Krasi0 has improved at: It is more aggressive, it is better at protecting its workers from danger, it is smarter about where it sieges its tanks. (It also solved crashing bugs.) But I feel sure that the points that I’ve noticed are only the tip of the iceberg. There must be not only details but whole classes of behaviors that I did not pick up on at all—otherwise it could not have improved so much.
I guess humans don’t have the perceptual bandwidth to take it all in, at least not without the experience or prior knowledge to know what to look for. Starcraft play is too complicated for us to follow! I’m sure I could understand more if I studied replays closely.
I’ll take it as a reminder not to be too glib in drawing conclusions.
Speaking of glib conclusions about bot behavior, MaasCraft looks more interesting when it plays against more interesting opponents. I concluded earlier from watching 2014 replays that it mostly moved its army forward and back along the path between bases. Well, that’s what its opponents were doing too, so it may not have had much choice. Today’s bots try more complicated maneuvers, and today’s MaasCraft reacts with its own more complicated maneuvers. I’ve seen it (seemingly intentionally) split its army to trap stray units, for example. It reacts sensibly to multi-prong attacks.
MaasCraft is still scoring poorly, but now its tactical search is showing sparks of promise—I suspect due to changes in its opponents, not itself. As a reminder, LetaBot has a search descended from the same code, turned off in some versions but likely to be turned on in final versions.
Comments
krasi0 on :
With regards to my bot, you're on the right track. The main improvement I've made recently is to make it more aggressive. When it used to face the first generation of bots years ago, it was advantageous to be on the defensive, but nowadays the top bots tend to contain the opponent and then try to outmacro them, so a change was necessary. The rest is mostly bugfixes of the bot's sometimes erratic behaviour. Hopefully, I will have more time to devote to the AI and start making more substantial improvements in the future.
Keep up the good work with your analysis ;)
Jay Scott on :
Interesting generalization about strategy shifts over the years. There’s a tension between the need to attack so you can win and the fact that, other things being equal, the prepared defender has an advantage. You’re pointing to a step taken in the evolution of strategy: Can’t win safely by just attacking, better build a macro advantage first. I read Krasi0’s answer as: If you press your army forward to stop me from expanding, your forward army is weaker and I’ll break it. Another possible answer is: If you keep your army forward then your bases are weak and I’ll bash them with drops. I want bots to try more answers!
krasi0 on :
If we focus on the purely strategic aspect of when to attack / defend as a Terran which is following my main build order (BO), I believe the golden mean would be something like the following: try to build up a siege tank + anti-air line which would defend the main base, the natural expansion and the closest second expansion. I guess I will have to construct a heat map of some sort (which would be Broodwar map dependent) highlighting hot spots where the enemy is likely to hit in an attempt to deny one of the expansions or in an attempt to stab at the main base from behind. Additionally, the possibility of a mass units (Lurkers, Siege Tanks, etc.) drop at the main base should be anticipated. Then once I build up some confidence in my army numbers, I could march on towards greater map control or go right for the kill depending on the perceived enemy weakness.
Jay Scott on :