PurpleWave

StarCraft AI Bot Profile
SSCAIT Description:Built with love. https://github.com/dgant/PurpleWave BASIL:PUBLISH-READ
Bot type:JAVA_MIRROR
ELO rating:2970
ICCUP formula:
SSCAIT rank:
Wins:1696
Losses:976
Draws:1528
Total Win Rate: 0.40380952380952
Achievements:Come Get Some. vs Protoss 500. vs Zerg 500. vs Terran 500. Godlike. Winning Streak 10. vs Zerg 200. vs Protoss 200. vs Terran 200. Let's Rock. Veteran. vs Zerg 50. vs Protoss 50. vs Terran 50. Piece of Cake. Cheese!. Winning Streak 5. Experienced. Winning Streak 3. Equal opportunity ass kicker.
The following section of content from Liquipedia is displayed from cache, which might be up to 1 week old, and is licensed using the CC-BY-SA 3.0 license.

You can help Liquipedia by expanding it.

[e][h]ProtossTerranZergRandom PurpleWave
Bot Information
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

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

  • 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

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

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
Monthy win rate of PurpleWave over last 3 years compared to 4 bots with best ELO.
Months when bots played less than 30 games are not displayed.
Win rate of PurpleWave against all the opponents with at least 50 mutual games.
Last updated:2024-10-16 15:32:59
Download bot binary:binary
Download bwapi.dll:bwapi.dll