
I think one of the biggest flaws in the dynamic lighting/fog of war system is the inability to have areas that aren't necessarily blocked off, but are only visible from certain vantage points. A token at the bottom of a staircase shouldn't be able to see up it, but a token at the top should be able to look down. A token on a rooftop should be able to see other rooftops, but a token on the street shouldn't. I'm sure this has been suggested before, and I can see why this hasn't been implemented yet as adding "height" to a 2D map could get complicated, but a relatively simple solution to this would be to add the ability to set up "visibility zones". As in, you define two polygon areas that are linked and a token in zone 1 doesn't have its vision of zone 2 obstructed, but tokens outside of zone 1 can't see into zone 2. Using streets and rooftops as an example, zone 1 and 2 for the rooftops would be the same, or you could exclude higher-up rooftops (giving them their own zones that include visibility of the lower rooftops) to have a more vertical map. As far as implementation goes, it could be kept fairly straightforward by using two additional dynamic lighting layers (one for the zones that you see and one for the zones that you see from, and the original layer for non-height-based obstructions) and just use color-coding to link them together. Red dynamic lighting lines on layer 1 are ignored by tokens in the red zone on layer 2, so configuration on the user's end is kept to a minimum, and most of the implementation would use features already in Roll20. Edit: The biggest advantage to this IMO is that you can have each player seeing something different. As it stands, if one player is on a rooftop and other players aren't, they either all see the rooftop or none of them do (or the player on the rooftop can't see the street). This also resolves suggestions that I've seen for one-way-visibility dynamic lighting lines.