Skip to content

Commit

Permalink
v1.4.0 - submitted to CIG 2017
Browse files Browse the repository at this point in the history
  • Loading branch information
chriscoxe committed Nov 5, 2017
1 parent b622d1a commit 9028463
Show file tree
Hide file tree
Showing 10 changed files with 1,003 additions and 343 deletions.
9 changes: 8 additions & 1 deletion CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
ZZZKBot - Changes
=================

Updated: 7th September 2016
Updated: 16th July 2017


Version 1.4.0: version submitted on 16th July 2017 for the CIG 2017
Starcraft AI competition.

Version 1.3: version submitted on 19th December 2016 for the SSCAIT 2016
Starcraft AI competition.

Version 1.2: version submitted on 7th September 2016 for the AIIDE 2016
Starcraft AI competition. See file "SCAI2016_ENTRY.txt" for submission
Expand Down
35 changes: 19 additions & 16 deletions SCAI2016_ENTRY.txt → CIG2017_ENTRY.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
Entry Name : ZZZKBot (don't change the case-sensitivity of these letters and don't shorten it)
Entry Name : ZZZKBot (don't change the case-sensitivity of these letters and don't shorten/rename it)
Contact Person Name (First, Last) : Chris Coxe
Contact Person Email Address: : chris (dot) coxe (at) gmail (dot) com
Affiliation : Independent
Race (in full game) : Zerg
DLL or ProxyBot : DLL
BWAPI Version (3.7.4 or 4.1.2) : 4.1.2
BWAPI Version (3.7.4 or 4.1.2 or 4.2.0) : 4.1.2
Use File I/O : Yes (but only for logging/record-keeping - not for learning)
Brief Description (AI techniques used, strengths, etc) :

A simple throw-away proof-of-concept cheesy kamikaze 4-pool bot implemented in
Expand All @@ -14,10 +15,10 @@ 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).
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).

Technical details and instructions:

Expand All @@ -32,8 +33,8 @@ 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++).

Version: 1.2, i.e. version for the AIIDE 2016 Starcraft AI competition
submitted on 7th September 2016. The DLL file included in the submission was
Version: 1.4.0, i.e. version for the CIG 2017 Starcraft AI competition
submitted on 16th July 2017. The DLL file included in the submission was
compiled on Windows 7 SP1 using Microsoft Visual Studio Express 2013 for
Windows Desktop (in Release mode not Debug mode) and I have tested that the
exact DLL file included in the submission runs fine on Windows XP SP3 and runs
Expand All @@ -45,7 +46,7 @@ in LICENSE.txt.
Instructions to build ZZZKBot from source code:

Note: these instructions have been tailored/condensed specifically for the
AIIDE 2016 Starcraft AI competition submission. If you want more info please
CIG 2017 Starcraft AI competition submission. If you want more info please
see INSTALL.txt for the full generic instructions including how to install it,
but you shouldn't need to read it. It might be helpful if you encounter
problems.
Expand Down Expand Up @@ -76,15 +77,17 @@ you have installed Starcraft: Broodwar to).
6. Change the drop-down from "Debug" to "Release".

7. From the menu, select: BUILD -> Build Solution. It should build with no
errors/warnings.
errors/warnings but may take quite a long time to build (say 15 minutes).

8. A folder ZZZKBot/Release/ should be automatically created when building.
The output is a single DLL file in that folder named ZZZKBot.dll (ZZZKBot is
not comprised of any other/optional files when running it).
not comprised of any other/optional files when running it). Do not rename
the DLL or the player name (should be "ZZZKBot" and do not change the case-
sensitivity).

As mentioned above, 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).
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).
39 changes: 8 additions & 31 deletions INSTALL.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ZZZKBot - Install
=================

Updated: 7th September 2016
Updated: 16th July 2017


The following steps are required to build ZZZKBot from source code:
Expand Down Expand Up @@ -31,7 +31,7 @@ you have installed Starcraft: Broodwar to).
5. Change the drop-down from "Debug" to "Release".

6. From the menu, select: BUILD -> Build Solution. It should build with no
errors/warnings.
errors/warnings but may take quite a long time to build (say 15 minutes).

7. A folder ZZZKBot/Release/ should be automatically created when building.
The output is a single DLL file in that folder named ZZZKBot.dll.
Expand All @@ -50,32 +50,8 @@ Broodwar).

2. The only file required is the DLL named ZZZKBot.dll from the
ZZZKBot/Release/ folder (ZZZKBot is not comprised of any other/optional
files when running it). Rename the DLL if necessary. Some bots including
ZZZKBot tailor their play according to the opponent player name (possibly
combined with the opponent race). ZZZKBot.dll should normally be the bot's
official filename in environments where only the latest version of each bot
are run and bots are updated frequently. Broodwar has a 24 character limit
for the name of a player. To facilitate other bots being able to recognise
ZZZKBot, officially, I suggest to use "ZZZKBot" (do not change the
case-sensitivity of these letters and do not shorten it) as its name in the
game lobby where feasible, or if you want to include the version info in the
filename (which could enable bots to know exactly which version they are
playing against, and detect/distinguish version changes) I would use the
first "-" character to enable bots to separate the name part from the
version part. E.g. for version 1.0 for AIIDE 2015, rename it to
ZZZKBot-1.0.dll or ZZZKBot-AIIDE2015.dll or ZZZKBot-AIIDE15.dll and use
"ZZZKBot-1.0" or "ZZZKBot-AIIDE2015" or "ZZZKBot-AIIDE15" respectively as
its name in the game lobby. If necessary, a different separator such as "_"
could be used instead of "-" in the filename and player name, or omitted
entirely (e.g. "ZZZKBot1.0" or "ZZZKBotAIIDE2015" or "ZZZKBotAIIDE15"),
although this would make it harder for bots to recognise each other. ZZZKBot
does not currently support playing as more than one race, but for bots that
do and if you have different instances according to its race (in the same
environment), or if you want to include the bot's race in the filename and
player name for whatever reason, I would append a separator character then a
code for the race ("Protoss"/"Terran"/"Zerg"/"Random" if it fits, otherwise
"Prot"/"Terr"/"Zerg"/"Rand" if it fits, otherwise "P"/"T"/"Z"/"R"), e.g.
"SomeOtherBot-1.2.3-Prot" or "SomeOtherBot-CIG2017-P".
files when running it). Do not rename the DLL or the player name (should
be "ZZZKBot"). Do not change the case-sensitivity of these letters.

3. If the machine where ZZZKBot will be run does not have Microsoft Visual
Studio 2013 installed, you will need to install the 32-bit variant of the
Expand All @@ -93,8 +69,9 @@ and configure its path via the "ai" setting in:
then run e.g. ChaosLauncher and inject as usual, etc. Notes: currently,
ZZZKBot only properly supports playing as the Zerg race. ZZZKBot does not
require any other DLLs apart from BWAPI 4.1.2 (it does not use BWTA2/BWTA
at all). ZZZKBot itself does not use disk I/O (i.e. has no logic to read or
write files - not even log files). It tailors its behaviour to particular
opponents based on in-game names of the opponent bot(s).
at all). 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).

=============================== End of file ================================
4 changes: 2 additions & 2 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
ZZZKBot - License
=================

Updated: 7th September 2016
Updated: 16th July 2017


Copyright 2016 Chris Coxe. The program is distributed under the terms of the
Copyright 2017 Chris Coxe. The program is distributed under the terms of the
GNU Lesser General Public License (LGPL) version 3.

A copy of the GPL license is provided in file COPYING.txt.
Expand Down
8 changes: 4 additions & 4 deletions README.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
ZZZKBot - ReadMe
================

Updated: 7th September 2016
Updated: 16th July 2017


ZZZKBot is a bot for Starcraft: Broodwar. It uses BWAPI as an API for
interacting with Starcraft: Broodwar. See SCAI2016_ENTRY.txt for more
information about the (1.2) version that was submitted for the AIIDE
2016 competition.
interacting with Starcraft: Broodwar. See CIG2017_ENTRY.txt for more
information about the (1.4.0) version that was submitted for the CIG
2017 competition.

Some things to know about ZZZKBot:
----------------------------------
Expand Down
59 changes: 0 additions & 59 deletions SCAI2015_ENTRY.txt

This file was deleted.

3 changes: 2 additions & 1 deletion THANKS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ This project would not have been possible without the inspiration, prior
work, suggestions, help, bug reports and other contributions from the
following people/teams, for which the author(s) are very grateful:

* BWAPI, BWTA, BWSAL, BWMirror, StarcraftTournamentManager project teams.
* BWAPI, BWTA, BWSAL, BWMirror, StarcraftAITournamentManager, OpenBW
project teams.
* BWAPI IRC, forum, Facebook group contributers.
* Organisers/administrators for competitions/tournaments/ladders/servers
such as AIIDE, CIG, SSCAI, Krasi's ladder, and Martin Rooijackers'
Expand Down
2 changes: 1 addition & 1 deletion ZZZKBot/Source/Dll.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2016 Chris Coxe.
// Copyright 2017 Chris Coxe.
//
// ZZZKBot is distributed under the terms of the GNU Lesser General
// Public License (LGPL) version 3.
Expand Down
Loading

0 comments on commit 9028463

Please sign in to comment.