View Issue Details

IDProjectCategoryView StatusLast Update
0004039The Dark ModAIpublic15.01.2015 04:46
Reportergrayman Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionTDM 2.03 
Target VersionTDM 2.03Fixed in VersionTDM 2.03 
Summary0004039: AI can freeze when running toward a closed door
DescriptionWhen an AI is running toward a closed door, he can stop moving slightly off his mark and the code thinks he's arrived and not arrived at the same time.

He freezes, getting stuck in a loop that has no exit. Other AI that want to use the door get stuck behind him.

AI walking to a closed door doesn't seem to have a problem, probably because arrival accuracy is better when the AI is moving more slowly.
TagsNo tags attached.

Activities

grayman

grayman

15.01.2015 04:37

viewer   ~0007342

Fixing this in 2.03 because it was exposed by the 2.03 fix to bug 0003882.
grayman

grayman

15.01.2015 04:46

viewer   ~0007343

The fix for bug 0003882 exposed this problem. When StopMove() runs, it resets the move accuracy to default. If AI are using a larger move accuracy than the default, this screws up checking whether the AI has arrived where he wants to go. This (so far) only affected door handling, where running AI are given a larger move accuracy so they can hit their mark.

A running AI trying to get to the front opening position of a closed door can get caught in a loop, where he thinks he hasn’t arrived at the position, but he has. He keeps trying to move to the position again, but he’s already there. The root cause is MoveToPosition() using a ‘true’ return value when the AI has arrived or hasn’t, and the position is reachable. Don’t want to make any changes to MoveToPosition() at this point.

Rev. 6451:

AI.cpp
AI.h
HandleDoorTask.cpp

Issue History

Date Modified Username Field Change
15.01.2015 04:11 grayman New Issue
15.01.2015 04:11 grayman Status new => assigned
15.01.2015 04:11 grayman Assigned To => grayman
15.01.2015 04:37 grayman Note Added: 0007342
15.01.2015 04:46 grayman Note Added: 0007343
15.01.2015 04:46 grayman Status assigned => resolved
15.01.2015 04:46 grayman Resolution open => fixed
15.01.2015 04:46 grayman Fixed in Version => TDM 2.03