RPTools / maptool

Virtual Tabletop for playing roleplaying games with remote players or face to face.
http://rptools.net
GNU Affero General Public License v3.0
790 stars 257 forks source link

[Feature]: A way to disable soft FoW / visibility in night maps #4232

Open kwvanderlinde opened 1 year ago

kwvanderlinde commented 1 year ago

Describe the Problem

I find I don't really need / care about soft FoW in my games, and it sometimes causes confusion as players don't always see the tokens I expect. At the same time, we like playing on night maps, with lights, sights, and hard FoW being part of the experience. But right now, I can only disable soft FoW by setting vision to "Off", which also makes the map behave like a day map.

The Solution you'd like

I would like to split the map vision option into two separate concepts (names TBD):

Alternatives that you've considered.

No response

Additional Context

This is a simpler version of #3822 that just focuses on separating the "Off" functionality from the others.

FullBleed commented 1 year ago

Would just having the ability to toggle Soft Fog on/off achieve what you want?

kwvanderlinde commented 1 year ago

That's essentially what the Visibility toggle is meant to be (I've now updated the description to call out soft FoW specifically). The various behaviours there are collectively what "soft FoW" is.

I guess calling it the Soft FoW toggle would make more sense in that case ...

kwvanderlinde commented 1 year ago

There is one more behaviour of the Vision setting that came up on Discord which I was surprised to find out about (though I should have known considering the implementation). When Vision is set to "Off", the server setting of Individual FoW is kind of ignored (though not totally): any fog exposure becomes global to the map in addition to being exposed for each token.

This is a behaviour I would not want controlled by the new Visibility / Soft FoW options, and certainly not by the new Lighting option. Actually, I would rather the behaviour didn't exist, but to support existing use cases I will instead propose that it be made a third new map setting, a toggle along the lines of Always Expose FoW Globally.

FullBleed commented 1 year ago

It feels like the current behaviour is kind of a bug... and I think I'd find the "Always Expose FoW Globally" toggle to be confusing (especially for new users trying to understand how everything interacts.)

Would an "Always Expose FoW Globally" toggle, essentially, be an Individual FoW toggle?

kwvanderlinde commented 1 year ago

It feels like the current behaviour is kind of a bug...

I would agree. Or rather I should say I don't think the current behaviour is desirable. After digging into the history a bit, it's clear the choice was deliberate for supporting maps that are just meant for temporarily parking tokens (see this forum thread, and especially this post). That use case is fine IMO, I would just rather it be called out as its own thing or be somehow incorporated into the fog settings instead of being attached to the otherwise unrelated Vision settings.

and I think I'd find the "Always Expose FoW Globally" toggle to be confusing (especially for new users trying to understand how everything interacts.)

I won't argue with that :slightly_smiling_face: But as mentioned above, there is a use case here, so some option for it is necessary. Of course it doesn't at all have to look like what I suggested, I'm sure there's a much more intuitive alternative.

Would an "Always Expose FoW Globally" toggle, essentially, be an Individual FoW toggle?

I think it could be, but depends how attached we are to the details of the current behaviour. Technically the current behaviour is that Vision=Off can act like Individual FoW and Global FoW are both enabled (assuming the Individual FoW server setting is applied). That means it could have an impact if the map/server settings change over time, though any reliance on that seems like quite an edge case to me.