Aggro Bot Guide (by Revenge)

User avatar
Revenge
Neural Network
Neural Network
Posts: 403
Contact:

Aggro Bot Guide (by Revenge)

Post#1 » 16 Jun 2018, 21:19

Gladiabots Aggro Guide

Hello! I've been wanting to make a guide on aggressive pushing strategies in Gladiabots. I call these strategies "Aggro" for short. There is a lot to cover in this guide, so i broke it up into sections.

:mrgreen: = Completed
:?: = Partially Completed
:!: = Not started

Table of Contents:
Intro Topic :mrgreen:
___Different Types of Bots
______Hyper-Aggressive Close-Range Bot
______Moderately Aggressive Medium-Range Bot
______Supporting Long-range Bot

Time-Counters :!:
___Bot-Specific Counters
______Assault
______Machine Gun
______Shotgun
______Sniper

Movement Topic
___Part 1: Pushing :mrgreen:
______When to Push
______Where to Push
______Analyzing Opponent AI
_________1. Overcoming Enemy Patterns
_________2. Avoiding BaitNSwitch tactics

___Part 2: Retreating :?:
______When to Retreat :mrgreen:
______When to Stay :?:

___Part 3: Attacking :?:
______Strategy 1: CRASS (close-range attack shield switch) :mrgreen:
______Strategy 2: BALR (baiting at long-range) :mrgreen:
______Strategy 3: Resource Ambush :?:
______Dealing with Special bots Part1: Sniper :?:
______Dealing with Special bots Part2: Shotgun :?:
______Dealing with Special bots Part3: Machine Gun :?:

AIs Topic
___Primary AIs (Aggro) :?:
______Type 1 CRAB (close-range assault bot) :?:
______Type 2 MRAB (mid-range assault bot) :?:

___Secondary AIs :mrgreen:
______Defensive
______Aggressive
_________Combat
_________Resources
______Situational

___Additional Strategies :!:
______Strategy 1: Resource Ignoring
______Strategy 2: Sniper flanking
______Strategy 3: Resource Ambush
______Strategy 4: Aggressive Scoring
______Strategy 5: Attacking Low-shield enemies

___Mode-specific strategies :mrgreen:
______Domination Mode
_________The bot suicide strategy

___Notes on Composition Viableness :!:
______AssaultOnly
______Sniper
______Shotgun
______Machine-Gun

Special Classes Topic :!:
___Shotgun :!:
______Pushing with Allies
_________Delaying Push (shotgun)
______Avoiding BaitNSwitch tactics (solo)
______Attack Targeting
______Retreating
_________Fleeing from Sniper/MachineGun
_________Fleeing from Assault
______Strategy 1: BAMR (baiting at mid-range)

___Sniper :!:
______Pushing with Allies
_________Mid-range Push
_________Forcing Uneveness
______Anti-Sniper Code
______Attack Targeting
______Retreating

___Machine Gun :!:
______Pushing with Allies
_________Delaying Push (assault)



Guide Start:

Intro: Different Types of Bots:
Bots fall into categories depending on which range they are programmed to attack in.

Hyper-Aggressive Close-Range Bot
It's a close-range bot. Highly effective at short-range, good rusher. Simple to make.

Moderately Aggressive Medium-Range Bot
It's a medium range bot. Great pusher, but not as reckless. Good at pushing and flanking. Usually used with a Secondary AI.

Supporting Long-range Bot
Low-health mode for aggro bots. As an enabler, deals long-range damage to enemies. Good support for allies.

Time-Counters
Bot-Specific frame-time (ticks) it takes to aim at a target

Assault
Time to target: 5counters
fires for: 1 counter

Machine Gun
Time to target: 9counters
Fires for: 38counters (includes Aiming Time)

Shotgun
Time to target: 5counters
Fires for: 1counter

Sniper
Time to target: 13counters
Fires for: 1counter

Note: All bots fire their entire clip within a single frame after targeting. Targeting time and reload time are the same. The only exception to this rule is the machine gun which needs to fire for 38counters to unload an entire clip.

Movement Topic
Movement in Aggro Strategies is all about getting as close to the enemy units as possible. The main way this is done is something called Pushing. Pushing - is the act of forcing enemy units to retreat and "pushing" your bots towards them, taking the ground which they used to hold.


Part 1: Pushing
When to push?
The best time to push a unit forward is when one or more of the following conditions are met:
A. When enemy units are retreating
B. Your Unit is not being Attacked
C. Your unit is at high shield

Where to Push?
1. Enemies should be the ideal place to move towards. Specifically Low-Shield, Low-Health, and Sniper Enemies.
2. Alternatively, enemy bases can be pushed to and then defended. This is a more advanced strategy, but you need an alternative ai for when within medium range of enemy base. (see topic Secondary AI for more details).

Analyzing Opponent AI
Figuring out opponent's strategies helps determine when to push.
In lower elos the most common strategies encountered are:
1. Tag-Based Focus fire
2. Closest Enemy
3. Attack Weakest Shield
These strategies have weaknesses when using the right aggro build.

Overcoming Enemy Patterns
Tag-based focus-fire can be shirked by using Enemy Attacking Me >= 3 as a condition. You can also use If Enemy attacking me = 2 to decide if it's worth pushing forward or not.

If the enemy is attacking weakest shield unit, you can have a unit fall back to long-range while your other units continue to advance. (see Attacking: Baiting at long-range)

For the condition of "Enemy Attacking Me >= 3", you can either force a stall/draw (tag-based focus fire is tough for aggro strategies). Or you can switch to an alternative AI that is meant to handle situations like this better. (See Secondary Ai: Alternative AI)

Avoiding BaitNSwitch Tactics
Sometimes, your bot will get close-range to an enemy, only for it to be quickly destroyed. This is what I call a BaitNSwitch. It's most common when: All enemies focus-fire a single ally.

This can be avoided if attacking me > #enemies condition is used, or you can tweak your sniper to punish enemy units for not retreating. Another option to avoid baitnswitch is to count #enemies moving towards self. You can also use supporting fire to force the attacking enemies to retreat.


Part 2: Retreating
Unlike traditional AI where the shield% is the priority, aggressive AI use an attack or move function as the main priority, and shield% as the secondary priority. Retreating with aggro bots is a complicated topic, with many variations and options available.

The 2 structure priorities for building your aggressive ai are as follows:
Move>Retreat>Attack
Attack>Retreat>Move
These can be greatly expanded, but the main point is that your "move towards enemy" or "attack" commands should be at the far left of your Ai.

When to Retreat
The ideal situation to retreat are when multiple enemy units are attacking you at medium-range. From there you can either stay at long-range while pushing your other units, or continue retreating even further if your bots are the less aggressive type.

Another good situation to retreat is when being attacked at medium-range by machine-gun, or short-range by shotgun. In both cases, the enemy will deal more damage than you.

When to Stay
Deciding when to fight instead of retreating is a difficult decision to make. When to stay is dependent on the level of aggressiveness that your bot is. A popular tactic in ai strategies is to fire at enemies instead of retreating, forcing them to cut off their attack, and therefore mitigate damage.


Part 3: Attacking
Basics to Attacking
The most important attack condition for aggro bots, is finishing off low-shield enemies.

Strategy 1: Using the shield-switch
Shield switching, is one of the most risky and rewarding strategies you can use. It's one of the core strategies used when creating short-range bots.

Utilizing a CRASS strategy is split into 4 steps:
1. Move your bots in close to enemy
2. Attack (close-range enemy bot > 25% shield)
3. Add "Exceptions" node structure to target (enemy bots attacking with < 25% shield)
4. Implement a secondary attack strategy

How CRASS works:
These steps allows you to pick out high shield close-range enemies and attack them. Doing so lets you win the fight due to damage-per-second focus. 3bots attacking is more damage than 2 bots attacking and 1 retreating. So we take advantage of the fact that most bots will retreat when at low shield.

Step 1: Moving in close
Move towards closest enemy attacking ally. Move towards closest enemy (shield >50) or (shield<25). Both have different benefits depending on your attack priorities.

Step 2: Attacking Standard
Attack close-range enemy with high shield. Keep Attacking during medium-range. Use "If myself attacking enemy, attack enemy attacked by self" nodes.

Step 3: If enemy attacking close-medium range with less than <25% shield remaining. Mark target and focus fire with all available close allys.

Step 4: Alternatively you can fire back with only 1 bot, and have the others continue to push. This dissuades them from attacking, and "locks" them from attacking allies, giving you the upper hand.


Strategy 2: BLR (baiting long-range)
Baiting at Long-Range (BALR), is an effective strategy to distract enemy bots, minimizing their potential for damage. The best use cases are ally bots being attacked while at medium/long distance, but can work for any bot.

How it works:
When an ally bot is retreating, have it stop while at long-range, and attack until shield reaches <25%. Especially useful for cases where you would retreat under specific conditions or at higher shield. The purpose of this is to force enemies to use additional damage on shield, allowing your other bots to focus and do stuff.

Strategy 3: BOOR (baiting out-of-range)You can also bait out-of-range, by attacking closest enemy when out-of-range of enemies, if (attacked by closest enemy out of range) and (shield<25%). Some bots keep firing at your ai even when out-of-range so they deal damage when you re-enter. This mitigates damage against AIs that keep firing at your bots, by denying re-entry when low shield.


Dealing with Special bots Part1: Sniper
Snipers are one of the most difficult bots in the game to deal with. However, we do have 2 big ways of dealing with them.

Method 1: For elimination mode, make sure you have it set to ALWAYS retreat when attacked by 2 snipers. Double sniper damage does 4000 damage if both hits connect, while assaults only have a 3000 shield, so even at full shield you would be taking 1,000 damage to your health from Snipers alone.

Method 2:You can also mitigate sniper damage by fleeing when attacked by sniper and multiple bots.
Node Example: If (attacked by >X bots) and (sniper attacking self) and (shield<X%), flee from sniper.

Dealing with Special bots Part2: Shotgun
Shotguns are generally easy if you focus them when they come medium range. You can even ignore them for the most part by Attacking them only when they move/attack you at medium range.

Dealing with Special bots Part3: Machine Gun
Machine guns are one of the most frustrating bots to deal with. DO NOT PUSH INTO FULL SHIELD MACHINE GUN WITH ASSAULT. Make sure either the machine gun's shield is lowered, or choose a different bot to move towards entirely.

You can avoid damage by using this algorithm of nodes:
If (Attacked by Machine Gun @Medium Range) then (Flee from closest Machine Gun Attacking self).

AIs Topic


Primary AI (aggro)
Type 1 CRAB (close-range assault bot)
My favorite type of bot. They generally use strategies similar to CRASS, in which they attack high shield enemies, quickly melting their shield. The greatest advantage of these bots is that they work well in numbers advantage. This bot works by retreating back to medium/long range or not retreating at all, and instead relies on dealing more damage than they are taking in order to achieve quick successive kills.

Type 2 MRAB (mid-range assault bot)
Mid-range assault bot is your standard type of aggro ai. It has strong damage, and can quickly pressure opponents forcing them back with their emphasis on move and attack nodes. On top of that, this bot has great flexibility, being able to attack at short range, medium range, or long range, and can even fall back out-of-range if necessary.

Secondary AI
Secondary Ai's are an additional AI that is used when a specific set of circumstances is met. They are implemented by using the "Sub-AI" node to add a completely new AI within your current one. The secondary ai is usually defensive, but if the situations are ideal it can be more aggressive too. These circumstances are separated into the following:

Defensive
Trigger Conditions:
-Low bot health
-Low bot health and low shield
-Enemy bots remaining > Ally Bots Remaining<
-Within Range of Enemy Base
-Within range of Domination Ally Base

Defensive AIs are an essential part to having a competitive bot. The purpose of a defensive AI is to protect itself from getting destroyed. Other objectives of a defensive ai are:
-Supporting the Team by(attacking from long-range)
-Gathering Resources
-Protecting Domination Base

For a defensive AI to be successful, it needs to be able to hold it's ground, and secure kills. A defensive bot should compliment your Aggro AI in terms of target selection and priorities. So make sure the targets that it chooses help to protect your aggro bots, or finish off your (low health/shield) enemies!

Aggressive
Trigger Conditions:
-Enemy Carrying resource
-Enemy Overall Health is low
-Enemy Bots Remaining < Ally Bots Remaining
-More Allies in view than Enemies

Even with the main AI being aggressive, it is a good idea to have a secondary ai that is even more aggressive than the original. The purpose of an aggressive secondary ai is to close games quickly when you have an advantage. This can be when you:
-Have an overall health advantage
-Numbers advantage (More bots alive)
-combat advantage (enemy carrying resource/out of range)

For an aggressive secondary ai to be successful, it needs to be able to close games quickly by, finishing off enemies or scoring resources.

Combat
The best conditions for an overly aggressive AI to push, are when the enemy is retreating, or when 1 or less enemies are attacking self. You can also try comparing the number of attacking/fleeing enemies to allies. All 3 methods work extremely well with a numbers advantage in bots. Be wary of chasing shotgun with a numbers advantage, as some shotguns are designed to stall the game.

Resources
The easiest condition for an aggressive AI to score, are when the enemy is out-of-range. A more aggressive way to score is to secure resource when shield is above (25/50/75)%. (Ideal shield percent varies depending on elo rank and AI structure). If shield reaches 25% you should usually drop resource to protect your bot except in edge-cases.

An edge-case scenario for an ally carrying resource would be something similar to:
closest enemy at long-range and nearest ally base at medium/short range
or even
nearest ally base at medium/short range = score

Situational AI
Situational AI are small node structures rather than a fully functional ai. They are designed to only come into play when specific trigger conditions or enemy layouts happen.

Trigger Conditions:
-Enemy Pushing a set distance
-Strategy Trigger (3 or more attacking self)
-Enemy Sniper Exists
-Enemy Shotgun Exists
-Enemy Machine Gun Exists
-All enemies are Assault
-In Elimination you can count the # of enemy Shotgun/MachineGun/Snipers
-For collection mode, the following enemy team compositions exist for situational ai:
4 Assault = All assault
1-1-1-1 comp (1 sniper, 1 Assault, 1 MG, 1 Shotgun)
1-1-2 comp (No shotgun)
1-1-2 comp2 (no MG)
1-1-2 comp3 (no Sniper
1-3 comp (only assault + sniper)
1-3 comp2 (only assault+shotgun)
1-3 comp3 (only assault + machine gun)



Situational AIs are best used for responding to team compositions and weaknesses that your aggressive ai struggles with. This can be tag-based attacking, special bots, or even a lack of special bots.

One example of this is an aggro bot I made where it did AMAZING against a 1-1-1-1 and 2-1-1 composition, but awful against the 3 assault 1 machine-gun team composition in gold rank. So i created a condition to use my secondary passive ai in these cases. This can also be a great strategy to avoid using an aggro ai against lower ranked players, as lower ranked players can be more unpredictable, resulting in unexpected losses against aggressive ai. Experiment for yourself on what type of enemy compositions you are losing to.

Additional Strategies
______Strategy 1: Resource Ignoring
Focusing on killing enemies quickly, then gathering resources once enemies respawn can be a great strategy. Additionally, sending one shotgun off by itself while fighting can help score a lot of points.

Strategy 2: Sniper flanking
This is a medium-risk high reward strategy, that can punish snipers who stay in the back line over long and drawn out battles. Best done with assault/shotgun teams, the sniper flank is when you set the movement target of your bots to "Move towards enemy sniper", instead of closest enemy. Over time during the battle, your bots will retreat, and then move forward again, slowly flanking around the enemy bots, and hopefully isolating the enemy sniper. Highly suggested strategy if your bots are retreat heavy, as it will allow you to take full advantage of this strategy.

______Strategy 3: Resource Ambush
Enemies are slower and can't attack when carrying resource. This makes for easy pushes into enemy territory.

___Mode-specific strategies
Domination Mode
The Bot Suicide Strategy
I noticed that in domination mode, if you rush your assault/shotgun bots at enemy forces, they will stop to attack them. You can use this as a tactic to delay your opponent from advancing, or hold on to a winning position.The situations where this tactic could be helpful are:
*You already hold majority of bases
*You are ahead in points
*enemy ai is away from bases

This method needs experimenting to make sure that the amount enemies are pushed back is greater than the amount of distance they gain.

Note, that this can also be used to distract in collection mode while stealing a resource or scoring.

Notes on Composition Viableness
______AssaultOnly
______Sniper
______Shotgun
______Machine-Gun

Special Classes
___Shotgun
______Pushing with Allies
_________Delaying Push (shotgun)
______Avoiding BaitNSwitch tactics (solo)
______Attack Targeting
______Retreating
_________Fleeing from Sniper/MachineGun
_________Fleeing from Assault
_________Strategy 1: BAMR (baiting at mid-range)

___Sniper
______Pushing with Allies
_________Mid-range Push
_________Forcing Uneveness
______Anti-Sniper Code
______Attack Targeting
______Retreating

___Machine Gun
______Pushing with Allies
_________Delaying Push (assault)


This guide is incomplete, and i am currently working on it this week. Please be patient, as it takes time to write everything. Thank you. ^_^


Guide Updates:
6/16/2018
Created Guide
Finished Table of Contents

6/16/2018
Started Movement Basics
Started Movement "Pushing"

6/23/2018
Finished Movement "Pushing"
Moved "Resource ambush" from Attacking section to Additional Strategies
Added sections in the guide for each topic
Added new topic "Basics to Attacking"
Added new Strategy "Aggressive Scoring"
Expanded "Secondary AI" topic:
-Defensive Ais
-Aggressive Ais
-Situational Ais
Finished Defensive Ais under "Secondary AI" topic
Finished Aggressive Ais under "Secondary AI" topic
Finished Situational Ais under "Secondary AI" topic
Secondary AI Topic completed
Started Movement "Retreating"

6/24/2018
Finished When to Retreat under "Retreating" topic
Started When to Stay under "Retreating" topic
Added new topic "Intro"
Added new sub-topic "Different Types of Bots" under "Intro"
-Hyper-Aggressive Close-Range Bot
-Moderately Aggressive Medium-Range Bot
-Supporting Long-range Bot

9/02/2018
Finished "Intro Topic"
Fixed introduction for CRASS strategy

9/10/2018
Finished CRASS Strategy section

9/11/2018
Added more information to "Attacking" strategy topics
Created new Strategy: "Attacking Low-shield Enemies" under additional strategies

9/22/2018
Finished Bait-At-Long-range (BALR) section

11/24/2018
Added new topic "time-counters"
Added "time-counters" sections for each bot type

2/20/2019
Updated Sniper Flanking section
Updated counters section to include accurate frame/tick data

5/22/2019
Added information to "defensive ai" for domination mode
Added Domination strategy list
Added "suicide bot strategy" to domination strategies

1/26/2020
Updated "Bot Types"
Updated and Improved "Retreating" section
Added Baiting-Out-of-Range strategy to "Strategies" section
Updated "Dealing with Special bots Part1: Sniper" section
Updated CRAB and MRAB bot explanation section
Updated "Situational AI" section
Updated "Additional strategies" section
Last edited by Revenge on 27 Jan 2020, 03:37, edited 102 times in total.

Rebirthfox333
Script
Script
Posts: 10

Re: Aggro Bot Guide (by Revenge)

Post#2 » 17 Jun 2018, 22:49

See my scoring strategy #1010189 at 3:27 ~ 3:20
Maybe you can add it into your " Aggro Guide "
It works perfect sometimes ! :D

update : #1010479 Revenge :lol:
南無阿彌陀佛

User avatar
Revenge
Neural Network
Neural Network
Posts: 403
Contact:

Re: Aggro Bot Guide (by Revenge)

Post#3 » 18 Jun 2018, 19:43

Rebirthfox333 wrote:See my scoring strategy #1010189 at 3:27 ~ 3:20
Maybe you can add it into your " Aggro Guide "
It works perfect sometimes ! :D

update : #1010479 Revenge :lol:

LOL! My bots were so funny in that replay! :D

Also, I LOVE the scoring strategy you showed. I'll definitely make space for it in my guide. ^_^

KiNASuki
Hello World
Hello World
Posts: 5

Re: Aggro Bot Guide (by Revenge)

Post#4 » 01 Sep 2018, 11:57

Maybe.. update?

Still.. very informational that I managed to cluelessly follow and reach GM :D

User avatar
Revenge
Neural Network
Neural Network
Posts: 403
Contact:

Re: Aggro Bot Guide (by Revenge)

Post#5 » 02 Sep 2018, 07:05

KiNASuki wrote:Maybe.. update?

Still.. very informational that I managed to cluelessly follow and reach GM :D

Wow, that's fantastic! I'm glad i helped! :D

. . . Also, I'll try to update this somewhat more routinely. lol

M4L4
Algorithm
Algorithm
Posts: 50

Re: Aggro Bot Guide (by Revenge)

Post#6 » 09 Nov 2018, 14:28

great guide, thanks, the learning curve of this game gets pretty steep once you get to master league, and that guide can help a lot in putting you on the right track

User avatar
Revenge
Neural Network
Neural Network
Posts: 403
Contact:

Re: Aggro Bot Guide (by Revenge)

Post#7 » 09 Nov 2018, 22:48

M4L4 wrote:great guide, thanks, the learning curve of this game gets pretty steep once you get to master league, and that guide can help a lot in putting you on the right track


Wow I'm so glad my guide helped you! The feedback I get means a lot to me.

I feel inspired to update my guide. I think my situational category should actually be one of the first categories. I'll update it tonight with pictures and a more detailed description.

Return to “Strategies”

Who is online

Users browsing this forum: No registered users and 3 guests