View Issue Details

IDProjectCategoryView StatusLast Update
0005164The Dark ModAIpublic24.02.2020 04:04
Reportergrayman Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product VersionSVN 
Target VersionTDM 2.08Fixed in VersionTDM 2.08 
Summary0005164: Reduce Instances of AI sitting/sleeping in strange places.
DescriptionWhen an AI can't travel to a path_corner that's tied to sitting/sleeping, he will skip the travel and show the sitting/sleeping animation wherever he is.

Also, for an AI that starts a map using the "sitting" or "sleeping" flags, if he stands up or wakes up, he might not be able to get back to his starting position.

Both of these conditions should be debugged during mission alpha/beta, but sometimes they slip through. The problem probably lies in the design of the area involved in sitting/sleeping, particularly monster_clip placement and height.

The improvement would be to skip the sit/sleep animations at faraway locations.
TagsNo tags attached.

Activities

grayman

grayman

23.02.2020 19:31

viewer   ~0012239

Abort sitting/sleeping animations if the AI’s current location is too far from the location where they’re supposed to play them. The AI isn’t able to move to the correct location, which is usually a monster_clip problem that the mapper needs to correct.

Fixed in rev. 8608:

IdleState.cpp
AI.cpp
AI.h
Memory.cpp
Memory.h
PathSitTask.cpp
PathSleepTask.cpp
MovementSubsystem.cpp
grayman

grayman

23.02.2020 19:53

viewer   ~0012242

This change prints warnings to the console when the AI tries to sit or sleep in the wrong place.

The sitting and sleeping wiki pages have been updated to let mappers know what to do if they see these warnings.
stgatilov

stgatilov

24.02.2020 03:51

administrator   ~0012243

I wonder why warning is suppressed if guard is on different level.
Although the chance that X and Y match but Z does not is very low, so that's not important.
grayman

grayman

24.02.2020 04:04

viewer   ~0012244

That is one "hole" in the warning.

When checking distance from where the guard is to where he's supposed to sit/sleep, I zero out the z delta. The reason for that is that many mappers paid no attention to the "place the path_corner on the ground" instruction in the wiki, and they've buried them in the ground or raised them above the ground. If the z delta is part of the "how close am I" math, this can cause a false negative and a warning gets issued and the animation doesn't occur. IMHO it's better to assume the chances are very small that the guard is directly over or under the sitting path_corner, but at a large z distance (i.e. a different floor of a house).

Issue History

Date Modified Username Field Change
22.02.2020 22:28 grayman New Issue
22.02.2020 22:28 grayman Status new => assigned
22.02.2020 22:28 grayman Assigned To => grayman
22.02.2020 22:28 grayman Description Updated
23.02.2020 19:31 grayman Status assigned => resolved
23.02.2020 19:31 grayman Resolution open => fixed
23.02.2020 19:31 grayman Fixed in Version => TDM 2.08
23.02.2020 19:31 grayman Note Added: 0012239
23.02.2020 19:53 grayman Note Added: 0012242
24.02.2020 03:51 stgatilov Note Added: 0012243
24.02.2020 04:04 grayman Note Added: 0012244