View Issue Details

IDProjectCategoryView StatusLast Update
0002453The Dark ModAIpublic27.10.2011 05:16
Reportergrayman Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
PlatformWin32OSWindowsOS VersionXP
Product VersionTDM 1.02 
Target VersionTDM 1.04Fixed in VersionTDM 1.04 
Summary0002453: Bad door-handling outcome in certain situations
DescriptionThe door-handling code includes a check to see if an approaching AI is blocked by an open door. There are certain orientations of door/AI that make this check give a false reading (AI is deemed blocked when he isn't).
Steps To ReproduceDon't rely on this check if the distance between the AI and the door is > 150. Checking when < 150 provides a more accurate prediction.
TagsNo tags attached.

Activities

grayman

grayman

15.12.2010 05:18

viewer   ~0003384

Last edited: 15.12.2010 05:19

I noticed this when working on the movement code and running Crown of Penitence.

There's an AI in the cellar when you start. This AI will walk up to the kitchen, stay there a while, then walk out into the hall. If you leave both the hall door and the cellar door open, when the AI returns, he'll enter from the hall and head for the open cellar door. Unfortunately, he heads for a point between the open door and the table, not for the center of the open doorway.

The "am I blocked by an open door?" code does its math as the AI enters from the hallway, at which point his forward vector is perpendicular to the open door. The code thinks this means the AI is blocked by the door (even though he's nowhere near it), and tries to pick a point that would allow him to close the door.

The solution is to let the AI get closer to the door before this check occurs. Then we're more likely to get an accurate outcome.

grayman

grayman

05.02.2011 15:43

viewer   ~0003561

rev 4472:

HandleDoorTask.cpp

Issue History

Date Modified Username Field Change
04.12.2010 03:52 grayman New Issue
04.12.2010 03:52 grayman Status new => assigned
04.12.2010 03:52 grayman Assigned To => grayman
14.12.2010 06:09 greebo Target Version TDM 1.03 => TDM 1.04
15.12.2010 05:18 grayman Note Added: 0003384
15.12.2010 05:19 grayman Note Edited: 0003384
05.02.2011 15:43 grayman Note Added: 0003561
05.02.2011 15:44 grayman Status assigned => resolved
05.02.2011 15:44 grayman Resolution open => fixed
05.02.2011 15:44 grayman Fixed in Version => TDM 1.04
27.10.2011 05:16 greebo Status resolved => closed