jncraton / BWMetaAI

A StarCraft Brood War AI designed to follow the modern 1v1 metagame
Other
100 stars 12 forks source link

BWMetaAI

build DOI

A Brood War AI designed to follow the modern 1v1 metagame.

Zeal Goon vs Mech

Purpose

This project seeks to create an AI that provides a unique experience in each game while closely mirroring builds and unit compositions used by humans today.

Muta Harass

This provides a much stronger learning experience for new players compared to the Blizzard AI. Players are encouraged to scout, learn what the AI is doing, and adapt instead of turtling up. The AI tends to avoid all-in strategies in favor of economic builds, but it also includes a number of rushes to make scouting and early defense important.

Large bio attack

The included screenshots are from real AI vs AI games to demonstrate the unit compositions used in different matchups.

Installation

You need to overwrite the default scripts that Brood War uses for melee games. This allows you to play in any game mode that supports computer opponents, including multiplayer if you are both properly patched to the same version of BWMetaAI. Here's how to patch Brood War:

StarCraft Remastered Samase Method (version 1.18+)

  1. Get Samase
  2. Get aiscript.bin from BWMetaAI's releases
  3. Make the directory layout like this:
    • StarCraft\x86\StarCraft.exe
    • StarCraft\x86\sesame.exe
    • StarCraft\x86\custom\scripts\aiscript.bin
  4. Make a shortcut to sasame.exe and add custom as a command line parameter.
  5. Run StarCraft using this shortcut

Version 1.16.1 and lower

  1. Browse to your StarCraft folder and make a backup copy of patch_rt.mpq so you can revert to the standard AI.
  2. Download the latest patch_rt.mpq from the releases and save it over your current patch_rt.mpq.
  3. Run StarCraft Brood War and play a non-custom game with an AI opponent. If the AI is running correctly you will receive a message from the AI letting you know it is running.

Build Orders

BWMetaAI includes a number of build orders that have been relatively popular in high level play. Once the initial build is completed, one of several common midgame transitions are used to take the AI into a variety of late game pushes.

Terran

Terran vs Terran

Terran vs Zerg

Terran vs Protoss

Zerg

Zerg vs Terran

Zerg vs Protoss

Zerg vs Zerg

Protoss

Protoss vs Terran

Protoss vs Zerg

Protoss vs Protoss

Late game

Once the AI has many bases and all useful tech, it jumps into a loop of common late game unit compositions.

Terran

Zerg

Protoss

Difficulty

This project doesn't seek to perform especially well against either humans or other AIs. Advanced techniques such as those used in BWAPI are not used. This project only rewrites the internal AI scripts that Brood War uses to decide what to build next and when to attack. This is done primarily to make it very simple to get up and running.

Micro and building placement are still extremely poor. The AI targets most spells poorly, sieges tanks at terrible times, unburrows lurkers to chase things that have gone out of range, wanders around instead of attacking wall-ins, and makes all sorts of other mistakes that good humans would not. Playing against one AI should provide a good learning environment for a newer player. Playing against two or three of these at once can still provide a challenging experience even for decent players.

With all of that in mind, if you find behavior that you think can reasonably be addressed (e.g. you DT rush a computer and it doesn't attempt to build detection), feel free to open an issue.