Jump to content
The Dark Mod Forums

[ 2.10 ] New Frob Shader


duzenko
 Share

Recommended Posts

14 hours ago, cabalistic said:

It's one of those things that appears to be simple to do, but really isn't.

Hmm, upon closer investigation, it's not like AAA titles handle it in a 100% consistent way either. For example, Dishonored 2 dropped the outline for doors altogether:

03.jpg.de4a6177577417986a1fd463955fb373.jpg

And for windows, it's often visible only after you open them:

01.jpg.afbacc371e15acc1fdf3475104830fe8.jpg

02.jpg.9fde1077f4213122c4db3062f2734676.jpg

 

Edit: I guess the reason for not having super tight outline system is that they might have been relying on an interaction prompts more (which I turned off and forgot about it):

04.jpg.6b9531c5179dc25bb5575a9e71b74735.jpg

Edited by peter_spy
Link to comment
Share on other sites

Good thing that I'm using good old simple crosshairs for my game interactions...

But Is a pity this is such a hard problem, such a "modern" effect that new gamers automatically think your game is cooler because of it.   

I certainly comprehend Cabalistic frustration, so much work for in the end, not have good feedback because of the glitch's and no easy solution in sight, demoralizes anyone.

But like the others, please don't remove it from the engine entirely, if that is what you guys are thinking, if so please make it optional, no matter the glitch's, imo why have so much work coding this, for in the end throw it all away and if you guys don't want to spend time, messing in the menu code to support a half broken feature, just leave it has something for players messing in the game console to discover, is always cool to open games consoles and find things that the developers left in disabled, to me is a game in it self.

Link to comment
Share on other sites

I'm not frustrated, I am not emotionally attached to the feature in any way. It was an idea that was suggested to check out, and I did. Learned some things in the process, it's all good :)

But I'm strongly opposed to leaving a broken feature in the game. We already have enough obscure features that are prone to break because they are not commonly used. If the feature isn't suitable for widespread adoption, then it's better to remove it and keep the code base clean and maintainable. How much time I did or didn't spend on the feature doesn't matter - that'd be a sunken cost fallacy.

  • Like 4
Link to comment
Share on other sites

18 hours ago, cabalistic said:
  • Do an image-based effect. Draw the object to a separate color buffer, then blur it to create a soft screen-space silhouette. Can then be applied to the original buffer, again using a stencil mask to cut away the insides of the object. This is what TDM currently does, it looks pretty decent and is relatively easy to do. However, it has no concept of depth, at all. I've tried some hackery on top to get it to respect depth, which is what r_frobIgnoreDepth 0 does, but it's not pretty.

What would happen if you:

  • ignore Z depth entirely
  • render the frobbed object occluded by other objects into the colour buffer, then performed the image processing operation on the visible portion

?

Would this not solve the problem of the highlight making things visible that should be invisible, because the image processing effect would only be applied to the part of the frobbed object which was already visible?

The downside I suppose it that it might look weird to have just part of an object outlined.

Link to comment
Share on other sites

1 hour ago, cabalistic said:

But I'm strongly opposed to leaving a broken feature in the game. We already have enough obscure features that are prone to break because they are not commonly used. If the feature isn't suitable for widespread adoption, then it's better to remove it and keep the code base clean and maintainable.

Nobody ever asked for this feature to be removed completely. Some people like it, others don't. So we should do what was already suggested, replace the "frob helper" option which probably nobody ever uses with a "frob outline" option which is default off and everybody should be happy and no work has been wasted!

Edited by wesp5
  • Like 1
Link to comment
Share on other sites

1 minute ago, wesp5 said:

Nobody ever asked for this feature to be removed completely. Some people like it, others don't. So we should do what was already suggested, replace the "frob helper" option which probably nobody ever uses with a "frob outline" option which is default off and everybody should be happy with nothing have been wasted!

If it were just personal visual preferences, sure. But if it being on actually impedes mappers due to stuff being visible that shouldn't be, then making it optional does not in any way solve that problem. Therefore I consider the feature broken.

  • Like 3
Link to comment
Share on other sites

40 minutes ago, cabalistic said:

...

But I'm strongly opposed to leaving a broken feature in the game. We already have enough obscure features that are prone to break because they are not commonly used. If the feature isn't suitable for widespread adoption, then it's better to remove it and keep the code base clean and maintainable. How much time I did or didn't spend on the feature doesn't matter - that'd be a sunken cost fallacy.

I certainly comprehend that stance and see the advantages of it, more clean code means, less clutter and so better readability but if idSoftware add the same opinion, we wouldn't had found some of the cool stuff they let in the engine disabled, like the mega texture stuff that even thou unfinished, was a way to learn about it and that someone made work, partially, the ability to read MD3 files and animations that is now a option to use in TDM for "cloth" effects, the liquid surface class that someone, more or less, also made work, the disabled item highlight that I'm even using for some effects and many other stuff they let in and didn't bother to clean from the source, like a extra more realistic player motion. :) 

But you guys do what you think is best in your case. 

Link to comment
Share on other sites

The frob highlight is very complete as far as I can tell. There might be little issues here and there but it works just as intended for me. Not sure why it could seem otherwise, we have a great new feature for the next release which deserves to be cerished.

Link to comment
Share on other sites

4 hours ago, duzenko said:

Is there a simple way to reproduce the whatever bug some people think the frob highlight has?

It isn't a bug, it's a feature.  With the frob highlight on as currently set default in the 2.10 dev builds, you can see it thru' desks, walls, etc.  So if this is implemented in the final build I'll have to go through my wannabe FM taking this new feature into account, relocating switches, loot, readables etc., or covering the entities with target_set_frobable, or whatever else that'll work to make it play right.  The game is a THIEF homage, and there's stuff that's supposed to be hidden from thieves, not telegraphed through walls etc.  That's the whole point of the game.

I never made TDM - I'm late to the party - so I'll go with whatever and do so thankfully because I appreciate the work, the result, and it's great fun working with DR then checking it out in a great game engine.  Going thru' my wannabe FM to redo things to account for this feature won't be much problem, the time spent a drop in the bucket compared to the time already spent learning tricks.  

But what about all the FM authors who're no longer here, who's going to fix up their FMs to put back the mystery.

Link to comment
Share on other sites

11 hours ago, OrbWeaver said:

What would happen if you:

  • ignore Z depth entirely
  • render the frobbed object occluded by other objects into the colour buffer, then performed the image processing operation on the visible portion

How about, if an object isn't visible at all to the player, then no frob outline at all is drawn.  The old frob highlight works like that:  there is no highlight on frobable objects that aren't visible to the player, so the player doesn't see highlights floating in some x-ray vision. 

Link to comment
Share on other sites

35 minutes ago, geegee said:

How about, if an object isn't visible at all to the player, then no frob outline at all is drawn.  The old frob highlight works like that:  there is no highlight on frobable objects that aren't visible to the player, so the player doesn't see highlights floating in some x-ray vision. 

The new highlight should definitely only trigger then the old one does IMO. I thought this was already the case.

Link to comment
Share on other sites

4 minutes ago, MirceaKitsune said:

The new highlight should definitely only trigger then the old one does IMO. I thought this was already the case.

No, the problem I have with the highlight at default (where r_frobIgnoreDepth = "0" isn't set) is that it can be seen through walls, desktops, etc.  See my earlier post in this thread where I set up a simple situation with hidden note under a backgammon set on top of a desk, and a hidden button underneath the desktop.  I posted a series of screenshots.

In my wannabe FM I first noticed the problem when I had a secret door in a wall, a somewhat hidden switch in the room, and a switch beside the door in the secret room.  The switch in the secret room didn't need to be hidden since the door was necessarily already opened.  With the default frob highlight the switch in the other, secret, room was immediately visible as the player wandered around - and the immediate instinct of any player would be to frob it since, after all, that's exactly what the frob highlight is begging the player to do.

Link to comment
Share on other sites

6 hours ago, geegee said:

How about, if an object isn't visible at all to the player, then no frob outline at all is drawn.

There is no quick and easy way to determine if an object is visible at all to the player. In order to accomplish this, you need to render the object with full occlusion by other objects, then determine how many pixels from the object make it into the final render.

What I'm suggesting is that once this screen-space render is done, the resulting image is then used for the highlight processing, so only the visible parts of the frobbed object become highlighted. As a consequence, an object which wasn't visible at all would not be highlighted at all.

6 hours ago, geegee said:

The old frob highlight works like that:  there is no highlight on frobable objects that aren't visible to the player, so the player doesn't see highlights floating in some x-ray vision. 

That's just a consequence of the way the highlight is rendered (it brightens the object's own texture then renders it in 3D space as normal). As far as I know there is no specific test for whether a frobbed object is visible. Most likely the invisible frobbed objects are being highlighted, but you can't see it because brightening the texture of an occluded object does not make it shine through other objects.

Link to comment
Share on other sites

16 minutes ago, OrbWeaver said:

Most likely the invisible frobbed objects are being highlighted, but you can't see it because brightening the texture of an occluded object does not make it shine through other objects.

If that is true the current frob helper dot should still light up, so replacing it with the frob outline would be more obvious, but basically have the same result so it would be a good replacement.

Link to comment
Share on other sites

16 hours ago, geegee said:

It isn't a bug, it's a feature.  With the frob highlight on as currently set default in the 2.10 dev builds, you can see it thru' desks, walls, etc.  So if this is implemented in the final build I'll have to go through my wannabe FM taking this new feature into account, relocating switches, loot, readables etc., or covering the entities with target_set_frobable, or whatever else that'll work to make it play right.  The game is a THIEF homage, and there's stuff that's supposed to be hidden from thieves, not telegraphed through walls etc.  That's the whole point of the game.

I never made TDM - I'm late to the party - so I'll go with whatever and do so thankfully because I appreciate the work, the result, and it's great fun working with DR then checking it out in a great game engine.  Going thru' my wannabe FM to redo things to account for this feature won't be much problem, the time spent a drop in the bucket compared to the time already spent learning tricks.  

But what about all the FM authors who're no longer here, who's going to fix up their FMs to put back the mystery.

What are the steps for me to reproduce?

Link to comment
Share on other sites

2 hours ago, duzenko said:

In DR? Didn't you say the existing missions break with frob outline? I'm interested in that

I use DR.

I suppose some existing missions put buttons under desk tops, etc, to hide them.  If not, then it wouldn't be a problem.  I'm not going thru' them all for you.

Also, you asked, specifically:  

"What are the steps for me to reproduce?"

Edited by geegee
Link to comment
Share on other sites

On 9/5/2021 at 9:15 PM, duzenko said:

Is there a simple way to reproduce the whatever bug some people think the frob highlight has?

It's important to distinguish between 2 different things being discussed in this thread:

1) What geegee mentioned in the recent posts: the new frob outline makes it easier to find items that are hidden behind other items. It's mainly a concept problem: the outline should use a depth test, but cabalistic says it's either too expensive or too work-intensive to implement that. The alternative would be to implement a depth test for frobbing, but imo that would break a TON of missions since you're probably not always going to have a line of sight when trying to frob something in i.e. a frobable chest.

2) Visual glitches like what MirceaKitsune recently posted on Discord:

testing_2021-07-24_01_25_51.thumb.jpg.819cf503822e553704c2426a1923357e.jpg

As far as I can remember, most mentions of such visual glitches in this thread were only vague and without reproduction steps.

Link to comment
Share on other sites

4 hours ago, AluminumHaste said:

It looks like there's a square patch there, maybe he should look at the model to see what's there.

That appears to be models/mechanical/gears/gear_metal_fancy.ase which sandwiches the model between two square patches that have the spoke pattern texture.

Also, in my WIP I struggle with framerates and I get much the same results as you, tho' I use the TDM frame rate counter which bounces around a lot and doesn't do decimals.  There's virtually zero difference in fps between 1/0 on the showdepth hack, and I REALLY DO like the outline with r_frobIgnoreDepth = "0"

Edited by geegee
Link to comment
Share on other sites

@kingsalrecently noted that the frob outline made the secret switches in his Volta 1 more visible than intended. I don't know the coordinates for them, but there's an AI (IIRC with a scroll on his belt) who patrols to all the switches. One of them was in the big library. Well, maybe kingsal can get the actual coordinates?

Link to comment
Share on other sites

  • nbohr1more changed the title to [ 2.10 ] New Frob Shader

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.

 Share


  • Recent Status Updates

    • irg

      Watching warmly for The Black Parade, The Broken Goddess and Blood Death Wish Ep.4. Sometimes the best things in life actually are free.
      · 0 replies
    • STiFU

      We are taking our son on his very first holiday trip to see the sea for the first time. 🙂 Will be back in a week.
      · 0 replies
    • Gilkar

      When I was a young man my father was so ignorant I could hardly stand to have him around. As I grew older I was amazed at how much the old man had learned in such a short time.
      · 1 reply
    • jaxa

      RTX 3090 Super, RTX 3070 Ti 16 GB, RTX 2060 12 GB
      https://wccftech.com/nvidia-launching-rtx-3090-super-rtx-3070-ti-16gb-and-rtx-2060-12gb-by-january-2022/
      · 0 replies
    • duzenko

      CPU benchmark time - compiling DarkRadiant (2nd run)
      i5 8600K 6C/6T@4.4GHz DDR4 2x2133MHz 9MB cache
      Parallel builds: 1. 3:57 Parallel builds: 6 (default). 2:28 r5 1600AF 6C/12T@3.3GHz DDR4 1x2666MHz 16 MB cache, temp folder on HDD
      Parallel builds: 1. 5:05 Parallel builds: 4. 2:47 Parallel builds: 6. 2:55 Parallel builds: 12 (default). 2:57
      · 6 replies
×
×
  • Create New...