Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add "refraction" fuzz mode #2043

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

rfomin
Copy link
Collaborator

@rfomin rfomin commented Nov 22, 2024

Fix #2040

Translucent option looks bad:
woof0000

@fabiangreffrath
Copy link
Owner

Translucent option looks bad:

How did you create the fuzztran table?

@fabiangreffrath
Copy link
Owner

Stupid question probably, but will this also affect the partly invisible weapon sprite rendering?

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 22, 2024

How did you create the fuzztran table?

It's just a normal tranmap at 33% (-dumptranmap command). We should recreate it for a different palette, but I don't like the result anyway.

Stupid question probably, but will this also affect the partly invisible weapon sprite rendering?

Yes.

@fabiangreffrath
Copy link
Owner

It's just a normal tranmap at 33% (-dumptranmap command). We should recreate it for a different palette, but I don't like the result anyway.

Will it look better with 50% translucency? Or how about our usual 66%?

We once got a request to entirely drop the percent selection for the tranmap, and I actually think that this would be the right thing to do anyway.

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 22, 2024

Will it look better with 50% translucency? Or how about our usual 66%?

50%
woof0002
Maybe we should also do something with colormap. Or just remove the "translucent fuzz" option.

We once got a request to entirely drop the percent selection for the tranmap, and I actually think that this would be the right thing to do anyway.

I think we should remove it from the menus, but still keep it in the config. It seems there are users for every little option 😄

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 22, 2024

#define FUZZDARK 12 * 256 instead of 6 * 256:

woof0003

Mybe it's a better idea than translucency.

@fabiangreffrath
Copy link
Owner

50%

Looks better already, but I wouldn't want to introduce (and regenerate on playpal changes) just another tranmap for this obscure feature.

Maybe we should also do something with colormap. Or just remove the "translucent fuzz" option.

I'd say we should go with the color/translucency translation tables that we already have or omit this feature entirely. I don't care that much if we do the gray transition before applying translucency or not. I just thought it would be nice to have spectres appear like actual ghosts. 😉

I think we should remove it from the menus, but still keep it in the config. It seems there are users for every little option 😄

Sure, we have to keep this config-only. I even think this is one of the few config options that are allowed to be changed by an OPTIONS lump.

@fabiangreffrath
Copy link
Owner

Mybe it's a better idea than translucency.

Oh, this will improve the "selective" option quite a lot.

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 22, 2024

Mybe it's a better idea than translucency.

Oh, this will improve the "selective" option quite a lot.

I like the original "selective" variant too, it feels like it was what was intended and the vanilla "fuzz" implemenatation was a mistake. But how to name these options? "Selective" and "Selective Alt"?

src/r_draw.c Show resolved Hide resolved
src/r_draw.h Outdated
extern boolean fuzzcolumn_mode;
typedef enum
{
FUZZ_ORIGINAL,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we just drop the res-dependent option?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why? It doesn't cost anything and other ports with increased resolution still look like this.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fewer options, the better. Especially bad ones.

other ports with increased resolution still look like this

I never like it.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there is any performance benefit, it can be used internally at 1x scale still, but I don't see any reason to expose it as a menu option these days.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in a14a89b

src/mn_setup.c Outdated
@@ -2115,6 +2120,9 @@ static setup_menu_t enem_settings1[] = {
{"Translucent Ghost Monsters", S_ONOFF | S_STRICT | S_VANILLA, M_X, M_SPC,
{"ghost_monsters"}},

{"Spectre Drawing", S_CHOICE | S_STRICT, M_X, M_SPC, {"fuzzcolumn_mode"},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This applies to the effect in general (i.e. weapon too), so maybe we should use this opportunity to name this better.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the manual uses the term "partial translucency".

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, it should probably be moved to General > Display.

@ceski-1
Copy link
Collaborator

ceski-1 commented Nov 22, 2024

I combined translucency (not grayscale) and selective (wavy effect) as an experiment for Crispy Strife a long time ago and thought it looked great. Just an idea.

Also, do any of these changes actually address the original issue?

@fabiangreffrath
Copy link
Owner

But how to name these options? "Selective" and "Selective Alt"?

Welcome to the can of worms of trying to implement everybody's favorite solution. 😉

@ceski-1
Copy link
Collaborator

ceski-1 commented Nov 22, 2024

Right, the downside to adding this is everyone asking for their own personal variation.

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 22, 2024

Also, do any of these changes actually address the original issue?

Darker variants of "selective" address it, I think. But we need better names for these options.

src/mn_setup.c Outdated
@@ -3239,6 +3240,10 @@ static const char *exit_sequence_strings[] = {
"Off", "Sound Only", "PWAD ENDOOM", "Full"
};

static const char *fuzzmode_strings[] = {
"Blocky", "Selective", "Selective Dark"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Temporary names. Any suggestions?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if we actually need "selective" at all. It's really hard to see, even worse than "original". How about "original" and "alternative" instead of "selective dark"?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made it slightly darker there: 11a95d9

I didn't get a good result with translucency + “selective”, maybe @ceski-1 can help.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is still a nomenclature mixture of "selective" and "refraction".

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is still a nomenclature mixture of "selective" and "refraction".

Fixed in 2e7f028

@rfomin rfomin changed the title add selective and translucent fuzz modes add "refraction" fuzz mode Nov 26, 2024
@fabiangreffrath
Copy link
Owner

I think "refraction" is still a bit harder to see (i. e. "lighter") than "vanilla" and thus won't help the original intent of this change to fix #2040.

Vanilla:
woof0002

Refraction:
woof0000

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 26, 2024

I think "refraction" is still a bit harder to see (i. e. "lighter") than "vanilla" and thus won't help the original intent of this change to fix #2040.

I agree, it's just an alternative mode. Translucent looks bad, I don't think it's worth it.

@fabiangreffrath
Copy link
Owner

I think I liked this better:

#define FUZZDARKER 12 * 256

@fabiangreffrath
Copy link
Owner

Or let's say 10 * 256 as a compromise? 😁

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 26, 2024

Or let's say 10 * 256 as a compromise? 😁

I don't know, for me it's too dark and loses the “predator” look that I think was originally intended for this effect. We could add another mode.

@fabiangreffrath
Copy link
Owner

Alright, fine with me. But then we will really need a third mode, because this won't fix #2040 as it is now.

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 26, 2024

I know spectres are meant to be hard to see I'm not trying to suggest anything like this: image image

Instead maybe something like this: image

I don't want the spectre's position to be clear as day, I just want to have an option to get rid of that damn pixel pattern

Well, I think "dark refraction" is the solution.

@rfomin
Copy link
Collaborator Author

rfomin commented Nov 26, 2024

Added a simple "Shadow" mode:
woof0002

@fabiangreffrath
Copy link
Owner

Okay, why not!

@fabiangreffrath
Copy link
Owner

What does @a1-21 say? What does @ceski-1 say?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Spectre Visibility Aid?
3 participants