Jump to content


Photo

Require your updated AI recommendations/suggestions list for Relic..


  • Please log in to reply
7 replies to this topic

#1 thudo

thudo

    Wacko AI Guy!

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

Posted 23 May 2006 - 02:27 PM

I sent this in email but got a bounceback from Excedrin's email. So here we go again..

FYI.. I have a new inside contact within Relic who wishes to hear us out on DoW/WA AI issues. It is PARAMOUNT to ensure this list I sent to Jonathan last Halloween (gawd its been that long!!) is updated with anything new you've experienced.

Here is the original list..

PLEASE update it if needed.. If anything is missed, needs correcting or new, please let me know!

AI Broken Code (which needs addressing)
============
a) IsUsingAbility() - not working with unit attached for Eldar fleet of foot
b) terrain_analyzer:GetPathingDistance()
c) GetArmyCostAt()
d) math.random() function is deterministic. It will select always the same order of numbers if you quit the program, start it again and choose the same constellation. Normally a random function is initialized with the current system time to make it really random.
Arkhan (one of my new AI coders) -> "I would need 30sec to change this in C++, therefore this should definitely be most easy for them to implement." **THIS PART WAS FIXED by Arkhan**

AI Feature Requests
~~~~~~~~~~~~~~~
AI General
========
1) repair buildings
2) focus-fire
3) inter AI communications (coordinate attacks or defend one another in alliances)
4a) use Scout's Infiltration or Squiggoth's Rampage special abilities
4b) allow buildings to use their own special abilities (ie. Eldar Webway Shroud)
5) detect Big Generators properly to build around them
6) detect Relic points apart from Strat points
7a) garrison into and out of both buildings (IG especially for defense) and transports
7b) garrison into buildings then be deepstriked
7c) garrison into buildings and move between them (Eldar, IG)
8) can delete buildings or units
9) Allow req/power transfer to allies

AI Advanced
=========
10) Get map size
11) Get closest cover location
12) Get closest safe point location
13) Detect Take&Hold/Control Area game modes from start, not just when the countdown is running

AI Dreamland Requests
=================
14) Mini AI Debugger to quickly check for general syntax problems and output to screen/file (takes the place when game session starts)

15) Crash-to-Desktop investigator - determines why CTD occurred providing a more verbose explination rather than failed dlls (which is useless).

16) Dreamland app -> runs a simulated game with no gfx or sound but using AI, factions, and the map. Much much faster to decipher gameplay issues and crashes.

17) Scar scripts for a map to have only AI players fight automatically even when StartPoint#1 is a human player. (Human player at StartPoint#1 would be automatically taken over by AI)

18) An interface for the AI to get commands from players. There is this ping facility on the minimap like "Attack here" or "Defend here". Would be great if a player can request support from his AI allies with this feature.

Thanks all!

e.
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 Finaldeath

Finaldeath
  • Project Team
  • 188 posts
  • Location:UK

Posted 23 May 2006 - 07:34 PM

I posted this in a reply email. Tear apart at your leisure, but I've not been on the AI team at the time the last one was sent aaggesss ago.

- The AI cannot send messages (for help, as taunts to everyone) which
would add some nicety to it.
- No way to interface with SCAR (SCAR cannot get any information from
the AI in fact), although there is a Cpu_DoCommand() for doing it the
other way around!
- Some of the AI functions are broken in regards to path finding I
think. I'm pretty sure Arkhan and Larkin knows more - these are things
like getting a threat on a builders path (going to a listening point),
or getting any obstacles on the way to an attack location (such as enemy
listening points).
- Cannot set attack stance (the one with "Stand Ground", "Cease Fire",
"Hold" and "Burn") or get what it currently is.
- Cannot issue map pings to others - I know receiving them is already on
the list, but having humans know where the AI is attacking is important!
normal players do this all the time!
- There are limitations on what the AI "sees". I am not too good on if
it actually cheat-sees the map, but it seems using artillery on the AI
just means that artillery gets ignored. A way to get the last unit which
is attacking "us" (being a unit passed in) would be brilliant, since it
could remember and jump troops there or scout it out.
- There is no way to get map-specific data. Can get amount of
points/players, but not how physically large the map is.

- There are several lacking functions for getting basic attribute
information about units - such as the things listen statically in the
"unitstats.ai" file, and more including:

- Starting amount of units in this squad (helpful to keep at min strength)
- Maximum units in the squad
- If they even have a melee weapon or not!
- Units' (current) speed (armoured nobs without their power are bad at
retreating)
- If they can jump or not (this might be linked in with not knowing if
they have ability powers, or infiltrate etc. I guess)
- Weather they can attach to other units (ie: is a commander)
- Immunity to morale (can only get if the unit is "broken" or not!).
V.useful for a bit of commander micromanagement or knowing if the unit
is worth retreating or not.
- Actual health value (max, current), (we can get % health, but not the
current or max health. Low-tier sorcerors should not be in HTH for
instance, same with other units)
- If the unit's weapons include any which are move-or-fire variety.
Dancing these too much just negates the point, for instance. For
vehicles, standing still to use a weapon could be a good idea :-)

Map related:
- The AI could use some more useful map-specific information. Choke
points, jump-troop only areas, important locations or areas which are
well defended (so useful for putting vital things like power plants), or
other things. Could use some more markers perhaps :-)

I hope this doesn't make the list too long and these should be passed by
Arkhan I guess, since some I might be wrong on.

My biggest ones were:
- Cannot get if a unit is immune to morale, and get their max/current
health values.
- Cannot set attack stance (the one with "Stand Ground", "Cease Fire",
"Hold" and "Burn") or get what it currently is.

Plus the stuff you've already got of course ;-)

The AI lacks some very basic parts for RTS play, and long-term play
including the ability to issue commands (either by the CPU listening to
chat, or a specific interface on the diplomacy screen) would be great,
even if it was only using the ping system.


And:

- We all know: Commissar Execute ability is bugged. I am thinking any ability implemented the same way would be bugged. This is a bug, not a request for more functionality (like some of the other bugs, it cripples the AI badly or leads to unintended behaviour or limitations)



#3 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 23 May 2006 - 08:37 PM

1. Relic should release the tool which does create the unitstats.ai file
2. Relic should document the meaning of some variables in unitstats.ai like rating and range in detail. I don't have a clue what impact range = UnitStatsAI.RT_Ranged has for the AI. Guess it has none.
3. Relic should document calculation of stats:GetTotalEffectivenessRating( class ) and stats:GetTotalClassRating( class ) and how they interact with unitstats.ai.
4. AI should be able to order specific weapon upgrades by name, not just get the best versus class as with squad_ai:DoBestUpgrade( class_type ). I'd like to get something like squad_ai:DoUpgrade( "guard_plasma_pistol_captain" ).

EDIT:
5. Allow builders to finish allied buildings.

Edited by LarkinVB, 23 May 2006 - 08:59 PM.


#4 thudo

thudo

    Wacko AI Guy!

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

Posted 24 May 2006 - 12:59 PM

I'll have to add those to Arkhan's mega .doc list received in email. I will get this out ASAP. I think we don't need any more. :)
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#5 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 24 May 2006 - 03:04 PM

On DoWPro forum you said you haven't heard from Relic since january.
Here you state

FYI.. I have a new inside contact within Relic who wishes to hear us out on DoW/WA AI issues.


What is true ?

#6 thudo

thudo

    Wacko AI Guy!

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

Posted 24 May 2006 - 03:05 PM

I have someone new who has a contact. He's your head of DoWPro. :)
Advanced Skirmish AI Team Lead for the coolest Warhammer40k PC RTS out there:

Dawn of War Advanced AI Headquarters

Latest DoW Advanced AI Download!

#7 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 24 May 2006 - 04:04 PM

:) :grin: :lol:

#8 LarkinVB

LarkinVB

    title available

  • Members
  • 1,488 posts

Posted 25 May 2006 - 08:36 AM

I'd like to have these functions sqaud_ai:GetDPS( class ) and squad_ai:GetClass() and building:GetClass(). First will return dps versus armour class, second will return armour class of a squad/building. Will help selecting targets.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users