Jump to content
The Dark Mod Forums

Stealth score


bobber1

Recommended Posts

I dont know, but i found on our wiki a calcution.

See "getMissionStatistic" at at https://wiki.thedarkmod.com/index.php?title=TDM_Script_Reference

But then again, i dont care how you play the mission. But you have to follow the mission rules to succeed. Most people prefer stealth, over voilence.

 

Edited by freyk

Info: My portfolio and darkmod graphical installer
Amnesty for Bikerdude!

Link to comment
Share on other sites

If I'm correct, the Stealth Score is almost entirely dependent on how many times you and your actions were actually spotted. The lowest level of alertness doesn't seem to affect the end level score, probably just to still ALLOW you do interact with mechanics without scuffing your score.

 

It doesn't account for ghosting and the like that I've seen, so play as you wish. Or if you want to ghost, it'll need to be self-imposed.

  • Like 1
Link to comment
Share on other sites

As far as I understand:

* Guard mumbles or glances in your direction but continues on his way = 0 points

* Guard stops momentarily to look around = 1 point

* Guard stops to search = 2 points

* Draws his weapon and searches = 3 points

* Sees you and tries to fight you =  4 points

  • Like 2

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                                                                                                  The House of deLisle                                                                                                  

                              

Link to comment
Share on other sites

Like @thebighwrote. AI get signals from the surrounding that can increase there alert level, a numerical value that represents the alertness of the ai. After exceeding a certain threshhold the alert state increases. The above mentioned behaviours correspond to those states.

Besides seeing or hearing the player also weapons lying around, bodies or missing items or open doors can add to this. Taking out an enemy does not count in, though, as the ai doesn't notice it been taken out anymore :D

  • Like 2

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

In the stats screen, there is a little arrow at the bottom and if you click it, it takes you to a new page that actually breaks down your stealth score into exactly which alerts were added. It's what thebigh said. The AI have a 5-state alert system, so there's just a multiplier for each level.

Level 1 was left off because it's just too sensitive. In some FMs it's already busted right when the FM starts, and it kind of defeats the purpose of a score if a perfect is impossible just because of the mission design. And it's also following traditional ghosting rules. The basic rule is, you're busted if someone "knows a person was there", which only starts from level 2. One of the goals was to allow players to say they ghosted a mission when they get a 0 stealth score.

One interesting tidbit behind the scenes was that it's actually pretty complex to design the system because alerts usually don't occur once. It's usually a cascade of dozens of alerts as an AI in pursuit keeps seeing you in front of him. So we (I say we but grayman did most of the heavy lifting, but we had a lot of back and forth discussion about how to make it work) had to design it so an alert was like a discrete event.

An alert only counts the highest peak. So it doesn't add the progression through levels 1, 2, 3 if it hits 4. It just counts "4" as the highest hit. And AI have to completely ramp down and stay ramped down for some time period, and then be retriggered from an unalerted state for it to count as a new alert, otherwise it's treated as the "same alert". I learned a lot about designing real world systems for code to handle it in a sensible and satisfying way from grayman for this project. What a hero. I can't say enough good things about him.

  • Like 3

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Just a note to remind developers that the current stealth score is sadly disconnected from the guard alert state, presumably in an effort to avoid this cascade of alerts affect triggering too many stealth score hits.  At present it is possible for a guard to spot the player, enter a fully alerted state (sword drawn) and yet the stealth score remains a perfect all zeros.

Just now playing through Sir Talbot's Collateral I had the annoyance of encountering a guard with his sword drawn more than half way through the playthrough; I have no idea when this happened, and I either have to put up with it or bail and restart.

Regarding the level 1 alerts, these can certainly happen without any visible or audible indication to the player.  Sleeping characters are very inclined to this level of alert, and generally have no detectable reaction.

Link to comment
Share on other sites

Oh I left out a part I was going to mention that might explain that.

The alert has to be attributable to the player. Stims carry an attribution tag. Obviously the player shouldn't be penalized for a guard seeing another enemy. But part of that IIRC is if there's something like a body or a blood stain or a weapon, etc., that the AI sees, there's nothing tagged to the object that's connected to the player. And it's not something you can even easily hack as an attribution system is, well, an attribution system.

This may explain what you were seeing. It could be something else, but that's what occurs to me. (The cascade effect was solved by clever coding, and it definitely counts towards stealth score. So that wouldn't be the source of that problem at least.)

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

The thing is, there are so many ways for the AI to be put into an alerted state without actually seeing you:

  • You didn't hide a body properly and it was discovered.
  • You killed someone, didn't remove the blood stain using a water arrow and it was noticed.
  • You took loot that had a special flag set so that the AI would notice its absence and go into an alerted state.
  • There's more than one enemy AI faction and if they encounter each other can cause battles independent of your actions.
  • Some missions have the AI scripted to be in an alerted state after something important happens during the mission, like an objective being completed for example.

As far as I know, NONE of the above will actually raise the stealth score because you weren't visibly the cause.

  • Like 1

A word of warning, Agent Denton. This was a simulated experience; real LAMs will not be so forgiving.

Link to comment
Share on other sites

The problem is that NPC's don't say much very clearly for us to determine what is the cause - why did the NPC become alert.

In Thief Deadly Shadows it was very easy because you could usually see the subtitles, even if you're far away and you know what triggers them.

  • Like 1

"I really perceive that vanity about which most men merely prate — the vanity of the human or temporal life. I live continually in a reverie of the future. I have no faith in human perfectibility. I think that human exertion will have no appreciable effect upon humanity. Man is now only more active — not more happy — nor more wise, than he was 6000 years ago. The result will never vary — and to suppose that it will, is to suppose that the foregone man has lived in vain — that the foregone time is but the rudiment of the future — that the myriads who have perished have not been upon equal footing with ourselves — nor are we with our posterity. I cannot agree to lose sight of man the individual, in man the mass."...

- 2 July 1844 letter to James Russell Lowell from Edgar Allan Poe.

badge?user=andarson

Link to comment
Share on other sites

I think I can safely say that the only reason the guard became alerted is because he glimpsed me.  I have verified this problem elsewhere, and this particular map and my behaviour will not have triggered any of the other causes.

I feel I'm having to explain this over and over: the current stealth score is fundamentally broken at the moment when it comes to perfect ghosting.

Edited by Araneidae
  • Like 2
Link to comment
Share on other sites

11 hours ago, Araneidae said:

I think I can safely say that the only reason the guard became alerted is because he glimpsed me.  I have verified this problem elsewhere, and this particular map and my behaviour will not have triggered any of the other causes.

I feel I'm having to explain this over and over: the current stealth score is fundamentally broken at the moment when it comes to perfect ghosting.

I guess part of the issue is that I can't recall any situation in which this has happened to me. In my experience, if the stealth score has increased from 0 then it's been my fault, and if the score has remained at 0 and yet guards are still alerted, I've normally been able to track down the cause as being something else that doesn't involve the AI actually looking at me.

If you can find a means of recording a way to trigger the AI reacting to visibly seeing you, then running tdm_end_mission to trigger the mission over screen which also shows stealth statistics and show the score remaining at 0, then that would be useful for debugging maybe.

A word of warning, Agent Denton. This was a simulated experience; real LAMs will not be so forgiving.

Link to comment
Share on other sites

Sigh.  I have described this in detail over in another thread, here:

starting at the middle of page 3.

In brief, playing The Bakery Job (a tiny mission which makes this very easy to reproduce):

  • The effect is extremely easy to reproduce: just let the guard glimpse you, long enough to be alerted.
  • Go and complete the mission.  The status screen will show perfect zeros (if you've used the score tracker mentioned in that thread).

Didn't know about tdm_end_mission, see that can be useful for verification ... but I have verified the hard way, and I did think that my findings were verified in that thread.

Link to comment
Share on other sites

I guess I'll put this here for the record for now. There's a console command to turn on text on the screen that shows the AI state, including stims, their current alert state, the ramp down, etc.

If we were trying to properly debug this, one of the first things we'd do is turn that on and make a video reproducing the bug. There's also a debugging way to turn on the stealth score as well, so you can see what it's doing at the same time. Then it's just a matter of paying close attention the values in line with the events in the video, and that often gives enough clues about what's happening in the code to track the problem down.

If you wanted to track it down, you'd look up the commands to do that. Short of that, you could just make a regular video reproducing the bug and we could go from there.

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

On 10/11/2022 at 1:45 PM, Araneidae said:

Just now playing through Sir Talbot's Collateral I had the annoyance of encountering a guard with his sword drawn more than half way through the playthrough; I have no idea when this happened, and I either have to put up with it or bail and restart.

Did you take the golden cup on the floor in front of the sofa in the library? I think I gave this one the special property of being noticed when missing. I don't remember the details (maybe I should take a look), but this might be the cause of that problem.

Link to comment
Share on other sites

On 10/11/2022 at 7:45 AM, Araneidae said:

Just a note to remind developers that the current stealth score is sadly disconnected from the guard alert state, presumably in an effort to avoid this cascade of alerts affect triggering too many stealth score hits.  At present it is possible for a guard to spot the player, enter a fully alerted state (sword drawn) and yet the stealth score remains a perfect all zeros.

Just now playing through Sir Talbot's Collateral I had the annoyance of encountering a guard with his sword drawn more than half way through the playthrough; I have no idea when this happened, and I either have to put up with it or bail and restart.

Regarding the level 1 alerts, these can certainly happen without any visible or audible indication to the player.  Sleeping characters are very inclined to this level of alert, and generally have no detectable reaction.

Is it possible that some of the guards notice loot missing and they draw their sword to investigate without increasing their AI alert level?

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

On 10/13/2022 at 5:58 AM, Baal said:

Did you take the golden cup on the floor in front of the sofa in the library? I think I gave this one the special property of being noticed when missing. I don't remember the details (maybe I should take a look), but this might be the cause of that problem.

I just checked the map file, looks like it's set to 10% notice when missing.

absence_noticeability 0.1

 

So yeah the patrolling guard in and out of there will eventually notice as he goes in and out of that room.

EDIT: That's not the only item to have that spawnarg.

 

// entity 149
{
"classname" "atdm:moveable_loot_vase"
"name" "atdm_moveable_loot_vase_1"
"absence_noticeability" "0.1"
"origin" "4 650 142.875"
}
// entity 150
{
"classname" "atdm:moveable_loot_candlestick"
"name" "atdm_moveable_loot_candlestick_1"
"absence_noticeability" "0.1"
"origin" "-108 621 179.5"
}

 

// entity 1030
{
"classname" "atdm:loot_coinstack_medium_silver"
"name" "atdm_loot_coinstack_medium_silver_9"
"absence_noticeability" "0.5"
"origin" "-238.38 692.25 386.5"
"rotation" "-1.11022e-016 1 0 -1 -1.11022e-016 0 0 0 1"
}
// entity 1031
{
"classname" "atdm:loot_coinstack_medium_silver"
"name" "atdm_loot_coinstack_medium_silver_6"
"absence_noticeability" "0.5"
"origin" "-241.38 691.25 386.5"
"rotation" "-1.11022e-016 1 0 -1 -1.11022e-016 0 0 0 1"
}


{
"classname" "atdm:loot_coinstack_medium_silver"
"name" "atdm_loot_coinstack_medium_silver_7"
"absence_noticeability" "0.5"
"origin" "-239.38 690.25 386.5"
"rotation" "1 1.11022e-016 0 -1.11022e-016 1 0 0 0 1"
}

 

// entity 1037
{
"classname" "atdm:loot_coinstack_medium_silver"
"name" "atdm_loot_coinstack_medium_silver_10"
"absence_noticeability" "0.5"
"origin" "-240.63 692.75 386.5"
"rotation" "-1.11022e-016 1 0 -1 -1.11022e-016 0 0 0 1"
}
// entity 1038
{
"classname" "atdm:loot_coinstack_medium_silver"
"name" "atdm_loot_coinstack_medium_silver_11"
"absence_noticeability" "0.5"
"inv_loot_value" "5"
"origin" "-241.13 688.88 386.5"
"rotation" "-1.11022e-016 1 0 -1 -1.11022e-016 0 0 0 1"
}
// entity 1039
{
"classname" "atdm:loot_coinstack_medium_silver"
"name" "atdm_loot_coinstack_medium_silver_12"
"absence_noticeability" "0.5"
"origin" "-238.75 688 386.5"
"rotation" "-1.11022e-016 1 0 -1 -1.11022e-016 0 0 0 1"
}


// entity 1307
{
"classname" "atdm:ai_guard_elite"
"name" "CaptainOfTheGuard"
"canLightTorches" "1"
"can_unlock" "CaptainRoomDoor"
"can_unlock1" "BackDoor"
"can_unlock2" "gallery_door1"
"can_unlock3" "gallery_door2"
"can_unlock4" "WinecellarDoor"
"def_attach10" "atdm:prop_key_simple_steel"
"def_head" "atdm:ai_head_baseguard_saxonhelmet_goatee"
"def_vocal_set" "atdm:ai_vocal_set_commander_armed_01"
"name_attach10" "CaptainRoomKey"
"neverdormant" "1"
"origin" "-483.139 640.937 155.268"
"pos_attach10" "belt_back_right"
"rotation" "-0.819151 -0.573576 0 0.573576 -0.819151 0 0 0 1"
"set absence_alert on CaptainRoomKey" "6"
"set absence_noticeability on CaptainRoomKey" "0.5"
"set inv_name on CaptainRoomKey" "Captain's Room Key"
"set name on CaptainRoomKey" "CaptainRoomKey"
"sit_down_slide_dist" "12"
"target" "captain_corner_2"
}


// entity 2315
{
"classname" "atdm:moveable_loot_candlestick"
"name" "atdm_moveable_loot_candlestick_2"
"absence_noticeability" "0.1"
"origin" "-108 681 179.5"
}
// entity 2316
{
"classname" "atdm:moveable_loot_candlestick"
"name" "atdm_moveable_loot_candlestick_3"
"absence_noticeability" "0.1"
"origin" "-795.968 926.97 321.451"
"rotation" "-1.11022e-16 -1 0 1 -1.11022e-16 0 0 0 1"
}

// entity 2970
{
"classname" "atdm:moveable_loot_gold_sugarcup"
"name" "atdm_moveable_loot_gold_sugarcup_1"
"absence_noticeability" "0.1"
"origin" "-615 393 344"
"rotation" "0.519621 -0.854397 0 0.854397 0.519621 0 0 0 1"
}

 

 

Some of them are as high as 50%

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

4 minutes ago, Baal said:

Oops. I completely forgot about that. I thought the cup was the only one.

That feature seems to cause only confusion and the spawnarg should propably be removed on all entities. 

Naw, update the objectives to mention that guards will notice when things go missing, and change it to just certain items like loot that's in the open areas.

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

I never considered it an "established rule" that it should be possible to ghost a mission, not to mention to fulfill some artificial stealth score. I have objectives to complete and tools at my disposal, and if I finish the mission I am fine. I don't have to compare to someone or something to see how good I am.

That beeing said, I assume it would be more purposeful if there is some logic behind how likely it is that a specific items absence is noticed and how the impact on gameplay is, and obviously this should be communcated to the player to some extent. I don't know how you did it with your fm, but obviously randomly setting this property to whatever value does probably not improve gameplay. But if the player has to choose on whether or not to take an item (or at which stage of the fm), it might spice up things a little bit. :)

Oh, and the more mappers tend to move away from any established rules, the more likely it is I will like the result. I don't need to play the same game over and over again. But I may not be representative for the community. ;)

In the end it is your mission. You decide.

  • Like 1

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

Well, it's obvious that nobody ever had the slightest clue why guards suddenly were alert (me included). I propably thought it would mix things up a little, but it just causes confusion. It has to be fixed, and the easiest way is to just remove the spawnarg.

Otherwise I have to make it clear what exactly will be missed; and I don't know how to do that.

Link to comment
Share on other sites

Well, stuff that is

  • displayed in an obvious way
  • has a unique look
  • is very valueable

is likely to be noticed when missing. Obviously some golden cups locked in a closet or a bottle of wine should not be noticed. As stated, it needs to have a reasonable logic behind it. Once you have that, a simple voice over once the player approaches the first loot item that matches the above stating something like "That will surely be missed" should suffice to give the player an idea.

However, all of this only makes sense if the mission is designed either on the player planning in which order to fulfill his objectives (possibly putting such valueables on a todo list upon encounter) or if the loot objective is designed in a way, that the player has to keep the balance between achieving that goal and don't raise too much attention.

As far as I am aware of not a single mission is designed for that, so either you are going to change that for your mission or you remove the spawnarg.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

On 10/11/2022 at 1:45 PM, Araneidae said:

Just a note to remind developers that the current stealth score is sadly disconnected from the guard alert state, presumably in an effort to avoid this cascade of alerts affect triggering too many stealth score hits.  At present it is possible for a guard to spot the player, enter a fully alerted state (sword drawn) and yet the stealth score remains a perfect all zeros.

I've already debugged the cause of the issues and wrote about it in the relevant bugtracker issues, but it's going to require some reworking of the stealth code that someone will need to dive into when they get the time and energy. Just changing the logic of the existing functions wasn't sufficient to cover all the cases in my experiments.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Ansome

      Taking a break to alleviate burnout. In retrospect, I probably shouldn't have jumped into a map-making contest so quickly after just finishing another project and especially with my busy schedule, but I do believe I have something that the community will enjoy. No clue if I'll be able to finish it on time for the competition if I factor in a break, but I'd rather take my time and deliver something of quality rather than engage in development crunch or lose part of the map's soul to burnout.
      · 0 replies
    • Skaruts

      Working on an update for my mission By The Cookbook. If anyone that played it has any further bugs to report, please let me know.
      I posted more details about the update in the mission thread.
      · 1 reply
    • lucien

      being thankful for tdm is a good feeling
      · 0 replies
    • The Black Arrow

      Happy birthday to me!
      Yes, today's my birthday and as much as I want to play The Dark Mod, I won't until it's late Autumn, where it should be a bit chilly in my place and there's some wind too.
      For now, it's time to enjoy my birthday, if any of you want to play a great fan mission in my honour...Well that's asking too much, just play the mission because it's fun, not because of me, enjoy it yourself! 💪
      · 5 replies
    • nbohr1more

      New texture wiki article created: https://wiki.thedarkmod.com/index.php?title=Creating_textures_from_Ornate_Photos
      · 11 replies
×
×
  • Create New...