An extensible AI player for StarCraft: Brood War
PurpleWave is a StarCraft: Brood War AI written in Scala. It can play all races and a large variety of strategies.
PurpleWave has won:
- 1st Place in the 2018 SSCAIT
- 1st Place in the 2018 AIST1
- 2nd Place in the 2017 AIIDE StarCraft AI Competition
- 2nd Place in the 2018 IEEE CIG StarCraft AI Competition
- 3rd Place in the 2017 IEEE CIG StarCraft AI Competition
PurpleWave vs. Iron, AIIDE 2017:
- Nathan Roth (Antiga/Iruian) for strategy advice and consulting -- so much of the polish in PurpleWave's strategies comes from his wisdom and replay analysis
- @jaj22/JohnJ for lots of advice navigating Brood War mechanics
- @IMP42 @AdakiteSystems and @tscmoo for helping me get BWAPI up and running when I was getting started
- @kovarex @heinermann @bgweber @certicky @krasi0 @davechurchill and the Cognition & Intelligence Lab at Sejong University for making Brood War competitions possible in the first place
- @vjurenka for BWMirror, Luke Perkins for BWTA, @CMcCrave for MCRS/Horizon, and @JasperGeurtz for JBWAPI
How to build PurpleWave
- Clone or download this repository (I keep it in c:\p\pw but it should work from anywhere)
- Put bwmirror_v2_5.jar in /lib
- Make a copy of bwmirror_v2_5.jar called bwmirror_v2_5.zip
- From bwmirror_v2_5.zip, extract bwapi_bridge2_5.dll, libgmp-10.dll, and libmpfr-4.dll to /lib
- Open IntelliJ IDEA
- In IntelliJ IDEA: File -> Settings -> Plugins -> Check off Scala
- In IntelliJ IDEA: File -> Open -> Select the PurpleWave directory
- In IntelliJ IDEA: File -> Project Structure -> Select the Java Development Kit directory (like c:\Program Files\Java\jdk\1.8.0_121)
- In IntelliJ IDEA: File -> Project Structure -> Modules -> The green "+" -> Scala -> Create... -> Download... -> 2.12.6... -> OK
- In IntelliJ IDEA: File -> Project Structure -> Modules -> Dependencies -> Under "Export" check both bwmirror_v2_5 and scala-sdk-2.12.6
- In IntelliJ IDEA: Build -> Build Artifacts... -> Build
This will produce PurpleWave.jar. See below for "How to run PurpleWave"
You should find PurpleWave.exe in a directory with several DLLs which it needs to run:
How to run PurpleWave
- From IntelliJ IDEA: Run -> Run 'PurpleWave' or Debug 'PurpleWave'
- As a JAR: java.exe -jar ./out/artifacts/PurpleWave.jar <-- Make sure you use a 32-bit version of java.exe!
Questions and feedback
Say hi! Post an issue here on Github or email dsgant at gmail
PurpleWave is published under the MIT License. I encourage you to use PurpleWave as a starting point for your own creation!