A tournament-winning AI player of StarCraft: Brood War
PurpleWave is a StarCraft: Brood War AI written in Scala. It can play all three races and a large variety of professional-style strategies.
PurpleWave has won:
🏆1st Place in the 2019-20 SSCAIT 🏆1st Place in the 2019 IEEE CoG StarCraft AI Competition 🏆1st Place in the 2018-19 SSCAIT 🏆1st Place in the 2018 AIST1 🥈2nd Place in the 2020 AIST3 🥈2nd Place in the 2019 AIIDE StarCraft AI Competition 🥈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 has also ranked #1 on the BASIL, SSCAIT, and SAIL ladders.
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
- @davechurchill @certicky @krasi0 @Bytekeeper @bgweber Nathan Roth and the Cognition & Intelligence Lab at Sejong University for hosting Brood War competitions
- @kovarex and @heinermann for BWAPI, @JasperGeurtz @Bytekeeper and @N00byEdge for JBWAPI, @vjurenka for BWMirror, @tscmoo for OpenBW, Luke Perkins for BWTA, and @CMcCrave for MCRS/Horizon
How to build PurpleWave
- Clone or download this repository (I keep it in c:\p\pw but it should work from anywhere)
- If you cloned the repository
git submodule sync; git submodule update --init --recursiveto clone JBWAPI
- 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 scala-sdk-2.12.6
- In IntelliJ IDEA: Build -> Build Artifacts... -> Build
This will produce PurpleWave.jar. See below for "How to run PurpleWave"
How to run PurpleWave
- From IntelliJ IDEA: Run -> Run 'PurpleWave' or Debug 'PurpleWave'
- As a JAR:
cdto the StarCraft directory
mkdir -p bwapi-data/AI; mkdir -p bwapi-data/read; mkdir -p bwapi-data/writeto create the standard directories for BWAPI bot data
- Copy PurpleWave.jar to
java.exe -jar bwapi-data/AI/PurpleWave.jar<-- Run this from the StarCraft directory
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!