Jump to content

So I decided to track Sleeper volumes in Poi's and how many are ambushes.


Scyris

Recommended Posts

6 minutes ago, theFlu said:

Sure, but in that case, the stealth meter is useless.

 

Does the stealth meter decrease when you increment the perk? (can't check at the moment).

If yes, then you are right.

If not, then the meter only shows your general visibility and you yourself have to judge what is enough at what perk level.

 

Link to comment
Share on other sites

I'm going to go poke around warehouse_06 ingame and also in the POI editor to see if I can offer any insight. I'd like to again encourage anyone interested in this topic to read stealth.txt before trying to draw any conclusions. It describes behaviors that map onto what theFlu is noticing (and what faatal said) and does not mention any 90-second timer.

 

I looked into the code which handles stealth and there is a single constant declared:

 

private const float cSleeperChaseTime = 90;

 

So "AHA!" you say, there's the 90-second chase time! Except it's not. That variable is not used anywhere in the code. It's declared and then abandoned. I think it's an old value from an older stealth implementation. The current code has a small function which calculates a different value - MaxChaseTime - based the attributes of the target being chased (could be you, could be a bear the Z is fighting).

 

One other point to emphasize - there is no "auto-aggro". Enemies have a chance to hear and see you (and some are better than others at this), that's it. They may get chances to do that at very inconvenient times - even situations where it is essentially impossible to avoid being seen! But there is no BMH-like GPS-to-player automatically upon falling from the ceiling or busting out of a closet. We really ought to trust that faatal knows WTH he's talking about. To the extent I can understand the bits of code I've read, it lines up perfectly with what he said.

 

Edit: again, more nuance here than I originally posted. After looking into it more, what wasn't clear from faatal's note is that the 'attack' volume sleepers get a special can-I-see-you check that is not the same as a regular zombie's hearing or vision check. It ignores line of sight, but does take into account player stealth. If they succeed in 'seeing' you, they will set you as their attack target. This is similar to BMH zombies. If you have some stealth skill, the zombies may fail the check and just wake up without targeting you. There's more details later in this thread.

Edited by Boidster (see edit history)
Link to comment
Share on other sites

28 minutes ago, meganoth said:

Does the stealth meter decrease when you increment the perk?

Wohoo, I'm right. As in, Yes :)

 

Three points into stealth did indeed change the situation, now only a very few will come after me. But the "active" state isn't exactly obvious either, I suppose I've misread faatal's description, "active" might just mean "sleeping and doing normal sleeper stealth checks." I assumed they would get up but not attack.

 

I can also get two sneak attacks in a row on them now.. take a shot, let them move wherever they go, wait til they stop, shoot again.
(This is just cruel. Fun, but cruel.)

 

One point seems to be a sweet spot where some chase and some won't. I dunno; maybe this is what we get, but I'm not surprised people are complaining, it takes couple days of testing to really understand it after 3k hours in the game... :)

7 minutes ago, Boidster said:

So "AHA!" you say, there's the 90-second chase time! Except it's not. That variable is not used anywhere in the code.

I have a screenshot showing the timer though, so "anywhere" has to be wrong ;)

7 minutes ago, Boidster said:

One other point to emphasize - there is no "auto-aggro". Enemies have a chance to hear and see you (and some are better than others at this), that's it.

Then why does the attack volume zed run after me for 90 seconds like it had agro automatically, and change its behaviour when I give it another source of agro?

 

7 minutes ago, Boidster said:

But there is no BMH-like GPS-to-player automatically upon falling from the ceiling or busting out of a closet.

This is literally what they do though. In my testing.

 

EDIT: I do realize that you may be using "auto" as "always 100% guaranteed", I'm using it as "when conditions are met, the zed does automatically know where you are for X seconds." And the condition seems to be stealth meter above 0, sooo the "auto" isn't that far from reality.

Edited by theFlu (see edit history)
Link to comment
Share on other sites

27 minutes ago, theFlu said:

I have a screenshot showing the timer though, so "anywhere" has to be wrong ;)

 

We are talking past each other. Yes, there is a chase timer. No it is not the 90s constant defined in the ApproachAndAttackTarget code. 

 

27 minutes ago, theFlu said:

EDIT: I do realize that you may be using "auto" as "always 100% guaranteed", I'm using it as "when conditions are met, the zed does automatically know where you are for X seconds." And the condition seems to be stealth meter above 0, sooo the "auto" isn't that far from reality.

 

I guess we define the word "automatically" differently. The Zs have a chance to hear and see you. That chance is based on strict mathematics of sounds, illumination, modifiers, and the Zs own senses. It's all available for any of us to review, and it matches exactly with faatal's description of course. If a zombie targets you, then you were visible to that zombie. And there is no special "sleeper vision" where sleeper zombies have extra-special sensory powers either.

 

In any case, I tested warehouse_06 with my previous setup - padded armor, no books, 3 levels in Hidden Strike and From the Shadows, working at night. I did not use the shoot-out-lights modlet.

 

Okay, so on the ground floor, this stack of closets seems suspicious. So I shot out all of the fronts.

Spoiler

image.png.abbcbeff75df26de4e06276379f1cb03.png

 

What do you know, it's 3/4 of a zombie barbershop quartet. All sleeping peacefully.

Spoiler

image.png.2f3bd46ebce239d56b8127086080b9ad.png

 

Now they're even more peaceful.

Spoiler

image.png.d907c9b6e538a1dfac31303b53034479.png

 

Crept around the shelving and saw these suspiciously zombie-sized containers. Already shot the top half of one, was empty, about to take out the next one.

Spoiler

image.png.cfba3a3eb58eacc3cba53953e47819bd.png

 

WHAT THE HELL! This warehouse is SHIPPING ZOMBIES! (He did not hear/see me; stayed snoozing in his crate)

Spoiler

image.png.4d581902a899960f8cd78445e23daebf.png

 

Now he can fit in a 1/2-size crate, saving shipping costs!

Spoiler

image.png.9173e6a69cb3b708ab0ebdc2404bb2d2.png

 

My experience in warehouse_06 is identical to the house_modern I did before. Stealth works exactly as I expect. For what it is worth, when crouching perfectly still, the stealth meter (which is an amalgamation of illumination and noise, as described in stealth.txt) was 1 or even 0 in the very darkest places, but when moving at a walk it would be 10-20 depending on illumination. Apparently not enough noise to wake up at least these zombies.

Edited by Boidster (see edit history)
Link to comment
Share on other sites

13 minutes ago, Boidster said:

My experience in warehouse_06 is identical to the house_modern I did before. Stealth works exactly as I expect.

Good test, I can confirm; that's what happens with 3/5 From the Shadows.

With 0/5, you'll see the auto-agros a lot more clearly.

Make them walk, Set the zombie night speed to "walk." Walk across the front door stair-trigger and observe the break room. They are way too far to see you "legit" with their "normal" senses.

Try to shake them during the 90 sec timer. You can see that with the debug info (toggle: numpad 0)

 

killall, killall, sleeperreset

Second test, after triggering them, let them see you (show them a torch)

Try to shake them. Easily done before the 90 secs is up.

 

This is a different type of agro, granted with stupidly heightened senses. Whatever you want to call it, it Feels completely different from the normal game mechanic.

Edited by theFlu (see edit history)
Link to comment
Share on other sites

3 minutes ago, theFlu said:

With 0/5, you'll see the auto-agros a lot more clearly.

 

This seems like a really important point. I will try it out, sure, but why would you expect to be very successful at stealth whatsoever with zero points spent in it? They will hear you easily! "Legit" with their "normal" senses even.

 

There is, actually, a "super sense" for zombies - but it's not for sleepers. Sleepers have two thresholds (entityclasses.xml):

 

    <property name="SleeperNoiseSenseThreshold" value="3,8"/> <!-- Indiv.Random. hearing capability - "I hear something" noise value -->
    <property name="SleeperNoiseWakeThreshold" value="9,12"/>

 

So each zombie is given (at spawn) a random "sense" threshold between 3 and 8, and a random "wake up" threshold between 9 and 12. If the noise you make goes above the wake threshold, they wake up. This does not correlate exactly to the stealth meter, by the way. The meter combines sound and light.

 

Awake zombies, though, have "super sense" for hearing:

 

    <property name="NoiseAlertThreshold" value="30"/> <!-- DEPRECATED; an awake zombie triggers instantly if touched by the sound range/volume -->

 

I guess, we sort of agree. If you have zero skill in stealth, then zombies are going to hear you easily (wake up and move towards you) and see you shortly thereafter (target and attack). If you want to call this "auto-aggro", alright. I think of it as being not-very-stealthy and paying the price. The mechanisms are working exactly as faatal (and the XML, and the code) described.

Link to comment
Share on other sites

6 minutes ago, Boidster said:

I will try it out, sure, but why would you expect to be very successful at stealth whatsoever with zero points spent in it? They will hear you easily! "Legit" with their "normal" senses even.

Because the UI pretends I'm just as hidden, but I apparently am not. Maybe they're simulating Dunning-Kruger for my character?

 

Good info about the noise/light thresholds. I was aware, they're kinda shown in the debug info, but good info. Being aware of those and seeing how poorly they correlate with Attack volume levels of attack and with the stealth meter, we can see the special type of agro implemented for the Attack volumes.

 

And sure, I get "why" we're here. The auto-agro is Necessary if you want any zeds to wake up *easier* than the normal stealth mechanic would allow. If you don't have a special-GPS-type-agro active, you would have to rely on the normal stealth checks for Attack volume zeds. That would of course mean the zeds just straight up lose agro at the first "normal" stealth check, which is pretty instant.

 

They would just wake up and stand still without auto-agro.

Link to comment
Share on other sites

20 hours ago, Boidster said:

I like the idea of them not going back to their original locations to sleep. So maybe you get chased out and hide for a while, but when you come back they're not all just out in the open (which as Roland points out would not be all that interesting), but maybe the bathroom which was empty before now has a sleeper in it. And the one on the living room floor is now behind the counter in the kitchen. The sleeper volumes already allow for multiple (randomized) spawn points so that a POI won't be identical on each playthrough. Would be neat if the sleepers could just pick one of the spots and go to sleep there. Oh, and have them rebuild the closet doors too so they're hidden again. :D 

 

Maybe them breaking the closets is not a good idea, but change the closets into a cheap style door? the added benefit is it won't be destroyed by bolts or arrorws so now you HAVE to sneak up on it, or send the drone to open it. Now that would be a good drone use: opening doors

48 minutes ago, theFlu said:

Because the UI pretends I'm just as hidden, but I apparently am not. Maybe they're simulating Dunning-Kruger for my character?

 

Good info about the noise/light thresholds. I was aware, they're kinda shown in the debug info, but good info. Being aware of those and seeing how poorly they correlate with Attack volume levels of attack and with the stealth meter, we can see the special type of agro implemented for the Attack volumes.

 

And sure, I get "why" we're here. The auto-agro is Necessary if you want any zeds to wake up *easier* than the normal stealth mechanic would allow. If you don't have a special-GPS-type-agro active, you would have to rely on the normal stealth checks for Attack volume zeds. That would of course mean the zeds just straight up lose agro at the first "normal" stealth check, which is pretty instant.

 

They would just wake up and stand still without auto-agro.

you know, in the older alphas you had this eye around the crosshairs and it would say "hunted", maybe they should bring that back but as an unlock in the perception tree? Under the tracker book? I understand why they got rid of it, but at the same time i do not understand how i can track rabbits but not zombies.... 

Link to comment
Share on other sites

4 minutes ago, SenpaiThatIngnoresYou said:

in the older alphas you had this eye around the crosshairs and it would say "hunted", maybe they should bring that back but as an unlock

I'm not against the idea, but it wouldn't solve any of my dislikes here .. :)

 

The current Attack volumes are implemented 'outside' the stealth mechanics, which causes all kinds of sillyness.

 

Current Attack volume:

1) Check upon entering if we can "detect" the player at 3-10 times more accurate senses

2) If spotted, give the zeds a specific attack mode until they reach the player

3) Once seeing the player, revert to normal behaviour

 

The issue caused directly by this; for an aggressive Attack volume, your only chance of Stealthing is to .. stop stealthing. Once the zeds have seen you, you can stealth again.

 

What I'd suggest to be similar but more consistent with the rest of the game:

1) Whatever zed is spawned in an "Attack volume", give it 2-5 times better senses. Or 20. Just numbers.

2) Behave as normal.

 

Now the zeds will feel impossible to lose, because they practically are. But at least they would have normal and self-consistent behaviour.

Link to comment
Share on other sites

2 hours ago, theFlu said:

I'm not against the idea, but it wouldn't solve any of my dislikes here .. :)

 

The current Attack volumes are implemented 'outside' the stealth mechanics, which causes all kinds of sillyness.

 

Current Attack volume:

1) Check upon entering if we can "detect" the player at 3-10 times more accurate senses

2) If spotted, give the zeds a specific attack mode until they reach the player

3) Once seeing the player, revert to normal behaviour

 

The issue caused directly by this; for an aggressive Attack volume, your only chance of Stealthing is to .. stop stealthing. Once the zeds have seen you, you can stealth again.

 

What I'd suggest to be similar but more consistent with the rest of the game:

1) Whatever zed is spawned in an "Attack volume", give it 2-5 times better senses. Or 20. Just numbers.

2) Behave as normal.

 

Now the zeds will feel impossible to lose, because they practically are. But at least they would have normal and self-consistent behaviour.

Normal stealth checks would not be desirable in the attack volume case as the zeds are often around corners, enclosed or facing the wrong direction and the player may be making little noise which means default unskilled stealth would mostly work, yet the designers want the zeds to attack.

 

The one time check is to allow stealth to be useful as a skill you can put points into and allowing for variation in the way you entered the volume compared to zed locations.

 

The attack uses SetAttackTarget, which is a standard way of the tracking you and used in cases like when you hit them or they see you. I am reducing the trigger's call of SetAttackTarget from 60 to 20 seconds, which seems more reasonable for the attack to time out, since it refreshes anyway if they see you.

Link to comment
Share on other sites

1 hour ago, faatal said:

The attack uses SetAttackTarget, which is a standard way of the tracking you and used in cases like when you hit them or they see you. I am reducing the trigger's call of SetAttackTarget from 60 to 20 seconds, which seems more reasonable for the attack to time out, since it refreshes anyway if they see you.

Hmm. A lot of that feels weird in light of my testing; I take your word that's how it is implemented, but I don't see how to explain:

- the actual 90 second timer I saw, if it should be set to 60 (maybe the 60 is something else in the code..? And make sure you won't break the Stealth perks while in there, those effect the timer as well. The max rank reducing it down to 20 currently - based only on description of the perk).

- the test where I reveal myself with a torch to restealth almost instantly after. The timer with a standard vision agro has to be different, at least (zero?) and as such reset upon 'normal' agro?

 

1 hour ago, faatal said:

Normal stealth checks would not be desirable in the attack volume case as the zeds are often around corners, enclosed or facing the wrong direction and the player may be making little noise which means default unskilled stealth would mostly work, yet the designers want the zeds to attack.

Which is why I suggested increased senses; if line-of-sight would be an issue, making the player have a baseline heartbeat-sound for the sensitive zeds to catch wouldn't bother me. They would attack just as relentlessly until you get outta dodge, the ones with a clear way to run could still get to you before you can react.

 

Love the responses, thanks :)

 

EDIT: seems the stealth perks aren't affecting That timer anyway.

Edited by theFlu (see edit history)
Link to comment
Share on other sites

I glossed over something in an earlier comment and I'll go back and correct it. There IS an auto-agro mechanism in "attack" volumes, if you are not crouched. That is, the CanSleeperAttackDetect() function always returns 'true' (meaning the Z can attack you) if you aren't crouched. So for players who aren't trying to sneak, every zombie in the volume absolutely will set you as their target and chase you for 60s, soon to be 20s. No matter where they are hiding, line-of-sight or not, etc. If you go in all "come at me bro", they will come at you.

 

4 hours ago, theFlu said:

1) Check upon entering if we can "detect" the player at 3-10 times more accurate senses

 

Where did 3-10 more accurate senses come from? Not disagreeing, just interested how you calculated that. I can see that it's hard-coded, but I dunno how to get from there to 3-10 times more accurate. I'm looking at CanSleeperAttackDetect (used for sleeper volumes) and CanSeeStealth (used I think for normal day-to-day stealth). Should I look elsewhere?

Link to comment
Share on other sites

4 minutes ago, Boidster said:

Where did 3-10 more accurate senses come from?

From testing with the debug info on. The zeds in that warehouse break room have a "Sight" about something like 30-40 (from memory). If I step on the trigger-line with a "Light" value of 3, they agro. That is 10x, the "3-10x" is just off the cuff.

 

7 minutes ago, Boidster said:

There IS an auto-agro mechanism in "attack" volumes, if you are not crouched. That is, the CanSleeperAttackDetect() function always returns 'true' (meaning the Z can attack you) if you aren't crouched.

I suppose it could also be doing a stealth test in the crouched-branch of said if()? I mean, that's how it behaves... ;)

Link to comment
Share on other sites

27 minutes ago, theFlu said:

Hmm. A lot of that feels weird in light of my testing; I take your word that's how it is implemented

 

I think he's talking about this (edited for clarity, obviously):

 

SleeperVolume.Touch()

{

if ([this is an attack volume] and CanSleeperAttackDetect())
  {
    ConditionalTriggerSleeperWakeUp();  -- wake up
    SetAttackTarget([player], 1200);  -- set player as attack target for 1200 ticks
  }
else
  entity.SetSleeperActive(); -- either not an attack volume or player is stealthy enough to not be 'seen' so just go active

}

 

Gonna change that 1200 to 400 is my guess.

 

9 minutes ago, theFlu said:

I suppose it could also be doing a stealth test in the crouched-branch of said if()? I mean, that's how it behaves... ;)

 

Absolutely. If you are crouched, the Z's get that 'freebie' check on you like I described a page or two ago. This is seriously edited for clarity:

 

  public bool CanSleeperAttackDetect()
  {
    if (player.IsCrouching)
    {
      [do some math using player's stealth-adjusted light level]
      if ([distance from Z to player ignoring line of sight] > [the math result above])
        return false; -- nope, sleeper can't detect you (but it's gonna go active anyhow)
    }
    return true; -- either player is not crouching, or the math above didn't work out in player's favor: ATTACK!
  }

 

The thing about the [math] above is that it does use some hard-coded values for the zombies alongside the player's stealth numbers, meaning it's a kinda attack-sleeper-specific calculation. And, I guess, idential 'senses' for any type of attack sleeper zombie? So your 3-10x more accurate senses might be right.

 

The standard day-to-day stealth checks for vision use variables from the zombie's stats (in XML) and the player's stealth to calc. Not hard-coded.

Edited by Boidster (see edit history)
Link to comment
Share on other sites

Couple corrections for my part;
The "Sight" I was referring to is called "wake" while they sleep, and the value was about 200 compared to the 3 to trigger, so that's .. 60 times higher?

 

The timer related to the auto-agro-chase doesn't seem to change with the skills spent in From the Shadows, it's still 90 at 3/5. /shrug

 

EDIT: Upon a little further testing of said timer; we had a lovely little walk with the handsome janitor, but after the 90 seconds, he just figured he needs to go home. So he walked to the nearest wall and kept walking at it and walking at it. Me standing there, with my torch, in plain sight didn't seem to be of interest to him anymore.

 

So I shot him.

Edited by theFlu (see edit history)
Link to comment
Share on other sites

1 hour ago, theFlu said:

The timer related to the auto-agro-chase doesn't seem to change with the skills spent in From the Shadows, it's still 90 at 3/5. /shrug

 

What about the behavior you mentioned earlier where you got their attention and then crouched and they immediately forgot about you? That wasn't even 90 seconds. It is sounding to me like there is a bug that is causing zombies to not behave as expected. 

 

Expected: If a zombie sees you it will chase you with a memory of you of 90 seconds after which it forgets you if it no longer can see you. But whenever it can see you it starts the 90 seconds again.

 

Reality: Some zombies forget the player immediately if they crouch in shadow without a 90 second timer and others chase for 90 seconds and then lose interest even if they can still see the player.

 

Expected: The 90 second timer reduces in time with ranks in From the Shadows

 

Reality: The perk isn't working

Edited by Roland (see edit history)
Link to comment
Share on other sites

1 hour ago, theFlu said:

The "Sight" I was referring to is called "wake" while they sleep, and the value was about 200 compared to the 3 to trigger, so that's .. 60 times higher?

 

So, lot going on I think. First off, I don't think the ground-floor zombies of warehouse_06 are in an 'attack' volume, even though they seem really intent on attacking you. I say that because Faatal and the code both say that if it's an attack volume, as soon as you touch the volume (the SleeperVolumeTouch() function I posted just above) then every zombie is going to wake up and at least be in Active mode. If they can 'see' you (using that hard-coded, line-of-sight-be-damned math) then you get targeted.

 

I'm going to open it up in the POI editor and snoop around the volume to see what I find.

 

Anywho, if it is not an attack volume, then I think the "wake" numbers you're seeing relate to this (from the zombie template):

 

    <property name="SleeperWakeupSightDetectionMin" value="-40,5"/> <!-- Indiv.Random. sight capability - "I see you" light value at point blank -->
    <property name="SleeperWakeupSightDetectionMax" value="340,480"/> <!-- Indiv.Random. "I see you" light value at "SightRange" -->
    <property name="SleeperSenseSightDetectionMin" value="-10,0"/> <!-- same for groaning, not waking -->
    <property name="SleeperSenseSightDetectionMax" value="200,300"/>

 

That 200 may very well be the wake detection threshold at <distance to you>. Does it change when you move closer? The XML above sets a range from <point blank> to <limit of Z's sight> for visual detection. (Sound is a bit different, because it emanates from you and does not attenuate by distance - max volume is 'heard' to the item/action's sound range.)

 

So maybe your janitor had these values:

 

Illumination of theFlu Required To Wake Up

Point-blank range: 1

Max sight distance: 380

 

They use linear interpolation to compute the "light required to wake up" at various distances in-between. It's in the [math] stuff that I left out before. So if you were, say, 50% of the way between point-blank and max-range, I'd expect the "light required to wake up" to be (380-1)/2 = 189.5. Move closer, it gets smaller = less light on you is required for the zombie to see you & wake up.

 

Is that how the "wake" number behaves? Or is it just stuck at 200 regardless of how you move?

 

8 minutes ago, Roland said:

Expected: If a zombie sees you it will chase you with a memory of you of 90 seconds after which it forgets you if it no longer can see you. But whenever it can see you it starts the 90 seconds again.

 

I'm going to chase this expectation and perk benefits down if I can. Faatal gave us the standard function which is called when the player is set as the target (same for sleepers as it is for normal Zs). It's pretty easy to see what is calling that function, and what timeout parameter is being sent in.

Edited by Boidster (see edit history)
Link to comment
Share on other sites

40 minutes ago, Roland said:

What about the behavior you mentioned earlier where you got their attention and then crouched and they immediately forgot about you? That wasn't even 90 seconds. It is sounding to me like there is a bug that is causing zombies to not behave as expected. 

I didn't test it with skills, but I can't squeeze it into a less time when it seemed instantaneous already. Given some delays with how the stealth decisions are made and some noise-chasing and whatnot. If the intent is relentless pursuit for 90/60/20 seconds, then yes, it seems buggy. I'm going to abuse the bug to its full extents, but buggy nonetheless.

 

That walk with the janitor and a quick interview with the local wilderness-types suggests the timer I've been staring at is a homing-timer for sleepers (with a home). Probably nothing to do with anything else, at least the non-sleeper locals didn't even have one. So the 90 might just be me being confused. Hey, the '90s were at least.

 

40 minutes ago, Roland said:

Expected: If a zombie sees you it will chase you with a memory of you of 90 seconds after which it forgets you if it no longer can see you. But whenever it can see you it starts the 90 seconds again.

That may be the design intent, but I'm definitely not the person to make the claim.

Your statement of reality.. hmm.

40 minutes ago, Roland said:

Reality: Some zombies forget the player immediately if they crouch in shadow without a 90 second timer and others chase for 90 seconds and then lose interest even if they can still see the player.

As far as I tested:

Reality: All zombies forget the player immediately after losing Sight in the stealth sense(, including ones that were triggered with Auto-attack volumes). They will carry on to the spot where the player was last seen and then follow audio ques and such.

 

As in, I didn't test that many normal zeds, but the auto-agros behaved like the rest once they had actually seen me once.

 

The "perk isn't working"-part; I don't think I can say, I've been staring at a timer that doesn't seem to be about that after all. Then again, restealthing in front of their face made them get entirely lost, so; might be the timer-tied-to-the-perk doesn't do anything atm. :)

 

39 minutes ago, Boidster said:

First off, I don't think the ground-floor zombies of warehouse_06 are in an 'attack' volume, even though they seem really intent on attacking you.

 

grep SleeperVolumeFlags.*2 *.xml is the reason I chose that POI, it was full of two's and existed in my navezgane test world. Most if not all of the volumes there are attack volumes (unless that xml part doesn't apply anymore?)

 

So, "Active mode" = sleeping and doing normal stealth checks.

 

39 minutes ago, Boidster said:

Is that how the "wake" number behaves? Or is it just stuck at 200 regardless of how you move?

Yes, the wake number changes based on my distance. Light changes based on stealth and illumination state, don't even need to crouch to have a comparison number there. If Light > wake, and the zed has LoS to you, it wakes.

 

So when I said about 200, it was about 200 (218 or so) the moment I stepped on the trigger volume. And my Light was ~3.

 

EDIT: @Boidster , btw, I'm not reacting much to the code snippets; not because I don't appreciate you digging in there, but because I pretty much know one can't figure out the entire system too easily by code-reading. There's always some details lost in the reading - unless it is your own code, and very recently written even then. But, keep it up, I assume you're doing it mostly for educational purposes anyway .. :)

Edited by theFlu (see edit history)
Link to comment
Share on other sites

  

8 minutes ago, Boidster said:

I'm going to chase this expectation and perk benefits down if I can.

 

Aaand I'm back. So the Entity object has a function, CalcInvestigativeTicks(), which uses the EnemySearchDuration modifier from the From the Shadows perk.  The perk looks like this:

 

<passive_effect name="EnemySearchDuration" operation="perc_add" level="0,1,2,3,4,5" value="0,-.17,-.33,-.5,-.58,-.67"/>

 

Since this is a percentage adjustment, the perk descriptive text is very dependent on a base search time of 60 seconds. And luckily there are only two "attacking the player" places where search time is given, and they both work out to 60 seconds. They get there a bit differently.

 

The CalcInvestigativeTicks() function works like this:

 

Actual Ticks = [Base Value Ticks] * (1 + [EnemySearchDuration %])

 

So if you are at perk level 2 (adjustment -33%) and the event sends in a base value of 400 ticks (20 seconds), then the actual search duration would be:

 

400 * (1 - 0.33) = 400 * .67 = 268 ticks = about 13 seconds.

 

Okay, makes sense. So now where does the 60 seconds base come from? The CalcInvestigativeTicks() function is only called in three places:

 

image.png.cb1b19c799cc45d2e36d127b037dd4a6.png

 

In each case a different value is passed in as the "base value", but the two attacking-the-player ones both work out to 60 seconds, which means the perk will work:

 

SetAsTargetIfHurt: this.theEntity.CalcInvestigateTicks(1200, revengeTarget); -- 60 seconds

SetNearestEntityAsTarget(Continue): CalcInvestigateTicks(Constants.cEnemySenseMemory * 20, this.targetEntity) -- that constant is 60, so this is also 1200 ticks or 60 seconds

SetNearestEntityAsTarget(Seek Noise): this.theEntity.CalcInvestigateTicks((30.0 + this.RandomFloat * 30.0) * 20, player)); -- random 30-60 seconds, but this is "I heard something" searching (following breadcrumbs), not actively targeting

 

Final point - none of these functions seem to be used when a sleeper wakes up and targets you, that I can see. So the perk will have nothing to do with how long a grumpy sleeper will chase you. Maybe if you hit it, you trigger the "SetAsTargetIfHurt" AI function, though, and then the perk applies?

Link to comment
Share on other sites

14 minutes ago, Boidster said:

 Final point - none of these functions seem to be used when a sleeper wakes up and targets you, that I can see. So the perk will have nothing to do with how long a grumpy sleeper will chase you. Maybe if you hit it, you trigger the "SetAsTargetIfHurt" AI function, though, and then the perk applies?

 

So it occurs to me that if none of those three are called when a sleeper wakes up that might explain why its possible to modify the sleeper behavior by showing yourself via un-sneaking and holding a light source and then re-sneaking. If you can pre-empt whatever method triggers for the sleeper wake up by triggering one of those methods instead and they contain different AI behaviors that would potentially explain some things. Not sure if it is intentional for you to be able to manipulate the AI like that though.

Link to comment
Share on other sites

1 hour ago, theFlu said:

I'm not reacting much to the code snippets; not because I don't appreciate you digging in there, but because I pretty much know one can't figure out the entire system too easily by code-reading.

 

Interesting! I am mostly poking around for two reasons, 1) to learn in more detail what's going on and 2) to support other evidence or claims of certain behaviors. As a former coder myself, I place much higher weight to what the code says is going on vs. what I think I see going on when I play. All that means is if the play test appears to do X, but the code says it should do Y, then I'm more likely to distrust my own interpretation of the play testing. That's not really fair; it depends on how confident I am in the code interpretation, which is kinda your point. Different perspectives. Of course it is difficult to piece everything together because the code is HUGE. And, of course, there are no comments available.

Edited by Boidster (see edit history)
Link to comment
Share on other sites

Hmm..

23 minutes ago, Boidster said:

Final point - none of these functions seem to be used when a sleeper wakes up and targets you, that I can see.

 

A wise man once said:

2 hours ago, Boidster said:

    SetAttackTarget([player], 1200);  -- set player as attack target for 1200 ticks

 

Which made me realize, what you described in the later post is all about search and not at all about attack. The Attack volume zeds get an Attack command, not a search? :)

2 minutes ago, Boidster said:

All that means is if the play test appears to do X, but the code says it should do Y

Hmm.. if the code was the whole picture, there would be no QA. But yeh, different perspectives, having worked basically between the coders and the QA, I do appreciate both.. :)

Link to comment
Share on other sites

19 minutes ago, theFlu said:

Which made me realize, what you described in the later post is all about search and not at all about attack. The Attack volume zeds get an Attack command, not a search? :)

 

Kinda. I guess the way I'd put it, which really is just restating what Faatal said I think, is that attack volume Zs get a special chance to 'see' you (disregarding LoS so...weird) which uses different logic from a normal zombie. If they see you, then they also have a different path to the "attack the player" AI behavior, which uses that 1200 ticks hard-coded duration (and which Faatal is reducing to 400 it seems).

 

The other two functions, not used by sleepers, also end up with "attack the player", but they get there after passing through the From the Shadows perk enhancements to chase time. Regardless of how a Z gets into the "attack the player" AI behavior, from then on it's the same code running the show.

 

In all cases, the fixed-1200 ticks and the 1200-ticks-modified-by-FtS-perk are used for exactly the same thing. Your testing seems to show what Sithdarth suggested, though - that changing the AI task to a different flavor of "see and attack" can reset the counter to something lower.

Link to comment
Share on other sites

On 1/31/2022 at 4:33 PM, Kyonshi said:

Well, feelings are a subjective interpretation of something, therefore it isn't a factual reference. The importance that feelings should gain regarding concepts that require factual and technical data to be fixed, if there's a need to, is largely debatable.

 

Case in point, I'm an avid stealth player. I actually have a hard time playing otherwise, my immersive process demands to play stealthy like 95% of the time. I have a solid certitude that no, not all rooms are auto-wake up. This is a laughable exaggeration. If things would have been like you described them, I would have never bothered putting points in that skill.

 

I do come across rooms that are an inevitable trigger for Zs, but for a vast amount of time I spend playing, I can handle most of my possible stealth kills with success, with proper and careful precautions. This has been debated during A19 and I think it was Roland that once said that this isn't a pure stealth game and players should consider that you can't breeze your way with 100% stealth kills because that's something the designers don't wanna see. But they're also determined to make a stealth approach totally enjoyable for those who choose this path.

 

Now, of course this feature isn't perfect and I think that the part of the community that judges too hard should check their own perceptions before stating there's something wrong with the stealth mechanics like it's a fact. This isn't Splinter Cell, Tenchu or Thief and with the millions of possible interactions and conflicts the technical design of 7DTD generates, it's a colossal task to set up a feature that's stable enough for the eventual finished gold game.

I have played for the last 3 weeks as several builds, I can say this from my experience, that POI's in tier 3 (not all tier 3) and in 4-5 tiers are ATTACK trigger rooms, aka they agro the moment you activate the trigger or attack one of them even from stealth. I LOVE STEALTH style usually, however I find that going loud and proud in 7dtd even with 3-4 screamers outside is the best way to get things done. Which saddens me.

Also a video released lately on one of my channels for 7dtd actually went in to the code and checked the room triggers and such and YES most of the NEW poi's have attack triggers, aka no stealth working on this. in fact a good portion had NOTHING but attack triggers with few exceptions, even those had mostly attack triggers.

now stealth outside poi's is wonky funny at high perks, i have literially killed a mountain lion stay about 5-8 meters from it in stealth with a BOW no limb/head destruction, just damge.

I feel there needs to be a difference in zombie behavior and Clear ways to see/utilize that.
which means, I want a noise meter and a vision meter for stealth.....not a cheap combo, I want to know was i heard or seen? can I wait this out or am I going to have to fight?
Also zombies hiding in weird spots is very immersion breaking, I get maybe hiding in a closet to avoid the sun, or such. but it really makes no sense. Now if the zombie did a little terraforming of the area puting things in a pile and hiding in it, not cause they are smart. It is because they want to hide from light or such, heck maybe cause they are hiding from other zombies so they are not eaten by the others.
Speaking of which what type of zombies are these things, they seem like weird magical, hive-minded, Ravenous eating freaks. I say magic cause last i checked a human hand could not break a concrete or steel wall........the arms/hands break long before it does.

The real question comes as this, how realistic can we make this to make the zombies work in the game, and how far fetched to we need to make it? Even if it is far fetched in a game of programing, if , then, else, other is still rules.
which means what rules are we expecting to play by?

Feral sense is an interesting example here of rules, simple, They usually 95% of the time know where you are or where you are withing about 8 meters of you, which when you make a sound in that distance they then auto know where you are.....so like a mini horde night but whenever they have the feral sense on? did someone say 24/7 horde nights lasting at all hours? Last time i made that comment I noticed after an update that the zombies spawning in vision in the wilderness no longer auto GPS to you anymore its more like a % of them in the area do now. when the game goes on auto GPS zombies find you mode 24/7 it kills any thrill or tension, its just a overdose issue, in which you just are fighting a gauntlet. In turn this killed the tension and turned it into a how long can i hack and slash. (which i played to test stealth feral sense on at all times, hint feral sense kills stealth builds)

What i want to know is the intent behind some of the changes and goals in the game. I get so many mixed feelings playing the game coming from the devs.
So what someone makes a non-need to interact with the horde on horde night base. Let them be bored hiding if that is there choice. If that is what they want why did that guy have horde night on at all? granted certain methods are a problem in other aspects if they achieve this so definitely something to look at. Making killing the horde more rewarding was a great direction, That rewards people for doing the one thing I see this game has, Killing/interacting with the zeds. Afk killing bases now that is realistic with the stupidity that would be a zombie, but game play is not very...interacting that I understand with some exceptions being resources spent to kill from traps, fully afk but killing should be costing time else where, aka ammo, power, etc.

But i have diverged, what is needed here in this topic i read, is behavior. We need more interactive behavior, less black and white, and even with that we need ways to interact and SEE ways to acknowledge this. Several games have clear User symbols that are in good too see places/icons that dont interfere with the players over all screen, but give quick and meaningful info, not hidden in the corner of the screen and over simplified to near meaningless numbers that are a not even actually accurate.

Take for example I watched a lets play of a player doing a dangerous treasure dig out the the wasteland. A horde comes onto his postion and he hears the zombies above him in the hole he dug straight down and slightly to the side.....he goes stealth and waits hoping they will just leave eventually.
(which i dont know if hordes ever leave the spot they choose but hey?
So he is at a 1 on his stealth meter and a 7 at the highest when he moves, assuming he is full stealth here, no feral sense. Suddenly he is at 35 on the meters for about 1.5 seconds, all the zeds start hissing and yelling...... He didnt do more then move, no switching action slots, no actions other then a few meters moved placed a block on the hole, then moved back waiting, it was him sitting there for over 20 seconds suddenly he gets 35 on the meter....doing nothing.
now personally story wise I would to think the dust caused his character to sneeze or cough in that hole, would of been cool to hear that and go oh snap. but right now there was nothing to cause this.

Right now, zombies in the traditional sense have very limiting tactics, to be well traditional zombies. They need a new take on them and a way to explain this in LORE as to why, and this will make alot of people happy.
Bandits promised in Alpha 21 are promising to help change the game up but......unless they have a lot better AI behavior then the zombies, will not change the core issues of the game.
Immersion is the biggest thing questioned/seems to be what the game wants to do. But what it does is Survival hack and slash....shoot things.
If it wants to be more it needs to answer some questions:
First how are NPC's surviving? how do they survive horde nights? Why do horde nights happen in the world?
Are these zombies magical in nature, cause they seem to be? (mutant powers are still magical mechanically speaking)
Are the dead Cremated now as a standard? (ashes dont come back as zombies, let alone cut into pieces and buried apart ones)
Heck why DID this all happen? Would help point us in the right direction at least, to determine what to expect from these zombies!
Why are there even survivors at all?

For now I treat this game as it is, what it feels like. A very much more complex Minecraft.....with guns.
You build, you survive, you have enemies to kill with weapons, and a physic engine that is more fun to play with then actually think about. In a nut shell this game is still a child as the alpha name says, but it does show promise.



 

Link to comment
Share on other sites

Well, I want to leave my 2 cents, based on my gaming experience and the reports I've seen here. I apologize in advance, I'm using Googlew Translate. If you don't understand something, let me know and I'll correct it.

 

In summary, I didn't notice differences in stealth in A20 compared to A19. Yes, many zombies fall from the ceiling or out of the closets, but this only brought me "more scares", because as reported (I also noticed) many times the zombies don't know I'm there. It brings me more "excitement" when performing a stealth loot, but at the same time it's predictable and doesn't cause as much surprise. Why is it predictable?

 

Because since I started playing, currently with 1300+ hours played, I always saw zombies falling from the ceiling or in closets, and in A19 this was a sign of combat, they already knew I was there and they came directly to me. In A20 this keeps happening, but often it's just a "scare", if I keep stealth, walk away and don't despair I succeed in stealth.

 

When I say "predictability", it's that I know these "tricks" of zombies on the ceiling or closets a long time, it's easy for me to just shoot an arrow in the closet, I find zombies in them 90% of the time, so the murder is right, I ALWAYS check closets and ceilings, and because of that there is no surprise.

 

My tactic always boils down to this, since A19:

 

- Going across the floor with Stone Ax in hand > remove the trash on the doors > sneak into the room leaning against the wall while looking around. Closet doors? Shoot an arrow. Zombie in the closet? Arrow to the head.

 

- Going through the ceiling, bow and arrow in hand. If I need to jump into a room or the vertical ladder removes me from stealth mode, I jump and immediately click the button to crouch before I hit the floor. Then I look around as in the item above.

 

Anyway, for a long time I thought that stealth was broken, but after upgrading to the A20 I noticed that it just seems more difficult because of the zombies coming out of closets more easily and giving me "scares", but I also realized that just need to I keep calm, for "it was nothing but a fright," they had not seen me yet.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...