PurpleWave

From Liquipedia StarCraft Brood War Wiki
This article is a Bot stub. As such, it is not complete.

You can help Liquipedia by expanding it.

This article was last edited by Quatari on 25-May-2024 08:24 (UTC+0).
[e][h]ProtossTerranZergRandom PurpleWave
Bot Information
Nationality:
Programmer:
Dan Gant
BWAPI Version:
4.4
Language:
Scala
Terrain Analysis:
BWEM
Framework:
JBWAPI
Links

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 3rd CIG 2017 67.29%
2017 2nd AIIDE 2017 82.35%
2018 1st AIST 2018 3-1 v McRave
2018 2nd CIG 2018 82.09%
2018 1st SSCAIT 2018 4-0 v Locutus
2019 1st CIG 2019 88.56%
2019 2nd AIIDE 2019 85.54%
2019 1st SSCAIT 2019 4-0 v BetaStar
2020 2nd AIST 2020 1-3 v Locutus
2020 2nd COG 2020 70.82%
2020 2nd AIIDE 2020 79.44%
2021 2nd AIST 2021 1-3 v Stardust