Skip to content

Commit

Permalink
v1.2 - submitted to AIIDE 2016
Browse files Browse the repository at this point in the history
  • Loading branch information
chriscoxe committed Nov 5, 2017
1 parent ff6e9e6 commit b622d1a
Show file tree
Hide file tree
Showing 11 changed files with 1,051 additions and 404 deletions.
2 changes: 1 addition & 1 deletion AUTHORS.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ZZZKBot - Authors
=================

Updated: 10th October 2015
Updated: 7th September 2016


Authors:
Expand Down
12 changes: 5 additions & 7 deletions BUGS.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
ZZZKBot - Bugs
==============

Updated: 10th October 2015
Updated: 7th September 2016


I don't know whether I will continue to maintain ZZZKBot. After AIIDE 2015 I
might add it as a project on GitHub, probably:
I don't know whether I will continue to maintain ZZZKBot. The project is on
GitHub, at:
https://github.com/chriscoxe/ZZZKBot

If I create the project, please report bugs and issues there. In the
meantime, e-mail bug reports to: chris (dot) coxe (at) gmail (dot) com.
Regardless, please don't expect a response/fix unless I decide to continue
maintaining ZZZKBot.
Please report bugs and issues there. Please don't expect a response/fix
unless I decide to continue maintaining ZZZKBot.

=============================== End of file ================================
19 changes: 18 additions & 1 deletion CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
ZZZKBot - Changes
=================

Updated: 10th October 2015
Updated: 7th September 2016

Version 1.2: version submitted on 7th September 2016 for the AIIDE 2016
Starcraft AI competition. See file "SCAI2016_ENTRY.txt" for submission
details. The instructions to build and install are the same as AIIDE 2015
except that I inserted this step in INSTALL.txt that I forgot to write in
AIIDE 2015:

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
"Visual C++ Redistributable Packages for Visual Studio 2013" if not already
installed (vcredist_x86.exe (i.e. 32-bit) is only one you need for Windows
XP). Currently it can be downloaded from Microsoft's website at:
https://www.microsoft.com/en-au/download/details.aspx?id=40784


Version 1.1: version submitted on 24th December 2015 for the SSCAIT 2015
Starcraft AI competition.


Version 1.0: version submitted on 10th October 2015 for the AIIDE 2015
Expand Down
11 changes: 9 additions & 2 deletions INSTALL.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ZZZKBot - Install
=================

Updated: 10th October 2015
Updated: 7th September 2016


The following steps are required to build ZZZKBot from source code:
Expand Down Expand Up @@ -77,7 +77,14 @@ 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".

3. Install and run the DLL with BWAPI version 4.1.2 as you would normally do
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
"Visual C++ Redistributable Packages for Visual Studio 2013" if not already
installed (vcredist_x86.exe (i.e. 32-bit) is only one you need for Windows
XP). Currently it can be downloaded from Microsoft's website at:
https://www.microsoft.com/en-au/download/details.aspx?id=40784

4. Install and run the DLL with BWAPI version 4.1.2 as you would normally do
for any other BWAPI AIModule bot, e.g. copy the DLL to the following folder
(create parent folders if necessary):
<Starcraft folder>/bwapi-data/AI/
Expand Down
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: 10th October 2015
Updated: 7th September 2016


Copyright 2015 Chris Coxe. The program is distributed under the terms of the
Copyright 2016 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: 10th October 2015
Updated: 7th September 2016


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

Some things to know about ZZZKBot:
----------------------------------
Expand Down
90 changes: 90 additions & 0 deletions SCAI2016_ENTRY.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
Entry Name : ZZZKBot (don't change the case-sensitivity of these letters and don't shorten 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
Brief Description (AI techniques used, strengths, etc) :

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).

Technical details and instructions:

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++).

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
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
fine on Windows 7 SP1.

License: it is compatible with the GNU public license. The license is contained
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
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.

1. On Windows (preferably Windows 7 SP1), install Microsoft Visual Studio
2013 (preferably Microsoft Visual Studio Express 2013 for Windows Desktop;
note that this is registerware, i.e. it can be downloaded for free from
Microsoft without registering, but after 30 days it will prompt you and
require you to register (free of charge) to be able to continue using it).
If you install the compiler on a different version of Windows than Windows
7 SP1 or if you install a different version of Microsoft Visual Studio than
Microsoft Visual Studio Express 2013 for Windows Desktop then I imagine you
may need to change compiler setting(s) in ZZZKBot.vcxproj to ensure that the
resulting DLL can be run on Windows XP SP3 (e.g. if it turns out that it
doesn't work, perhaps try changing the PlatformToolset option for
'Release|Win32' and 'Debug|Win32' configurations from "v120" to "v120_xp").

3. Install BWAPI 4.1.2 to a path that does not contain spaces.

4. Set the environment variable BWAPI_DIR to the path of where you installed
BWAPI 4.1.2 to. Note: the project does not depend on any other libraries,
does not reference any absolute file paths, and when the bot is run it does
not require any hard-coded file paths (e.g. it doesn't matter what directory
you have installed Starcraft: Broodwar to).

5. In Windows Explorer, double-click the ZZZKBot.vcxproj file.

6. Change the drop-down from "Debug" to "Release".

7. From the menu, select: BUILD -> Build Solution. It should build with no
errors/warnings.

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).

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).
5 changes: 3 additions & 2 deletions THANKS.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ZZZKBot - Thanks
================

Updated: 10th October 2015
Updated: 7th September 2016


This project would not have been possible without the inspiration, prior
Expand All @@ -11,7 +11,8 @@ following people/teams, for which the author(s) are very grateful:
* BWAPI, BWTA, BWSAL, BWMirror, StarcraftTournamentManager project teams.
* BWAPI IRC, forum, Facebook group contributers.
* Organisers/administrators for competitions/tournaments/ladders/servers
such as AIIDE, CIG, SSCAI, and Krasi's ladder.
such as AIIDE, CIG, SSCAI, Krasi's ladder, and Martin Rooijackers'
tournaments.
* Botters/researchers that made their source code & research/papers
available.
* Blizzard, for making it all possible.
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 2015 Chris Coxe.
// Copyright 2016 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 b622d1a

Please sign in to comment.