View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004220 | The Dark Mod | AI | public | 23.09.2015 21:01 | 14.09.2017 03:57 |
Reporter | grayman | Assigned To | grayman | ||
Priority | normal | Severity | normal | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 2.03 | ||||
Target Version | TDM 2.04 | Fixed in Version | TDM 2.04 | ||
Summary | 0004220: More active AI searches | ||||
Description | Per this thread: http://forums.thedarkmod.com/topic/17398-ai-search-times/#entry377792 Can searching be changed so it's less boring for the player to watch? (More AI movement / less standing around.) Can searching be expanded into neighboring areas w/o risking having the AI run far away like he used to many revs ago? | ||||
Tags | No tags attached. | ||||
Add a cvar (tdm_ai_search_type) to control which search type should be used. 1 = use 2.03 search method 2 = use 2.03 search method, but walk to hiding spots instead of looking 3 = don’t use the hiding spot list, and create new search spots by expanding the search radius based on alert level (the higher the alert level, the longer the radius) 4 = same as 3, but expand the search radius based on time passed (increase radius as time passes) Abandon the hiding spot method, which tended to provide a lot of standing around and staring. Replace it with an on-the-fly random location method that still considers lighting and produces more of a walkabout. The AI are more likely to search the darker parts of the search area and avoid the well-lit areas. The AI searches close to the alert spot initially, then moves farther and farther out as time goes by. Allow a search to include neighboring rooms; more likely to happen when the search area expands enough to poke through a door. Allow an AI to search near a search spot even if the search spot isn’t in an AAS area. A good example of this is the Guard Captain’s room in Collateral. If the player jumps up and down on the ceiling joists in 2.03, the Guard Captain in the next room becomes alerted but doesn’t come looking. He does with this change. Change ProcessSearch() so it doesn’t run every frame. Run it every 2 seconds, which is good enough. This is the ‘think’ routine for the Search Manager, and it’s responsible for swapping AI roles and cleaning up the search list and search assignment lists. Removed the requirement that active searchers needed to mill about before beginning their search. Just let them get to it. Fixed a bug where the search list wasn’t being cleared if multiple missions were started during the same TDM run. Changed InvestigateSpotTask() to be state-driven, to simplify it. Expanded the conditions under which AI could exchange places during a search. Gave the zombie with the included head an eye_offset. He was looking with his feet. Gave the moor an explicit rank (0). Rev. 6552: SearchingState.cpp SuspiciousState.cpp State.cpp InvestigateSpotTask.cpp InvestigateSpotTask.h Memory.cpp Memory.h SysCvar.cpp SysCvar.h darkmodHidingSpotTree.cpp Game_local.cpp SearchManager.cpp SearchManager.h Rev. 14410: tdm_ai_undead_zombie.def Rev. 14408: tdm_ai_guard_moor.def |
|
I'm not allowed to read/access the thread on the forum, so I can't leave feedback there nor know what others already wrote. Problem to me seems to be the CVAR - players could totally change how a mission plays out by changing it and the mappers no longer has control, respectively he would need to test all scenarios to see which might break his mission? Wouldn't this be exactly the reason not allow players control over this setting and instead create a "mix" that is either always the same (maybe random) strategy, or let only the mapper control it with an per-AI-spawnarg? Otherwise this sounds like a lot of work went into it and it will be a nice change and improvement. Good work! |
|
If there are further changes, I'll make them during beta. | |
Date Modified | Username | Field | Change |
---|---|---|---|
23.09.2015 21:01 | grayman | New Issue | |
23.09.2015 21:01 | grayman | Status | new => assigned |
23.09.2015 21:01 | grayman | Assigned To | => grayman |
17.10.2015 18:29 | grayman | Relationship added | has duplicate 0004236 |
24.10.2015 20:30 | grayman | Note Added: 0007876 | |
24.10.2015 20:30 | grayman | Status | assigned => feedback |
24.10.2015 20:30 | grayman | Target Version | => TDM 2.04 |
07.11.2015 08:09 | tels | Note Added: 0007886 | |
07.11.2015 08:11 | tels | Note Edited: 0007886 | |
09.01.2016 00:19 | grayman | Note Added: 0008012 | |
09.01.2016 00:19 | grayman | Status | feedback => assigned |
09.01.2016 00:19 | grayman | Status | assigned => resolved |
09.01.2016 00:19 | grayman | Resolution | open => fixed |
09.01.2016 00:19 | grayman | Fixed in Version | => TDM 2.04 |
14.09.2017 03:53 | nbohr1more | Relationship added | related to 0003702 |
14.09.2017 03:57 | nbohr1more | Relationship added | related to 0003044 |