Sorian AI - isn't it supposed to be better ?
-
Hello, me and my friend are novice at this game. I have rating of 900 (skill level much lower though), he is 500. We like to play 2v2 on faf vs sorian AI to get a little better and practice some strategies.
The problem we encounter though is .. even though we are quite bad, the AI is even worse. As far as i know, the enemy should be challenging, sending waves after waves, building experimental early, etc. Well .. in our games, it barely sends anything .. it will send 1 or 2 transports, if at all, the rest of units will stay on its island. It has T3 factories but still barely, if any units higher than T1. It's just embaressing, clearly something is broken badly.
We tried Sorian adaptive, Sorian Rush, Sorian, it's all the same. We tried this maps:
- Four Corners
- Four Leaf Clover
- Ian's cross
- The Dark Heart
- Eye of the storm.
I did some after game researching through the data and well, the AI seems to collect mass alright, it goes for most, if not all mass extractors on map, it upgrades many of them. But it simply does nothing with its mass. Its like minute 30, its sending some T1 units every once in a while, still no experimental, while it collected enough mass to build 2 experimentals. Also it likes to build energy storages into the extremes. An aeon the other day built probably like 20 energy storages in its base, for who knows what reason, but no T3 power plant. Naturaly when i popped 1 of them storages, the whole base went to sh*t.
So what am i doing wrong ? I got the latest FAF, didnt mod anything, didnt change anything. I did try dual gap map 3v3 vs sorian turtle AIX, the cheating double resource one. And well, lets say that was a whole different story. 1 of the players got popped by bombers very early on. 1 of the players got basicaly eradicated by navy very efficiently and me, well, a cybran bug landed on my head and popped me. But the bombers were the most efficient thing of all. There is no reason a normal non cheating AI isnt using the same strategy, it has plenty of mass for that.
So, do you know the reason for that ?
-
There is a couple of reasons:
- The AI markings on GPG maps tend to be poor. Try to use a FAF version of the map if available. An example: There is one of The Dark Heart. If not - install the Uveso AI from the mod vault and use that to generate markers (part of lobby options once installed).
- The sorian AI is not actively worked on.
It is better to install AI's from the vault. The AI discord is more widely used than the creative discord - they are making them better every week. A few suggestions: Uveso AI, RNGAI, Marlo AI, Nutcracker AI. They can be better / worse, depending on your play style.
I hope this helps and have fun
-
@goblinsly
in case you want do write directly to the AI developers, join us in Discord:
https://discord.gg/jj9yGUP
Channel AI-Development. -
Thanks for the answers. Ok, so Sorian AI is outdated, i should try others. I will try Uveso and see how it goes. I just wish it was included in default FAF like sorian, i kind of hate things that aren't "default".
Btw just some input from me. I just tried 1v1 on Canis river. And i have to say, god, this was exciting, one of the most fun games i had. Took me 25 minutes to win, granted i was doing mistakes and staying back even when i had a big army. It was just enough challenging to keep me on my toes, but not frustrating. AI went for all the mexes all the time, doing a great job of destroying my own, it also built point defences and factories around mexes which took me completely by surprise.
Though again i felt it wasted to much resources on things it didnt need, i mean again, 10 energy storages, is this really necesary ? U need like 3 for overcharge and since its commander is in base all the time, it never needs it. As for power outages and the likes, i think would be better to build another T2 pgen, instead of having this disasters waiting to happen all over your small base.
I will try Uveso AI in the following days. Is there a list of maps that does or doesn't work with it ? For instance, 4 corners is a map i really like for simple practice, sorian sadly is quite useless on it. Infact any map with sea and islands.
-
@goblinsly
If you use the AI-Uveso Mod go to options and set "AI Map Marker generator" to "Autogenerate Always".
This will generate AI waypoint markers even if they already exist on a map.
Some maps have really bad markers and its better to replace them.The reason why the AI needs so much energy storrage is simply because overcharge needs up to 50k of energy,
Teleporting SACUs cost 10,000 for each teleporting unit and experimental Shields are also consuming huge amounts of energy.If you want the AI-ACU more active then you need to wait for the next Mod Update.
Or you can test it right now, but you have to install it manually:AI-Uveso-Mod-16.may.2021.zip
Don't use this version online, its still in development and will instantly desync. -
Hmm. I have been away from SC for a year or two, so maybe some things changed. When i mentioned energy storages, i had sorian AI in mind. The last time i played, i dont remember needing more than 1 or 2 energy storages for overcharge. Did that change in recent months ?
Teleporting SACUs again .. never saw that in AI games. Experimental shields arent part of vanilla game, at least they werent the last time i played. Maybe i should read all the new things that changed, i was completely confused about factory vs factory HQ the last time i played.I know that expert players build energy storages, early for overcharge and late for, well, safety. But that sorian AI had no reason to build 20 energy storages. It should spend that mass to actualy do more things. Look at this, from my last play 1v1 vs sorian, and remember, that was the play that was actualy challenging and fun:
https://i.imgur.com/qx8u4KN.png
Look at this build from the enemy. This is wrong on so many levels. No mass storage around extractors. No reclaming T1 pgens when clearly T2 pgens are around and can be built. And soooo many energy storages going to waste, not being used at all. All the mass from this energy storages could be used to produce some extremely decent units. Instead, i barely saw any T2 land, a shield and a T2 tank, no T2 air, no nothing.
I know making AI is hard, im actualy interested in how its being done for this game. Years back, in age of empires 1 game, i proposed a simple tournament where we each made our own AI and then had them battle head to head to see which one wins the tournament. It was fun. And for some reason, sometimes playing against AI is even more fun than real human. Because real human, you usualy know what he will do. AI .. if done correctly .. you can never really predict its behaviour.
-
The overcharge damage scales with the amount of energy you put into it. At roughly 50K the damage is maxed out.
-
Was this in vanilla forged alliance or did this change in the recent FAF updates ? I noticed some changes, like T3 AA land unit, where could i read a quick list of major changes that FAF updates brought ?
-
This is changed in FAF last year I believe, vanilla doesn't have the scaling overcharge.
-
Whether or not AIs should build e storage is a separate question from WHERE they should build it. AIs are filling up their bases with e-storage so killing one will do massive damage and maybe even set off a chain reaction. It's suboptimal behavior. If you can teach them to put the e storage far enough away from their base that it won't blow up their base, the AIs would be a lot harder to kill. If it's too hard to teach the AI to do this, then we should give them "free" energy storage and they just wouldn't make more than 1 e storage structure in any game.
-
Its how Sorian does his builders and its intended. For stuff like Sorian and other AI. Its important to understand the purpose or goal of the AI. Its not neccesarily always to βbeatβ the player.
-
What then ?
-
Sorian is most important historically for one simple reason - he demonstrated that much more was possible within the existing framework. This didn't happen overnight, and honestly, he moved on long before he achieved any kind of nirvana, but he raised the bar, and inspired others (myself included) to push on.
Having said that, the version of Sorian that is included with FAF has been edited six ways from tomorrow, not only to adapt to the gameplay changes introduced by FAF (like overcharge), but by well meaning types that, frankly, had little clue about what they were doing. It's only been over the last 3+ years that any serious attempt to move beyond Sorian, or fix some of the long standing issues with Sorian, has been addressed - and that's, at last, something to look forward to.
-
@goblinsly
I did the most updates for GPG and sorian AI the last 3 years;
These are my patch logs:
AI Patch V1:
https://github.com/FAForever/fa/pull/2468
AI Patch V2:
https://github.com/FAForever/fa/pull/2566
AI Patch V3:
https://github.com/FAForever/fa/pull/2660
AI Patch V4:
https://github.com/FAForever/fa/pull/2734
AI Patch V5:
https://github.com/FAForever/fa/pull/2802
AI Patch V6: (AI pathfinding "A*(Star) search algorithm".)
https://github.com/FAForever/fa/pull/2915
Fix for AI Base templates
https://github.com/FAForever/fa/pull/2918
AI Patch V8:
https://github.com/FAForever/fa/pull/3114 -
A* search algorithm ? I had that in college, artificial inteligence basics course. I loved it and other algorithms. I didn't know you can change pathfinding of AI here also, in AOE1 we were only able to change some basic things.
I am hooked. Sprouto, you said Sorian is important because he showed that much more is possible within the existing framework. Can you tell me what exactly you mean by that ? I played a 2v2v2 game with 4 AIs, me and my friend. 2 AIs were sorian, 2 AIs were vaniila AI. Now, the first thing i noticed was that Sorian was much more efficient at gathering resources and using them. For instance, vanilla AI got into electricity shortage all the time, losing mass from mass extractors and holding him back, while sorian always had enough power and using all the mass he had. But other than that, the attacks and everything else seemed quiete basic.
I will give you an example of things that boggle my mind. Ok, enemy keeps sending small amount of units to the same spot on map, which is in range of T2 PD. Units get obliterated without doing any damage. Yet the AI keeps doing it. There should be some kind of check, an "if" if u will: if .. the first 100.000 units sent to this location did 0 damage to enemy units .. go to plan B. And second ... i attack with T3 units, slaughtering the enenys base. What does he do ? He bring the unupgraded commander and attacks units, not using overcharge or anything, i mean, surely an if is to be had .. if enemy units in visible range will slaughter me .. run in the opposite direction. It might not change the final outcome but at least it will give you an idea that AI wants to live. Like, have him try to run to the water, have him try to transport himself away with transporter ..
Ofcourse, its easy for me to say, without actualy seeing the manner in which AI is being programmed. Could i see some small snippets of code to get an idea ? Also, what are some of the more interesting things being worked on regarding this Uveso AI. Can i expect moments in game when i will say, woow, wth is that ? I didnt see THAT coming ?
Btw i read they are thinking of including AI in tournaments. I strongly support that. Also it would be great to see AI tournament, where the various custom AIs battle between themselves and the best AI will win If this tournament ever is a reality, all i ask is for it to be named after me ^_^
-
Patchnotes from my AI, maybe the show some some surprising changes:
- New: Added advanced ACU fight function. Microing, threat management, proper overcharge targets.
- Opt: Air Suicide Platoons no longer attack none game ender buildings.
- New: Added option for AIx Overwhelm for variable start time and cheat increase (thanks to bergzand)
- New: Added strategy for NukeSub defense.
- Opt: Added ACU sniper platoon (13-15 fighterbomber -> directattack ACU)
- New: Added a compleatly new AI Ecomanager that can now also pause/disable mobile units. Including stealth, cloak and jammer.
- New: New attack function "AttackHug". Units will move as close as possible to the target and execute suicide.
- New: AI is now able to micro-move units inside a platoon.
- New: AI works now with No-Rush game mode.
- New: Markergenerator is now able to create land expansions incl mass count.
- New: Added debug option for endless games (game restarts on gameend)
- Opt: AI will now sourround TECH2 mass extractors with storage before TECH3 upgrade (4 base mexes)
- New: Added a function to the targetmanager to get high threat areas for nuke/arty fire
- New: SCU enhance function can now also remove already installed enhancements.
- New: Added presetcategory to all preset SCUs. (Blueprint.lua)
- Fix: SCU teleporter platoon is now able to use preset enhanced SCUs
- New: Timebased debug print to the log every 30 seconds with memory and task data.
- Opt: Factories will be placed with more space between each factory.
- New: Added builder+former for amphibious units. incl Nomads. (water maps)
- New: You can now set an AI unit cap independently from players unit cap.
- New: New Unit-Categories. Blueprint.lua is now adding categories for 2 new unitgroups: 'AMPHIBIOUS' and 'HOVER'. (works with mods)
- New: Added new AI function to search teleporter targets. (Now respecting antiteleport towers).
My AI has alos several debug options for better AI programming.
If you want to have a basic AI mod to start with, go to the vault and search for the "Micro AI"
Its just a basic AI with only 1-2 bilders. perfect for learning. -
@goblinsly Sorian took what was really a poor effort (vanilla) and not only made it more efficient, in gathering, in production and in combat - but he demonstrated the leading edge of ideas that would become the underpinnings of other work.
I won't go into any detail about the multiple facets that make the AI do (or not do) what it does, suffice to say that the most difficult thing in developing this AI is understanding that computers don't see the game like you and I. They don't have the kind of memory to recall what they saw just seconds ago, so great effort has to expended to develop the data metrics that can inform the AI in this way - and make it understand what is happening. That, in turn, requires massive amounts of observation, repetition and then revising those assumptions. I've been at it since before Sorian left and GPG went dark (I have the dubious distinction of being the owner of the final post on the old GPG forums) and I can tell you that it's a LOT of work - and in many many areas aside from just theoretical AI behavior. To understand this AI and make something more of it, requires knowledge of mapping, units, LUA - above the other skills.
-
Thank you for the answers, and god, am i hooked. I do not plan to work on my own AI, but i would love to have some discussion about it sometime, throw some ideas on the table. I am a computer science engineer by degree and most of my college was about this kind of stuff, just sadly not in such a nice package (otherwise my average would be better xD).
That list of changes is amazing and i can't wait to try it out with my friend. And i swear if we get killed by a suicide squad of fighters/bombers or something like that, we are going to yell into the microphone in the middle of the night. Even talking about it gives me the goosebumps. I love this things, even more than playing it. For instance, i used to watch gyle's recordings of fights because it was awesome to analyse it, i actualy prefered it to playing. And now i will test your AI to other AIs and observe what is going on.
Awesome. I was reluctant should i even make a post, as i expected people will say to grow a pair and play against real oponents. I had no idea the custom AI community was so alive after all this time !
-
It's been long ignored - for sure - and it's still the red-headed stepchild in the FAF community, but - finally - after a long time of stumbling around in the wilderness, there is finally some company, someone to discuss issues with that understands the many degrees between point A and point B.
The best place to take part is on the AI discords, of which there a few - FAF, AI only, and LOUD -
https://discord.gg/cpNjaYcw -- FAF
https://discord.gg/28pKVTFJ -- AI General
https://discord.gg/TGWDRcF6 -- The LOUD Project -
And yeah, just to build, I have been working on SCTA AI for last few months and 'newest' AI Developer. And its been a process in more ways than one. Sometimes because he created entirely functions new SCTA functions such as TA pathfinding (i.e. getting Ai to recognize walking kbots, the fact I have 4 different engineer types), and more. But one of things as Sprouto has said, I've been working on or frying the fish as I would call it. Has been working on BuilderTypes for specific managers which is not a thing in the base game FA AI.
But its absolutely fascinating because there is a lot of small things as player you don't recognize or realize how things work or why things work the way they do. And many ways as an AI developer, I have come to appreciate the nuance of factional variances than I have ever done as a player. Sprouto can vouch how often I've asked him on a somewhat even core level questions "How does the AI do the thing".
Like the easiest thing as a Modder I did not even consider really was creating TA unique categories. Such as LEVEL1 to LEVEL3 which are basically the same thing as TECH1 to TECH3 (there are some nominal differences but that getting pedantic). But one of the things I did was removing much of those unique categories. Also the assigning and meaning of threat values, like I will talk about how existence of stuff like threat and imaps are incredibly important that is often overlooked. And originally the TA mod had 0 threat assignments for units.
So I had to assign such assessments for TA units. And while many cases I looked at Supcom equivalents and assigned the threat value, but its also made be better understand the threats and what they mean. Also why the AI has weird choices for its aggression (hello 1k threat mexes). And alot of Sorian has been integrated into FAF itself. Notably engineer auxillary functions (reclaim structures, reclaim units, assisting unfinished buildings etc) which as an AI developer or even player we don't even cognitively think about.