I am now hosting a mod which targets bot's improvements. The goal is to have them as smart as possible, by harvesting the low hanging fruits first. The server is set with teams of 5 bots which are at skill level 7 (their skill range starts at 1 and ends at 9, so they're not at their best, but they're rather strong, for bots).
I intend to keep this post updated as I add elements on my TODO list or when I implement things. Feel free to comment on my ideas or to provide your own ideas, I'll try to implement everything I can to make bots as fun as possible to fight, and tools which don't just feed enemy's team if not explicitly asked for (by servers owners).
The behaviors should be affected by their individual botSkill value when it makes sense.
Currently, following changes are implemented:
- human bots can buy light armors at stage 0 (they can not on vanilla)
- human bots mix flamers and pulse rifles (they can not buy pulse rifle on vanilla)
- human bots won't buy radars if that means that more than 75% of the team will have one
- human bots run when their target is friendly. This means they will run when going to armory for equipment, when going to medistation for healing, and when trying to repair things
- marauders jumps to flee faster
- tyrants charge to flee faster
- mantis and dragoons pounce to flee faster
- rushScore is now calculated by considering the total credits bots (bot aliens and humans) have (including already owned evolutions), the maximum credits they can spend in current stage, and their skill: the more skilled they are, the less likely they will rush if that means they can't buy decent evolutions when they die.
- they should be able to use grenades (done but perfectible on 17th may 2021)
[*] human bots will equip (armors, backpacks, grenades) before going to repair stuff
Changes that are planned (but don't hold your breaths):
- humans bots should not queue at medistation. Implemented, but probably does not work as expected.
- rewrite remaining score functions, which are used to take decisions, so that they use as little as possible hard-coded values, instead, base decisions on gameplay elements (equipment's price, game's age (better to attack buildings when game is old, since they're hard to rebuild then), etc).
- distances should not be about a straight distance, but about the navmesh's size between bot and target
- bots should be able to place back critical buildings (spawns, RC/OM, armory, medistation, booster) in some conditions (this include being able to spawn as builder)
- bots should defend builders instead of rushing or roaming when number of critical buildings is too low
- they should be able to wallwalk and use jetpacks
- roaming distance should depend on their status (skill, health, money, etc)
- new actions: raid and defend. When rush, target enemy's critical buildings. When raid, target defenses. WHen roaming, just wander. When defending, stay close to base.
- players of same team should be able to give them basic instructions (defend here, defend main base, roam, raid, rush, follow me)
- bots should be able to reload depending on situation and skill level
- bots should be able to refuel ammo (including adv goons), health, poison when close enough to armoury, medistation or booster
- bots should be able to play grouped
- a good rush implies to not rush alone: require at least N% of team raiding to switch their action to rush.
- don't fight acid tubes on melee, instead, move back out of range
- move (if possible) when fighting buildings damn it!
- when healing or resupplying, search enemies to attack
- jump over stairs (shorcuts in various maps)
- ability to use covers from walls or friends
- aliens able to target human buildings on heights
- when a ranged attack is available, backpedal when retreating, except when reloading or really low hp (faster when moving forward)
- prevent firing in bases with primary lucifer cannon to avoid destroying friendly base