AILien

AILien is a Zerg bot that came to the ladder shortly after the end of the 2016-2017 SSCAIT tournament finals, and slotted into a pretty respectable position at a winrate of about 60%. Its Elo rating is 2152 as of the time of writing.

Its author, Xilmi, is often on the chat on the SSCAIT twitch channel, so you can probably ask there if you want to know about the bot – if Xilmi’s not there, someone who’s talked to them about AILien probably is.

AILien’s play is macro-heavy in a way that resembles Aurelian Lermant’s Garmbot, but takes expansions in more sensible positions and micros units in groups rather than simply rallying them into the enemy base.

Strategy:
The opening is fairly standard, with some ling aggression followed up by expansion and a transition into hydralisks, lurkers and ultralisks. While easily countered by certain builds, it holds up well against most midgame aggression, and can often win with a counter-attack.

The play is unusually defensive for a zerg, but unlike other zergs on the SSCAIT which play defensively, it expands and techs up. It will build one or two sunkens at each base, and generally stay at or near its own base other than with the until it gets the hydralisk speed upgrade.

The build falls off in the last game, mainly because it lacks defilers for dark swarm. Adding them seems like it could give a significant boost to this bot, especially against strong late-game Terrans like Letabot and Iron.

Macro:
AILien’s macro varies from game to game, but is usually very strong. It can couple its fast but cautious expansion with lots of macro hatches to ensure that it doesn’t float more than a few hundred resources. However if AILien prevented from expanding, its production of macro hatcheries seems to stop. This may not be a terrible idea as fewer bases means resource income is lower, so fewer macro hatcheries are needed, but the level of compensation isn’t perfect.

When it does manage to expand and build macro hatcheries the number of units AILien has at a time often seems lower than would be expected. I think that this is because it doesn’t always have enough workers, possibly because it spends more of them on buildings than most other zergs.

Micro:
The zergling micro is very weak against ranged units, and they often just stand still or run back and forth while being shot at and don’t do any damage.

Like several other bots, the army tends to string out when it’s being sent across the map, which makes the units vulnerable to flanking and makes the army as a whole much weaker at the start of a fight when attacking. The generally defensive strategy minimises the damage this causes, and it happens to a far lesser extent than in some other bots, but it does still have a negative effect on AILien’s ability to attack effectively.

Aside from that, however, the army and unit control is good, especially with lurkers. The lack of defilers does hurt this, but it’s still usually good enough to break bots that don’t have a lot of tanks or dragoons in a defensive position.

Hydralisks are also able to kite well – presumably part of the reason why it waits for the speed upgrade is so it can make proper use of this.

If you’ve got any of your own ideas or comments about this bot, feel free to post them below. If you’ve got any questions about this bot, I’ll try my best to answer them (though it’s likely I’ll have no idea what the answer is). If Xilmi comes around here, hi, I hope that my comments are helpful, or at least interesting.

Advertisements

Bereaver

We go from one of the weakest bots in the SSCAIT to one of the strongest. Bereaver has by far the most impressive rise to power of any bot, having shot to the top position of the SSCAIT ladder within days of its first game on the 30th of September 2016.

Bereaver’s name seems rather appropriate. It certainly caused significant bereavement as it took the top ladder positions away from the likes of Krasi0 and Iron, and the name also acts as a pun of one of Bereaver’s best used units: the reaver.

Bereaver’s play in many ways resembles that of ZerGreen bot, which was added to the SSCAI ladder only a week before, but with stronger macro, and much better micro of gateway units (and unfortunately no funny BM).

As of the time of writing, Bereaver is in second place in the SSCAIT round-robin, just behind Letabot (Martin Rooijackers).

Strategy:
Bereaver is a strategically very versatile and adaptable bot. It typically begins with a few zealots, then transitions into dragoons as quickly as possible, then builds reavers and high templar when it is safe for it to do so. It buys upgrades such as dragoon range and attack at generally sensible times. For very late game (usually when it maxes out) it transitions into carriers.

Against rush bots, such as ZZZKbot, Bereaver pulls 6 probes to its ramp to block it. While the timing of this pull is often a little off on certain maps, leading to unnecessarily lost mining time, the probes are usually enough to fend off early zerglings, workers and/or zealots until it makes enough units of its own.

This behaviour is determined by scouting information, rather than hard-coded counters for specific opponents, which has both advantages and disadvantages. It means that bots which are altered to play new builds against certain opponents can still be countered, but it means that Bereaver can make strategic errors if its scouting is denied, as Jay Scott reported on his blog that his own bot (Steamhammer) was able to do. Using heuristic based counters rather than hard-coded counters are also often more useful from an AI research perspective, as discussed in one of my other posts.

Macro:
Bereaver is able to take additional bases, and usually builds photon cannons to help defend them. Its playstyle generally seems to be very defensive when it comes to macro, and it often waits a little too long before taking additional bases, but rarely has problems with getting the bases down, and loses them even more rarely.

Its spending of resources seems slightly weaker than that of most other strong bots, and it will occasionally float a few thousand minerals while still not maxed out. Building additional gateways or robotics facilities and pylons, or simply taking expansions sooner when this happens could help turn this already very powerful bot into an unstoppable one.

Taking bases when it’s not necessarily safe to do so is a risk, but not a significant one when you’ve got minerals to spare – the worst result is effectively equivalent to losing a probe, as the minerals wouldn’t be of more use stagnating for several minutes in Bereaver’s bank than they would going into a building that gets destroyed. On the other hand, the potential benefit of securing another base is significant, as it provides map control, and (in most cases) an extra source of vespene gas, which could help balance the mineral-heavy economy. Cannons, army positioning, or just retreating the probes back to the mineral line of another base would help prevent probe losses, should a risky expansion be attacked after probes have been transferred – anyway, when floating minerals and with 3-4 saturated bases, losing 1 mineral line isn’t the biggest loss. The macro is by no means weak, but it is probably the weakest of Bereaver’s attributes.

Micro:
Bereaver’s dragoon micro is very strong. Unlike most other protoss bots, it tends to split up its dragoons when they are approached by enemies and have them all kite separately. This spreading makes it extremely difficult for melee or short-ranged units to chase down more than one or two dragoons at a time, prevents the dragoons taking splash damage from tanks and reavers, and means that dragoons with full shields can tank for ones which have taken damage. When there are no enemy units present, the dragoons move together in a group to ensure that they have strength in numbers when they next encounter a threat.

Reavers, as previously mentioned, are also well used. Scarabs are intelligently targeted into groups of units to maximise damage, and the shuttle drop micro is also very effective. Shuttle positioning still needs a little work, as they will often be moved over marines or other anti-air units and shot down, especially while defending, but the drops and pickups themselves are pretty much frame-perfect (though this isn’t really that difficult for an AI).

Most other units are also well used. Storm targeting is quite good, as is zealot positioning, but these are less significant as templar and zealots aren’t usually built in large numbers. I’ve not seen much stargate play from Bereaver other than an occasional corsair used for scouting, so unfortunately I can’t really comment on that.

If you’ve got any of your own ideas or comments about this bot, feel free to post them below. If you’ve got any questions about this bot, I’ll try my best to answer them (though it’s likely I’ll have no idea what the answer is). If Damir Akhmetzyanov comes around here, hi, I hope that my comments are helpful, or at least interesting.

Sungguk Cha

Sungguk Cha is currently one of the weakest bots on the SSCAIT ladder in terms of results, but its play is far more complex than what one might expect. It loses around 4/5 of its games, but its strategy strongly resembles that of bots like Iron which win around 4/5 of their games.

I thought that a bot that on paper looks very strong but underperforms would be a good place to start on my reviews of bots, as it gives me a lot to talk about.

Strategy:
The bot’s strongest asset. It begins with bio, then transitions into mech, with a huge number of vultures backed up with tanks, then builds wraiths. I’ve never seen it, but I wouldn’t be surprised if it’s also able to build battlecruisers and/or science vessels if it can get far enough into its build order. The build strongly reminds me of Iron, Tscmoo and Tyr’s builds from around Spring 2016, when they were the strongest Terrans on the SSCAIT ladder.

Macro:
Surprisingly for such a weak bot, Sungguk Cha is good at taking expansions at sensible times, and also seems reasonably good at keeping map control to defend them. Even some of the strongest bots (Krasi0, for example) have had problems with taking third bases (admittedly against far stronger opponents than those that Sungguk Cha is able to beat).

However, something that I’ve noticed is common in bots that underperform, includng Cha, is excessive gas harvesting. I’ve seen this bot float over 10,000 gas, while still struggling to mine enough minerals. From what I saw of the bot’s base, its saturation of its mineral lines seems sensible (it uses a few too many SCVs on minerals, if anything), but there seem to be problems with pathing and/or distribution of SCVs between mineral patches.

The strategy is certainly very good, but it does seem a little too vulture-heavy, and a shift to include more tanks or get Starport tech out sooner would help to balance the economy and make the army stronger. Just moving SCVs from gas to new mineral lines when there’s a big surplus of gas would help somewhat.

Micro:
Probably the main reason this bot underperforms.

A common and serious error of several weak bots that Sungguk Cha makes is not having its army together when it engages. It sieges its tanks across the map rather than together in a group, and when it attacks with vultures it only moves a handful in at a time.

The wide and sparse tank positioning works well as a stalling tactic, allows greater map control which helps prevent harassment, and means the tanks aren’t affected by splash damage. This may have benefits in some situations, but it means that the army invariably loses against other late game armies in a head-on fight.

The massed vultures are used to make a large minefield, which isn’t as neat as that of other bots like ICElab, but is still very effective against bots without detection, and couples with the tanks as a stalling tactic to allow wraiths to get out safely. There does, however seem to be a bug where vultures freeze when enemy units enter their line of sight. I believe this may be the result of vultures being ordered to lay mines and attack the approaching enemies at the same time, or possibly some other clash of contradictory instructions. Whatever the cause, it’s a serious disadvantage when some units don’t move or attack, and simply fixing this could make the bot far more powerful.

I initially believed that Sungguk Cha’s bot did not use kiting micro, but it actually does in some situations. I have seen it kite its vultures against zerglings, but not zealots. This may be related to the previously mentioned “freezing” bug, or it may simply be that kiting has been programmed as a response to zerglings but not zealots.

If you’ve got any of your own ideas or comments about this bot, feel free to post them below. If you’ve got any questions about this bot, I’ll try my best to answer them (though it’s likely I’ll have no idea what the answer is). If Sungguk Cha comes around here, hi, I hope that my comments are helpful, or at least interesting.

Bot Overviews

These Bot overviews are going to cover the specific strengths and weaknesses of all the different bots, how they relate to its performance, and possible solutions. I’m far from an expert coder, but I can understand how bots play, and at least speculate on possible causes for certain bugs and weaknesses.

This is intended as both an information resource for other spectators interested in the play styles of different bots and how they counter each other, and as an outside opinion on how a bot’s weaknesses can best be solved.

I’m going to rate how bots perform in different match ups, and look at macro, micro and strategy and how they work together to define how each bot plays. I’ll also be comparing bots to others which use similar strategies, and try to work out why two bots which look similar on the surface can have drastically different results.

I currently don’t plan on making these overviews in any particular order. I’ll just be writing about bots I find interesting. I do, however, intend to update these overviews as bots are updated, and look at what bugs and weaknesses have been fixed, what new strategies have been introduced, and which new weaknesses (if any) have been created.