Jump to content


Photo

Research Order


8 replies to this topic

#1 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 25 February 2005 - 10:27 AM

Since research is done in sequence I think the order is most important.
Here is the current order for eldars :

 ResearchOrder =
                --29 items
  {
 	 "eldar_fleet_of_foot_research",
                        "eldar_bonesinger_ability_research_3",
                        "eldar_ranger_infiltration_research",
                        "eldar_exarch_ability_research",
                        "eldar_exarch_ability_research_1",
 	 "eldar_haywire_bomb_research",
                        "eldar_webway_gate_healing_research",
 	 "eldar_requisition_research_1",
                        "eldar_tier2_research",
                        "eldar_research_infantryhealth_1",
 	 "eldar_research_infantryaccuracy_1",
 	 "eldar_research_infantryhealth_2",
 	 "eldar_research_infantryaccuracy_2",
                        "eldar_webway_gate_relocation_research",
                        "eldar_vehicle_ability_research",
                        "eldar_plasma_grenade_research",
 	 "eldar_power_research_1",
 	 "eldar_research_farseerhealth_1",
 	 "eldar_research_farseerhealth_2",
                        "eldar_warlock_ability_research",
                        "eldar_warlock_ability_research_1",
                        "eldar_bonesinger_ability_research_1",
 	 "eldar_requisition_research_2",
 	 "eldar_power_research_2",
                        "eldar_warlock_ability_research_2",
                        "eldar_warlock_ability_research_3",
                        "eldar_shroud_ability_research",
                        "eldar_farseer_ability_research",
 	 "eldar_farseer_ability_research_3",
                },

I think it is not optimized. First three are useless as the AI won't use them. Important ones (health/accuracy) are down below and the farseer won't get his important attack spell for a long time. According to my experience the complete tree isn't researched untill the very late game (if at all) as the AI is busy building units/turrets etc. Therefore an optimized research order may be crucial for a better AI performance. I'm NO specialist in all race and don't even know which abreviation above is releated to what power. If my evaluation of the research problem is valid I ask you to help optimizing the queue. Thanks.

#2 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 25 February 2005 - 05:38 PM

I will probably move in your direction. Right now, its more "a fad" to let the AI just research everything to see "if he can". Your right, however, it makes sense for the AI to research say, Scout Infiltration, if he never plans to use it? Any pro-player disregards units, abilities or research items if they don't match their overall strategy to win.

For now, I'll keep the research items "as is" but intend to streamline it as it makes more sense in the long run.
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#3 giskard

giskard
  • Members
  • 155 posts

Posted 25 February 2005 - 08:57 PM

Yes im finding the same thing.

When selecting a research tree for all races that suits each AI personality, it need a lot of careful thought.

Thankfully the AI researches anything it needs to research for its pre-reqs so its very forgiving if the research tree is not quite right.

Giskard

#4 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 25 February 2005 - 09:33 PM

I have to investigate further but it seems that my AI won't research that far down the tree. Perhaps I have broken something vital. Don't know about Thudos last version.

EDIT: Checked Thudos latest build and there is a research problem too. Maybe it was always there. Reseach is very slow sometimes. I suggest further investigation. I suppose AI is overloaded with research being low priority.

Edited by LarkinVB, 25 February 2005 - 10:42 PM.


#5 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 25 February 2005 - 10:53 PM

I'll have to check it. Sofar he researches the entire tech tree but will have to do more extensive testing!
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#6 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 25 February 2005 - 11:48 PM

Use my debug code here in plan.ai and you can clearly see when it researches.

function Plan:SetState( statename, state )
	dbAssert( state ~= nil )
	self.state = state
	self.statename = statename

	local gmt = cpu_manager.cpu_player:GetGameTime() / 8
	local mint = gmt / 60
	local sec = math.mod( gmt, 60 )
	
	local req = resource_manager:GetResourceAmount():Get( ResourceAmount.RT_Requisition )
	local power = resource_manager:GetResourceAmount():Get( ResourceAmount.RT_Power )
	ailog("d:\\b"..player_id..".log", statename)
	ailog("d:\\b"..player_id..".log",string.format("%02.0f",mint)..":"..string.format("%02.0f",sec).." r:"..string.format("%.0f",req).." p:"..string.format("%.0f",power) )

end


#7 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 26 February 2005 - 04:55 AM

Yes something broke it alright.. I have Feb 21st code and it worked fine so I'll see what difference did it. Usually the AI researches just fine.

Think I found it:
buildbasestrategy.ai (this is what I have for mine that worked)
function BuildBaseStrategy:DoUpgradesAndAddons()

	--look at my enemies. If I am weaker than any of them, don't upgrade (thudmeizer: disabled!)
   for enemy in cpu_manager.stats:GetPlayerStats() do
  if cpu_manager.player_stats:IsEnemy( enemy ) then
 	 if cpu_manager:RateAgainstPlayer( enemy ) < 0 then

    --aitrace("too weak to do research")
    --return
 	 end	
  end
	end
Note I commented out so the AI keeps researching. I find this always works with no issues. If we can tweak this to be better then great stuff! :p

Edited by thudo, 26 February 2005 - 05:28 AM.

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

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#8 phordicus

phordicus
  • Members
  • 17 posts

Posted 26 February 2005 - 09:23 AM

i think an outline might help. there's two extremes to research:

1. research everything as it becomes available.
2. research only the minimum required to advance to higher tiers as quickly as possible, then go back and grab what you want.

i'd say for a general plan, a mix of the two is optimal.

if you take the "grab what you want" part as an expression of the AI personality being used, you can emphasize those areas while not wasting time on others to advance quickly also.

in addition, each of the extremes could be considered an AI personality unto themselves.

#9 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 26 February 2005 - 05:50 PM

The AI has no issues researching everything. He just researches "casually" based on the ResearchOrder = line in the buildbasestrategyinfo.ai file. His research queue is subtle and gets done when it can. Now, we could create a personality in which he sidesteps much of the tech tree and just researches what he needs. An AI that researches everything could be known as a Techer. :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!



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users