Jump to content
The Dark Mod Forums

Recommended Posts

Posted

I'm fairly new to TDM and am curious as to what factors determine a player's stealth score?  I tend to be a knock out player and assume the number of KOs I do certainly factor into it.  What are some other things that will affect it?

Posted (edited)

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!

Posted

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
Posted

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

                                The Wizard's Treasure                             A House Call

                                                                                                  The House of deLisle                                                                                                  

                              

Posted

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

Posted

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.

Posted

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.

Posted

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.

Posted

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.

Posted

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.

Posted (edited)

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
Posted
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.

Posted

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.

Posted

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.

Posted
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.

Posted
1 hour ago, 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

Interesting!  Will have to take a look.

Posted
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.

 

Posted
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.

 

Posted

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. 

Posted
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.

 

Posted

Hm, I don't know. Normally you can just nick everything. That would change the expected, established rules.

Does anyone have a strong opinion about that?

Posted

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

Posted

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.

Posted

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

Posted
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

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

    • datiswous

      I moved from Manjaro Linux (rolling release) to Linux Mint (LTS). One of the reasons was that I found the updates a bit too often and long. But now on Mint I get updates every day, although they're usually small updates.
      · 3 replies
    • JackFarmer

      "Hidden Hands: Vitalic Fever" - new update available including subtitles & compressed briefing video (thanks to @datiswous) and several fixes.
      · 0 replies
    • Wolfmond

      🇬🇧

      2025-04-20
      I'd like to track my level design progress a bit more often now, so I'm using the feed in my profile here.
      I've been working intensively on Springheel's YouTube course over the past few days. I'm currently up to lesson 8. There is so much information that needs to be processed and practiced. 
      I have started to create my own house. As I don't have the imagination to create a good floor plan, I grabbed a floor plan generator from Watabou and experimented with it. I chose a floor plan that I will modify slightly, but at least I now have an initial idea. 
      I used two guards as a measuring tape: The rooms are two guards high. It turned out that I can simply double the number of boxes in DarkRadiant in grid size 8 that are drawn in the floor plan. 
      I practiced the simplest things on the floor plan first. Drawing walls, cutting walls, inserting doors, cutting out frames, creating VisPortals, furnishing rooms.
      I have had my first success in creating a book. Creating a book was easier than I thought. I have a few ideas with books. The level I'm creating will be more or less a chill level, just for me, where I'll try out a few things. I don't have an idea for my own mission yet. I want to start small first.
      For the cellar, I wanted to have a second entrance, which should be on the outside. I'm fascinated by these basement doors from the USA, I think they're called Bilco basement doors. They are very unusual in Germany, but this type of access is sometimes used for deliveries to restaurants etc., where barrels can be rolled or lifted into the cellar. 
      I used two Hatch Doors, but they got completely disoriented after turning. I have since got them reasonably tamed. It's not perfect, but it's acceptable. 
      In the cellar today I experimented with a trap door that leads to a shaft system. The rooms aren't practically finished yet, but I want to continue working on the floor plan for now. I'll be starting on the upper floor very soon.

      __________________________________________________________________________________
      🇩🇪

      2025-04-20

      Ich möchte nun mal öfters ein bisschen meinen Werdegang beim Leveldesign tracken, dazu nutze ich hier den Feed in meinem Profil.
      Ich habe mich in den vergangenen Tagen intensiv mit dem Youtube-Kurs von Springheel beschäftigt. Aktuell bin ich bis zu Lektion 8 gekommen. Das sind so viele Informationen, die erstmal verarbeitet werden wollen und trainiert werden wollen. 

      Ich habe mich daran gemacht, ein eigenes Haus zu erstellen. Da mir die Fantasie fehlt, einen guten Raumplan zu erstellen, habe ich mir einen Grundrissgenerator von Watabou geschnappt und damit experimentiert. Ich habe mich für einen Grundriss entschieden, den ich noch leicht abwandeln werde, aber zumindest habe ich nun eine erste Idee. 

      Als Maßband habe ich zwei Wächter genommen: Die Räume sind zwei Wächter hoch. Es hat sich herausgestellt, dass ich in DarkRadiant in Gittergröße 8 einfach die doppelte Anzahl an Kästchen übernehmen kann, die im Grundriss eingezeichnet sind. 

      Ich habe bei dem Grundriss erstmal die einfachsten Sachen geübt. Wände ziehen, Wände zerschneiden, Türen einsetzen, Zargen herausschneiden, VisPortals erstellen, Räume einrichten.

      Ich habe erste Erfolge mit einem Buch gehabt. Das Erstellen eines Buchs ging leichter als gedacht. Ich habe ein paar Ideen mit Bücher. Das Level, das ich gerade erstelle, wird mehr oder weniger ein Chill-Level, einfach nur für mich, bei dem ich ein paar Sachen ausprobieren werde. Ich habe noch keine Idee für eine eigene Mission. Ich möchte erst einmal klein anfangen.

      Beim Keller wollte ich gerne einen zweiten Zugang haben, der sich außen befinden soll. Mich faszinieren diese Kellertüren aus den USA, Bilco basement doors heißen die, glaube ich. Diese sind in Deutschland sehr unüblich, diese Art von Zugängen gibt es aber manchmal zur Anlieferung bei Restaurants etc., wo Fässer dann in den Keller gerollt oder gehoben werden können. 
      Ich habe zwei Hatch Doors verwendet, die allerdings nach dem Drehen vollkommen aus dem Ruder liefen. Inzwischen habe ich sie einigermaßen gebändigt bekommen. Es ist nicht perfekt, aber annehmbar. 
      Im Keller habe ich heute mit einer Falltür experimentiert, die zu einem Schachtsystem führt. Die Räume sind noch quasi nicht eingerichtet, aber ich möchte erstmal am Grundriss weiterarbeiten. In Kürze fange ich das Obergeschoss an.



      · 2 replies
    • JackFarmer

      On a lighter note, thanks to my cat-like reflexes, my superior puzzle skills and my perfect memory, I was able to beat the remastered version of "Tomb Raider: The Last Revelation" in a new superhuman record time of 23 h : 35 m, worship me!
      · 5 replies
    • Goblin of Akenash

      My mapping discord if anyone is interested, its more of a general modding thing rather than just for TDM 
      https://discord.gg/T4Jt4DdmUb

       
      · 0 replies
×
×
  • Create New...