Sorian has a Blog at:
http://soriandev.blogspot.com/Check out his latest post and the reply comments. He has spent the last two weeks upgrading the AI and is due out on Patch V.105, The bulk of the AI changes is anticipated to be out at the end of next week.
Sorian:
"I didn’t realize how much I missed working on AI until I started working on it again. So far I think I have been able to make a vast improvement in how the AI plays. I want to thank everyone that posted feedback, it was very helpful. I will have to check the list again, but I am fairly certain I have fixed or at least improved upon all of the relevant issues. The change list for the AI so far is longer than any version of the AI I released for SupCom 1 or FA. Before I post highlights there are some things you need to know.
First, you need to realize that some of these fixes may not make it in right away, if at all. They still have to be tested to make sure I am not epically breaking anything. Second, I still do not know when these fixes are going to be patched it, so don’t get upset if they aren’t in the next patch, or even the one after that. There are a lot of fixes spanning many files, so in the interest of keeping patch sizes down it may be delayed until we can include it without killing everyone’s bandwidth.
Probably the biggest bug was the fact that threat conditions were not being used properly. Threat conditions are what we use to tell the AI to do something in reaction to a threat, such as building AA when an enemy has air units. Not only is this fixed, but the AI is using the threat value of its currently targeted enemy to determine how big of a platoon to send and how many experimentals it needs to have built before sending them out.
The AI also takes into account build restrictions when choosing which archetype to use. It also recognizes when it has all research, so it won’t waste mass on research stations when it does not have to. Also, the AI should no longer get stuck if you rush it and destroy something while it was in the middle of its starting build. If you restrict a unit type in the game the AI now acts like that unit doesn’t even exist in the game. Don’t want nukes in the game? The AI won’t even have the option of giving one of its engineers the order to build one.
Most of Thursday, Friday, and Monday the 22nd was spent fixing little bugs like the above. Tuesday and Wednesday were spent balancing and getting the AI focused. The biggest challenge was the AI’s economy.
The AI uses a bucket system for its economy. When the AI gets resources it puts a set percentage in each of its buckets (defense, expansion, experimentals, land units, etc) and it puts any excess resources in a slush bucket. When the AI wants to build something, it checks the appropriate bucket to see if the resources are available. For immediate items (like emergency shields or economy related stuff) we tell the AI to use from all the buckets. The problem with that is the AI ends up taking from the same buckets over and over. Later in the game, when expansion is harder, the expansion buckets ends up getting filled and never used, so the AI ends up in a situation where it has a lot of mass, but can’t build.
My solution was to make the AI take resources from the slush bucket first when taking from all buckets. Then, I sort the buckets from fullest to emptiest and take an amount from each bucket based on how full it is until we have enough or run out of buckets. If the first pass doesn’t get enough we re-sort and take all the resources from each bucket until we have enough. This way, full buckets that aren’t being used much are the first to get resources taken away and the AI has a much smoother economy.
I also worked to get the AI to focus a lot more. The AI would constantly send units, that were doing hefty amounts of damage to an enemy base, across the map to kill and few units that had the audacity to get near of its expansion bases. It also didn’t focus its attacks on its targeted enemy very well either. It took a lot of trial and error, but I think I have it dialed in a lot better.
Another nice upgrade is that the AI will now use the Mass Convertor. Prior to this the AI would never build one. Now, the AI will build one (it only needs one) or, in the case of Cybran, use the ability of one of its power generators.
I am still working out the cheating situation. Some people complain that the Hard AI cheats too much and the Cheating AI cheats way too much. Currently, I have asked a few people in the office of different skill levels to try out the new changes and see what they think.
Now, as with the last post, I have a request. I would like some ideas on research paths. I plan on going over them again and trying to optimize them and wanted ideas on what paths players use. I don’t need an exact path, per se, because I have a function I use in the AI that finds the cheapest path to get to a particular research. What I need is what research item you go for first, second, third, etc. If you are going air, do you get gunships first? Shields? Or, do you go for the experimentals? Let me know.
For those of you who want a tl;dr list of the AI fixes, here you go. Bear in mind, this list is not exhaustive, so don’t get upset if you pet fix is not listed. This is also not a guarantee that they will show up in any patch, let alone a patch that is released soon.
* Fixed a bug where threat build conditions were not being used.
* The AI will hold back units until it thinks it has enough to make a push.
* Fixed an issue where the AI would constantly pull units back to attack an expansion base instead of pushing forward.
* Added AI response to make a land AI get land unit AA upgrades if the enemy has air units.
* The AI will no longer get stuck in its startup build sequence if rushed or if there are build restrictions in place.
* The AI will no longer give every structure blip AA and Land threat; instead it will wait until it has seen the unit first.
* The AI will no longer give blips on the water Naval threat, it will wait until it sees an actual ship.
* If Research is disabled the AI will not build research facilities.
* If a unit type is restricted the AI will act as though the unit does not exist in the game.
* Platoons will try to only attack areas where they think they can do enough damage before dying.
* The AI should no longer attempt to send attack platoons to unpathable areas.
* The AI will choose an appropriate archetype based on unit restrictions.
* Re-balanced the way the AI chooses an archetype.
* The AI will react to enemy TML, artillery, or Experimentals by building more shields and placing them closer together.
* Enemy shields are now given AntiLand and AntiAir threat.
* AI will build and use Mass Convertors.
* If the closest enemy to the AI is a lot weaker than the other enemies the AI will focus on the weak enemy.
* You can now select which AI type you would like to play against from the dropdown in the game lobby (random is still an option).
* AI will build factory shield upgrades more often, not just when the enemy has air.
* Factory upgrades now have a threat value.
* AI will not build research stations if it already has everything researched.
* AI will now group units based on their target enemy's threat.
* AI will now group experimentals based on their target enemy's threat.
Edit:
The last few changes are in for this round, unless something pops up in testing.
* The AI is now aware of the victory condition and will focus attacks on the ACU more in assassination mode.
* When an AI unit dies it will add threat to the instigator's location to warn other units.
* AI will respond when an enemy turtles.
* AI will now recognize when it is being attacked by nukes or artillery and respond."