Locutus only recorded 8 games. It is configured to retain 200 game records, and I read the source code and verified that Locutus does not intentionally drop game records before the limit of 200. Recording exactly 8 games is the same problem that McRave suffered, and must be due to CIG problems. I don't know what the underlying problem was. My suspicion is that CIG organizers or tournament software may have accidentally or mistakenly cleared learning data for some bots. If that is what happened, and it happened once 8 games before the end of the tournament, it seems likely that it happened more than once. Who knows, though? The error might be somewhere else. Maybe they mistakenly shipped us data from after round 8 instead of round 125—in that case the tournament may have run normally, and only the data about it is wrong.
Locutus has prepared data for some opponents, stored in the AI
directory. When Locutus finds it has no game records for a given opponent, it looks in AI
to see if it has prepared data, and if so, it reads in those game records. At the end of the game, it writes out the prepared game records along with the record for the newly played game, and from then on the prepared records are treated like any others and retained unless and until the 200 record limit is passed.
How many other bots were affected by the 8 game problem?
Here is Locutus’s prepared data. Against some opponents, like McRave, Locutus picks out openings to avoid at first. If other openings don’t win either, I’m sure Locutus will come back and try these anyway. Against others, it picks out winners to try first. For some, it simply provides data. Most but not all of the prepared data is for opponents which were carried over from last year, for which pre-learning is sure to be helpful... if it is done on the same maps.
#3 mcrave
opening | games | wins |
12Nexus5ZealotFECannons | 1 | 0% |
Turtle | 1 | 0% |
2 openings | 2 | 0% |
#6 iron
opening | games | wins |
DTDrop | 14 | 100% |
1 openings | 14 | 100% |
#7 zzzkbot
opening | games | wins |
ForgeExpand5GateGoon | 2 | 100% |
1 openings | 2 | 100% |
#11 ualbertabot
opening | games | wins |
4GateGoon | 1 | 0% |
9-9GateDefensive | 2 | 50% |
ForgeExpand5GateGoon | 15 | 93% |
3 openings | 18 | 83% |
#14 aiur
opening | games | wins |
4GateGoon | 3 | 100% |
9-9GateDefensive | 1 | 100% |
2 openings | 4 | 100% |
#16 ziabot
opening | games | wins |
9-9GateDefensive | 1 | 0% |
ForgeExpand5GateGoon | 1 | 100% |
2 openings | 2 | 50% |
#19 terranuab
opening | games | wins |
DTDrop | 10 | 100% |
1 openings | 10 | 100% |
#21 opprimobot
opening | games | wins |
DTDrop | 11 | 100% |
1 openings | 11 | 100% |
#22 sling
opening | games | wins |
ForgeExpand5GateGoon | 2 | 100% |
1 openings | 2 | 100% |
#23 srbotone
opening | games | wins |
DTDrop | 7 | 100% |
PlasmaProxy2Gate | 1 | 100% |
2 openings | 8 | 100% |
#24 bonjwa
opening | games | wins |
DTDrop | 6 | 100% |
PlasmaProxy2Gate | 1 | 100% |
2 openings | 7 | 100% |
overall
| total | PvT | PvP | PvZ | PvR |
opening | games | wins | games | wins | games | wins | games | wins | games | wins |
12Nexus5ZealotFECannons | 1 | 0% |
| 1 | 0% |
| |
4GateGoon | 4 | 75% |
| 3 | 100% |
| 1 | 0% |
9-9GateDefensive | 4 | 50% |
| 1 | 100% |
1 | 0% |
2 | 50% |
DTDrop | 48 | 100% |
48 | 100% |
| | |
ForgeExpand5GateGoon | 20 | 95% |
| | 5 | 100% |
15 | 93% |
PlasmaProxy2Gate | 2 | 100% |
2 | 100% |
| | |
Turtle | 1 | 0% |
| 1 | 0% |
| |
total | 80 | 92% | 50 | 100% | 6 | 67% | 6 | 83% | 18 | 83% |
openings played | 7 | 2 | 4 | 2 | 3 |
Here is Locutus’s learned data. In every case, the number of games recorded is 8 plus the number of games in the prepared data. With only 8 games there is not much to go on, but the prepared data does seem to have helped Locutus choose successful openings.
#2 purplewave
opening | games | wins |
12Nexus5ZealotFECannons | 1 | 0% |
4GateGoon | 1 | 0% |
9-9GateDefensive | 5 | 80% |
Proxy9-9Gate | 1 | 0% |
4 openings | 8 | 50% |
#3 mcrave
opening | games | wins |
12Nexus5ZealotFECannons | 1 | 0% |
4GateGoon | 3 | 67% |
Proxy9-9Gate | 5 | 100% |
Turtle | 1 | 0% |
4 openings | 10 | 70% |
#4 tscmoo
opening | games | wins |
4GateGoon | 1 | 0% |
9-9GateDefensive | 1 | 0% |
ForgeExpand5GateGoon | 4 | 25% |
Proxy9-9Gate | 2 | 50% |
4 openings | 8 | 25% |
#5 isamind
opening | games | wins |
4GateGoon | 6 | 83% |
9-9GateDefensive | 1 | 100% |
Proxy9-9Gate | 1 | 100% |
3 openings | 8 | 88% |
#6 iron
opening | games | wins |
DTDrop | 22 | 95% |
1 openings | 22 | 95% |
#7 zzzkbot
opening | games | wins |
ForgeExpand5GateGoon | 7 | 86% |
ForgeExpandSpeedlots | 2 | 50% |
Proxy9-9Gate | 1 | 0% |
3 openings | 10 | 70% |
#8 microwave
opening | games | wins |
ForgeExpand5GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#9 letabot
opening | games | wins |
DTDrop | 8 | 88% |
1 openings | 8 | 88% |
#10 megabot
opening | games | wins |
4GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#11 ualbertabot
opening | games | wins |
4GateGoon | 1 | 0% |
9-9GateDefensive | 2 | 50% |
ForgeExpand5GateGoon | 23 | 91% |
3 openings | 26 | 85% |
#12 tyr
opening | games | wins |
4GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#13 ecgberht
opening | games | wins |
DTDrop | 8 | 88% |
1 openings | 8 | 88% |
#14 aiur
opening | games | wins |
12Nexus5ZealotFECannons | 1 | 0% |
2GateDTExpo | 1 | 100% |
4GateGoon | 5 | 80% |
9-9GateDefensive | 1 | 100% |
Proxy9-9Gate | 4 | 75% |
5 openings | 12 | 75% |
#15 titaniron
opening | games | wins |
DTDrop | 8 | 100% |
1 openings | 8 | 100% |
#16 ziabot
opening | games | wins |
9-9GateDefensive | 1 | 0% |
ForgeExpand5GateGoon | 6 | 83% |
ForgeExpandSpeedlots | 2 | 50% |
Proxy9-9Gate | 1 | 100% |
4 openings | 10 | 70% |
#17 steamhammer
opening | games | wins |
ForgeExpand5GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#18 overkill
opening | games | wins |
ForgeExpand5GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#19 terranuab
opening | games | wins |
DTDrop | 18 | 100% |
1 openings | 18 | 100% |
#20 cunybot
opening | games | wins |
ForgeExpand5GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#21 opprimobot
opening | games | wins |
DTDrop | 19 | 100% |
1 openings | 19 | 100% |
#22 sling
opening | games | wins |
ForgeExpand5GateGoon | 10 | 100% |
1 openings | 10 | 100% |
#23 srbotone
opening | games | wins |
DTDrop | 15 | 100% |
PlasmaProxy2Gate | 1 | 100% |
2 openings | 16 | 100% |
#24 bonjwa
opening | games | wins |
DTDrop | 14 | 100% |
PlasmaProxy2Gate | 1 | 100% |
2 openings | 15 | 100% |
#25 stormbreaker
opening | games | wins |
ForgeExpand5GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#26 korean
opening | games | wins |
ForgeExpand5GateGoon | 8 | 100% |
1 openings | 8 | 100% |
#27 salsa
opening | games | wins |
ForgeExpand5GateGoon | 8 | 100% |
1 openings | 8 | 100% |
overall
| total | PvT | PvP | PvZ | PvR |
opening | games | wins | games | wins | games | wins | games | wins | games | wins |
12Nexus5ZealotFECannons | 3 | 0% |
| 3 | 0% |
| |
2GateDTExpo | 1 | 100% |
| 1 | 100% |
| |
4GateGoon | 33 | 82% |
| 31 | 87% |
| 2 | 0% |
9-9GateDefensive | 11 | 64% |
| 7 | 86% |
1 | 0% |
3 | 33% |
DTDrop | 112 | 97% |
112 | 97% |
| | |
ForgeExpand5GateGoon | 106 | 93% |
| | 79 | 97% |
27 | 81% |
ForgeExpandSpeedlots | 4 | 50% |
| | 4 | 50% |
|
PlasmaProxy2Gate | 2 | 100% |
2 | 100% |
| | |
Proxy9-9Gate | 15 | 73% |
| 11 | 82% |
2 | 50% |
2 | 50% |
Turtle | 1 | 0% |
| 1 | 0% |
| |
total | 288 | 90% | 114 | 97% | 54 | 80% | 86 | 93% | 34 | 71% |
openings played | 10 | 2 | 6 | 4 | 4 |
Comments
McRave on :
Bruce did some local testing after AIIDE submissions and found that McRave wins about 40-50% of the time (we alternate builds that counter each other at some point). Coming into AIIDE I knew that his 4 gate gas steal was a problem for me, which was 1 of the 2 builds he chose (other was a fast DT rush while blocking scouting).