Skip to content

Releases: chriscoxe/ZZZKBot

ZZZKBot v1.7.0

07 Nov 18:57
Compare
Choose a tag to compare

Pasted from CHANGES.md:

Version uploaded to SSCAIT bot name "Chris Coxe" on 7th November 2017, solely because some people wanted a more up-to-date version of ZZZKBot on SSCAIT that works on any map and works when playing as any player name. I am not intending to support/maintain/develop ZZZKBot in future and am not intending to compete in SCAIT 2017, although I haven't ruled either of them out either. This is just a release to allow people to more easily train their bots against ZZZKBot on their own environments and on SSCAIT/CIG/other maps. It is not as strong as the AIIDE 2017 or CIG 2017 versions of ZZZKBot
because the hardcoded default strategy parameter values for opponents were removed in v1.6.0. If it is used in SSCAIT 2017 or other future competitions, I doubt it will do very well because of that, and also because so few games are played in SSCAIT compared with AIIDE/CIG, so it doesn't have much opportunity to learn before or during SSCAIT 2017.

The changes in this version are that it is now fixed so it works properly on any map and when playing as any player name (thanks Jaj22!), added hardcoded creep locations for SSCAIT & CIG maps, added special logic and fixes for Plasma map (was included in CIG 2017 version), added ability to use an optional config file to tailor strategy parameter values to opponents (the file shouldn't exist by default), fixes/improvements to the buggy learning logic that was causing it to learn unnecessarily slowly, fixed a problem relating to the learning logic where the bot was getting stuck waiting forever for a sunken to be made when particular combinations of strategy parameter values were being used, minor updates to TXT file documentation (including adding old competition survey answers), converted some TXT files to MD files, added comments for map names and versions etc (incl. AIIDE, SSCAIT, CIG maps) for clarity, added some comments to explain some logic, added some old commented-out code just FTR.

ZZZKBot v1.5.0 (used in AIIDE 2017)

05 Nov 17:51
Compare
Choose a tag to compare

The exact archive file (ZZZKBot-1.5.0.zip) that I submitted to the AIIDE 2017 Starcraft AI Competition on 1st September 2017. It won 1st place by achieving first rank out of twenty eight in the competition (http://www.starcraftaicompetition.com) which is run annually and presented annually at the Artificial Intelligence and Interactive Digital Entertainment (AIIDE) Conference. Contains source code and the DLL that I compiled (note: I expect that the AIIDE organizers later compiled their own DLL themselves). To get started, see the AIIDE2017_ENTRY.txt file within the ZIP file, but here are some summary excerpts from that file:

ZZZKBot runs using BWAPI version 4.2.0, and is only supposed to play as Zerg in the AIIDE 2017 Starcraft AI competition. It does not use any 3rd-party libraries such as BWTA2/BWTA/BWEM at all. ZZZKBot uses disk I/O (i.e. has logic to use the "bwapi-data/read" and "bwapi-data/write" folders). It tailors its behavior to particular opponents based on in-game player names of the opponent bot(s).

A simple throw-away proof-of-concept cheesy kamikaze 4-pool bot implemented in a short amount of time to reach low-hanging fruit. Effective against many bots that do not have a solid opening economy/defence. Has some simple logic for scouting, targeting and resource-gathering. Apart from targeting its micro is very limited. Stays at 9 or 10 supply for several minutes of in-game time then techs straight to mutalisks or guardians (on only 1 base... soon runs out of gas...) in an attempt to finish off static defences of idle opponents, and mutalisks in an attempt to destroy lifted buildings. Uses speedling or muta rush or hydra rush build against some opponents. Uses file I/O to learn which types of rush are most effective against each opponent. Doesn't do much else.

Originally implemented in a quick and dirty fashion so releases would be ready for the CIG & AIIDE 2015 Starcraft AI competitions. If you want to examine/use the source code, be warned that the source code is messy, full of kludges, undocumented, has undocumented limitations/gotchas, and lacks hardly any good architecture/abstraction/encapsulation (e.g. the logic is almost all in one method (onFrame()) and uses static variables, and significant duplication of source code) because it was written in a rush (I was expecting to throw it away if it didn't do well in CIG 2015) and I haven't focused on cleaning it up or rewriting it properly. I used BWAPI version 4.1.2's ExampleAIModule project as the source code starting point (i.e. C++), but later upgraded to BWAPI 4.2.0.

License: GNU Lesser General Public License (LGPL) version 3. It is compatible with the GNU public license.

To see a summary of changes for each version, see CHANGES.txt and the answer to question "If you competed in previous tournaments, what did you change for this year's entry?" in competition_survey_AIIDE_2017_ZZZKBot.txt.

ZZZKBot v1.4.0 (used in CIG 2017)

05 Nov 17:33
Compare
Choose a tag to compare

The exact archive file (ZZZKBot-1.4.0.zip) that I submitted to the CIG 2017 Starcraft AI
Competition on 16th July 2017. It won 1st place (but not eligible for the USD 500 prize because not a student/young professional) by achieving first rank out of twenty in the competition (https://cilab.sejong.ac.kr/sc_competition/) which is run annually and presented annually at the IEEE Conference on Computational Intelligence and Games (IEEE CIG). Contains source code and the DLL that I compiled (note: I expect that the CIG organizers later compiled their own DLL themselves). To get started, see the CIG2017_ENTRY.txt file within the ZIP file, but here are some summary excerpts from that file:

ZZZKBot runs using BWAPI version 4.1.2, and is only supposed to play as Zerg in the CIG 2017 Starcraft AI competition. It does not use BWTA2/BWTA. ZZZKBot uses disk I/O (i.e. has logic to read and write files) but currently only uses them for logging/record-keeping purposes - it does not currently use them for any learning logic. It tailors its behaviour to particular opponents based on in-game names of the opponent bot(s).

A simple throw-away proof-of-concept cheesy kamikaze 4-pool bot implemented in a short amount of time to reach low-hanging fruit. Effective against many bots that do not have a solid opening economy/defence. Has some simple logic for scouting, targeting and resource-gathering. Apart from targeting its micro is very limited. Stays at 9 or 10 supply for several minutes of in-game time then techs straight to mutalisks or guardians (on only 1 base... soon runs out of gas...) in an attempt to finish off static defences of idle opponents, and mutalisks in an attempt to destroy lifted buildings. Uses speedling or muta rush build against some opponents. Doesn't do much else. ZZZKBot is an improved and heavily refactored version of ZZZBot (ZZZBot won first rank in the CIG 2015 Starcraft AI competition).

Originally implemented in a quick and dirty fashion so releases would be ready for the CIG & AIIDE 2015 Starcraft AI competitions. If you want to examine/use the source code, be warned that the source code is messy, full of kludges, undocumented, has undocumented limitations/gotchas, and lacks hardly any good architecture/abstraction/encapsulation (e.g. the logic is all in one method (onFrame()) and uses static variables, and significant duplication of source code) because it was written in a rush (I was expecting to throw it away if it didn't do well in CIG 2015) and I haven't focused on cleaning it up or rewriting it properly. I used BWAPI version 4.1.2's ExampleAIModule project as the source code starting point (i.e. C++).

License: GNU Lesser General Public License (LGPL) version 3. It is compatible with the GNU public license.

To see a summary of changes for each version, see CHANGES.txt and the answer to question "If you competed in previous tournaments, what did you change for this year's entry?" in competition_survey_CIG_2017_ZZZKBot.txt.

ZZZKBot v1.2 (used in AIIDE 2016)

05 Nov 16:44
Compare
Choose a tag to compare

The exact archive file (ZZZKBot-1.2.zip) that I submitted to the AIIDE 2016 Starcraft AI Competition on 7th September 2016. It won 2nd place by achieving second rank out of twenty one in the competition (http://www.starcraftaicompetition.com) which is run annually and presented annually at the Artificial Intelligence and Interactive Digital Entertainment (AIIDE) Conference. Contains source code and the DLL that I compiled (note: I expect that the AIIDE organizers later compiled their own DLL themselves). To get started, see the SCAI2016_ENTRY.txt file within the ZIP file, but here are some summary excerpts from that file:

ZZZKBot runs using BWAPI version 4.1.2, and is only supposed to play as Zerg in the AIIDE 2016 Starcraft AI competition. It does not use BWTA2/BWTA. ZZZKBot itself does not use disk I/O (i.e. has no logic to read or write files - not even log files), apart from any logic already built into BWAPI (if any). It tailors its behaviour to particular opponents based on in-game player names of the opponent bot(s).

A simple throw-away proof-of-concept cheesy kamikaze 4-pool bot implemented in a short amount of time to reach low-hanging fruit. Effective against many bots that do not have a solid opening economy/defence. Has some simple logic for scouting, targeting and resource-gathering. Apart from targeting its micro is very limited. Stays at 9 or 10 supply for several minutes of in-game time then techs straight to mutalisks or guardians (on only 1 base... soon runs out of gas...) in an attempt to finish off static defences of idle opponents, and mutalisks in an attempt to destroy lifted buildings. Uses speedling build against some opponents. Doesn't do much else. ZZZKBot is an improved and heavily refactored version of ZZZBot (ZZZBot won first rank in the CIG 2015 Starcraft AI competition).

Originally implemented in a quick and dirty fashion so releases would be ready for the CIG & AIIDE 2015 Starcraft AI competitions. If you want to examine/use the source code, be warned that the source code is messy, full of kludges, undocumented, has undocumented limitations/gotchas, and lacks hardly any good architecture/abstraction/encapsulation (e.g. the logic is all in one method (onFrame()) and uses static variables, and significant duplication of source code) because it was written in a rush (I was expecting to throw it away if it didn't do well in CIG 2015) and I haven't focussed on cleaning it up or rewriting it properly. I used BWAPI version 4.1.2's ExampleAIModule project as the source code starting point (i.e. C++).

License: GNU Lesser General Public License (LGPL) version 3. It is compatible with the GNU public license.

To see a summary of changes for each version, see CHANGES.txt.

ZZZKBot v1.0 (used in AIIDE 2015 & CIG 2016)

09 Nov 19:59
Compare
Choose a tag to compare

The exact archive file (ZZZKBot-1.0.7z) that I submitted to the AIIDE 2015 Starcraft AI Competition on 10th October 2015. It won 2nd place (also officially announced as a statistical tie with 1st place) by achieving second rank out of twenty two in the competition (http://www.starcraftaicompetition.com) which is run annually and presented annually at the Artificial Intelligence and Interactive Digital Entertainment (AIIDE) Conference. Contains source code and the DLL that I compiled (note: I expect that the AIIDE organizers later compiled their own DLL themselves). This version was also used in the CIG 2016 Starcraft AI Competition where it achieved fourth out of sixteen in the competition (https://sites.google.com/site/starcraftaic/result) which is run annually and presented annually at the IEEE Conference on Computational Intelligence and Games (IEEE CIG). To get started, see the SCAI2015_ENTRY.txt file within the ZIP file, but here are some summary excerpts from that file:

ZZZKBot runs using BWAPI version 4.1.2, and is only supposed to play as Zerg in the AIIDE 2015 Starcraft AI competition. It does not use BWTA2/BWTA. ZZZKBot itself does not use disk I/O (i.e. has no logic to read or write files - not even log files), apart from any logic already built into BWAPI (if any). It tailors its behaviour to particular opponents based on in-game names of the opponent bot(s).

A simple throw-away proof-of-concept cheesy kamikaze 4-pool bot implemented in a short amount of time to reach low-hanging fruit. Effective against many bots that do not have a solid opening economy/defence. Has some simple logic for scouting, targeting and resource-gathering. Apart from targeting its micro is very limited. Stays at 9 or 10 supply until about 15 minutes in-game time then techs straight to guardians (on only 1 base... soon runs out of gas...) in an attempt to finish off static defences of idle opponents, and mutalisks in an attempt to destroy lifted buildings. Uses speedling build against some opponents. Doesn't do much else. ZZZKBot is an improved and heavily refactored version of ZZZBot (ZZZBot won first rank in the CIG 2015 Starcraft AI competition).

Implemented in a quick and dirty fashion so releases would be ready for the CIG & AIIDE 2015 Starcraft AI competitions. If you want to examine/use the source code, be warned that the source code is messy, hacky, undocumented, has undocumented limitations/gotchas, and lacks hardly any good architecture/abstraction/encapsulation (e.g. the logic is all in one method (onFrame()) and uses static variables, and significant duplication of source code) because it was written in a rush (I was expecting to throw it away if it didn't do well in CIG 2015) and I haven't focussed on cleaning it up / rewriting it properly. I used BWAPI version 4.1.2's ExampleAIModule project as the source code starting point (i.e. C++).

License: GNU Lesser General Public License (LGPL) version 3. It is compatible with the GNU public license.

To see a summary of changes for each version, see CHANGES.txt and the answer to question "If you competed in previous tournaments, what did you change for this year's entry?" in competition_survey_AIIDE_2015_ZZZKBot.txt.