The Bunker Boxer Bot is an AI which plays starcraft through the BWAPI library.
Starcraft is a classic Real-Time Strategy game developed by Blizzard Entertainment.
Real-Time Strategy (RTS) is a genre of videogames that can be thought of like Chess but in real time (no turns).
RTSes like Starcraft involve building structures, managing an economy, creating an army, and using that army to destroy the army of your opponent.
Starcraft, and many other real-time strategy games, can be thought of as a collection of a dozen or so minigames happening at the same time. This makes it intuitive to divide the AI into different components, each managing its own 'minigame'.
There are three main components (or minigame 'categories') to Starcraft.
- Macro (economy)
- Micro (control)
- Grand Strategy
Macro is the economy portion of the game. There are three main resources in Starcraft - Minerals, Gas, and Supply.
Minerals/Gas are basic resources which are generated by worker units gathering from Mineral fields and Vespene geysers. These resources are required for building buildings and army units.
Supply is a unique resource type which limits the size of one's army. Supply (and army size) can be increased to a maximum of 200 by building certain structures (Supply Depots, Pylons) or units (Overlords).
The efficient management of one's economy is one of the most important aspects of the game, as a more efficient economy means a bigger army.
In Starcraft, this results in several 'minigames':
-
Constant worker production
-
Minimizing worker idle time
-
Ensuring resources are being spent efficiently, rather than being stockpiled
-
Choosing prioritizations for resources
-
Proactively preventing resource "blocking" (for example, building supply depots to increase your maximum army size before your army reaches that size)
Micro is short for "micro-management", and refers to the managing of individual or small groups of units (e.g. a single soldier) to make them more efficient.
An example of professional micro, is anti-lurker micro. Lurkers are a unit which attack in a line, however their attack is not instant. It moves from the lurker to where its target was at the time of attack, damaging things along the way. Thus, if you know the timing of lurker attacks, you can move your unit (in that case, the marine) away at just the right time to dodge it, while other units attack from a different angle.
TBD
SlayerS_BoxeR was one of the first well-known Starcraft pro-gamers. He was a Korean player well known for his aggressive playstyle and flawless micro.
Famously, he often liked to use the "Bunker rush" strategy against his Zerg opponents.
Our Bot will perform a Bunker Rush. This is an all-in strategy designed to win the game within the first 10 minutes. After building a small army of marines, BunkerBoxer will move out with said marines and a group of SCVs (workers) towards the enemy. Upon reaching the enemy base, an SCV will construct a Bunker, a defensive structure which protects any unit occupying it. The idea is that a weak or greedy opponent will not have built enough soldiers to withstand this attack, and will lose before they get a chance to build a strong economy.
TBD
Given that our bot is meant to win (or lose) the game within its early stages, we will not have any kind of complicated multi-base economic management. We need mine only minerals to build SCVs and marines, and we will prioritize marine production once the appropriate marine-producing buildings have been constructed.