Skip to content
StarCraft: Brood War AI in Scala
Branch: master
Clone or download
Latest commit 8674566 Mar 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
META-INF Removed workspace.xml from the repository. Refactored With/Bot to sim… Apr 4, 2017
install Final CIG submission, with updated documentation about BWMirror and i… Jul 10, 2018
lib Added files required for actually building PurpleWave. Various micro … Mar 25, 2017
src TvZ tweaks Mar 19, 2019
PurpleWave.bat Renamed/cleaned up batch files Aug 29, 2017
build.gradle gradle building Jul 18, 2018
gradlew.bat gradle building Jul 18, 2018


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:

PurpleWave vs. Iron, AIIDE 2017:

PurpleWave vs. Iron, AIIDE 2017


Thanks to:

  • 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

See build instructions in


  • 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
  • From, 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:

  • BWAPI.dll
  • bwapi_bridge2_5.dll
  • libgmp-10.dll
  • libmpfr-4.dll

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!

You can’t perform that action at this time.