And that is why the gods gave us property based test scaffoldings. With randomly generated data, and a set of scripts per character, it’s not really all that difficult to ask the machine to double check move quality without accidental oversights. I build an actor-based distributed application that is very prone to small changes here and there affecting system stability, but this kind of testing allows us to have a very short release process.
I don’t know which specific toolset you guys use to build MPQ, but I’d be surprised if there was not something you could add to replicate this kind of thing.
The AI in this game appears to be designed to avoid telling the AI what is good, because the answer is actually very easy. For example if the AI has Devil Dino, while any human can tell you should just focus on green immediately, the AI doesn’t know that. It’s not because it’s hard to do this (it can simply calculate that Prehistoric Bite has an insane damage ratio and only takes 2 green matches and make a beeline for green), but that playing against such an opponent would be very frustrating. Likewise it’s trivial for the AI to calculate that it should always go for red when it has Juggernaut when it has a level advantage, since it doesn’t care if Juggernaut takes an excessive amount of damage when he can KO someone with a Headbutt.
There was a project on making the best AI for Starcraft and in the end, the team that won was Zerg using only Mutalisks. There’s nothing you can do to counter it because the AI can spread out all Mutalisks perfectly so that no area effect ability hits more than one of them (they’d beat Corsairs straight up, for example, even though Corsairs counter them). Of course, it took a lot of insight to realize this is the best way for the computer to play Starcraft. But, we can assume there exists some equally cheap way for the AI to play the game that’d be almost unbeatable. But, just like it wouldn’t be very fun if you play against someone who only uses Mutalisks and never make a mistake, it’d be equally unexciting against an AI that simply knows all the best moves and immediately slaps you silly.
You can certainly teach the AI to never destroy their own CDs immediately after they placed them, but do you really want to deal with an AI that actaully protects Flamethrower tiles instead of destroying them for you? Almost certainly the only outcome of that is leading to even more ragequits.
There’ same middle path to improving some skill handling as well. If allowing the AI to perfectly place blue tiles with Magneto results in too much AI power creep, just have the AI focus on the protect tile aspect of the power and perhaps overwrite some enemy tiles. An improved AI doesn’t need to be a ninja. It could maybe just be less of a punching bag.
I agree with what some people said about things such as an AI efficiently protecting goon countdown tiles. A lot of NPC powers are wildly powerful probably partly as a balance to weak AI. AI improvements could cascade to a need to rebalance unexpected other mechanics, and would probably impact PvE scaling and PvP MMR as well.
The scariest thing they could do without doing much is have the AI prioritze only the colors itself has for active abilties. Can you imagine them passing up a random 4 tile match, to get that 2 or 3 red AP they need? Could you imagine if they programmed the AI to deny player colors? Becareful what you wish for in a smater AI, you might get it.