[1.5.4-rc.1] Optionally Expose FOW into VBL areas

If you have an idea for a new feature, please discuss it in the main MapTool forum first, then post a summary of the discussion here. Use the first Sticky as a template.

Moderators: dorpond, trevor, Azhrei, giliath, jay, Mr.Ice

Post Reply
User avatar
digiacom
Cave Troll
Posts: 44
Joined: Thu Sep 27, 2018 3:00 am

[1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by digiacom »

The Problem: Maps I use often have very beautiful designs and textures, and my players frequently complain that when I quickly place VBL along the gridlines (which is the by-far fastest way to place it), they can't see the art and are wandering through a 'black hole' environment where they can't see the wall textures or other vision blocking elements. Even on 'uglier' maps that I throw together when improvising, seeing the wall texture really helps my players feel oriented and engaged without them having to ask me "What is this blocking my vision?" all the time.

Workarounds I've tried:
  1. 'Shrinking' the VBL layer into the wall a bit (Exposes too much vision behind corners, pretty time consuming)
  2. Using diagonal lines on corners so corner vision is effectively blocked while revealing the art, (Resulting vision effects looks distracting to players, players can sometimes move into illegal spaces, and can be even more time consuming)
  3. Manually exposing FOW over VBL areas after players explore the area (fiddly, distracting, slows down play)
  4. Using Tokens with VBL for some VBL blocked art like statues and pillars (Helps, but again is time consuming)
Screenshots demonstrating the issue and workarounds
Image

Suggested Solution: Have a setting to reveal the Fog of War into a VBL area a set distance past its boundary (but never reveal past its far edge). I think that it would improve the player experience on maps that work well with the feature.
  • The distance could be based on the grid size or another predictable unit of measure. I used roughly 40% of a grid square below.
  • The setting would be per-map.
  • Tapering the revealed area at the far edge of the visible VBL boundaries could enhance the look while exploring (Examples 1&2 below)
  • A Gradient effect to black from the VBL boundary could make it look more natural and less chunky (Examples 2&4 below)
Screenshot of how the suggestion may look
Image
Key:
  1. Reveal FOW through VBL up to 2/5 a square. Tapered at far edge of boundary. No gradient.
  2. Reveal FOW through VBL up to 2/5 a square. Tapered at far edge of boundary. Gradient to black.
  3. Reveal FOW through VBL up to 2/5 a square. No taper or gradient.
  4. Reveal FOW through VBL up to 2/5 a square. No taper. Gradient to black.
Note how the improved exposed view doesn't display the weird-looking blacked out FOW where VBL is. The two pillars on the right of the token have the gradient effect. You'll notice two little black squares in the left two pillars left by the VBL being thick in the area. (exposing 1/2 way into a square would remove these entirely)


Possible issues with my solution:
  • The biggest issue is that Players can surmise information about some maps if they can see into the walls a bit, such as secret doors, etc. I think this can be solved by the GM with object tokens that match the wall texture, by using minimum-width VBL lines in dungeons or rooms where the current 'blackout' approach to VBL is important. Some GMs may worry that any inconsistency in the FOW exposure of walls would be interpreted as a clue to players. (The feature would be optional per map)
  • I worry the feature could slow down maptool, especially the edge-tapering and gradient effects (These feature could be skipped!)
  • Gradients might not be reasonable since I think FOW is all-or-nothing right now. (This feature could be skipped!)
  • Biggest issue of course: nobody who is capable of implementing the solution cares about this problem/has the time to commit. I don't really know what math is required to expose FOW under VBL a set distance, but I've managed to compile maptool and commit to NERPs once - if someone could set me in the right direction/mentor me a little bit I might be able to figure it out!
Not sure if others have this issue, but if you have chime in. Maybe I'm just a picky weirdo! In any case, feedback welcome :)
a.k.a. Melek on Discord.
Check out my Simple 5e Framework!

Phergus
Deity
Posts: 7132
Joined: Fri May 12, 2006 8:56 pm
Location: Middle of Nowhere, NM
Contact:

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by Phergus »

It's pretty annoying as a player if the VBL was placed along grid lines when the map imagery was also constrained to the grid. The players often can't tell if the blackness is the edge of their vision or a wall. Not to mention that without being able to see the wall textures they miss important visual cues such as a sudden change in building materials

That's why I make my maps with walls that overlap the grid by 5 or so pixels. That way using snap-to-grid with the VBL tools always leaves some amount of the walls and such visible.

Doesn't help of course if you are using published module maps as they rarely take into consideration the use of the maps in VTT programs.

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by JamzTheMan »

I 100% want this. Problem is, we've wanted it for a while. It's a tough cookie to crack. The current implementation of FoW doesn't really lend itself to this and a rewrite of the renderer is required, but we're running into performance issues. We've tried a few things so far but we're still looking.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
digiacom
Cave Troll
Posts: 44
Joined: Thu Sep 27, 2018 3:00 am

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by digiacom »

Phergus wrote:
Thu Sep 05, 2019 3:56 pm
It's pretty annoying as a player if the VBL was placed along grid lines when the map imagery was also constrained to the grid. The players often can't tell if the blackness is the edge of their vision or a wall. Not to mention that without being able to see the wall textures they miss important visual cues such as a sudden change in building materials
You described the problem perfectly! The Maptool sample map that I used for my screenshots actually has delightful single-width walls that behave as you describe (bleeding slightly into the square), but the pillars in the central chamber perfectly demonstrate my issue - and even visually bleeding walls into the grid doesn't quite solve the problem - the vision appears to happen slightly through what looks like the walls (a relatively minor quibble, I guess).

Even if the problem was 100% solved by map design, there are so many wonderful maps out there that don't work this way I'd like to be able to use without the poor player experience you describe.
JamzTheMan wrote:
Thu Sep 05, 2019 6:17 pm
I 100% want this. Problem is, we've wanted it for a while. It's a tough cookie to crack. The current implementation of FoW doesn't really lend itself to this and a rewrite of the renderer is required, but we're running into performance issues. We've tried a few things so far but we're still looking.
That's good to hear that I'm not the only one, but discouraging to know that the top minds haven't figured it out yet. Is there a place to start in improving it? One thought I had was to make multiple VBL layers and give each layer configurable properties:
  • Blocks Vision past VBL (Currently default)
  • Blocks Movement through VBL (Currently sort-of default?)
  • Blocks FOW exposure IN VBL (Current behavior, but more an outcome of vision blocking than a feature itself)
  • Exemptions for tokens meeting certain conditions - vision/light source/properties/states - Could disappear or appear as a transparent color overlay for exempt tokens. (Would be awesome. Yay feature bloat.)
  • Have the option to add multiple VBL layers with different configurations (Currently there's just the one)
a.k.a. Melek on Discord.
Check out my Simple 5e Framework!

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by jfrazierjr »

The problem isn't doing it at all, it's doing it with acceptable performance. There has been talk for years of completely rewriting the rendering bit that is a LOT of work I mean like man months worth of work vs the "bolt on" approach we have been doing to maptool for years.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Full Bleed
Demigod
Posts: 4736
Joined: Sun Feb 25, 2007 11:53 am
Location: FL

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by Full Bleed »

No one has wanted to get into the VBL code for a long time. The ball has been kicked down the road for a long time with the assumption that it would be re-written in a later version.

Even back when VBL was being developed I *always* wanted a VBL option that you could see into but not out of (similar to your solution 4 option but without the gradient). I think we called it "two-way VBL" back in the day when talking about it (like a two-way mirror.)

As for dealing with snapping VBL on map walls and not leaving room for visual evidence to players about what's causing the VBL (like a wall with a wall texture) I think we first need a VBL Explorer (like the draw explorer) where various VBL shapes could be selected and edited. If we could select a VBL shape then we could look at allowing some editing of the shapes (like expanding or contracting) that would allow you to do something like snap VBL onto a map and then expand it to show the wall's edge... or contract it to show the edge of a column or building.

Making prettier VBL would be nice. It certainly can "butcher" a pretty map (expecialy irregular maps where you're using poly lines and blocks to try and indicate an irregular edge), but I wouldn't trade it for the lack of the ability as we have it. Recently, in a campaign now running about 15 years, a group I run ended up going back to a place that they were at in the beginning. Back then we played face-to-face, and the maps were hand drawn. For this MT session I actually took pictures of the old locations and added them as handouts and it's pretty remarkable to think that those were the kind of maps that players used to see *all the time*! They almost never saw the professionally done maps while the game was going and we still had a great time. Frankly, I was probably more descriptive back then because of that. MT, even with it's jagged blacked-out areas that can be confusing (depending on the maps) still give the players something better to look at than pencil on paper... and allow GM's to be a little bit lazier about setting the scene... so I'm not gonna complain too loudly about some blacked out areas ruining my maps. ;)
Maptool is the Millennium Falcon of VTT's -- "She may not look like much, but she's got it where it counts."

taustinoc
Dragon
Posts: 516
Joined: Mon Aug 03, 2015 6:30 pm

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by taustinoc »

Full Bleed wrote:
Thu Sep 05, 2019 6:52 pm
No one has wanted to get into the VBL code for a long time. The ball has been kicked down the road for a long time with the assumption that it would be re-written in a later version.
Are y'all still planning on starting on 2.0 as soon as you're satisfied with 1.5? Sounds like we should all be looking forward to it.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by jfrazierjr »

Full Bleed wrote:
Thu Sep 05, 2019 6:52 pm
They almost never saw the professionally done maps while the game was going and we still had a great time. Frankly, I was probably more descriptive back then because of that. MT, even with it's jagged blacked-out areas that can be confusing (depending on the maps) still give the players something better to look at than pencil on paper... and allow GM's to be a little bit lazier about setting the scene... so I'm not gonna complain too loudly about some blacked out areas ruining my maps. ;)
This pretty much encapsulates how I feel about the situation. In "my" opinion, it's the GM's responsibility to "set the stage", not the maps(I hope thats the point FB is trying to get across). For me, the walls are things that block movement in the game, not things that are likely to be interesting things to look at(as a player and a GM) unless the GM(or me if I am the GM) takes the time to describe in detail something that might be important. To me the play area is simple there to constrain the players movements and in some cases block their vision. I have spent far more time over the years in theater of the mind or simple drawn out battle maps than I ever did with Maptool, either locally(ie at someones house projecting the a TV or on a wall) or remotely. I love the idea of Maptool but I don't want it to take over the GM's job of properly describing the surroundings.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
digiacom
Cave Troll
Posts: 44
Joined: Thu Sep 27, 2018 3:00 am

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by digiacom »

jfrazierjr wrote:
Thu Sep 05, 2019 8:06 pm
This pretty much encapsulates how I feel about the situation. In "my" opinion, it's the GM's responsibility to "set the stage", not the maps(I hope thats the point FB is trying to get across). For me, the walls are things that block movement in the game, not things that are likely to be interesting things to look at(as a player and a GM) unless the GM(or me if I am the GM) takes the time to describe in detail something that might be important. To me the play area is simple there to constrain the players movements and in some cases block their vision. I have spent far more time over the years in theater of the mind or simple drawn out battle maps than I ever did with Maptool, either locally(ie at someones house projecting the a TV or on a wall) or remotely. I love the idea of Maptool but I don't want it to take over the GM's job of properly describing the surroundings.
When I played in person more, most of my games were played on a dingy wet erase mat with coins and dice for miniatures and we had a ton of fun. But other times, I put a lot of effort into the aesthetics of a session, and it made a very memorable experience. I found these issues with VBL after feedback from my players and my own attempts to solve the problems that were arising.

Setting the stage can be done in different ways, putting extra effort into the visuals may not be everyone's style but it is for some. For what its worth, I have found that verbal descriptions of areas are improved with better visuals, as it can assist the GM's explanation and add to players' understanding.

I also don't have a ton of time to prep, and using premade maps I can block out the VBL on is a huge timesaver to me personally. Making that also produce more usable/visually intuitive maps for my players would be a major plus, and I certainly don't think that it puts my job as GM and surroundings-describer-in-chief at risk. ;)
a.k.a. Melek on Discord.
Check out my Simple 5e Framework!

User avatar
Full Bleed
Demigod
Posts: 4736
Joined: Sun Feb 25, 2007 11:53 am
Location: FL

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by Full Bleed »

digiacom wrote:
Thu Sep 05, 2019 9:03 pm
I also don't have a ton of time to prep, and using premade maps I can block out the VBL on is a huge timesaver to me personally.
For me, this is the key.

Any "fix" to MT's VBL deficiencies needs to not significantly increase the map prep time. I suspect that many attempt to perfect their application of VBL in ways that make prepping the map tiresome and inefficient (both in performance and time-management.) Not to belittle the OP's concern, but if MT has evolved to the point where fixating on the VBL X in a column image is a chief concern, then that's actually a good sign. ;)

But, as mentioned, if tools could be designed to allow people to use the snap VBL method and get a better look by expanding/contracting the VBL shape easily I think that would be a nice improvement (for speed and aesthetics.) As would having some special two-way shapes to accommodate common objects.

But, past that, I think we'll likely have to wait for a redesign. And, frankly, we can't be sure that any redesign would automatically be an improvement in every way.


That said, on the brainstorm side of things in the arena of something that might not be incredibly difficult to implement or create poor performance... instead of two-way VBL, what if there was an entirely separate kind of VBL that simply didn't stop FoW exposure inside it but still heeded the rules of vision and FoW exposure outside of it? So, using the OP's example, when someone walked up to the column with a block of square VBL the FoW inside the VBL shape would expose (showing the column graphic). The inside of the column would still be covered in soft-fog (because it wouldn't be visible) and the column would still block vision and FoW exposure outside the VBL shape.

You could also use that method to box in a room with this rectangular VBL shapes (say around 10 pixels wide) and when the room was exposed you'd see 10 pixels into the wall (so you'd see the wall texture) but the VBL would block vision as normal and not expose FoW past it.

I don't know how the VBL/Sight/FoW is calculated, but if the shape of the VBL is currently subtracted from the shape of the sight before exposing FoW then this new VBL (translucent VBL?) might just be a performance increase.
Maptool is the Millennium Falcon of VTT's -- "She may not look like much, but she's got it where it counts."

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by jfrazierjr »

digiacom wrote:
Thu Sep 05, 2019 9:03 pm
jfrazierjr wrote:
Thu Sep 05, 2019 8:06 pm
This pretty much encapsulates how I feel about the situation. In "my" opinion, it's the GM's responsibility to "set the stage", not the maps(I hope thats the point FB is trying to get across). For me, the walls are things that block movement in the game, not things that are likely to be interesting things to look at(as a player and a GM) unless the GM(or me if I am the GM) takes the time to describe in detail something that might be important. To me the play area is simple there to constrain the players movements and in some cases block their vision. I have spent far more time over the years in theater of the mind or simple drawn out battle maps than I ever did with Maptool, either locally(ie at someones house projecting the a TV or on a wall) or remotely. I love the idea of Maptool but I don't want it to take over the GM's job of properly describing the surroundings.
When I played in person more, most of my games were played on a dingy wet erase mat with coins and dice for miniatures and we had a ton of fun. But other times, I put a lot of effort into the aesthetics of a session, and it made a very memorable experience. I found these issues with VBL after feedback from my players and my own attempts to solve the problems that were arising.

Setting the stage can be done in different ways, putting extra effort into the visuals may not be everyone's style but it is for some. For what its worth, I have found that verbal descriptions of areas are improved with better visuals, as it can assist the GM's explanation and add to players' understanding.

I also don't have a ton of time to prep, and using premade maps I can block out the VBL on is a huge timesaver to me personally. Making that also produce more usable/visually intuitive maps for my players would be a major plus, and I certainly don't think that it puts my job as GM and surroundings-describer-in-chief at risk. ;)
heh... for a long time, we used dice and even M&Ms for mini's at times. to be honest, my ultimate experience would be high def undertable projection, but I don't have a solid singular place to put one. As well, I tend to not use premade maps because frankly, many people have been burned by the 49x50px BS that some map mapmakers think is funny(perhaps this is no longer an issue but it was many years ago). When I DID use maptool(TV or Projector on a wall), I either drew maps with textures OR objects to "build" maps vs imported jpgs. I also don't really have an issue with using X's for trees or columns. Heck when I was using MT regularly, we did not even have token object VBL and had to hand draw all of it, so frankly if I used MT right now I would be liike "holy feces this is awesome"
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by jfrazierjr »

Full Bleed wrote:
Thu Sep 05, 2019 10:15 pm
digiacom wrote:
Thu Sep 05, 2019 9:03 pm
I also don't have a ton of time to prep, and using premade maps I can block out the VBL on is a huge timesaver to me personally.

I don't know how the VBL/Sight/FoW is calculated, but if the shape of the VBL is currently subtracted from the shape of the sight before exposing FoW then this new VBL (translucent VBL?) might just be a performance increase.
its bad.. when I have some time, I will make some screenshots of the math involved(in maptool screen caps) so you can understand why it's so hard to improve easily. In the meantime, just imaging "you" thinking that a cut up pie is one single round shape, but the code thinks its 8, 12, whatever individual slices that just happen to look to an end user as a circle. Processing each of those shapes is waht takes time, as well as consumes network transfer time as they are literally stored as individual slices, not the round thing you "see"
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by Azhrei »

One thing that we had talked about previously (that might still be the way to go) is "one way VBL" where the thickness of the VBL is the amount of the underlying map that can be seen.

For example, imagine that you draw some VBL that is 5 pixels thick. Now think of the VBL as a hollow rectangle that allows vision into the rectangle from any side, but never out the other side.

The way that VBL is drawn would need to be completely redone, and obviously the renderer will need some significant work for this as well (since the existing simple on/off state as to whether a pixel blocks vision wouldn't work anymore). And even if all of this work were done, what would the performance be like? MT already caches a lot of information during the rendering process, but much of that info isn't of any use when the next rendering pass must be performed; some way to cache this new "one way VBL" information would be needed that allows the rendering function to operate at a reasonable speed.

Good discussion, everyone. It's cool to see everyone chiming in. :)

User avatar
digiacom
Cave Troll
Posts: 44
Joined: Thu Sep 27, 2018 3:00 am

Re: [1.5.4-rc.1] Optionally Expose FOW into VBL areas

Post by digiacom »

Full Bleed wrote:
Thu Sep 05, 2019 10:15 pm
That said, on the brainstorm side of things in the arena of something that might not be incredibly difficult to implement or create poor performance... instead of two-way VBL, what if there was an entirely separate kind of VBL that simply didn't stop FoW exposure inside it but still heeded the rules of vision and FoW exposure outside of it? So, using the OP's example, when someone walked up to the column with a block of square VBL the FoW inside the VBL shape would expose (showing the column graphic). The inside of the column would still be covered in soft-fog (because it wouldn't be visible) and the column would still block vision and FoW exposure outside the VBL shape.

You could also use that method to box in a room with this rectangular VBL shapes (say around 10 pixels wide) and when the room was exposed you'd see 10 pixels into the wall (so you'd see the wall texture) but the VBL would block vision as normal and not expose FoW past it.

I don't know how the VBL/Sight/FoW is calculated, but if the shape of the VBL is currently subtracted from the shape of the sight before exposing FoW then this new VBL (translucent VBL?) might just be a performance increase.
Azhrei wrote:
Fri Sep 06, 2019 12:01 am
One thing that we had talked about previously (that might still be the way to go) is "one way VBL" where the thickness of the VBL is the amount of the underlying map that can be seen.

For example, imagine that you draw some VBL that is 5 pixels thick. Now think of the VBL as a hollow rectangle that allows vision into the rectangle from any side, but never out the other side.

The way that VBL is drawn would need to be completely redone, and obviously the renderer will need some significant work for this as well (since the existing simple on/off state as to whether a pixel blocks vision wouldn't work anymore). And even if all of this work were done, what would the performance be like? MT already caches a lot of information during the rendering process, but much of that info isn't of any use when the next rendering pass must be performed; some way to cache this new "one way VBL" information would be needed that allows the rendering function to operate at a reasonable speed.

Good discussion, everyone. It's cool to see everyone chiming in. :)
I think both of these ideas are similar and both would solve my issue well enough for me to make the maps look good. I really like the idea of 'contracting' the VBL boundary, that seems like a way to make things fast when prepping. :)
a.k.a. Melek on Discord.
Check out my Simple 5e Framework!

Post Reply

Return to “Feature Requests”