-
Notifications
You must be signed in to change notification settings - Fork 7
/
AIIDE2017_ENTRY.txt
96 lines (77 loc) · 4.93 KB
/
AIIDE2017_ENTRY.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
ZZZKBot - 2017 AIIDE Starcraft AI Competition Entry
===================================================
Updated: 1st September 2017
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 : 4.2.0
Use File I/O : Yes
Brief Description of Bot / AI Techniques :
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.
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
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 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++), but later upgraded to BWAPI 4.2.0.
Version: 1.5.0, i.e. version for the AIIDE 2017 Starcraft AI competition
submitted on 1st September 2017. The DLL file included in the submission was
compiled on Windows 7 SP1 using Microsoft Visual Studio Community 2017 (in
Release mode not Debug mode) and I have tested that the exact DLL file
included in the submission 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 2017 Starcraft AI competition submission. If you want more info please
see INSTALL.txt for the full generic instructions including how to install
and run it, but you shouldn't need to read it if you are using
StarcraftAITournamentManager. It might be helpful if you encounter problems.
1. On Windows (I used Windows 7 SP1), install Microsoft Visual Studio 2017
(I used Microsoft Visual Studio Community 2017; 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).
2. Install BWAPI 4.2.0 to a path that does not contain spaces.
3. Set the environment variable BWAPI_DIR to the path of where you installed
BWAPI 4.2.0 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 absolute file paths (e.g. it doesn't matter what directory
you have installed Starcraft: Broodwar to).
4. In Windows Explorer, double-click the ZZZKBot.vcxproj file.
5. Change the drop-down from "Debug" to "Release".
6. From the menu, select: Build -> Build Solution. It should build with no
errors/warnings. On my computer it takes less than 15 seconds to build.
7. A folder named "Release" should be automatically created when building.
The output is a single DLL file in that folder named ZZZKBot.dll. ZZZKBot
does not need any other files to run. Do not rename the DLL or the player
name (should be "ZZZKBot"). Do not change the case-sensitivity of these
letters.
As mentioned above, 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).
=============================== End of file ================================