new bot Dragon
Events in the putative real world are kicking my wimpy butt. It took me until now to store up enough energy to look at the interesting new terran Dragon, said to be a project of Tscmoo the person (Vegard Mella) of the CherryPi team. Its comment says it is a TorchCraft bot like CherryPi.
Dragon’s page on SSCAIT, by the way, shows a flaw in SSCAIT’s Liquipedia linking: There already existed a human player named DragOn, and the page displays information about the person DragOn instead of the bot Dragon. Dragon the bot doesn’t seem to have a Liquipedia page yet. (There may be a connection, though; the games of Dragon the bot often drag on.)
Peering into Dragon’s binary, I can verify that it is a TorchCraft bot. It is packaged quite differently than CherryPi was in its AIIDE appearances: CherryPi appeared as a pile of startup scripts and learning data files and stuff, while Dragon is a single DLL file. The simpler packaging seems easier to deploy, though I imagine that Dragon needs a build process to pack the code and the learning data and whatever else into the DLL file. I speculate that Dragon has a development build to make coding and machine learning easy, and a production build that puts together the DLL. Perhaps CherryPi now does too, though in a quick look at the github repo I didn’t spot any obvious mention.
The idea behind a TorchCraft bot is, of course, to use machine learning for some decisions and code for others. (It’s the same general plan I am following with Steamhammer, except that they have a team and are way ahead of me on both sides.) Since Dragon running on SSCAIT has (last I heard) no GPU available to it, it can’t run very large neural networks. But it should be able to run networks large enough to be quite smart in particular aspects.
Dragon’s BASIL stats are curious. As I write, Dragon is ranked #19 with elo 2257, good but not great. Its win rates by matchup are inconsistent: 55% for TvP, 68% for TvZ, and 89% for TvT—the range is from a bit above average to outstanding. I think most other bots with wide ranges in win rates by matchup are either random, or else the wide range is “achieved” by doing poorly in one matchup (both are true for Randomhammer). Also the win rates by map vary from 50% on Andromeda to 100% on Jade (though with only 7 Jade games). Bots nearby in the rankings are mostly 50-60% on their worst map and 70-80% on their best map, a much narrower range.
Watching games, I see that Dragon has mostly good combat skills, and especially superb wraith micro. That seems natural for a bot related to CherryPi. It tends to pick a good unit mix, and it likes wraiths to make use of its wraith skills. I expect that unit mix decisions are learned. Its building placement skills are above average, but also like CherryPi, not fully convincing. It has good map awareness, but its tactical decisions are nevertheless often questionable. I imagine that tactics are decided by hand-written code rather than by learning. One peculiarity I noticed is that it likes to build bunkers more than it likes to load marines into them; it often loses empty bunkers.
Dragon defeats SAIDA most games, leaning on its wraith micro and coordinating its wraiths and tanks well. It also loses to lower-ranked #39 NLPRBot around half the time. Perhaps Dragon will improve due to opening learning, but it seems that its inconsistent skills extend down to the individual opponent level.
What is the cause of Dragon’s inconsistent skill? A natural guess is that its skills reflect its training. If its TvT training was against SAIDA alone, or perhaps SAIDA and a small number of other terrans, then it makes sense that it could learn to defeat SAIDA. I think that winning against SAIDA should generalize to many other terran opponents, since SAIDA makes few big mistakes, and combat errors that it does make will be hard for lesser terran bots to avoid. If Dragon was trained against weaker opponents in the other matchups, of course its skills should be less. If it’s a personal project rather than a team effort, maybe it did not get enough total training.
Next: RedRum.
Comments
Bytekeeper on :
Although bunkers aren't cheap, if they can make the opponent imagine 4 additional marines - it's worth it. At least if your tactical decision making makes use of them and hides behind them.
Jay Scott on :
MarcoDBAA on :
The wave like (or amoeba like) behaviour seems to be inherited from CherryPi and causes some problems with a slower terran bot.
krasi0 on :
From what I've seen in the past, it's always been characteristic of bots made by tscmoo to be ultimately top bot snipers, i.e. they mostly try to beat the top 1-2 bots on the ladder with some peculiar strategy while being less robust against lower ranked opponents. In this case, both top 2 bots happen to be Terran which to me explains why the author might have focused exclusively on its TvT MU.
Another current example is tscmooZ being at #31 but also having relatively good WR against the top couple of Terrans.
PS do we know for sure that Dragon has utilized / is utilizing any form of ML or is it mostly pure speculation?
Jay Scott on :