I'm new to the game and i'm super hooked by it!
I'm only level 4 so i haven't unlocked tags nor team tags yet (or the damn sniper, i did league 6 without it but i guess i'm doomed to lose some games now and get back to a place where i can actually win some more XP and level up to 6).
I want my first good AI to be a "generic" one for all the bots in all the maps, mainly because i don't have the sniper yet and i can't create sophisticated strategies knowing my opponents will have it and i don't, but also because i want to have a valid base-point to start from when i'll go deeper to develop more specific strategies for maps and bot classes. I want a valid opponent in practice mode to test my new creations or my specific AIs when i'll make some (plus i've read somewhere in the forum that random maps will be a thing in the future, so maybe working on a generic AI isn't that bad at this point)
I'm trying to make a map in my mind (later that will be pen and paper) about what are the general conditions that could make me want to develop a branch (subroutine) specifically for that occasion.
I'll try to be clear with an example:
Generic AI fights the opponent.
Let's find the conditions for when i don't want to fight, but i want to score points instead (with one or more of my bots). Let's say if a resource is near me and my base is short/medium and no opponent is in short/medium i want to try to grab it with one dude and score a point (so if i pushed enemy away this could happen)
Great let's say this simple new branch to add to my generic AI improves it in some of the cases, making it a little bit better than the old one in some circumstances.
Here comes the question, what would be the conditions you guys will search for new branches?
Experimenting a little bit (i only played the game for a couple days and i barely made it to level 4 so please be kind and add also stupid things because i might have missed them ) i found some of the cases i want to nail down into a branch (meaning i don't want bots to act as generic ones in that specific case) and those at the moment are:
- Improving the cleanup phase if/when i killed all opponents to score all points in the minimum amount of time
- beating the "dancers" (already kinda of achieved but i think it could be done better)
- finishing off weak enemies
- giving some kind of priority to carrying resource targets
- finding best way to protect a carrying resource ally
- swapping a carrying resource bot with a fighting one based on health / shield and distances
- finding when to push and when to retreat
- using fixed points in the map to know where i am (maybe a little bit too much map specific for a generic AI, but maybe if bases exists going too far from them means the wall?)
- carrying resources for little times and score them in little steps
- checking possible enemy actions to predict their next moves (if enemy is moving to self for example, or to ally base, or to resource on the ground)
differenciate behaviour if
- the bot is alone or is in group
- the bot is my last one in the map
- the bot is fighting a stronger opponent or a weaker one (for botclass and/or for shield/health amount)
- the game is a score game or a kill them all game
- the bot is doomed so kamikaze time (spiral map comes in mind)
- the enemy is carrying resources and i'm not
Any other branch you'd suggest me to think about? Any tips you can give me? Some strategies you commonly use? I don't want solved AIs or top secret strategies, just make me think about in game cases i still haven't experienced yet!
Thanks so much