Jump to content


Photo

in the dark but have light background, detectable profile


  • Please log in to reply
39 replies to this topic

#1 Thrashaero

Thrashaero

    Newbie

  • Member
  • Pip
  • 7 posts

Posted 02 February 2019 - 11:50 PM

I was thinking one major flaw of thief is that you can be in a dark area, but even if there's a lighted area behind you, the enemies can't see you. I always thought this was a bit cheesy. maybe a bit hard to deal with in a game, maybe hard to program, but i think it would really add to the realism if the enemy can see your profile even if your light gem is completely dark, because of the background behind you would highlight your shape and movement.



#2 jaxa

jaxa

    Advanced Member

  • Member
  • PipPipPip
  • 1400 posts

Posted 03 February 2019 - 12:35 AM

I agree. We've all seen it, in Thief and TDM. In some cases it could be explained away by light sources appearing brighter than they really should be (due to world ambient, your own gamma settings, etc.)

 

It could be hard to program, and it might make the game significantly more difficult (for better or worse). It could also "break" existing missions by making them too hard to play.


Edited by jaxa, 03 February 2019 - 12:37 AM.


#3 Judith

Judith

    Advanced Member

  • Member
  • PipPipPip
  • 1900 posts

Posted 03 February 2019 - 04:02 AM

We've already discussed it several times, it's a poor design decision and basically punishing the player for something beyond his control, resulting in frustrating trial and error gameplay.

#4 grayman

grayman

    Master Builder, Coder

  • Active Developer
  • PipPipPipPipPip
  • 12852 posts

Posted 03 February 2019 - 11:26 AM

As Judith said, we've discussed this several times. Implementation would prolly break some missions, and lead to other related requests, all of which have been discussed to death and tossed. Implementation would be difficult, in that you'd have to ray-trace from the AI's eyes to all visible lit areas, whether the light source is visible or not, and testing whether any part of the player blocks any of the rays. That's a big chunk of time.



#5 duzenko

duzenko

    Uber member

  • Active Developer
  • PipPipPipPip
  • 2072 posts

Posted 03 February 2019 - 11:56 AM

Think of it as some sort of voodoo magic making the player actually invisible when in the shadow rather than blending in with the black background. Otherwise you quickly stumble in the opposite problem: if player is fully occluding the light source to AI view AND there's no background at all (think sky or totally black surface), your logic should make him invisible but in the game that would keep your lightgem still lit.

 

Technically parsing profile scans is a non-trivial task, especially in real time. And what about the camouflage?



#6 Judith

Judith

    Advanced Member

  • Member
  • PipPipPip
  • 1900 posts

Posted 03 February 2019 - 12:16 PM

Even if the tech would be there performance-wise, what's the point in terms of gameplay? You'd either make the player frantically look behind all the time, or you'd have to introduce some sort of other light gem, a kind of silhouette detection meter.


Edited by Judith, 03 February 2019 - 12:19 PM.

  • Springheel likes this

#7 OrbWeaver

OrbWeaver

    Mod hero

  • Active Developer
  • PipPipPipPipPip
  • 7597 posts

Posted 03 February 2019 - 01:03 PM

but i think it would really add to the realism if the enemy can see your profile even if your light gem is completely dark

 

 

Even if the tech would be there performance-wise, what's the point in terms of gameplay? You'd either make the player frantically look behind all the time, or you'd have to introduce some sort of other light gem, a kind of silhouette detection meter.

 

Exactly. The whole point of the light gem is that it tells the player how visible they are to AI. If there are whole load of other visibility criteria that are not reflected in the light gem, why bother having a light gem at all? You might as well just force the player to guess whether they are visible based on the behaviour of AI, or constantly rotate on the spot to figure out whether they might be visible from a particular direction.



#8 jaxa

jaxa

    Advanced Member

  • Member
  • PipPipPip
  • 1400 posts

Posted 03 February 2019 - 01:36 PM

Instead of having a second indicator, maybe you just brighten the light gem in response to having your silhouette being detectable (if a % is assigned to each, you pick the current larger one and have that be the light gem brightness). Meaning it's a bit harder in some situations to find the sweet spot where the light gem will dim. Or many situations, if that turns out to be the case.


Edited by jaxa, 03 February 2019 - 01:37 PM.


#9 Springheel

Springheel

    Creative Director (retired)

  • Admin
  • 37693 posts

Posted 03 February 2019 - 01:38 PM

Instead of having a second indicator, maybe you just brighten the light gem in response to having your silhouette being detectable (if a % is assigned to each, you pick the current larger one and have that be the light gem brightness). Meaning it's a bit harder in some situations to find the sweet spot where the light gem will dim. Or many situations, if that turns out to be the case.

 

A lightgem is based on AI position quickly becomes useless.  You might be visible to one AI but not to the other, so either you're getting incorrect readings or you try to average it out.  Either way you're no longer getting useful information.


TDM Missions:   A Score to Settle   *   A Reputation to Uphold   *   A New Job   *    A Matter of Hours
 
Video Series:   Springheel's Modules   *   Speedbuild Challenge   *   New Mappers Workshop  *   Building Traps

#10 grayman

grayman

    Master Builder, Coder

  • Active Developer
  • PipPipPipPipPip
  • 12852 posts

Posted 03 February 2019 - 01:42 PM

Unless someone finds a brilliant non-cycle-stealing method of spotting a backlit player, talk about second indicators etc. is nonproductive. As we've said, this could break missions and has been discussed to death in the past.



#11 New Horizon

New Horizon

    Mod hero

  • Active Developer
  • PipPipPipPipPip
  • 13880 posts

Posted 03 February 2019 - 02:07 PM

It's a game. It's meant to be fun, not a perfect simulation of reality.
  • Judith, HMart, chakkman and 1 other like this

#12 Abusimplea

Abusimplea

    Advanced Member

  • Member
  • PipPipPip
  • 533 posts

Posted 03 February 2019 - 10:29 PM

At least Thief Gold seems to have a simplified light source occlusion detection. I played it recently and noticed that a small area of the light gem sometimes turns yellow or even red while in shadow and near some light sources.



#13 Thrashaero

Thrashaero

    Newbie

  • Member
  • Pip
  • 7 posts

Posted 06 February 2019 - 05:15 PM

We've already discussed it several times, it's a poor design decision and basically punishing the player for something beyond his control, resulting in frustrating trial and error gameplay.

 

I didn't know it was discussed since I don't see a search function available. "Punishing the player" would only happen if it's implemented across the entire game instead of an option to toggle. "frustrating trial and error gameplay." is already in the game depending on the difficulty and if the player hates the difficulty.
 

As Judith said, we've discussed this several times. Implementation would prolly break some missions, and lead to other related requests, all of which have been discussed to death and tossed. Implementation would be difficult, in that you'd have to ray-trace from the AI's eyes to all visible lit areas, whether the light source is visible or not, and testing whether any part of the player blocks any of the rays. That's a big chunk of time.

 

I was thinking just areas in which you would cast a shadow, where the shadow would cross the path of the AI detect field, you're detected. Just as simple as being detected under direct light, you're detectable by light that is behind you. I don't see why it would be extremely ridiculous to implement but i'm no programmer.

 

Even if the tech would be there performance-wise, what's the point in terms of gameplay? You'd either make the player frantically look behind all the time, or you'd have to introduce some sort of other light gem, a kind of silhouette detection meter.

"What's the point in terms of gameplay?" I dunno, realism, challenge...pretty obvious I would think. It wouldn't have to be for absolutely every angle everywhere, just areas where I feel like I should be easy to spot due to my profile being obvious despite the fact I might be in the shadow of something else, there's a lot of times there's bright light behind me that would make me easy to see. It's just something I find rather noticeable.

 

 

 

 

Exactly. The whole point of the light gem is that it tells the player how visible they are to AI. If there are whole load of other visibility criteria that are not reflected in the light gem, why bother having a light gem at all? You might as well just force the player to guess whether they are visible based on the behaviour of AI, or constantly rotate on the spot to figure out whether they might be visible from a particular direction.

You mean, observing the backlit areas and where the ai is viewing, something like a master thief would actually try to do? If this were implemented I'm pretty sure a light gem of any sort would be unnecessary and is already able to be turned off.

 

 

A lightgem is based on AI position quickly becomes useless.  You might be visible to one AI but not to the other, so either you're getting incorrect readings or you try to average it out.  Either way you're no longer getting useful information.

it wouldn't be needed if one just observes the ai and knows what light source is behind them that they would likely intersect.

 

It's a game. It's meant to be fun, not a perfect simulation of reality.

wow, a game? you're right, simulating reality couldn't possibly provide any sort of fun.
 


Edited by Thrashaero, 06 February 2019 - 05:27 PM.


#14 Thrashaero

Thrashaero

    Newbie

  • Member
  • Pip
  • 7 posts

Posted 06 February 2019 - 05:19 PM

At least Thief Gold seems to have a simplified light source occlusion detection. I played it recently and noticed that a small area of the light gem sometimes turns yellow or even red while in shadow and near some light sources.

 

This is closer to what I was thinking. Something fairly simple, not some real time profile raytracing HD clusterf** of programming. Just something to make the areas where you would be obviously visible against a lit background a little less easy to just waltz through....but what do i know...it's been discussed to death and must be put to rest.


Edited by Thrashaero, 06 February 2019 - 05:22 PM.


#15 nbohr1more

nbohr1more

    Darkmod PR, Wordsmith

  • Development Role
  • PipPipPipPipPip
  • 9424 posts

Posted 06 February 2019 - 10:22 PM

This is closer to what I was thinking. Something fairly simple, not some real time profile raytracing HD clusterf** of programming. Just something to make the areas where you would be obviously visible against a lit background a little less easy to just waltz through....but what do i know...it's been discussed to death and must be put to rest.

 
Mappers can use entities and scripts to alter your lightgem behavior so that's already a thing.
 
This discussion is a about a universal property of silhouette detection.
 
While I'm not a fan of the idea...
 
I did think of a "solution".
 
 

 
If the lightgem value is < X
 
Relocate the AI eyes to the player origin keeping the same trace vector angle as AI to Player
 
Trace from that location to the closest light origin in the same vector direction
 
Relocate the lightgem to the incident location within the light radius of the closest light origin

where the original AI to player vector intersects the light origin to player vector
 
Capture lightgem value

Illustrated for clarity:

Attached File  Lightgem_proposal.jpg   41.96KB   1 downloads

In essence you are temporarily moving the player backwards along the trace vector until
they intersect with a light radius.

It's not free but it's not monstrous either.

If someone made a tech demo, I'd play it but... as I said... I'm not a big fan of the idea
so I wouldn't bother to work on it myself.


  • jaxa and RPGista like this
Please visit TDM's IndieDB site and help promote the mod:

http://www.indiedb.c...ds/the-dark-mod

(Yeah, shameless promotion... but traffic is traffic folks...)

#16 Judith

Judith

    Advanced Member

  • Member
  • PipPipPip
  • 1900 posts

Posted 07 February 2019 - 02:20 AM

"What's the point in terms of gameplay?" I dunno, realism, challenge...pretty obvious I would think.

 

It's everything but obvious. Realism is never a point in games, not in gameplay design, except for simulators, and even that has its limits. I don't know why so many people don't get that. Maybe because they don't get to practical side of making content. You need realistic lighting, models, textures and materials, but both in games and movies they're used to create fantasies. You need realism only to be grounded in most basic ways humans see objects, but that's mostly it.

 

Gameplay needs to be a simple and elegant concept, IMO ideally it's easy to learn, but hard to master. And depending on what you're trying to say with your game, it should also be fun, so I guess in most cases. There's no fun in constantly watching yet another indicator on the screen, or turning around frantically every half a minute. The game is a variation (or rather slight subverstion) of a power fantasy, where you're a sneaky type that's fragile but quite smart, somewhat athletic, and invisible in shadows. The thing that stands out the most is feeling smart and cunning, and that's what core design and level design should support the most. Suggesting features like the above is anything but.


  • HMart likes this

#17 Obsttorte

Obsttorte

    Scripting guru, Mapper

  • Active Developer
  • PipPipPipPipPip
  • 5818 posts

Posted 07 February 2019 - 05:36 AM

  1. I didn't know it was discussed since I don't see a search function available.
  2. "Punishing the player" would only happen if it's implemented across the entire game instead of an option to toggle. "frustrating trial and error gameplay." is already in the game depending on the difficulty and if the player hates the difficulty.
  3. I don't see why it would be extremely ridiculous to implement but i'm no programmer.
  4. just areas where I feel like I should be easy to spot
  5. If this were implemented I'm pretty sure a light gem of any sort would be unnecessary.
  6. it wouldn't be needed if one just observes the ai and knows what light source is behind them that they would likely intersect.
  7. wow, a game? you're right, simulating reality couldn't possibly provide any sort of fun.
  1. Upper right corner, the field with the string search in it
  2. that's mission related issue, not a problem with the core game concept
  3. so you answered it on your own
  4. and if the mission authors are interpreting this in different manners, what is very likely, you'll get unpredictable and ununiform gameplay across the game, perfect. Not to mention that as per your suggestion mappers would have to define those spots where this behaviour should be applied. Sounds tiresome.
  5. whether it is neccessary in the current configuration is discussable either (hence it is toggleable), but despite that it doesn't sound like you are making this propose to reduce the hud
  6. this is wrong. You visibility in real life, as this is what you are seem to be referring to, doesn't only get affected by the brightness of the area behind you. Normally the major impact comes from the lights that is hitting you, independent of its origin, may it be behind or in front of you. This is what the current implementation is based on, as it is in almost all other stealth games, and it seems to work out pretty well.
  7. Besides the fact that sarcasm really won't help you motivating any of the team members to apply any of your suggestions, you didn't get the point. Noone says that simulations can't be entertaining, I for one love playing them. The point is that TDM isn't a simulation. Of course you can go on and create a thiefing simulation that aims to reproduce reality, but that has never been the goal of TDM.

     

     

    This is closer to what I was thinking. Something fairly simple, not some real time profile raytracing HD clusterf** of programming. Just something to make the areas where you would be obviously visible against a lit background a little less easy to just waltz through....but what do i know...it's been discussed to death and must be put to rest.

    Something like this can easely be applied by mappers by placing additional light sources in that area that only interact with the players lightgem. The player can't see it, but it lights him up. I don't see how this is closer to what you were thinking, though, as you are talking of silhuettes and background brightness, so visibility that depends on from which direction the player is looked at, which won't apply here in any way.


FM's: Builder Roads, Old Habits, Old Habits Rebuild
WIP's: Several. Although after playing Thief 4 I really wanna make a city mission.
Mapping and Scripting: Apples and Peaches
Sculptris Models and Tutorials: Obsttortes Models
My wiki articles: Obstipedia
Let's Map TDM YouTube playlist: ObstlerTube
Texture Blending in DR: DR ASE Blend Exporter

End of shameless self promotion.

#18 Springheel

Springheel

    Creative Director (retired)

  • Admin
  • 37693 posts

Posted 07 February 2019 - 08:52 AM

Asking questions that have already been asked is pretty hard to avoid when you join a forum that has been around for fifteen years.

 

I'd personally rather see conversations than have a bunch of people quietly doing searches and never posting.

 

There have been times where I have cringed at the ability to walk down a well-lit hallway but be invisible to guards because there is a thin strip of shadow right in the middle.  I've sometimes thought it would be nice to have a more realistic way of hiding in the shadows.  Unfortunately, the technical limitations are just too daunting.   Not necessarily the programming, but the gameplay implications.

 

In real life you have a much wider field of vision than you do in the game.  Your peripheral vision can detect light, allowing you to tell with a quick glance over your shoulder whether there is light behind you or not.  In the game, you cannot do this, and would be forced to spin nearly 360 degrees in order to tell what is behind you.  If an AI is walking past you, you will have to constantly be rotating to figure out whether you are between him and a light.  This is not going to be very enjoyable for the player.

 

Since AI can relight or carry lights, players have no way of knowing whether a light might suddenly appear far down the hall behind them, causing their profile to be visible.  This punishes the player for something that is essentially out of their control, which is bad for gameplay.

 

In real life you can do dozens of things to change your profile, including going prone.  TDM provides only one option, crouching.  Adding extra movement options would open a big can of worms that would drastically change TDM gameplay.

 

The fact that the lightgem would no longer give the player accurate information on how visible they are has already been mentioned. 

 


  • Judith, HMart and Obsttorte like this
TDM Missions:   A Score to Settle   *   A Reputation to Uphold   *   A New Job   *    A Matter of Hours
 
Video Series:   Springheel's Modules   *   Speedbuild Challenge   *   New Mappers Workshop  *   Building Traps

#19 HMart

HMart

    Advanced Member

  • Member
  • PipPipPip
  • 805 posts

Posted 07 February 2019 - 09:26 AM

This is one of the requests that I personally think is not a good one even tho may sound like a good idea, Springheel and others already said the problems with it, so I will not bother saying them again, I will only suggest that if the TDM team doesn't implement something you want, because they decided is not worth it and you really think it is, then TDM is a open game with a open source engine so anyone is free to implement the ideas they want and release them has unofficial mods to TDM, just my two cents. 


Edited by HMart, 07 February 2019 - 09:26 AM.

  • OrbWeaver likes this

#20 OrbWeaver

OrbWeaver

    Mod hero

  • Active Developer
  • PipPipPipPipPip
  • 7597 posts

Posted 07 February 2019 - 10:13 AM

You mean, observing the backlit areas and where the ai is viewing, something like a master thief would actually try to do? If this were implemented I'm pretty sure a light gem of any sort would be unnecessary and is already able to be turned off.
 
it wouldn't be needed if one just observes the ai and knows what light source is behind them that they would likely intersect.


If you're expecting the development team to totally change the stealth system into something where the light gem is useless and might as well just be removed, and where players are required to constantly look behind them and try to guess whether they are visible to one or more AI — forget it.

 

If you personally feel that such gameplay would be fun, you're welcome to that view, and maybe others agree with you. You can try to simulate this by turning the lightgem off, which as you have observed is already an option. But if you want this to be part of the core mod, you're probably going to have to develop your own fork. The objective of this mod is to provide gameplay which is similar to, and inspired by, the original Thief games, of which the lightgem-based stealth approach was an iconic component. Core aspects of the game are not simply going to be thrown out or rendered obsolete in the name of "realism".


  • HMart and nbohr1more like this

#21 demagogue

demagogue

    Mod hero

  • Active Developer
  • PipPipPipPipPip
  • 5474 posts

Posted 07 February 2019 - 10:26 AM

It's pretty clearly not going to pass just by popular demand, but it'd be an interesting mechanic to see since it regularly comes up as an idea. Ideally it'd be better if it could be pulled off by script so you wouldn't have to fork the sourcecode; then you could release it as an FM and people could love it or hate it, but it'd get it out there in a form people could easily see it.

 

If it requires a change in the sourcecode, then it's something you can do for yourself and you could share the code so that other like-minded people could use it for themselves, but not beyond that. But it'd make people that want to have it happy anyway.

 

Long story short, I think this is the kind of change you should try to do yourself, or find someone that knows how to code that shares your thinking, if you want to see it happen. I mean it's a good incentive to learn coding if you haven't already. I did just to have something I wanted to see in this game...


Posted Image

#22 stgatilov

stgatilov

    Lead Programmer

  • Active Developer
  • PipPipPip
  • 1542 posts

Posted 07 February 2019 - 11:40 AM

I don't think this would cause constant looking back.

Good players (at least in FPS) have some area awareness.

They have a brief look over the scene and as long as it does not change they know what is where.

Just like the goalkeeper knows where the goal is.

 

As for implementation, the most right one would be to render AIs view with and without player and compare them pixelwise.

Optimized approach would render player's mesh first, then use it as stencil while drawing the rest of the world. Various rectangle/depth-range optimizations included.

Of course, it should go low-resolution, with simplifications, in parallel, with huge interleaving (nobody needs 15ms-reacting guards anyway), etc.

In theory this could work well, but it has to be very well optimized.

 

Speaking of ray tracing, it is very similar, but instead of rasterizing AI's view on low resolution, raytrace it on even lower resolution.

Shoot rays to several key points of the player mesh (drop rays out of AI's view frustum), let the rays pass through player until first obstacle.

If it is farther than player, then check player's lightgem value against intersection point light value.

The light value of intersection point can be computed like in classical Whitted raytacing: cast shadow rays to all light sources, check for shadow and compute intensity.

 

While it will probably be faster, it would be hell trying to make the raytracing solution coherent with rendering.

As far as I know, there was an attempt to implement lightgem via ray casting, but it never worked robust enough to replace the graphical solution.


  • HMart, nbohr1more and RPGista like this

#23 nbohr1more

nbohr1more

    Darkmod PR, Wordsmith

  • Development Role
  • PipPipPipPipPip
  • 9424 posts

Posted 07 February 2019 - 12:01 PM

I think the problem with ray casting lightgem ( tdm_lg_weak ) is it has no access to the 1D+2D light projection textures

and if it did have that access it would still be pretty slow to parse them.

 

I guess you could downsize the textures prior to parsing them though.

 

I spoke on this topic before and proposed the idea of making a texture to lookup table converter

that would do something akin to down-sizing the textures along with stripping color data.


Please visit TDM's IndieDB site and help promote the mod:

http://www.indiedb.c...ds/the-dark-mod

(Yeah, shameless promotion... but traffic is traffic folks...)

#24 RPGista

RPGista

    Advanced Member

  • Member
  • PipPipPip
  • 1615 posts

Posted 07 February 2019 - 12:17 PM

stgatilov - Really interesting to know how it could work in a technical way!

 

Ive complined about this issue as well in the past. Like Springheel said, Ive also cringed as I followed a narrow shadow path between lit areas, right in front of guards, without being seen. I mean, the whole issue is basic common sense:

 

 

12003.jpg

 

Like pointed out, it "could" be done. You could have stgatilov's system, a lightgem that lets you know that you are in shadows + from which direction your profile is visible agaisnt the background. But like a lot of guys have also said, its a game. You gotta draw the line somewhere. Simplify things in order to create a certain gameplay mechanics. Mappers could also minimize this flaw with good design. Its not something that you notice often, thats very grating. I guess resources are probably better used in other aspects of the engine.

 

I wouldnt mind seeing this working in a concept map, though.


Edited by RPGista, 07 February 2019 - 12:21 PM.


#25 Springheel

Springheel

    Creative Director (retired)

  • Admin
  • 37693 posts

Posted 07 February 2019 - 12:25 PM

Good players (at least in FPS) have some area awareness.

They have a brief look over the scene and as long as it does not change they know what is where.

 

 

Most FPS games only require you to be on the lookout for enemies (which already requires lots of spinning around).  TDM players also have to be aware of types of floors, the amount of light currently hitting you, and the direction AI are currently looking and moving.  That's a lot of mental overhead.  To also keep track of what is behind you, especially since "behind you" changes when either you OR any AI moves, would be asking a lot. 

 

This would make an interesting experiment though.  You could show a video where the player turns 360 for a  view of the environment he is in, then have the player move around briefly and then have 2 AI enter the scene.  Let people vote on whether they think the player would be silhouetted or not.


TDM Missions:   A Score to Settle   *   A Reputation to Uphold   *   A New Job   *    A Matter of Hours
 
Video Series:   Springheel's Modules   *   Speedbuild Challenge   *   New Mappers Workshop  *   Building Traps




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users