-
Notifications
You must be signed in to change notification settings - Fork 271
/
README
88 lines (68 loc) · 4.24 KB
/
README
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
--------------------
| BWAPI 4.0.1 Beta |
--------------------
The BWAPI web site http://code.google.com/p/bwapi/
Documentation http://code.google.com/p/bwapi/wiki/BWAPIManual
Blog http://bwapi.blogspot.com/
Google Group http://groups.google.com/group/bwapi
Forums http://www.broodwarai.com/forums/
Bug Reports http://code.google.com/p/bwapi/issues/list
IRC Channel Freenode #BWAPI
1. Introduction to BWAPI
------------------------
The Brood War Application Programming Interface (BWAPI) is a free and open
source C++ framework that is used to interact with the popular Real Time Strategy
(RTS) game Starcraft: Broodwar. Using BWAPI, students, researchers, and hobbyists
can create Artificial Intelligence (AI) agents that play the game.
The installer contains all the necessary include files, libs, and dlls
required to compile and run an AI module and also comes with four projects
to help get you started in AI development with BWAPI:
- Example AI Module - This project shows how to build an AI module DLL which
is the standard way of making autonomous agents with
BWAPI. The Example AI Module shows how to print
"Hello world!" along with a bit of example code that
shows how to read information about the units in the
game.
- Example AI Client - This project shows how to build an AI client program,
which is an experimental new way of making AIs for
BWAPI. Like the Example AI Module project, this
project shows how to print "Hello world!" along with a
bit of example code that shows how to read information
about the units in the game.
- AI Module Loader - This project is a very simple AI client program which
can load and run Example AI Module DLLs, essentially
a way of making your AI Module run in a seperate
process without actually converting it to a client
program.
- Example Tournament Module - This project shows how to build a tournament module which
can manage tournaments by limiting what the AI module can
do and control the flow of the game without altering the
AI module itself. The tournament module is only available
in RELEASE mode.
Build Instructions:
1. Run the installer and go to the installation directory.
2. Open ExampleProjects.sln in Visual C++ 2010 Express and build the solution.
All projects should now be built and can be found in the solution directory's Release or
Debug subdirectories. Make sure to run the corresponding version of BWAPI and set the
proper settings for Release and Debug binaries.
To run the Example AI Module:
1. Open <starcraft folder>/bwapi-data/bwapi.ini and set ai to
the path to your newly built ExampleAIModule.dll.
2. Run Chaoslauncher with BWAPI Injector checked.
3. Start Starcraft: Broodwar and create a match.
Note: With BWAPI you can switch to windowed mode using the shortcut ALT+ENTER.
To run the Example AI Client:
1. Open <starcraft folder>/bwapi-data/bwapi.ini and comment out the ai field with a semicolon.
2. Run Release/ExampleAIClient.exe
3. Run Chaoslauncher with BWAPI Injector checked.
4. Start Starcraft: Broodwar and create a match.
2. Bug Reports
--------------
BWAPI is not perfect. As you write custom AI modules using BWAPI you may run
into bugs or other problems. We cannot find all the bugs on our own so your
feedback is invaluable and can be very helpful for improving BWAPI. When you
find a bug, please contact us on the IRC or file an issue at
http://code.google.com/p/bwapi/issues/list
Additionally, if the program experienced an exception, then a log will be created in
<starcraft folder>/Errors/
which may be useful.