Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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:

PurpleWave has also ranked #1 on the BASIL, SSCAIT, and SAIL ladders.

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
  • @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

See build instructions in


  • 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 --recursive to 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:
    • cd to the StarCraft directory
    • mkdir -p bwapi-data/AI; mkdir -p bwapi-data/read; mkdir -p bwapi-data/write to create the standard directories for BWAPI bot data
    • Copy PurpleWave.jar to bwapi-data/AI
    • 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!


StarCraft: Brood War AI in Scala





No packages published

Contributors 4



You can’t perform that action at this time.