Jump to content


Photo

Skirmish AI 2.4 Beta 2 - Post Comments In Thread!


23 replies to this topic

#1 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 14 June 2007 - 04:19 PM

2.40b2 is up for the testers!

Updates
=====
- Fixed some building problems
- Fixed a tech trap with SM
- Added a resource overflow control which allows unit building even in building states if a certain amount of resources is exceeded
- Fixed the snare trap problem reported by Larkin
- Added Larkin's Tau Commander jump and Guard Commissar's Execute fixes

2.40b1 Changes
==========
- Fixed bunkering and transport code
- Fixed AI donations code
- Teleport builders teleport now to build positions
- Fixed a problem with tier 1 to 2 AI force techs
- Necron build program changes (dynamic build of Necron Warriors)
- Eldar build base strategy changes
- Additional AI improvements (like always)

ork vs tau all AI, meeting of minds, no hero mod installed, donations on, hard as usual

1. ork had a build problem. They got stuck at 25/25 pop, floating large amounts of both req and power for a very long time. Only at the very end something released their build problem. It was too late.

2. tau were floating lots of req too (around 6 minute mark) but at least they did not get stuck.

3. not sure if this happened this battle too but I noticed in another battle that the tau commander is still not using his jump anymore. He tries to disengage by run, never by jump. I already noticed and repored this with 2.3

Attached Files



#2 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 14 June 2007 - 06:10 PM

1. ork had a build problem. They got stuck at 25/25 pop, floating large amounts of both req and power for a very long time. Only at the very end something released their build problem. It was too late.

I think this occurs if a gretchin squad gets stuck and they are not even able to 'create' the building. The harmless version is that they get stuck but at least start the building so other builders can finish it.
The good news is that I think that I was able to fix it by making a builder change if the builder is in building state but the building was not created. According to my logs this work around was used several times in my Ork test games. And indeed, in 6 Kasyr all Ork test games, no AI ever got stuck now. :p


2. tau were floating lots of req too (around 6 minute mark) but at least they did not get stuck.

It's normal that they sometimes get to 600 - 800 because of the force techs and the new bigger generator resource saving algo. If it goes > 1000, then it gets suspicious.


3. not sure if this happened this battle too but I noticed in another battle that the tau commander is still not using his jump anymore. He tries to disengage by run, never by jump. I already noticed and repored this with 2.3

I've read it, but I couldn't find anything. The Tau Commander uses the same code like the Necron Lord, but the NL jump works like it should. No idea what's wrong with the TC.

Edited by ArkhanTheBlack, 14 June 2007 - 06:10 PM.


#3 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 14 June 2007 - 09:14 PM

For some unkown reason I can't see the tau commander jump ever.

Btw what is eldars AV ? I watched them fighting tau and they couldn't stand tau skyrays at all. They had no AV at all. No chance with just guardians, dark reapers, far seer, wraithlords and a harlies.

Edited by LarkinVB, 14 June 2007 - 09:18 PM.


#4 Zenoth

Zenoth

    title available

  • Members
  • 469 posts

Posted 16 June 2007 - 06:25 AM

Hey there guys, haven't been around in a long time.

Well, I'll try to take some time and test the new series of beta builds for version 2.4.

Players: 4 Vs 4 (Me as IG + IG & 2x SM, against 4x Necrons)
Map: Burial Grounds
Difficulty: Hard
Resource Rate: Standard
Resource Sharing: Off
Heroes: Enabled
Extended Camera: Disabled

Comments: After a tough fight I and my allies managed to push back all of the four Necron teams back to their respective bases, very slowly, and we were basically winning the game, but as soon as the very first Necron team was defeated the game crashed back to the Desktop with the usual "Dark Crusade.exe" error with a send report. No A.I messages, no critical A.I errors during game-play itself though.

I can't remember how to get the log files from that match, one of you can tell me ? But it's perhaps too late now that it crashed and I could of course not save a replay nor open up the console to see what was that all about, since it wasn't an A.I error per se. I want to let you guys know that it never crashed once with version 2.3, and no changes to my system were made since then up until I installed 2.4 Beta 1.

I will try to recreate the crash. I will report back tomorrow about that.

#5 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 16 June 2007 - 07:49 AM

There should be a AI_Log.txt and warnings.log in your DC folder.

#6 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 16 June 2007 - 09:21 AM

Commisar execute is not used effectivly. Afaik it greatly enhances ranged effectiveness, therefore the check for morale (self.squad_ai:GetMoralePercentage() < 0.5) should be removed. Watching good IG replays you see execute used as often as possible.

#7 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 16 June 2007 - 11:42 AM

1. I debugged the tau jump code in MoveToDisengage() and is it sad but true : It is getting the DoJump() command but it just not doing it for unknown reasons. Same for tau stealth suit.

2. Early harassing CC squads (slugga and cultists) should stop and retreat as soon as they meet the enemy hero. Otherwise the squad is CC him and dying with no effect.

3. Capping order is still strange. Try Into the Breach map. 3 of 4 races start to cap the relic which is the worst decision for a first point. There are 2 points near the enemy and another one about the same distance as the relic. Therefore relic should be fourth, not first. This is of some importance as the first point captured is usually the first to get LP2. LP2 in the back isn't that helpfull.

#8 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 16 June 2007 - 01:24 PM

Comments: After a tough fight I and my allies managed to push back all of the four Necron teams back to their respective bases, very slowly, and we were basically winning the game, but as soon as the very first Necron team was defeated the game crashed back to the Desktop with the usual "Dark Crusade.exe" error with a send report. No A.I messages, no critical A.I errors during game-play itself though.

Hmm, I think I can remember those types of crashes reported before, but usually only in combination with sync problems in MP. I tried at least 30 games with the same constellation on this map and wasn't able to reproduce the crash. But at least it helped me to find a tech trap with SM and some more building problems...


Commisar execute is not used effectivly. Afaik it greatly enhances ranged effectiveness, therefore the check for morale (self.squad_ai:GetMoralePercentage() < 0.5) should be removed. Watching good IG replays you see execute used as often as possible.

Done!


1. I debugged the tau jump code in MoveToDisengage() and is it sad but true : It is getting the DoJump() command but it just not doing it for unknown reasons. Same for tau stealth suit.

That would be DC 1.2 patch bug number 5 or 6 since I know that I've seen them jumping in AI 2.2 and before.


3. Capping order is still strange. Try Into the Breach map. 3 of 4 races start to cap the relic which is the worst decision for a first point. There are 2 points near the enemy and another one about the same distance as the relic. Therefore relic should be fourth, not first. This is of some importance as the first point captured is usually the first to get LP2. LP2 in the back isn't that helpfull.

The pathing code is broken since patch 1.2. I fixed it so that they at least don't try to capture the strats on the opposite side of the map first (That's not a joke!). I won't touch this code again (I'm still pissed off about this bug!).

#9 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 16 June 2007 - 01:51 PM

That would be DC 1.2 patch bug number 5 or 6 since I know that I've seen them jumping in AI 2.2 and before.


I remember that too. I find it a bit strange as stealth suits do jump now and than, just not in MoveToDisengage(). So their jump isn't completly broken.

#10 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 16 June 2007 - 02:55 PM

I find it a bit strange as stealth suits do jump now and than, just not in MoveToDisengage(). So their jump isn't completly broken.

It's only broken if they never jump. No idea what problem they have with MoveToDisengage()! It works with other jumpers...

Edited by ArkhanTheBlack, 16 June 2007 - 02:56 PM.


#11 Zenoth

Zenoth

    title available

  • Members
  • 469 posts

Posted 17 June 2007 - 02:06 AM

There should be a AI_Log.txt and warnings.log in your DC folder.


Thanks.

I've compressed and attached the three files (ErrorLog.txt, AI_Log.txt and bugreport.txt) that are relevant about that crash.

Edited by Zenoth, 17 June 2007 - 02:07 AM.


#12 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 17 June 2007 - 08:59 AM

Commissar execute is performed even while just being shot from a stealth suit. IsInCombat() seems to be true even if the squad can't fight back.

Btw: When is IsAttacking() set to true ? Can it be used for an additional check ?

Edited by LarkinVB, 17 June 2007 - 09:08 AM.


#13 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 17 June 2007 - 10:29 AM

After some more hours of debugging I think I found at least part of the tau commander jump problem. Seems Relic didn't mess it up this time.

Check this code :
function TauCommanderTactic:Update()

	if (self:IsComplete()) then
		return
	end

	-- State machine
	if (not TauInfantryTactic.Update(self)) then 
		return < ------- PROBLEM !!!!
	end
		
	-- Check if we are in serious trouble
	self:EmergencyRetreat() <------ Will NEVER be executed
end

Problem is that EmergencyRetreat() is never executed as the State machine will always return. If I substitute the check TauInfantryTactic.Update with InfantryTactic.Update then emergency retreat will be checked.

I think other tau squad tactics will have the same problem (kroot shaper not attaching). Tau seem to be the only race where Arkhan added a race specific TauInfantryTactic:Update which will break the state machine.

Edited by LarkinVB, 17 June 2007 - 10:37 AM.


#14 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 17 June 2007 - 12:02 PM

Ifiltrated grots were aborting build of LP2 while the LP was under attack but none of the attackers could see them. Is it possible to let them continue as long as they are invisible ?

#15 ArkhanTheBlack

ArkhanTheBlack

    title available

  • Members
  • 814 posts

Posted 17 June 2007 - 12:59 PM

I've compressed and attached the three files (ErrorLog.txt, AI_Log.txt and bugreport.txt) that are relevant about that crash.

According to AI_Log.txt, the crash was not caused by the AI. Are you sure that you took the file directly after the crash, since it's overwritten each game?


Commissar execute is performed even while just being shot from a stealth suit. IsInCombat() seems to be true even if the squad can't fight back.

Btw: When is IsAttacking() set to true ? Can it be used for an additional check ?

IsAttacking() is only true if they are shooting or fighting in melee. IsInCombat() is more general and represents a combat situation, which means attacking and getting attacked and 'maybe' also close enemies. I have to use IsAttacking() for the entrench code since IsInCombat() let's them stand idle sometimes with the closest enemy miles away.


Problem is that EmergencyRetreat() is never executed as the State machine will always return. If I substitute the check TauInfantryTactic.Update with InfantryTactic.Update then emergency retreat will be checked.

Excellent work Larkin! I didn't think it would be something trivial like that. I just copy / pasted the NL code and didn't think about the missing return true command in the TauInfantryTactic.ai file. I've added it now which should fix the problems with all other inherited tactic files, too.


Ifiltrated grots were aborting build of LP2 while the LP was under attack but none of the attackers could see them. Is it possible to let them continue as long as they are invisible ?

Hmm, according to the code, they only abort if they were hurt. Is it possible that attacking buildings can cause some area damage around it?

#16 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 17 June 2007 - 04:09 PM

Excellent work Larkin! I didn't think it would be something trivial like that. I just copy / pasted the NL code and didn't think about the missing return true command in the TauInfantryTactic.ai file. I've added it now which should fix the problems with all other inherited tactic files, too.


There is still some problem with the jumping.

If I add this code
	if self.squad_ai:CanJump() then
		local maxd = self.squad_ai:GetJumpDistance()
		local move_pos = self:CompassMove( maxd - 5 )
	
		if ( move_pos ~= nil and self.squad_ai:CanJumpToPosition(move_pos) ) then
			dlg( "compass", "JUMP !!! "..self.squad_ai:GetSquadName())
			self.squad_ai:DoJump(move_pos)
		end
		
		return true
	end

in TauInfantryTactic:Update() the commander and stealth suit are always jumping as expected (as soon as their jump is ready). You can see them hopping around the map.

If I add the SAME code at the top of MoveToDisengage() I can see in my logfile that the DoJump() is triggered but obviously not executed. What's up ? Where is the difference ? Are they in a special state ?

I will investigate more ...

Edited by LarkinVB, 17 June 2007 - 04:10 PM.


#17 Zenoth

Zenoth

    title available

  • Members
  • 469 posts

Posted 17 June 2007 - 04:13 PM

I've compressed and attached the three files (ErrorLog.txt, AI_Log.txt and bugreport.txt) that are relevant about that crash.

According to AI_Log.txt, the crash was not caused by the AI. Are you sure that you took the file directly after the crash, since it's overwritten each game?


Yes, I did not play any other games after that test.

:p

Then it might have been caused by hardware issues ? Strange, why would version 2.3 be stable forever then. I don't get it. I will take a look at my hardware stability, first, it's the best course of action to take right now. I'm in for a couple of hours of Orthos/Prime95/3DMark/SuperPi/Memtest86 tests and benches.

#18 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 17 June 2007 - 05:18 PM

I missed the tau commander using his snare trap while being attacked. I think it didn't work because of this

	local id= self.ability_snaretrap_id		

which should be

	local id = TauCommander.ability_snaretrap_id		

Also the range thrown should be more like 1/2 than 2/3 as the trap is landing behind the enemy most of the time.
Please check wether the commander is now throwing too often while being attacked (in case snare traps do cost req).

Edited by LarkinVB, 17 June 2007 - 06:01 PM.


#19 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 17 June 2007 - 06:59 PM

About tau jump (I do not plan to spend more time with this):

Didn't find a real reason for tau sometimes not jumping with MoveToDisengage(). Sometimes they do, sometimes not. My theory is that CanJumpToPosition() may be borked, returning true where DoJump() will fail. At least the tau commander is now jumping sometimes and throwing excessive snare traps. Snare traps make a big difference. In my test setup poor orks do not stand a chance anymore in intitial skirmishes. They constantly run into snare traps and get slaughtered. I think tau AI should be limited using traps versus other AI. Humans can try to avoid and shoot the trap. AI is too dumb to do so.

Edited by LarkinVB, 17 June 2007 - 08:25 PM.


#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 17 June 2007 - 07:18 PM

v2.40b2 is posted for the testers with the following changes (thanks Arkhan and Henrik for these!!)

- Fixed some building problems
- Fixed a tech trap with SM
- Added a resource overflow control which allows unit building even in building states if a certain amount of resources is exceeded
- Fixed the snare trap problem reported by Larkin
- Added Larkin's Tau Commander jump and Guard Commissar's Execute fixes
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