PurpleWave

From Liquipedia StarCraft Brood War Wiki
This article is a Bot stub. You can help Liquipedia by expanding it.
[e][h]Random PurpleWave
Bot Information
Programmer:
Dan Gant
BWAPI Version:
4.4
Language:
Scala
Terrain Analysis:
BWEM
Framework:
JBWAPI
Country:
Race:
Links
Website

PurpleWave is a StarCraft AI, written by Dan Gant.

Strategies[edit]

PurpleWave executes a large variety of pro-style strategies. It detects enemy strategies based either on direct observation or process of elimination, tracks known enemy tendencies across games, and uses the two sources of information to modify its own strategies on the fly with hundreds of reactions.

Facts[edit]

  • Written from scratch
  • Plays as all races ("PurpleWave" as Protoss, "PurpleSpirit" as Terran, "PurpleSwarm" as Zerg, and "PurpleDestiny" as Random), with an emphasis on Protoss.

AI techniques[edit]

PurpleWave's macro decisionmaking uses simple hierarchical task networks. A simple task might be "Train a Probe", which may be a step required to fulfill the task "Train Probes continuously until saturation". The tasks strictly order their children, leading to a strict priority ordering for the entire network. This prioritization is used to allocate resources like minerals, gas, supply, units, and building locations. For example, "Scout" may have a higher priority than "Gather" and can thus can requisition a gathering worker to go scouting.

PurpleWave's micromanagement uses a hybrid squad/multi-agent approach. Units are given goals by the tasks which have acquired them. It identifies battles using fixed-radius nearest neighbors clustering, and assigns the participants to an ad-hoc squad. That allows units with different goals to collaborate when they find themselves in the same engagement. Using those ad-hoc squads, PurpleWave then simulates the outcomes of that battle, the results of which inform decisionmaking by each unit's agent. The same estimations, made at a global level, are also used to inform macro decisions.

For navigation, PurpleWave combines threat-aware A* pathfinding with potential fields.

Achievements[edit]

In Tournaments
Date Place Event Result
2017 A33rd CIG 2017 67.29%
2017 A22nd AIIDE 2017 82.35%
2018 A11st AIST 2018 3-1 v McRave
2018 A22nd CIG 2018 82.09%
2018 A11st SSCAIT 2018 4-0 v Locutus
2019 A11st CIG 2019 88.56%
2019 A22nd AIIDE 2019 85.54%
2019 A11st SSCAIT 2019 4-0 v BetaStar
2020 A22nd AIST 2020 1-3 v Locutus
2020 A22nd COG 2020 70.82%
2020 A22nd AIIDE 2020 79.44%
2021 A22nd AIST 2021 1-3 v Stardust