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

[Bug]: Multiple light sources actually darken each other due to their dim light range when the lumens should be, instead, added to overlapping light or at least not darken. #3755

Closed
adventuremagic123 opened this issue Nov 27, 2022 · 13 comments
Assignees
Labels

Comments

@adventuremagic123
Copy link

Describe the Bug

The problem here is that the multiple light sources are actually darkening each other due to their dim light range. Instead, the lumens in their dim range should be added to that provided by the other light source.

Screenshot 2022-11-27 143954

To Reproduce

  1. Create multiple light sources whose light overlaps with each other.
  2. Notice how the dim light radius darkens overlapping light sources when the lumens should be added.

Expected Behaviour

Light should add lumens to other overlapping light.

Screenshots

See above.

MapTool Info

1.12.2

Desktop

Windows 10

Additional Context

No response

@adventuremagic123 adventuremagic123 changed the title [Bug]: Multiple light sources actually darken each other due to their dim light range when the lumins should be, instead, added to overlapping light. [Bug]: Multiple light sources actually darken each other due to their dim light range when the lumens should be, instead, added to overlapping light. Nov 27, 2022
@kwvanderlinde
Copy link
Collaborator

I'd like to clarify the how lights work in MapTool, as lumens and colours are entirely separate systems.

Lumens establish the mechanics of light source. They determine which light sources are truly lights and which are darkness. They also determine which areas are lit, with darkness and light competing with each other when they overlap. Lumens do not add or blend together when lights overlap. This is working as intended (though it could be an interesting feature request to have lumens add together 🙂). Also, each light source only has one lumens value which applies to the entire light source and not to a particular range. So, for example, a torch's bright range and dim range are mechanically identical (sounds like another feature request in the making 🤔)

Color is the aesthetic aspect of lights. They don't modify the behaviour of lights in any way except to control which color is used to draw them onto the map. Light colours intentionally blend with one another, though as this bug report points out the blending tends to darken lights instead of brighten them as we would expect.


We actually had additive light blending for a short time when 1.12 first came out, but it was pulled for performance reasons. We do want to bring it back, but that will depend on us finding a way to do it without tanking performance.

@SherbanWisperwald
Copy link

I have read the change log and seen some light changes, but in my opinion the lighting is now worse than before. Is there a possibility to bring the 1.11.5 behaviour back somehow? It was quite usable for determining which regions are lit, dim lit and so on. See examples (all using standard "Candle 5"):
The 1.11.5 Version:
with_1 11 5
The 1.12.2 Version:
with_1 12 2

From a gamplay point of view, I do not need more realistic light addition, for me it is completely sufficient to have "lit" and "dim lit" areas. The 1.11.5 Version did exactly what I needed. (And no, I would like to update someday because of the new token VBL/MBL posibilities :-) )

@kwvanderlinde
Copy link
Collaborator

Just so it's clear before I go off talking about other stuff, I definitely understand the desire for the old lighting. It works quite well in a case like yours and I find it unfortunate that I nullified that use case 🙁

That said, there are issues with the old lights as well. E.g., the reason your example looks so good is because the default D20 light sources have uncoloured (aka "bright") inner ranges. It's a good default for that reason! But if we colour the inner range as white (#ffffff), we get this instead:
image
You can see another example in an old bug report of mine where I found the old system very confusing.

The old system does work quite well for your case. Really, whenever you only use a mix of uncoloured (aka "bright") lights, and at most one colour of light to represent dim lights, then the results can be pretty good for a game the revolves around the bright/dim/dark delineation. But as soon as you need/want to capture more (e.g., tint darkvision red or something), then the behaviour becomes confusing.

now I just have to run and figure how to make everything better again while losing nothing anyone wants

@FullBleed
Copy link

Out of curiosity... how much of this becomes easier, better, faster, stronger once we have libGDX?

@adventuremagic123
Copy link
Author

adventuremagic123 commented Dec 2, 2022

I have read the change log and seen some light changes, but in my opinion the lighting is now worse than before. Is there a possibility to bring the 1.11.5 behaviour back somehow? It was quite usable for determining which regions are lit, dim lit and so on. See examples (all using standard "Candle 5"): The 1.11.5 Version: with_1 11 5 The 1.12.2 Version: with_1 12 2

From a gamplay point of view, I do not need more realistic light addition, for me it is completely sufficient to have "lit" and "dim lit" areas. The 1.11.5 Version did exactly what I needed. (And no, I would like to update someday because of the new token VBL/MBL posibilities :-) )

This definitely would be an improvement. Please at least change it back to the 1.11.5 behavior described above.

@adventuremagic123 adventuremagic123 changed the title [Bug]: Multiple light sources actually darken each other due to their dim light range when the lumens should be, instead, added to overlapping light. [Bug]: Multiple light sources actually darken each other due to their dim light range when the lumens should be, instead, added to overlapping light or at least not darken. Dec 3, 2022
@adventuremagic123
Copy link
Author

BTW, MapTool 1.10.4 also works much better for light sources -- probably like 1.11.5. Dim light in 1.10.4 does NOT darken overlapping light sources.

@adventuremagic123
Copy link
Author

adventuremagic123 commented Dec 30, 2022

This is how that scene looks in MapTool 1.10.4. Each of the tables with a light source have a candle and there are torches on the wall. I did add one torch where one was missing (it's in the middle on the right side of the stage). This scene is messed up in MapTool 1.12.2 (as shown above).

However, I can see that later versions of MapTool show the dim light region while 1.10.4 does not seem to -- so I very much appreciate that new feature. I can see things are starting to get complicated. Perhaps, MapTool 1.11.X provides the best example of what we should have as shown above?

Screenshot 2022-12-30 162432

@adventuremagic123
Copy link
Author

adventuremagic123 commented Dec 30, 2022

My settings are as follows and I've used them in MapTool 1.10.X, 1.11.X, and 1.12.X and probably prior versions:

Auras

Aura - Player - 10: aura circle 7.5#0000ff
Aura - Player - 5: aura square 2.5#0000ff
Aura - Owner - 10: aura OWNER circle 7.5#00ff00
Aura - GM - Red - 10: aura GM circle 7.5#ff0000
Aura - Owner - 5: aura OWNER square 2.5#00ff00
Aura - GM - Red - 5: aura GM square 2.5#ff0000

Darkness

Lantern, Darklight - 30: circle 32.5 lumens=-20
Spell, Deeper Darkness - 60: circle 62.5 lumens=-130
Spell, Darkness - 20: circle 22.5 lumens=-20

Light Sources

Outside, Daylight: square 1,000#000000 lumens=30
Spell, Daylight - 60: circle 62.5 122.5#000000 lumens=30
Lantern, Bullseye (leaks light) - 60: cone arc=60 62.5 122.5#000000 circle 2.5#000000 lumens=20
Lantern, Miner's - 30: cone arc=30 32.5 62.5#000000 lumens=20
Torch - 20: circle 22.5 42.5#000000 lumens=20
Lamp - 15: circle 17.5 32.5#000000 lumens=20
Lantern, Hooded - 30: circle 32.5 62.5#000000 lumens=20
Spell, Light - 20: circle 22.5 42.5#000000 lumens=20
Goggles, Nightvision - 40: cone arc=30 42.5#00e000 lumens=30
Lantern, Bullseye - 60: cone arc=60 62.5 122.5#000000 lumens=20
Candle - 5: circle 7.5 12.5#000000 lumens=10

@adventuremagic123
Copy link
Author

It's important to fix this because it's a very distracting issue during game play.

@adventuremagic123
Copy link
Author

adventuremagic123 commented Mar 11, 2023

I've noticed in Foundry VTT that it's doing what people might be asking for in MapTool -- where lumens are additive between light sources. I'm not sure this is a good idea. It actually doesn't look good. I don't recommend it -- or possibly at least provide an option to turn it off.

Look at this below. Here's two overlapping light sources. Everything gets worse if you make them flicker -- looks really annoying. Kind of an example of just because you can -- should you? Maybe, not.

light sources overlap

Instead, I would rather just have the light source with the brightest lumens dominate. In this case, the two light sources have the same lumens -- so I'd like to not see an increase in lumens in the overlap.

@adventuremagic123
Copy link
Author

I've noticed that in Foundry VTT, if you set the illumination value (I think is what it's called) to 0, the above effect is made much less noticeable. At first, I thought it fixed the problem, but I think the issue is still happening actually.

@adventuremagic123
Copy link
Author

As far as I can tell, this issue is fixed in MapTool 1.13.0 RC 1 using the test cases I have here.

@kwvanderlinde
Copy link
Collaborator

I'll consider this done given we have validation from OP that this particular issue is fixed.

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

No branches or pull requests

4 participants