Jump to content


Photo

Impressions on v1.6 - The Arkhan Build


72 replies to this topic

#1 thudo

thudo

    Wacko AI Guy!

  • Division Leaders
  • 12,164 posts
  • Location:Lemonville North, Canada
  • Projects:DoW AI Scripting Project
  • Division:DoW
  • Job:Division Leader

Posted 29 November 2005 - 06:25 PM

Its out for internal testing by the beta group..

Impressions?

Personally, I could notice the changes immediately as things seem to flow far better and cleaner + the AI was much more meaner and seems a little more logical in its behaviours.

Arkhan, using Larkin's/Flenser/Corsix/Excedrin/and my work, has further enhanced our project to new heights of code simplicity, functionality, and AI complexity.

Bravo Arkhan for undetaking this immense coding and playtesting work!

We may have indeed entered a new realm of AI behavioural processes not yet seen in PC RTSes. :shiftee:

TuD.
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#2 Excedrin

Excedrin
  • Project Team
  • 154 posts

Posted 29 November 2005 - 08:35 PM

Cool, I'll play and upload some replays tonight.

I played 7 games. All against Hard difficulty to hopefully show behavior I consider to be problematic (wasting resources, too early generators etc).

http://dow.lerp.com/.../skirmish16.zip

4P_GORHAEL_CRATER.2005-11-30.02-29-09.rec
IG vs SM, I take over the map while the computer makes 2 servitors, 3 scouts, FC, 2 generators, then it sits in its base and waits for the timer to run out and lose.

2P_DEADMANS_CROSSING.2005-11-30.01-23-41.rec
IG vs Ork, I build up a huge econ, then tech to tier 3 and run over the poor defenseless ork.

2P_BATTLE_MARSHES.2005-11-29.23-34-19.rec
Ork vs IG, I harass with bigmek and some shootas, take away a point, and start building stuff around it. Meanwhile the AI decides to attack my other side, so I use ranged sluggas to delay him while my grots repair.

2P_QUESTS_TRIUMPH.2005-11-29.23-22-46.rec
Chaos vs Eldar, Raptor harass -> t2 -> zerks, now with power sword / plasma pistol ACs.

2P_OUTER_REACHES.2005-11-29.23-11-10.rec
Eldar vs Chaos, Reaper harass followed by banshees.

2P_FALLEN_CITY.2005-11-29.21-57-37.rec
Space Marines vs IG, marine rush, later I add FC.

2P_FALLEN_CITY.2005-11-29.21-49-39.rec
IG vs Space Marines, CS "rush".

After playing these games, my impression is that the number one improvement would be if it could fight for map control and not just give up when a point is contested in the early game. I've been thinking about how to code something like that, but I haven't really come up with anything so far. I guess something along the lines of merging attack and capture plans so that it really fights for the points (attack this point, ok nobody around, capture) might be a possible improvement. It could target SPs first, crits and relics 2nd, enemy buildings 3rd, that way it should slowly expand held territory, or at least fight for contested points.

Edited by Excedrin, 30 November 2005 - 11:18 AM.


#3 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 30 November 2005 - 11:37 AM

Some observations from two 2vs2 all AI games. Both ork/chaos vs eldar/marine.

On map 'break the lines' or whatever it is called in english (durchbrecht die Linien) :

Ork went stormboyz, chaos plain marines, spacemarines all assault and eldar went DR. Then they did nothing for about 10 minuts while teching to whatever was possible in that time. Afterwards eldar lost patience (guess it hit the 9000 max army limit) and attacked and all started a massive battle in the middle.

I suggest doing something with tier1 troops. What is the reason to build dedicated t1 forces by carefully planning while not using them ? They were all obsolete by the time the battle began at tier3/4.

With the other battle I noticed jump troops, being part of an attack force, jumping to locations far away (opposite direction) of the attack target to join some other battle there. This did leave the early attack force (lord, cultists and raptors) without the raptors and both parties were destroyed piecemeal.

Question : Will the AI stop a dedicted build plan while it is attacked/interrupted and the plan becomes invalid ? Are there fallback routines to pump out needed counters or is the plan followed to its end (defeat) ?

Please remove inability for helping allies with chaos AI. This is not roleplaying. Every player wants to play team games as successfull as possible and this behavior is taking away the chance to win and therefore the fun. I don't need games to say afterwards : "Well, a crushing defeat due to my chaos allies inability to help but he initiated the disaster with style and character." :-)

#4 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 30 November 2005 - 01:19 PM

It's a shame that there's no option to save a replay in AI battles (sigh). That all 4 AI's aren't attacking is very weird. Never happened in any of my tests. I will try this map out. Maybe it has a strange layout.

With the other battle I noticed jump troops, being part of an attack force, jumping to locations far away (opposite direction) of the attack target to join some other battle there. This did leave the early attack force (lord, cultists and raptors) without the raptors and both parties were destroyed piecemeal.


While moving to the attack location, they are only allowed to jump to targets in that range. As soon as they are there, the common behaviour is that they only make long jumps away if the allies are powerfull enough to survive on thier own or the enemy forces are so strong that it's better to leave the area. If several assault troops are involved, they might all jump away because they don't expect that all the other jump troops are leaving, too. This problem is not easy solved, though it wasn't such a problem in my test games.
Maybe they should get restricted to short jumps as soon as they reached the area or long jumps should be only allowed if they are pretty much alone. There's no easy answer for that, because a battle is very dynamic and in one situation it might be the right decision and in the other a wrong decision.

Question : Will the AI stop a dedicted build plan while it is attacked/interrupted and the plan becomes invalid ? Are there fallback routines to pump out needed counters or is the plan followed to its end (defeat) ?


Rushes are aborted as soon as they reach tier2, except the vehicle rushes. Besides that he will follow the build plan to its end. The rush plan could be stopped if the AI is attacked, though it's not sure if it's wise to do so. And the end is definetly not necessarily a defeat. Let's wait for the experiences of the other testers. Maybe you're right. We'll see...

Please remove inability for helping allies with chaos AI. This is not roleplaying.

This behaviour is not only roleplaying. My calculations are pretty much a rough situation guess which isn't necessarily the right decision in every situation. An allied attack on an enemy can help you more than a direct support by retreating their forces to your base. I had the choice of a random value to modify the behaviour or to use some fluff for that. The RPG thing has even another advantage: The player gets more control about the AI and adjust them to its playstyle. A noob might prefer Eldar allies because they are very likely to help, whilst a pro might don't want any help because he thinks he's good enough.

#5 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 30 November 2005 - 01:27 PM

An allied attack on an enemy can help you more than a direct support by retreating their forces to your base.


I do not agree. Lots of players were yelling at us due to the AI's inability to help allies until 1.5 was released. If you are double teamed the AI must help and it is of no value that it might be good at attacking. You loose you base and the game is over though your ally might win. Therefore I addedthe code that the players base is a high priority defense target. But no problem if you prefer your style. I know how to disable that. Btw a noob might still like to use different allies than just eldars.

#6 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 30 November 2005 - 01:35 PM

After playing these games, my impression is that the number one improvement would be if it could fight for map control and not just give up when a point is contested in the early game. I've been thinking about how to code something like that, but I haven't really come up with anything so far. I guess something along the lines of merging attack and capture plans so that it really fights for the points (attack this point, ok nobody around, capture) might be a possible improvement. It could target SPs first, crits and relics 2nd, enemy buildings 3rd, that way it should slowly expand held territory, or at least fight for contested points.


I think the inabilty of the AI to fight for points is its main drawback since 1.0. Maybe this is changed due to Arkhans new attack code. Before the AI only initiated attacks if stronger comparing totals. Now it might be they check different points nearby for enemy weakness and contest them even while their total army is weaker. This would be great. Can you comment Arkhan ?

#7 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 30 November 2005 - 02:31 PM

One important note:
Just like before the AI is NOT optimized for Take and Hold victory condition. If I remember right the AI is not even able to differ from a strategic and a critical point. Therefore please only test with annihilate win condition. I've planned to improve that in further releases...

After playing these games, my impression is that the number one improvement would be if it could fight for map control and not just give up when a point is contested in the early game. I've been thinking about how to code something like that, but I haven't really come up with anything so far. I guess something along the lines of merging attack and capture plans so that it really fights for the points (attack this point, ok nobody around, capture) might be a possible improvement. It could target SPs first, crits and relics 2nd, enemy buildings 3rd, that way it should slowly expand held territory, or at least fight for contested points.


The AI's capability to fight for map control is exactly like before. I didn't touch that code part. Also my personal opinion is that the AI plays better with allies than 1vs1. I've a lot of code that considers allies. Though it's great that you tested 1vs1. Maybe I recognize some weaknesses which are easy to fix...

I think the inabilty of the AI to fight for points is its main drawback since 1.0. Maybe this is changed due to Arkhans new attack code. Before the AI only initiated attacks if stronger comparing totals. Now it might be they check different points nearby for enemy weakness and contest them even while their total army is weaker. This would be great. Can you comment Arkhan ?

Yes, the new attack code checks for weak points, though it won't attack at all if it is less than half as powerfull as his opponent.
I think that might have been the problem on your map Larkin. If the enemy is too strong, and there's only one valid attack point available, he might wait. But I think I know how to fix this.

#8 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 30 November 2005 - 08:24 PM

Okay Excedrin, I've analysed your replays. It was quiet...interesting :grin: . The two most obvious conclusions after watching the replays are:

1.) You are a MUCH better player than me!

2.) The AI will NEVER EVER be a challenge for you.

On most maps the AI was rushed and in battle for map control overwhelmed. The AI cannot compete on this level. I think my attack strategy was at most used maybe two times in all seven games together. The AI was almost always beaten in defend mode which hasn't changed, yet. The 4 player map GORHAEL_CRATER was different. The AI felt into a tech trap, because it wasn't able to build an armoury. If this happens, the AI is doomed.

Okay, let's have a look at the things I might be able to fix something:

1.) At OUTER_REACHES, the Ai tried a fast vehicle which is pretty much a joke with the distance between the two bases. I fear I must have a look at the map size function, because the the AI shouldn't try a vehicle fast tech on such a map.

2.) On DEADMANS_CROSSING, the ork made nearly a suicide attack. I think this is because he tried to reach a lesser protected post and didn't recognize that he must pass a heavy fortified outpost where the army was based.
I can try to add a check if the enemy army and/or post are somewhere on the way to this post, but this will be only compared by direct airline distance and will therefore not be correct in every situation. My options are very limited here since I can't figure out the exact way he has to use to reach a target.

3.) On BATTLE_MARSHES the IG didn't retreat although its base was under attack. This can happen, not because the attack strategy wouldn't give the retreat command, but because the defend strategy is ...strange. I sometimes got the feeling that it tries to defend the enemy ground against the enemy. This is again defend strategy and the rework of this is planned for the future, probably 1.7.

Nevertheless, the strength of the new AI lies more in mid to end game battles. 1vs1 on that level? No chance!


I'll also try Larkins map now and try to fix the following things:

- Jump troops making a long jump away from attack position
- AI not attacking even with lots of troops
- Chaos not supporting allies

#9 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 01 December 2005 - 11:10 AM

Some more observations from Excedrins games.

1. Two gen build is very risky and will lead to a loss most of the times. A good human player may try this on certain maps but the AI isn't clever enough.
2. Units again do back/forth movements under fire, getting killed without resistance. We had this problem with earlier versions but not with 1.4/1.5.
3. Guards did build three commissars before the command squad which idled around some time before attaching though three IG squad were available.

Edited by LarkinVB, 01 December 2005 - 11:12 AM.


#10 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 01 December 2005 - 11:49 AM

I wouldn't take Excedrins matches as a measurement. Those games are decided by the fight for map control and not by teching. Let's face it: The AI is dead against someone with Excedrins playing skills, regardless what it does. Only a rework of the capturing, harassing and defensive code could change that. And I highly doubt that even a complete rework would be enough to get a behaviour that would get even close to that skills.


1.) The generators are dependent on the build program and the dynamic builds of gens. Against someone like Excedrin, it wouldn't change anything and against more average players it would be probably even worse.

2.) I never even touched this code. If it is in 1.6, it's in 1.5/1.4 as well.

3.) Would probaly require a change of the commisar tactic...

#11 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 01 December 2005 - 12:33 PM

1. Two early gen builds will also fail against me and I'm much worse than Excedrin.
2. Are you sure ? If you add a move command you touched it already. I played/watched dozens of battles with 1.5 and it was fine but it was obvious in the first two battles of 1.6.
3. Usually they should attack immediatly if a squad of certain strength (160) is available. Perhaps Relic did reduce guard cost for 1.41 ?
I think the special code to disable execute in the commisartactic file can be removed so they will use it finally.

#12 thudo

thudo

    Wacko AI Guy!

  • Division Leaders
  • 12,164 posts
  • Location:Lemonville North, Canada
  • Projects:DoW AI Scripting Project
  • Division:DoW
  • Job:Division Leader

Posted 01 December 2005 - 12:51 PM

v1.6b2 is up! Please test away! :p
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#13 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 01 December 2005 - 01:18 PM

1.) I think the vehicle builds are the only programs that start with 2 generators. The others build them at least after the commander. Since each LP2 is 75 power + commander with ~75 power + armoury ~75 power, one generator will last for a very short time.
Anyway, I... think I let those balancing decisions up to Thud. I already get the beating for the coding work, so he should get his share as well for the balancing decisions :p . I've my own opinion, but I'm mainly the coder not the balancer. The only thing I'd suggest is to try it out. The AI handles things different and the theory differs often very much from the practice. I've adjusted the programs through testing, therefore they shouldn't be that bad. But I'm still human, I make my mistakes as everyone else.

2.) The only move commands that are influenced are the ones from the attackplan through the retreat command which gets now also an allied base as new position when he should support an ally. This is the only change, and I highly doubt that this is responsible for that. I guess it's something in the infantry tactic files.

3.) No idea! Can you try it?

Edited by ArkhanTheBlack, 01 December 2005 - 01:19 PM.


#14 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 01 December 2005 - 02:32 PM

Larkin, I've an idea what could cause the back and forth problem. The attack code and the retreat condition are not exactly the same. The retreat condition is much simpler. There might occur a situation where the attack code thinks a target is okay, but the retreat condition not. In this case such a problem may occur. I think I'll add a time limit to the attack strategy which blocks a new attack plan for maybe 30 seconds. I think that should fix such a problem.

#15 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 01 December 2005 - 03:51 PM

I already get the beating for the coding work, so he should get his share as well for the balancing decisions  .



Oh nooo !!! Than we will get turrets all over the map :grin:

Regarding the beating for coding work - you will get used to it. I had to endure it from v1.1 to v1.4.
v1.5 finally was well received. Perfect moment for me to disengage.

Fot the commisar execute enabled just remove

  --buggy Relic code
   if true then
      return
   end

from commissartactic.ai

#16 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 01 December 2005 - 03:56 PM

Are you interested in my slighty better code to detect safe LP behind own bases for generator builds ? Old code only checked for a safe place against closest enemy, new code will check against all enemies.

You see I'm coding again, making v1.5 AI DoWPro ready and fixing small stuff.

#17 Malkor

Malkor

    Eternity

  • Members
  • 375 posts
  • Projects:Loladins of Legend.
  •  Inanely inane inanities!

Posted 01 December 2005 - 05:12 PM

Unfortunately with the lag I get from WA I haven't been able to test anything at all. Thanks, relic, for making the game completely unplayable no matter what I do.

One question -> What is this RPG factor, and why in heck is it even remotely related to the AI?

#18 thudo

thudo

    Wacko AI Guy!

  • Division Leaders
  • 12,164 posts
  • Location:Lemonville North, Canada
  • Projects:DoW AI Scripting Project
  • Division:DoW
  • Job:Division Leader

Posted 01 December 2005 - 05:55 PM

Errr.. Lag in WA? :grin: :p

Hows that? Time for a system upgrade? Super cheap these day.

As for the RPG elements - thats being discussed. Its more on the faction-specific behaviour when it comes to assisting allies.
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#19 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 01 December 2005 - 06:07 PM

Are you interested in my slighty better code to detect safe LP behind own bases for generator builds ? Old code only checked for a safe place against closest enemy, new code will check against all enemies.

Yes, thanks! Just send it to me and I'll combine it with my own changes for the next beta. You should have my E-Mail address from Thuds circular mails.

You see I'm coding again, making v1.5 AI DoWPro ready and fixing small stuff.

I've seen it. A good idea to make the AI for them. I didn't have time to try it out yet, but I'll definitely make up for it as soon as skirmish 1.6 is out.

#20 thudo

thudo

    Wacko AI Guy!

  • Division Leaders
  • 12,164 posts
  • Location:Lemonville North, Canada
  • Projects:DoW AI Scripting Project
  • Division:DoW
  • Job:Division Leader

Posted 01 December 2005 - 06:10 PM

Larkin.. coding again? What new changes are you doing in DoWPro that aren't in v1.5? You sneeky bugger you! :grin:
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users