PDA

View Full Version : Line of Sight and Height



D4RK1
May 4th, 2020, 23:48
So I love if the LoS feature for FGU, but there’s just one key missing aspect to walls that make building more open battlemats frustrating. And this is there’s no great way to build in automatic Line of Sight for like Cliffs or Hills or other height based things. I believe a great solution for this would be to add One-Directional walls which would basically treat the wall as not being there from one direction and treat it as normal from the opposite. This would allow DMs to create a cliff wherein token on the higher portion of the cliff would be able to see down, but tokens on the lower portion wouldn’t be able to see up.

In the case of a polygon, this would just mean that the “wall” side would be inside or outside of the polygon, which would solve the problem for say Hills and gradient height or allow the DM to say make a pit trap wherein once inside, the tokens inside can see everything in the trap, but can’t see anything out.

LordEntrails
May 5th, 2020, 00:15
Welcome to the forums :)

They devs are aware of lots of potential enhancements to add to LOS post-release. You can view those ideas that have already been suggested and vote on them, or add new ideas to the wish list. https://fg2app.idea.informer.com/

As for cliffs, the current suggestion/practice it to use Terrain and add it to the edge square/area of the top of the cliff, that way anyone near the edge can see everywhere below and those below can see those on the edge. See some of the LOS videos on You Tube for examples. https://www.fantasygrounds.com/forums/showthread.php?52024-LOS-videos

pollux
May 6th, 2020, 16:02
LoS and height was recently discussed in another thread as well: https://www.fantasygrounds.com/forums/showthread.php?57105-LOS-Idea

One directional walls were suggested there as well, but I favor explicit heights on LoS layers and on tokens.

xsheikanx
May 7th, 2020, 11:26
Im ussing secrets doors for that purpose, and works very well. I just click to reveal the area if they are on top. if not, keep it closed and your player will not see anything on top

Neovirtus
May 7th, 2020, 20:23
Im ussing secrets doors for that purpose, and works very well. I just click to reveal the area if they are on top. if not, keep it closed and your player will not see anything on top

That's smart! I'll steal that.

bmos
May 8th, 2020, 11:32
I favor explicit heights on LoS layers and on tokens.
Making FGU aware of a third dimension would probably be quite the endeavor, but it would be incredible!
Underwater combat, aerial combat... Much better space combat...

SailorLovins
May 8th, 2020, 14:16
It may be mistaken but I believe the authors of the Combat Enhancer extension are or have already making the extension compatible with FGU. This extension takes into consideration height differences and even automatically grants disadvantage on longer than optimal shots or shots made in melee range.

pindercarl
May 8th, 2020, 15:31
I appreciate everyone's enthusiasm for adding an additional dimension to LOS, but I can assure you that any attempt to "tweak" or "modify" 2D LOS to 3D LOS would immediately fall on its face. The mathematics and representation of 2D and 3D LOS are entirely different. The current challenge is to get 2D LOS to be performant with dozens of tokens and 1000s of occluders.

Neovirtus
May 8th, 2020, 17:29
I really don't think a specific elevation system is necessary. I think we can get creative with secret door type functions, terrain occluders, and eventually other occluder types added for 2D functions (maybe a "one-way" occluder would be helpful for elevation, and useful for 2D maps as well). That way an ambitious DM can achieve something approximating elevations, without delving into the mathematics of 3D.

pollux
May 8th, 2020, 19:36
I appreciate everyone's enthusiasm for adding an additional dimension to LOS, but I can assure you that any attempt to "tweak" or "modify" 2D LOS to 3D LOS would immediately fall on its face. The mathematics and representation of 2D and 3D LOS are entirely different. The current challenge is to get 2D LOS to be performant with dozens of tokens and 1000s of occluders.

I definitely get that there are bigger fish to fry and that network stability and performance and a million other things need to be nailed down before anybody thinks about new features, but does a z-index change the game all that much in terms of algorithms and data representation? I sort of assumed that you folks are generating the current LoS views by doing something similar to how geometries are culled for visibility in 2.5d raycasting-based rendering engines like Wolfenstein 3d and Doom. If so that kind of approach can totally be extended to support height provided each x/y point has only a single height (which is a pretty natural constraint to adopt in top-down battlemap view).


Here's a raycasting tutorial that illustrates the approach I assume is happening with LoS today (not the rendering pieces, but the bits about finding walls): https://permadi.com/1996/05/ray-casting-tutorial-table-of-contents/
Here's the page where it talks about extending the model to support variable height walls by casting rays THROUGH walls conditional on height checks: https://permadi.com/1996/05/ray-casting-tutorial-14/


I'm not suggesting it's particularly easy, but if my guesses about the raycasting-like engine are correct then there's an approach that's much MUCH less drastic than transitioning to fully 3D geometries and techniques. And even if my implementation guesses are wrong... it's an approach that is compatible with the data-formats we already have for occluders. The primary change needed is that the LoS layer gets a height, which could be optional and get infinity or some max-value by default.

pindercarl
May 8th, 2020, 19:54
We're not using anything remotely similar to a 2.5D raycasting engine. That sort of approach can work well with a limited FOV and a fixed pixel-grid for projections. It does not translate well for 2D maps.


I definitely get that there are bigge
r fish to fry and that network stability and performance and a million other things need to be nailed down before anybody thinks about new features, but does a z-index change the game all that much in terms of algorithms and data representation? I sort of assumed that you folks are generating the current LoS views by doing something similar to how geometries are culled for visibility in 2.5d raycasting-based rendering engines like Wolfenstein 3d and Doom. If so that kind of approach can totally be extended to support height provided each x/y point has only a single height (which is a pretty natural constraint to adopt in top-down battlemap view).


Here's a raycasting tutorial that illustrates the approach I assume is happening with LoS today (not the rendering pieces, but the bits about finding walls): https://permadi.com/1996/05/ray-casting-tutorial-table-of-contents/
Here's the page where it talks about extending the model to support variable height walls by casting rays THROUGH walls conditional on height checks: https://permadi.com/1996/05/ray-casting-tutorial-14/


I'm not suggesting it's particularly easy, but if my guesses about the raycasting-like engine are correct then there's an approach that's much MUCH less drastic than transitioning to fully 3D geometries and techniques. And even if my implementation guesses are wrong... it's an approach that is compatible with the data-formats we already have for occluders. The primary change needed is that the LoS layer gets a height, which could be optional and get infinity or some max-value by default.

pollux
May 9th, 2020, 00:02
We're not using anything remotely similar to a 2.5D raycasting engine. That sort of approach can work well with a limited FOV and a fixed pixel-grid for projections. It does not translate well for 2D maps.

Thanks for clarifying.

pindercarl
May 9th, 2020, 00:32
Thanks for clarifying.

No problem. I realize that the LOS is a black box to the end-user and I don't want to get anyone's hopes up that we'll just flip a switch and add height. Right now, the focus for LOS is solid 2D performance.

LordEntrails
May 9th, 2020, 05:43
For anyone new to the FG ecosystem, Carl is the developer behind TableTop Connect from 2015; https://www.kickstarter.com/projects/840448191/tabletop-connect-3d-virtual-tabletop

I'm confident that Carl is a reliable expert on 2D, 3D and rendering software :)

isaiaheverin
June 7th, 2020, 02:02
As for cliffs, the current suggestion/practice it to use Terrain and add it to the edge square/area of the top of the cliff, that way anyone near the edge can see everywhere below and those below can see those on the edge.

I hope a better solution than this comes, because this concept only works if you have a single cliff facing a single direction on the map. One-way walls definitely solve some issues with ledges, but as you can see in the below example (a canyon), what you really need in some cases is basically a "reverse terrain piece." You can see over it but not inside of it unless you're also inside of it. You could then allow seeing over the edge with a one-way wall around the "hole" region, I think? Maybe too complicated.

TBF, no other VTT solves this anyways, but seemed worth mentioning.

36608

Surge
June 9th, 2020, 23:19
what you really need in some cases is basically a "reverse terrain piece." You can see over it but not inside of it unless you're also inside of it.

That sounds like a great idea to be honest. I would guess it is also in the realms of the possible for a future feature.

Eriwan
January 14th, 2021, 04:55
Couldn't find exactly what I was looking for on the official wishlist. Therefore here is my take after playing with the Pit for quite a while now: https://fg2app.idea.informer.com/proj/fg2app?ia=135391

High ground / low ground
Most important part of the idea, a reverse Pit (experimental) would be super neat, such as for a spire in the middle of a map.
I would call such LoS "high ground":
-Movement might or not be restraint (maybe by a similar function as the door locking);
-Any creature inside can see everything inside and outside;
-Any creature outside of it can't see in it nor pass it.
(Even better would be to have only those outside be able to see only the first square inside the zone, and at the same time only a creature on the first square inside the line would be able to see outside the zone, but I get that it may be quite hard to do, so I would be still really glad to have the simpler version.)

Such idea in fact came from toying with the said Pit (experimental), which allow one way see-through, but prevent movement, which seems to works great for trap, but less for a climbable hole. Therefore, it be great to have a similar LoS that wouldn't prevent the movement from the player side.
I would call it "low ground":
-movement can go in any direction (maybe having a similar function as locked door to prevent move)
-when in it, a creature can only see what's in it;
-any creature outside can see everything in it;
(Also, if feasable creature inside could also see the first square outside the line, and only from the first square outside the line, a creature would be able to see everything inside, but I get that it may be quite hard to do, so I would be still really glad to have the simpler version.)
There is this idea that is similar but instead represent more a deep depression so low that line of sight can't be share in any way without blocking what's on the other side for a creature outside, but I feel it would be best been a separated piece of LoS. https://fg2app.idea.informer.com/proj/?ia=129793

I know that the Terrain feature is suppose to be use to represent high/low ground, but I find it much more useful to cut out objects (like boulder) or dense zone (such as foliage in a thick forest). In fact, this video try to show how to use it for cliff, but end up showing why it can't work properly: why a creature on a level can't see everything for the same plane! https://youtu.be/dpaUojfIFCw?t=461

The concept of my idea, though is to be unrelated to any height indicator to not force the map to work on a third dimension, but simply to allow or prevent certain types of visibility, which fake the height.

Zacchaeus
January 14th, 2021, 10:56
There's no need to post the same thing in multiple threads - that just wastes people's time. Please desist.