AI monthly tourney: Survival of the fittest
Suggested by Fearghal, this tournament's theme is to see which AI does best on a survival map. chp2001 helpfully identified the map Final Rush Pro 5 as a potential candidate, since it features 1 team against another (thus avoiding the problem caused by survival maps which lack an enemy brain/base location for the AI to fight against).
For those not familiar with it, it's a 4v4 map where teams face off against each other with a central chokepoint area where the AI spawns. The AI spawns will be delivered by transport, but air is disabled (so the transports are harder to shoot down).
The survival spawns are split allocated equally between two different survival 'brains', and wont attack each other, but will attack one (and only one) of the teams. This means that a team can choose to be aggressive by sending their units at the enemy base, to help support the survival AI's attack.
To avoid people exploiting the survival AI, ACUs are prevented from hiding in the water by taking damage over time, and prevented from hiding in the rear corner of the map behind cliffs by a group of galactic colossi. The map has a number of configurable settings, including difficulty, which affects the size of the surivival spawns, and how long it takes before it advances in waves (with a wave starting off with T1 units, before progressively getting harder, e.g. sending in bombers; t2 land; cybran destroyers; t3 land; experimental land; etc.). Players start with 9 hives, an ACU from each faction, and lots of mass points at their base.
Setup
In the first round, each AI will play against itself (i.e. all 8 players will be that AI), and see how long it takes for the last player to die. These times will then be used to give each AI an initial 'seeding', with the last seed playing the second last, the winner of that playing the 3rd last, and so-on until the last ranked AI has lost to the 2nd last ranked AI which has lost to the 3rd last ranked AI and so on.
The map settings still present some issues for AI, in particular the logic for preventing exploiting the survival AI by hiding - I turned this off for the initial 'seeding' round over fears most of the AI wouldn't be able to understand the 'ACUs die when entering water' approach or that 'those hostile GC near your base can be ignored' , but it led to its own problems, e.g. fully upgraded ACUs hiding in the water being very slowly whittled down by the torpedoes of a couple of bricks and didnt give a fair reflection of how well some AI did. I therefore settled on a compromise for the main event, where a team would be treated as having lost if all 4 land bases were wiped out (i.e. it had no more mexes or land factories).
The difficulty was also set to easiest, as all AI struggle compared to humans with such a setup, and this way there was more of a chance of seeing waves hit the experimental land stage.
Changes to AI
New versions of M27, RNG, and SCTA were reflected for the tournament.
The results
Initial seedings - Time lasted when fighting itself
AI Name |
Time survived |
M27 |
11m25 |
AI Turtle |
16m28 |
DilliDalli |
17m27 |
Sorian adaptive |
19m20 |
Adaptive |
19m22 |
RNG Standard |
29m06 |
Sorian Edit |
31m41 |
Uveso Rush |
34m02 |
SCTA Core |
35m07 |
Swarm Terror |
37m16 |
Final rankings and head to heads
AI Name |
Head to Heads won |
Head to Heads lost |
Longest time survived until a team died (in seconds) |
Sorian Edit |
0 |
6 |
992 |
Sorian adaptive |
1 |
3 |
1122 |
AI Turtle |
2 |
3 |
1029 |
Adaptive |
2 |
3 |
1080 |
SCTA Core |
1 |
4 |
1807 |
DilliDalli |
5 |
2 |
1176 |
RNG Standard |
3 |
2 |
1629 |
Uveso Rush |
2 |
2 |
1907 |
Swarm Terror |
1 |
1 |
1940 |
M27 |
9 |
0 |
1940 |
For example, DilliDalli was initially seeded 9th (out of 10 AI); it lost to M27 (the 10th seed), but beat the 5 AI that placed worse than it in the final results to reach 5th place. It then lost to RNG (4th place), so didnt advance any further. In contrast, as Swarm was seeded first it only fought the 2nd place initially (which ended up being M27), and after losing that it then fought the then 3rd place (Uveso Rush) which it won, resulting in ending as 2nd place.
Detailed results
The full results can be seen in the Data worksheet of the following file:
https://docs.google.com/spreadsheets/d/1i2ObsZ49S9gUTgWw0E68qZ8VrOkaP_Jk/edit?usp=sharing&ouid=100973959280546778272&rtpof=true&sd=true
Other Observations
- There were a wide variety of approaches used by the different AI, for example:
- M27 favoured a firebase appraoch, but chose to place this near the centre of the map meaning it'd get overwhelmed around the time of T3 land or experimentals
- DilliDalli preferred an all-out assault on the enemy team before spawns even started arriving, sticking to T1 mexes but often being able to kill the enemy team before their economic advantage could be brought to bear
- Swarm chose to have a massive swarm of mostly T1 units occupying the central area, meaning they could quickly ambush the survival AI drops as they arrived (up until the late T3 land/early experimental stage)
- Uveso made heavy use of T1 artillery, which when firing from behind T3 shields at the base proved an effective roadblock to the survival AI's T3 land waves
- There were dramatic transformations in fortunes for the AI from their initial seedings. In DilliDalli's case this was because it's aggressive approach would lead to short matches in all its games, while in M27's case it had chain reactions caused by the various starting ACU (16 per team) being near the centre and one of them dying. Sorian Edit's reversal in fortunes was likely caused by the stricter measuring of when a team had lost, as it was usually better at retreating its ACU behind cliffs/into water where the survival AI couldnt reach it
- A number of games came down to the wire with one team losing its final base just before the opposing team lost its final base, including the final between M27 and Swarm, and the semi-final between Uveso Rush and Swarm
- SCTA performed strongly, with a survival time in head to heads of more than 30m (bettered only by Uveso, Swarm and M27), but DilliDalli's early aggression proved its undoing
- It looked like RNG would pull back from the brink in its game against Uveso Rush when it completed a cloaked laser upgrade on its ACU at its final base. Sadly it turns out that the map gives omni vision meaning its ACU still died quickly to the T3 land spam.