
AI vs AI test-games are an essential part of developing an AI mod and they can be very interesting, dull, hilarious, hair-raising, frustrating, annoying and absolutely great. All in one match, mind you

Ok what is this post about:
It is about the problem of getting feedback, seeing problems, seeing the score and drawing the RIGHT conclusions when developing an AI mod.

The setup
Here an example:
I made a 2v2 All-AI match with the last prerelease version of Sorian's 2.5 AI mod. I used painangels "Scorpion Valley" map beta as a playground. On one side a default Tech AI and a Rommel AI against a Tortuga AI and a Bean AI.
The map is 10x10 and the start of the game saw some minor attacks from the two rush AIs (Bean and Rommel). Rommel stopped attacking after some time (bug), Bean continued to attack but basically only wasted its troops on PDs.
The gamer looked dull and boring for a while. There were some small battles for masspoints, but nothing else., the overalls scores were almost identical. Then T2 was reached and the turtle AIs started to build perimeter defenses and firebases.
Here the game started to look promising for the Tortuga AI, it builds strong and shielded forebases (i worked very hard on the right build-order and turretmix). BUT: The default Tech AI suddenly started to lead the score by a BIG margin! my first thought: TORTUGA SUX
Now it would have been easy to stop the skirmish and change the Tortuga Ai for a better score, but as you will see this would have been a BIG mistake. A VERY big mistake.
The game continued, Bean still losing troops and Rommel being better in the score despite the fact that Bean was more active and was more valuable. But the real hair-raiser were the Turtle AIs: The GPG AI started to build a GC and a T3 artillery! All the Tortuga AI had were some nice firebases and a good T3 economy. Again i thought: OMG TORTUGA SUX!
And again i could have stopped and changed the AI and again it would have been a big mistake.
The GPG GC was ~30% done when the Tortuga AI suddenly started to build a GC, too. The GPG/Rommel side however lead the score with an advantage of several miles.
To make things worse for my AIs i suddenly saw a nuke launcher being built on the enemy side!
The GPG GC was finished and started its way to the bases of my AIs, i felt frustrated, i cursed about my AIs and the fact that the other AI that basically does nothing, builds nothing and is generally inept seemed to win.
But then the whole game flipped over!
The enemy GC was under heavy fire from the Tortuga/Bean firebases and defenses, it wasn't stopped but weakened. Then the Tortuga AI had finished its own GC! That one made short work of the enemy GC and attacked the enmy base now!!!
That one minute made the whole game look completely different!
To make it short: The GC entered the enemy bases, destroyed both commanders, all T3 artillery-turrets and the nukelauncher. In the meantime the wreck of the GPG GC served as a huge metal bonus for the Tortuga AI :)
Conclusions and tips for all AI-modders:
-Even if your AI does look bad at the start, it still can/will win if it has the better general build-strategy
-A higher score alone means nothing
-An AI with better and stronger firebases will be slower at the start, but those bases wil make it stronger in the long term.
-Don't give up too early, don't change stuff too early.
-take your time
Ok enough babbling, here some cool pics:

slow start

funny problem with the map

again that funny problem (box-terrain). That is the GPG/Rommel base btw

more "boxes" and the second T3 artillery being built by the GPG/Rommel side

The minute that changed everything, the Tortuga GC walks to the nemy base, the dead GPG GC is in the middle/left

Look at the score, my AIs seem to be bad

Would you prefer bases like this (Tortuga)....

or like this? (Tech AI).... :)

The Tortuga GC on its way to the end of the game!
Picture Host - PicTiger|||And here some more pics:

box-problem again

more boxes

Good bye, AI-ACU no.1!

And here no.2!

Everything important destroyed, yay! (My AI experimentals (and most units) use a different attack-priority than the default AI)
Free Image Host - PicTiger|||Nice Pictures.
Btw, how are the clouds on that map, have not tried it yet, but I'm excited that he got the weather effects working.|||Thanks :) Maybe the text is a bit too long, though

About the fx:
They have a rather big impact on the FPS on my small computer (Sempron 3000+), especially the ground-dust-fx hurts.
The map itself is awesome, one can really see and feel the huge amount of work and love painangel put into it.|||I find in SupCom that the map makes all the difference.
A bigger 20X20 map, and maybe the Tech AI gets all of its T4 and T3 Artillery done before you get there and so long ArchAngel. It is my GC that is killed at the gates of the enemy or is killed before it even gets done.
A smaller 5X5 map and nobody gets to T3, and any T3 and T4 stuff being built is nothing but a complete waste of resources.
--
Another thing I finally noticed is that T4 Scathis and Mavor seem to get built twice as fast or three times as fast as T3 Artillery. Everything T4 is built twice as fast as T3 Artillery. For artillery, the T3 Artillery sure ties up a lot of resources for a very very long time, giving your enemy a chance to pass you up.
Sometimes, it's what you choose to build and when that makes all the difference. And, the first one to T4 basically always wins in SupCom, especially on the larger maps and especially if the T4 is directed right at the weakest points first -- in other words, conserving your T4 so that it lasts longer and is there to take out enemy T4.
I always in the past built T3 Artillery thinking I would get there first and win the game. Not so! The T4 stuff is always built faster and then the T4 stuff comes in and wipes out my T3 stuff, and I always lose. This is a recent discovery now that I am finally able to finish some SupCom games to the end without SupCom crashing on my new budget GPG Reference Machine.
I always built T3 Artillery, trying to do things in order, 1, 2, 3, 4. Big mistake, as I always lost because of it. The Tech AI probably lost because it started building T3 Artillery. Skip it, and go straight to the T4 just like the winning AI's always do, and then I think I'd have a better chance of winning the game more often.
--
The order that the AI builds these things and the way that it presents them to the enemy, the timing of things, makes a big difference. And, changing the map or the size of the map can throw the timing off so that AI's built for larger or smaller maps can then get in their licks.
Anyway, pick the same configuration up and set it on a bigger or smaller map, and everything changes once again, and the winners become the losers and the losers become the winners, and there's not much consistency, if you keep changing maps from one game to the next.
--
So, it's the multiple AI's and the multiple maps that give it the randomness and the unexpected that I have been looking for and requesting recently.
At some point, somebody will build lots of different build programs for their AI's, and randomly select them, and then when that happens, the AI's that always win on a specific map and always lose on another specific map will suddenly be randomly winning on maps that that AI normally loses on, and suddenly randomly periodically losing on the maps that it normally always wins on. Random selection of different build programs or differing build orders will make the AI unpredictable. Someday, somebody will get around to doing it, and then Tortuga won't always be the winner on that particular map, but will win and lose in an unpredictable fashion depending upon which build order it selects or which build order the enemy AI chooses to follow.
Right now, these AI's are pretty much like clockwork. No randomness in them. With experience, you can pretty much predict in advance which AI is going to win simply by which map you put it on or which position on the map you choose to give it. With experience, you can choose in advance which AI is going to be the winner, simply by the map and the position you choose to give it. But, random selection of build orders and randomized target selection will kill all of that and start making these AI's unpredictable.|||Yes, there's a lot of randomness in SC regarding the result of a game. I wonder what would have happened if the map above would have been a little bit smaller, the GPG GC would have maybe entered the bases earlier, totally wrecking them and the AIs there?
And Archangel is right about the T3 artillery, they do tak a lot of resources and time, they always surprise me. Maybe it's because one usually tries to build them too early, when the reources aren't there for Teir 4 units (Which the T3 artillery basically is, albeit a small one).|||Quote:|||I would much rather have a bunch of AIs that each have a relatively predictable overall strategy and then have the option of selecting "Random AI" if I want to have no clue what the AI is going to do. It's better for the AI programmer who doesn't have to try to make all of his AIs be a jack-of-all-trades and gives more choices to the player.|||Yep, most players and AI makers would rather have a bunch of predictable AI's randomly selected, which is why Sorian did his cheater AI's so early in the process and put so much effort into his Sorian selector thing.
Sorian also made his AI's to beat the Thirdlaw AI's, and that was really their only goal, and the trend continues. Every AI developer is only interested in making an AI that beats the other AI's.
Today, Aralez got himself some complex AI's that he labeled CRAP AI's, and he decided to throw them all away, because they actually played the game and had some variety to them and lost every time to the other AI's that go straight for the throat.
They were considered unworthy and called CRAP by Aralez and abandoned, simply because they couldn't beat the other AI's that go straight for the throat every game like clockwork. All most people are interested in is the AI that goes straight for the throat, and the rest of it is considered crap.
But, the AI's that go straight to spam or straight to T4 are predictable and boring and create the same game over and over and over and over again. Then you have to switch maps and AI's to get some unpredicable back into SupCom. And, then you have ranked players who also play like clockwork complaining that the Sorian AI's are no good and easily beatable every game -- simply because they can predict in advance even before they start the game exactly what the Sorian AI is going to do and when.
Anyway, instead of having Aralez throw away his CRAP AI's, I was actually trying to give him and some of the other AI makers out there another new idea to use, the idea of introducing Random Target Selection and Randomized Build Orders into their CRAP AI's. And instead of being focussed exclusively on making their AI's beat other AI's, try to create a different goal for their CRAP AI's which can never win against other AI's, namely, choose variety to the gameplay or choose unpredictable gameplay as the new goal for their Crap AI's that cannot beat other AI's.
Who cares if their new CRAP AI's can't beat the Sorian AI's? Yes, I know, some players will care and the AI developers right now all care, but I don't care. I want to see some real variety. That's part of the reason why I keep pressing for conventional versions of the Sorian AI's, every now and then.
I think Aralez should consider introducing Randomization into his CRAP AI's. Sure, they can't beat the Sorain AI's now, and they probably won't be able to beat them after adding randomization. Who cares! I don't. Instead, their randomized CRAP AI's might occasionally surprise even a ranked human player and get the upper hand once in awhile by taking him off-guard. Who knows? That's the beauty of lots of randomization in an AI. You can't really predict in advance exactly what it's going to do. If there is enough randomization in an AI, then you can play that AI over and over again for a month on the same map and you never get the same game twice. It can be quite a surprise for a human. No, it will never win the AI's that go straight to spam and straight to T4 in AI vs AI tests, but randomized CRAP AI's might actually surprise a human once in awhile.
Oh well. You can lead a horse to water, but you can't make him drink.

All you can do is give them the idea, and then they have to decide whether to take it and run with it, or not.|||Oh, for completeness, I should probably link to the pages that prompted my response.
Aralez's Lament:
http://forums.gaspowered.com/viewtopic. ... start=3600
Starting with:
Quote:|||Quote:|||Change the goal or the perceived goal, that's all I'm trying to get across.
Aralez, I was hoping that I could encourage you and others to change the goal, by introducing multiple build programs and more randomization into your AI's.
Reading between the lines, especially during your lament over on Sorian's thread, it is clear that for you current AI developer guys making an AI that can beat the Sorian AI's on specific maps is really your only goal. Nothing wrong with that goal, but Sorian has been around longer, and an AI designed primarily to beat other AI's might not actually be the highest or greatest goal that you could possibly achieve.
Sorian's AI's were always designed and meant to beat the other AI's, or at least from my perspective and your perspective and other peoples' perspective, that has always been the primary goal of these AI's, to beat other AI's. We each have our perspecitive or our interpretation of the evidence. And, you new guys are apparently going right down the same path that Sorian forged for you by example.
That does indeed get people very excited when your AI beats Sorian's AI on some map out there. That did indeed get people very excited, when the Sorian AI's were consistently beating the Thirdlaw AI's, and reading the subtext between the lines, you could even sense Sorian's pride at the time when his AI's were consistently beating the Thirdlaw AI's, especially in the beginning and especially while Giskard was around. We were happy for Sorian and proud for Sorian as well, at the time, and still are.
But, an AI that always beats other AI's is a predictable AI, and might not actually be the best AI for beating a human. That's the message I hope some of you guys will take away from this.
The information and ideas are here. Whether you choose to use them or not is really up to you. All I can do at this point is give you guys ideas.
If you want an AI that is more 'human-like', introduce randomly selected build orders, randomized target selection, and more randomization in general into your AI's.
Except for ranked players who often spend most of their time memorizing and regurgitating build orders and getting it down to the fastest rushiest build possible, most other human players don't play the same way twice or build the same way twice. One game they go right, and the next game they go left. That's the way a lot of us humans tend to play these things -- we experiment around and change our minds on the fly and don't really memorize any of our build orders. Many of us start over every game and try something new. Conversely, I was always losing because I was always building T3 Artillery while the AI was always going straight to T4, as mentioned above.
That's what always makes humans such dangerous opponents, as they can be very unpredictable, if they allow themselves to be unpredictable.
Random selections periodically in AI code can also simulate the unpredictable nature of human beings if done right. When you have a T4 unit, then select a random target for it. One set of build orders might be made to go straight to T4, and another set might be made to go straight to spam, and another set of build orders might be made to go straight to nukes, and another set might be made to go straight to T3 Artillery, and another set might be made to go straight to defensive firebases or straight to battleship or straight to siege bots or straight to support commanders or straight to T3 bombers.
You could have a dozen different build orders all in the same AI, and then randomly select one of them at the beginning of the game. Then the human opponent won't ever know what's coming. When you don't know in advance exactly what the AI is going to do, it sort of puts you at a disadvantage, at the same disadvantage that the AI normally is at when an AI goes up against a human. There's no way that you can get the AI to predict what the human is going to do next, and instead, you often have to give the AI cheats and production bonuses to compensate for its inability to predict what a human is going to do next. Proper use of randomization in an AI will make the AI more human-like. You can't randomize everything in the AI, or it will botch it all up. But, if you study it and put randomized selection at critical points in the AI's plan, it will greatly enhance the flavor of the AI and make it more human-like.
Oh well, could debate this all day and provide examples all day, and it wouldn't help. If some of you are not sold on the idea of randomization by now, you never will be. To each his own. All I'm really obligated to do is to pass out the idea and to tell you that I liked the results a lot when randomization was implemented at strategic decision points in another favorite AI of mine that I like playing against.
I'M ALSO TRYING HERE IN THIS THREAD TO POINT GPG TO SOME NEW AI IDEAS THAT I WOULD REALLY LIKE TO SEE THEM USE IN FORGED ALLIANCE, in case that isn't already obvious.


Being able to switch build orders on the fly during a game or adjusting the AI build orders according to the map or some such would be useful indeed.
Also, the ability for a squad of something to be able to select its target randomly instead of according to preset rules would also be nice. It would be nice, for example, to know that not every T4 is coming directly for your Commander, but might actually stop off and destroy something else along the way.
I know some of this is already showing up, but it would be cool sometimes if the AI would unite its units and coordinate an attack on an enemy experimental and take it out. It's like the human has to destroy them all if they are going to get destroyed, unless the enemy experimental wanders directly into the heart of your AI ally's units, then they seem to notice it.
I guess what I'm trying to say is that it would be cool if my AI ally's Fatboys didn't just get stuck in the mud or just wander off to the enemy base that has already been destroyed. It would be nice if the Fatboy would get a new set of orders once it gets there to that empty base. It would be nice if the Fatboy's orders would get reviewed and revised while enroute, once in awhile too. The Fatboys were the worst at getting stuck and having orders that were out of date and never updated and just sitting there doing nothing, but the other T4's showed some of that too.
Your AI ally spends all this time making a Fatboy only to have it get stuck on a mountain or just sit there doing nothing or actually decide to attack but attack a base that has already been destroyed, the weakest target.
There have been moments when I wanted to get ahold of somebody at GPG and strangle them.
I know, some of this cannot be done with the current hard-coded bits of GPG AI's, such things as assessing a units orders midway through the process and determining if those orders are still valid, and such things as giving whole groups of units a formation and a single order and having them travel as a group or a pack and work together as an army or a squadron. GPG was saying that those things would be in there, but they are not, unless there have been hidden improvements since 3251 came out that I don't know about.
Since they can't seem to group together and change their orders on the fly or reassess them every minute or so and update their targeting solution, I figured that randomizing the target selection of each individual unit would be better, as they might actually pick something to attack besides your Commander or your main base or an empty base once in awhile. And, unless you have already done it, having some routine that reassesses a unit's orders or target every few minutes would also be a good thing, so that a slow moving Fatboy doesn't have to travel all the way across the map to an empty base that has already been destroyed in order to get new orders or a new target.
I do remember a pack or a group of pre-3251 Sorian T3 Siege bots making it to the back of my base and wiping out my economy or my T3 Artillery with surprising regularity from one game to the next. But to be honest, I haven't seen that kind of behavior after 3251 came out. Maybe I'm not playing it enough, or maybe GPG took a couple of steps backwards and killed some AI capabilites while trying to go a few steps forward?
It's just not the same after 3251 came out.
So much of the Sorian AI just isn't as nasty and coordinated and such after 3251 came out. I just remember the pre-3251 Sorian AI's doing more and being more nasty and more coordinated and more unfriendly than what you inherited from GPG after 3251 came out.
Oh well, from the way you talk, it sounds like some of this will be coming back in 2.5 and 2.6, probably just in time for GPG to find another way to break it again.

I'm just extremely glad and grateful that you are willing to keep working on it. Hopefully, they will pick up some of your ideas and just put them into Forged Alliance so that they will already be there when next you have to start over again. Then you can go from there and make it even better over time.
I'm also hoping that you are as eager to start over in November with Forged Alliance as you have been indicating recently. You talk as if you are eager to get ahold of it and tweak the heck out of it, and I hope that eagerness continues. I know how easy it can be to burn out on some of these things.
--
||
--
The Forged Alliance thing looks promising, I must admit, but then so did SupCom. SupCom actually turned out rather disappointing on so many levels, after it was released, with all the crashes and buggy AI and pathfinding glitches and broken promises. Total Annihilation let you build fusion reactors on the bottom of the ocean and had hovercraft and just had more going for it.
I guess I was expecting more from SupCom than what it actually ended up being, and it's already going down the same path with Forged Alliance -- lots of expectations, but now with a real fear that the reality of FA won't be anything near the high expectations when it's finally released.
Lots of promises, but once again, only time will tell if the promises actually become reality this time around.|||I'm not an AI modder but I look for feedback on my units and figured this might be the place to post my feedback.
_________________________________________________________
When playing a match I tend to let my games go on for a couple of hours.That said,I've looked for AIs that build alot(but not all of one thing.It seems the horde AI prefers to build mainly land units)keep a steady stream of attack,just to try and hold me back while they prepare for their main assault.And by main assault,I mean that in the late game,I'm suddenly being bombarded by large and heavy non-stop waves of attack.Unless my base is prepared for it,that I would have an extremely difficult time keeping them at bay.And during all this time,the AI has constructed a base to be near impenetrable.Well there's my two cents.Probably not worth much but there it is.
No comments:
Post a Comment