View Issue Details

IDProjectCategoryView StatusLast Update
0003523The Dark ModAIpublic28.06.2014 17:57
ReporterSpringheel Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Target VersionTDM 2.02Fixed in VersionTDM 2.02 
Summary0003523: AI don't notice doors that are stopped.
DescriptionThe other situation is when you manipulate a door that the AI is passing through. The AI doesn't really acknowledge this itself and continues to try to open the door. You can delay a guard from going along their patrol by doing this and they'll often be oblivious to it. I feel like they should at least do a "what was that" if the door is manipulated right in front of them, to at least indicate they sense something isn't right.

When an AI is closing a door, you can also stop it right in front of their face, and they don't care. In reality, there's no way a player could stop the door so quickly without drawing attention. Stopping while it's still open a crack, as the AI turns away, is fine.

Will need some thought to see what kind of behaviour makes the most sense. If the guard is trying to come through a door and the player blocks it, the guard should probably go to a level 4 alert. If the player stops a closing door too soon, that might just be worth a level 2 alert and a renewed attempt to close the door when they rampdown.
TagsNo tags attached.

Relationships

has duplicate 0001476 resolvedangua AI should become supicious when the door suddenly starts moving while they are handling it 

Activities

grayman

grayman

06.04.2014 18:41

viewer   ~0006506

The solution needs to accommodate other AI in the door queue. When an AI handling the door is finished, he leaves the queue, allowing the next AI to approach the door and handle it. If the first AI's handling is aborted for whatever reason, we don't want the next AI in the queue approaching the door, because we'll quickly get a traffic jam.

This might need more time than what we have left in 2.02's schedule. Door and elevator handling are the most complex tasks an AI has to deal with. Even a small change can have far-reaching (and sometimes hidden) consequences.
grayman

grayman

18.04.2014 14:54

viewer   ~0006529

If an AI is opening or closing a door and it’s interrupted, he will try again. After two interruptions, he’ll push the door hard enough to push the player out of the way, if the player is blocking the door. After three interruptions, the AI will treat the door as suspicious and begin to search around it.

Allow an AI to leave a door after issuing the Close() request, and before the door is fully closed. Do this as long as the AI doesn’t need to lock the door behind him, which requires that he stay with the door until it’s closed and locked.

Add a new spawnarg: “canRemainOpen”. When set to “1”, AI can leave a door open after they’ve used it and they’re the last one on the door queue. The default is “0”. This is ignored if either “shouldBeClosed” or “should_always_be_locked” is “1”. It’s also ignored if the door was locked when the AI opened it, or was locked when the first AI in a line of AIs opened it.

Rev. 5958:

HandleDoorTask.cpp
HandleDoorTask.h
AI.cpp
AI.h

Rev. 13798:

tdm_mover_doors.def

Issue History

Date Modified Username Field Change
18.08.2013 12:36 Springheel New Issue
04.09.2013 13:33 grayman Assigned To => grayman
04.09.2013 13:33 grayman Status new => assigned
23.11.2013 16:29 grayman Target Version TDM 2.01 => TDM 2.02
06.04.2014 18:41 grayman Note Added: 0006506
18.04.2014 14:54 grayman Note Added: 0006529
18.04.2014 14:54 grayman Status assigned => resolved
18.04.2014 14:54 grayman Resolution open => fixed
18.04.2014 14:54 grayman Fixed in Version => TDM 2.02
28.06.2014 17:57 grayman Relationship added has duplicate 0001476