View Issue Details

IDProjectCategoryView StatusLast Update
0002775The Dark ModCodingpublic24.01.2019 02:06
ReporterSpringheel Assigned ToSpringheel  
PriorityhighSeveritynormalReproducibilityhave not tried
Status closedResolutionfixed 
Summary0002775: Use Random Trace system to simulate partial cover
Descriptionhttp://modetwo.net/darkmod/index.php?/topic/11874-overgrowth/page__gopid__259939&#entry259939

The overgrowth video in this post explains a system of random ray traces: http://modetwo.net/darkmod/index.php?/topic/11874-overgrowth/page__view__findpost__p__259856

This means that a player hiding most of his body will be seen less often and less quickly than one that is unobstructed. It still only uses one trace per frame, and each trace is equal to all the others, so it's not that different from what we're doing now.

I'm not sure of the technical issues involved. At the moment we check 4 different points, and if the AI hits any one of them you are seen. Presumably the points are checked in sequence but I don't know.

In order to simulate "weight", we'd need to add more points and place them strategically. For example, we'd have to have more points in the head than the feet, so that you're more likely to be seen if your head is sticking up than if just your feet are visible.

If that were possible, then the system would do a decent job of simulating cover, both from corners and things like vegetation or bars. I'll add it to the tracker.
-
TagsNo tags attached.

Activities

Springheel

Springheel

14.06.2011 13:24

administrator   ~0003877

Last edited: 14.06.2011 13:30

We'd want to decide on 'high alert' areas of the player's body and 'low alert' areas. This should take into consideration how easy something is to notice, balanced against how easy it is for the player to control that part of the body.

For example, a human hand is quite noticeable. However, the player has no real sense or control of where their hands are, so we would not want to weight them highly by putting a lot of traces there.

I'm imagining about 20 different points, with a grouping something like this:

4 - head
2 + 2 - shoulders
6 - torso
1 + 1 - hands
1 + 1 - feet
1 + 1 - knees

That would mean that a player behind a curtain, with just his feet sticking out, has a good chance of not being noticed if an AI casually glances over the room (about 80% of not being seen). When the player leans around a corner, they would actually have a real benefit, since 75% of their points would still be blocked. A player who squeezes behind a half-pillar actually WOULD improve their chances of staying hidden this way...if they can hide half their body they have 50% less chance of being seen. If they're in bright light, that's probably only going to gain them a fraction of a second more than normal, but it dim light it could be the difference between alerting an AI or not.
Issues: Performance...does adding a lot more points affect performance even if the trace remains once per frame?

STiFU

STiFU

23.01.2019 17:26

developer   ~0011482

I think this 7.5 years old issue can be closed, right? While this is definitely interesting, I think it is a little bit late to tune core gameplay mechanics when all mappers have tuned their maps to the existing mechanics.
VanishedOne

VanishedOne

23.01.2019 20:34

reporter   ~0011486

Changing default behaviour isn't really viable, but a way for mappers to designate areas of partial cover is still of potential interest: some posts in http://forums.thedarkmod.com/topic/18914-hiding-behind-a-bush/ consider something of that nature.

Issue History

Date Modified Username Field Change
14.06.2011 13:16 Springheel New Issue
14.06.2011 13:24 Springheel Note Added: 0003877
14.06.2011 13:28 Springheel Note Edited: 0003877
14.06.2011 13:29 Springheel Note Edited: 0003877
14.06.2011 13:30 Springheel Note Edited: 0003877
14.06.2011 13:30 Springheel Note Edited: 0003877
14.08.2011 22:58 Springheel Priority normal => high
23.01.2019 17:26 STiFU Note Added: 0011482
23.01.2019 20:34 VanishedOne Note Added: 0011486
24.01.2019 02:06 Springheel Status new => closed
24.01.2019 02:06 Springheel Assigned To => Springheel
24.01.2019 02:06 Springheel Resolution open => fixed