I tried also the rush variant and it is indeed more vicious early. I tried uveso vs 2 sorians and just now, uveso adaptive vs sorian adaptive, sorian air and sorian navy. Took some pics and videos also. Uveso obviously won all the games, but was getting hammered quite well early on, mostly by sorian air, which actualy did very good bomber runs (though never built a T2 airplane in like 90 minute game), doing lots of damage and also upped to T2 navy and did really lots of damage with destroyers. Uveso didnt react that well in this game, i expected T2 arty or/and T2 tacs. In previous game, it did wonders with a single T2 artilery, i thought to myself, there is an MVP unit. At moments i got pretty nervous when the commander got into the water next to like 10 T1 enemy subs, but it got out in time. Though experienced player would go for the snipe.
Ok, then it somehow took out the air player, which was the only player actualy doing something of worth. Then the "navy" player who didnt get to T2 navy in 80 minutes of the game. And then the sorian adaptive who didnt do anything at all, except building the biggest T1 land spam i ever saw and just sat on his island, sending a transport every 10 minutes or soo. Had T1 mass extractors by minute 60 and by the end of the game, actualy upped some to T2. But it seemed like uveso had the most problems with this player. It sat tons of units in the water by the beach, occasionaly trying to rush with about 10 amphibious tanks, but getting slaughtered by about 150 mantises. Didnt use the experimental. It really should have used T2 navy to bombard the beach. It took a looooooong time for him to send a nuke, missing the commander that was sitting by the beach, but the second nuke got him. I wrote down some things that got into my mind as i was watching the game. Keep in mind that while i think as a programmer, i have no idea how the AI programming is actualy done in this game, its just pseudo thinking. Might be impossible to implement, might not even be smart to implement.
sending transports from A to B, to the same point, over and over, no unit survives the landing. Between points A and B are stationary antiair, enough to drop everything. Would be cool if there was a way to assess a path and avoid it if it detects to much AA to actualy land
Units, mostly in water, getting torpedoed, not sending torpedoes back (out of range) but not moving away either. A lot of T3 mailboxes got shot this way.
As i already said, detect when arty/tacs and navy are needed
maybe a plan who to kill in 1v more enemies ... instead of sending few transports to 1 enemy, then the next, etc.
maybe defend expansion bases a bit ? If not with buildings, at least few units. It made like T2/T3 mexes on empty islands, only to be lost to enemy engies seconds later
Making a mod would involve me spending time working on it. Though yesterday i did go through some lua files and tweaked the benchmark scenario, thank god i still remember some c(++). What i need is automatic way to get min, max and avg framerate in a benchmark that is a few minutes long. Its important to be consistant. I run it at simspeed +0. If ur further interested, im trying to see the effect of frequency of certain cores on the framerates and also some other things. There is no evil plan to take over the world behind it .. i am doing this for my joy, i enjoy tweaking and looking for that 0.0001% +/- difference and seeing which things in game engine were implemented good and which not so good.
Also, in the meantime, i found out that the benchmark file that is created does indeed offer FPS numbers: min, max and average. It just hides them quite well behind a lot of useless stats.
A member, IceDreamer supposedly made a nice mod for just what i need with tons of ASFs, but download links are broken. If anyone has it, please do share.
I need a mod or program that will measure fps of a gameplay but it needs to be identical every single time, therefor i need a scripted scenario or replay. And obviously i need a way that will do all by itself instead of me sitting there with a fraps. Like i said, i am testing setups and configuration, for my own joy. My pc, as it is, is plenty powerful to run the game without tweaking btw. Please lets stay on topic.
Jip: Thank you, i just ran the thing and it does indeed work and i get the score and total frame time. No average fps, amazing. I guess i can get that by measuring the length of the test. In anycase, thank you for this
If anyone has any even better benchmarks for Steam FAF version of FA, please do tell
I am looking for some kind of automatic benchmark mod for steam version of FA. For instance some kind of fixed replay that will at the end give me average FPS, replay can be like 1, 2 or more minutes long. I need it to compare certain setups and configurations. I know tools like this were out but all the links to download are broken.
I just checked the vid and its very interesting. I am guessing it is constantly calculating whether it should attack units in its vicinity or go home .. and it is using many parameters, such as its own health, strength of ally/enemy units, distance from home, time of game, etc. Am i assuming correct ? Similar with overcharge, calculate mass of adjacent units, decide if worth the energy cost of overcharge ?
I am very impressed with the AI, like i said, it won against 3 sorian enemies. I am looking forward to seeing how it improves further. There is so many things .. for instance, sure, u can have a generic commander, same for every game. But, what if u spice it up, make a few personalities and at start of each game its randomly choosen ? So, in the last game, you saw an uveso enemy commander defending its base very well, then the next game, the enemy commander suddenly pops in the middle of your base, almost on a suicide run. I can almost hear my friend on skype, saying, what the f... and laughing if it happened to him. Sadly, im not a good player to give any tips on navy or anything.
1 thing i noticed, there seems to be certain markers on each map, you can even see them for a few seconds after the game starts. And then everyone builds navy bases on those markers (uveso sometimes even tries to build navy factory near enemy island, which is a neat trick, human enemies do it all the time). But, isnt the fact that those build markers even exist, kind of making the build thing almost scripted ? I was thinking about it earlier and if u set all the water as potential build site, you would probably have big problems preventing AI trying to build it in some insane places. But, speaking for 4 corners, i would add more navy build spaces, add different weight to them to make sure they more often then not pick the more optimal one, then just use a rand function to pick spot. I hope i didnt completely miss the point of how its done.
There is so much more i would like to say but i will keep it short just by 1 last comment. You said, units don't know how long the weapon range is from the enemy unit. But in a way, we do. Let's say we have radar coverage but no sight coverage, so we dont know which unit is shooting at our unit. But we do see that a) our unit is getting hit by something and in the case of torpedos, we do know its a torpedo, b) we know our unit isnt shooting back since we can see that visualy. And lastly, c) we can see that the unit is out of range, since we can visualy see that the enemy icon is out of the red circle that shows range of our attack. Now, it is true that we cant just by looking say exactly how many meters the unit is away, but we can approximate. We dont even have to know the distance itself, we just say ... if(gettingHit/taking damage && noUnitInWeaponsRange) doSomething (like move away, move closer, anything). Btw, is there any default unit response for what the unit will do when its getting hit ? In most strategy games, if u start shooting unit from afar, it will come to you and attack. Is that different in SC ?
Looking forward to your next AI update
Oh, just another thing to add ... the way your AI is using commander is amazing. It got like 70 kills in a game and really responded well to attacks. At the start, i saw barely any direct damage units and i felt that was extremely risky, but i forgot that commander is an absolute power house at the beginning and it really did respond amazing to all enemy incursions and the more enemy attacked, the better it was since all they did was give mass.
Commander going into water near many subs got me worried but then i noticed its trying to build navyyard near, so it was actualy tanking some torpedoes. Killed some T1 ships also. I missed it reclaiming enemy subs sometimes, when it was only 1 sub there - it walked under it but then went onto the land. But still, awesome play. Then it built T2 PDs, like 5 of them, but not a single T2 AA. It got me worried but then i realised ... enemy didnt use any T2 air, and T1 AA units from factories are amazing, it had plenty of those and they cleared the sky awesome. See, if i was playing, i would surely build T2 AA as soon as i sighted a single enemy T1 bomber, and i would waste mass this way.
I just played another game with forced AI markers, but it prolly made no difference cause 4 corners doesn't have its own ai markers, so uveso made them in an earlier game too. This game was a bit different. Started the same, sorian took all islands and uveso was denied navy. But it adapted so well, it was nuts. It started making T2 amphibious tanks, then added bricks in the mix. A few of them. Like .. 110 of them and probably 200 amphibious tanks. It was just sitting outside the enemies base, cleared most of his navy, missed few factories on the left. It probably spent 20-30 mins sitting in the water, outside his base, it had plenty enough to kill him, not to mention laser on commander, spider in the base, etc. I thought it was bugged but then suddenly it decided to push and well, as u can imagine, it was brutal. It also had like 3 T3 battleships but only used them to clear some units and mexes on the beach. It looked to me like this AI was very conservative with attacks and planned to just cut off the enemy and over eco him to death. At the beginning, Sorian always ecos faster, prolly takes mexes around islands faster, but then all of the sudden, bam, uveso is like 3-4x higher in mass income than sorian. There really should be a AI tournament, because this is just soo much fun to watch. Im gonna try now an uveso vs two sorian AIs. I am not so interested in who will win, i am interested in how it will adapt to more pressure.
The only thing so far that im wondering, well, two things .. why is the AI so laid back, conservative ? I mean, 110 bricks, nothing can stop that A monkeylord sitting in the base doing nothing, battleships barely attacking, often completely skipping T2 navy and using only T1 and then going for T3 even though destroyed + cruiser combo would help ? Im guessing it detects battleship will be better utilised and keeps monkeylord for defence. And .. well, this one completely boggles me. Commander goes cloak + laser pretty fast, it seems it could use eco elsewhere. But im guessing its purely for defence - makes killing a comander very very tough.
Will let you know how other battles go, i plan to test it a lot, its more fun then playing to be honest ^^
I just watched a game of Sorian adaptive vs Uveso adaptive, on 4 corners. I was an observer. I wanted to just see like first 5-10 minutes to see the differences but the game drew me into it and i watched like 50 minutes of it at +4 speed. Fantastic, fantastic. Kept markers on default, so i dont think it changed them. But sorian played considerably better than i remember anyway. It started strong, and took control of both islands, so more mass and also air superiority. Sadly, barely did any navy, which is insane considering both were cybran and this is sea map. Anyway, sorian also did some bomber runs. It wasnt looking good for uveso and i started thinking if maybe i set something wrong. But .. uveso was smart ... building eco. Then it started mass building navy factories, probably like 8 of them and spamming frigates and it was extremely good with them, i was following them ... that micromanagement ... wow. It was bad with transports, most got shot down. Looked like it doesn't have a clear plan by starting spider and nuke launcher at once. But sorian didnt do much either so looked like sorian will win with spider or nuke. Then it changed. Uveso built some subs, but sorian also, and was pushing. Both were bad with amphibian T2 tanks .. transporting them and getting shot down. Then uveso added bricks and that micromanagement was even better. I never saw an unit coming out of water, sniped some units, then when commander attacked it, it flew into water. This was just amazing to see. Anyway, uveso killed units and buildings on both islands, even though sorian did a good job of making a base there, with factories, pds, etc. But in time, it was destroyed. Also it was amazing how calm the bricks were. I thought it will easily get pulled inside the base and get killed, but no, it used range and very slowly adding bricks on the shore and killing building by building, until they reached commander and killed him. It was funny to see them spamming frigates and subs but not making any destroyers, which are like, really good. Then suddenly i see they made T3 ship but not using them, but then also build a destroyer and sent it to attack.
Oh, and the last part ... this is really funny. They actualy upped cloak and laser on their commander. Now that would be a nasty surprise if i attacked him with my gun upgraded commander only to find out they got laser. I look forward to playing more and seeing how much else it got in stock. I am guessing it can do many different things ? The only thing i would kind of note is that until minute 10 i think they didnt have even 1 unit capable of attacking. Nor any point defence. I did notice it was very smart detecting enemy bombers and started spamming T1 antiair units. Sorian was dumb, making tons of units and trying to walk on water with them .. which doesnt work. But i am wondering how it would end if there was land between them ? Commander would prolly take care of them, collect mass and use it to build its own units i guess.
Alright, i tested the UVESO AI. I played 2v2 on fields of isis, enemies was 1x SORIAN adaptive and 1x UVESO adaptive. UVESO was flying over all of us, score wise. It upgraded mexes in the mid to T2 while Sorian kept them at T1. IN post game score, UVESO was king. Sadly it didnt win in the end, but this game took considerably longer than the last game that was versus 2x sorian.
So .. me and my friend tried to hold mid, me at bottom, him at top. He failed miserably so we had to move back into the mid near our bases. We held it, though had some problems with units streaming. But pretty soon T2 pds and shields were masacring enemy and i used all that waste mass. I built Megalith and nuke defence, friend built 3 spiders and some air. Both enemies failed to do anything special to harm us, though they were pretty annoying attacking the only mex that wasnt under a shield. Actualy took me 5 minutes to get enough engies and antiair there to build a shield.
Both enemies were throwing low tier units at out shields and t2 pds. I saw the uveso building a spider and a nuke but the nuke was far from done. My friend attacked with 2 spiders, ran into serians base, killed him, then went to uveso base and killed him also. I missed better response from uveso. He did attack with t3 gunships and t2 cybran bomber/fighters but only took 1 spider down. He knew spiders were coming like 5 minutes in advance, because he had his t1 units running by spiders. It would be good in this case if he noticed that and prepared his base. Like mass T2 pds, shields and stop building nuke and finish the spider. It also wasted tons of mass, because it collected probably more than all other 3 players combined, yet had nothing to show, because all the units he was building got killed. 1 thing that i noticed and i was impressed with ... they got a T2 rocket spider into my base. And it was attacking some of my units. Then suddenly i see it moving into the corner and i didnt know wth is happening cause there is a corner, nothing built there. Then i figured, its probably detecting that it vastly outranges my units ... and is better to move out of their range and just bombard them. This was nice.
But, i can say it is considerably better than sorian and mind u, this was small map. I left the markers on default, which means it will only add markers on maps that dont have them. Should i maybe force markers on all maps and that would help ? Next time me and my friend will play 2v2 vs 2x uveso on same map and see how it goes. Oh btw, i used Uveso adaptive, should i use some other AI ? I kind of have difficulty picking the right one for the map.
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 !