View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002924 | The Dark Mod | AI | public | 13.11.2011 23:57 | 21.03.2013 05:01 |
Reporter | Springheel | Assigned To | grayman | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 1.07 | ||||
Target Version | TDM 2.00 | Fixed in Version | TDM 2.00 | ||
Summary | 0002924: AI react too fast to missing objects | ||||
Description | The way AI react to stolen objects is a bit unrealistic at the moment. The AI reacts the instant the marker enters his POV, so an AI opening a door to a robbed room will shout about being robbed before the door has even finished swinging open. In reality, a human being would take a few seconds to notice something missing, even if it were relatively large. Perhaps some kind of artificial delay could be added? | ||||
Tags | No tags attached. | ||||
Yes, we can add a delay. How about 3 seconds? Prior to starting the delay, the stim will be turned off for this AI so it doesn't ping him again, especially during the delay. Don't want things piling up. |
|
I'd rather not add fixed delays (even if they are configurable via spawnarg on an idividual AI basis), but rather a generic "reaction delay". The reason is we need a similiar delay when you throw a box at an AI, when you peek around a corner etc etc. All these would need some sort of "human reaction delay". And 3 seconds is a bit large, I'd say on the order of 0.8 .. 1.2 seconds (could that scale with the gameplay setting of how fast/though our AI is?) plus a random part (that is depending on the lighting, e.g. if it is dark, they take longer to notice? The reason why our current "throw dice and calculate change if I saw it" system doesn't work is because if you are unlucky, you (or the missing object) get seen/detected instantantously. E.g. in 9 out of 10 cases you are not see on the first check, but 1 out of 10 times you are seen superhumanfast. It would be better if there was a "dead time" in all these cases. |
|
2-3 seconds would be fine with me. | |
I think it would be better to have them actually notice missing items. You could create a "stolen_item" stim. Basically, when the thief adds the item to his inventory, it could start sending a short range alert that something is missing, so, when a guard comes into the area on patrol and comes into it's range, he would "notice" the missing item. Ideally, you could remember the items starting point, and focus the stims alert radius from that location. (It would basically function like an event trigger, or waypoint, etc,.) |
|
When a mapper wants AI to notice a missing item, he marks it with the spawnarg "absence_noticeability/1". When the player frobs that item and it goes into his inventory (or he just picks it up and moves it elsewhere), an absence marker is dropped at that location, and it sends out a visual stim that's picked up by passing AI. If there's enough light and a direct LOS, the AI will react to the item being gone. The subject of this issue is that AI can react too quickly to this stim. |
|
That's pretty much exactly how it works. The tracker is referring to the speed at which AI reacts to the 'stim'. "The AI reacts the instant the marker enters his POV, so an AI opening a door to a robbed room will shout about being robbed before the door has even finished swinging open." edit: ninja'd :) |
|
I misread that part, I thought you meant their alert stim(ie, suspicion) was just going off immediately, or something. Well, if you've already gotten LOS, etc, then I suppose a timer is about the only option left. Hmm, sorry I couldn't be anymore help. :( |
|
Np. We appreciate your interest, as we are always looking for help. | |
Added a 1.5s->3s delay between an AI being stimmed by certain visual stims and when the AI processes the stim. The stims include: AIUSE_WEAPON AIUSE_DOOR AIUSE_SUSPICIOUS AIUSE_BLOOD_EVIDENCE AIUSE_MISSING_ITEM_MARKER AIUSE_BROKEN_ITEM Other visual stims (doused lights, actors, etc.) have already been fine-tuned for timing, and don’t need extra processing delays. Stopped AI from processing and possibly responding to messages meant for other AIs. This was causing a room full of AI that had witnessed a theft to chatter on endlessly after going back on patrol, as one AI after another warned another AI and everyone else responded. rev. 5720: CombatState.cpp CombatState.h State.cpp State.h AI.h AI_events.cpp |
|
Date Modified | Username | Field | Change |
---|---|---|---|
13.11.2011 23:57 | Springheel | New Issue | |
19.11.2011 04:37 | grayman | Note Added: 0004157 | |
19.11.2011 04:37 | grayman | Status | new => feedback |
19.11.2011 21:36 | tels | Note Added: 0004166 | |
20.11.2011 21:45 | Springheel | Note Added: 0004170 | |
20.11.2011 21:45 | Springheel | Status | feedback => new |
12.03.2012 20:18 | tels | Relationship added | related to 0003063 |
07.10.2012 13:28 | CodeMonkey | Note Added: 0004871 | |
07.10.2012 13:29 | CodeMonkey | Note Edited: 0004871 | |
07.10.2012 13:32 | CodeMonkey | Note Edited: 0004871 | |
07.10.2012 14:03 | grayman | Note Added: 0004872 | |
07.10.2012 14:05 | Springheel | Note Added: 0004873 | |
07.10.2012 14:06 | Springheel | Note Edited: 0004873 | |
07.10.2012 14:15 | CodeMonkey | Note Added: 0004876 | |
07.10.2012 14:27 | grayman | Note Added: 0004877 | |
20.03.2013 20:54 | grayman | Assigned To | => grayman |
20.03.2013 20:54 | grayman | Status | new => assigned |
20.03.2013 20:55 | grayman | Relationship deleted | related to 0003063 |
21.03.2013 05:01 | grayman | Note Added: 0005226 | |
21.03.2013 05:01 | grayman | Status | assigned => resolved |
21.03.2013 05:01 | grayman | Resolution | open => fixed |
21.03.2013 05:01 | grayman | Fixed in Version | => TDM 2.00 |
21.03.2013 05:01 | grayman | Target Version | => TDM 2.00 |