That's not as bad as I expected from the single pillar examples.
Does V have the rooms with a pillar row 1 space from the wall and an open center? What about the cross shaped rooms with a single pillar in the center?
targetting and LOS
Collapse
X
-
Code:. ... . #.# .# #.# #. .. ... .. .. .. ... .. .. #.# #.# #.# #. .# #.# #. .# ... ... ... .. ....... .. #.# #.# #.# #. .#.#. .# ......... .. ... .. #.#.#.#.#.#.#.#.#.# .#.#.#.#.#.#.#.#. ..................... ........@........ #@# .#.#.#.#.#.#.#.#. ..................... .. ... .. #.#.#.#.#.#.#.#.#.# #. .#.#. .# ......... .. ....... .. #.# #.# #.# #. .# #.# #. .# ... ... ... .. .. ... .. .. #.# #.# #.# .# #.# #. .. ... .. . ... . #.#
Leave a comment:
-
Everything seems to get hung up on pillars. So instead of treating pillars like pillars, why not just treat them like what they are, that is 10' diameter (cylindrical/top-down circular) chunks of stone (which are very well approximated, for our purposes, by diamonds), therefore, the pillars become diamonds (along with the ends of walls, and inside corners), and LOS if established by visibility from center, to center of any given grids. I've been playing around with this in Visio (pencil and paper method), and it both produces conical shadows, both around pillars and while standing in a doorway, and preserves the hockey stick. I don't see a problem with it. Full range of vision through a pillar is broken ( @.#??????? ) but I don't think that should exist in the first place.Leave a comment:
-
Look at the page with information on the implementation:
DFOV Implementation at RogueBasin
You can see an image which illustrates concepts behind line of sight in DFOV. The walls are arbitrary polygons, not diamonds.
Whether you want to view ## as two adjacent diamonds, or as the stretched hexagon that is their hull, is up to you. Both give rise to precisely the same visibility blockages. That means that you can think of your rooms as having straight walls instead of the constant jagging of diamonds.
IMO it is the equivalence to diamonds everywhere that makes it clear that the overall model works cleanly.Leave a comment:
-
Tactics like targetting hacks, sight hacks, pillar-dancing, etc, are all fallout from various game quirks (AI, LOS, FOV, etc). As such, I think it's fair to try to come up with better algorithms first and then worry about whether people's preferred hacks will still work (and in fact, I think the point of this is to get rid of some of the most flagrant/useful hacks).Leave a comment:
-
I haven't played with any alternate LOS setup, but I'd expect it to come up in the rooms with a
#.
..
fill pattern and in earthquaked areas. It also means you can't hide in the pillar's shadow while luring a ranged attacker into a pillar dance.Leave a comment:
-
I can't think of a time I've been saved by a single pillar, unless you use the pillar dance, but that would still work in DFOV. You can still use corners to lure a group of ranged attackers into melee, and corners are still tactical positions because the hockey stick would still allow you to limit your attackers to 1 melee and 2 ranged. You are more vulnerable while running down a corridor because there's 1 extra tile of enemies being able to project at you, but that's not much different than things are now.
In the current system, pillars could be an important tactical consideration but I don't feel like they ever are, Angband just doesn't have room templates that allow you to effectively utilize them to gain cover while fleeing or approaching. Maybe some of the vaults do? I can't think of any examples off the top of my head where flimsy columns would actually weaken gameplay.Leave a comment:
-
I've ported the sample DFOV implementation to C, and am trying to plug it into Angband to test with. It seems promising, although I'm a little bit nervous about getting a compatible path-finding algorithm working with DFOV.Leave a comment:
-
One problem with the lack of cover, though, is that cover is important to evasion of monsters with ranged attacks and evasion is a huge part of gameplay. That's the real reason for conical shadows.Leave a comment:
-
Look at the page with information on the implementation:
DFOV Implementation at RogueBasin
You can see an image which illustrates concepts behind line of sight in DFOV. The walls are arbitrary polygons, not diamonds. Treating the walls as full-tile with beveled edges is basically a simplification of the arbitrary polygons present in that article; you could also treat each wall as a diamond if you wanted to, and that would have a similar and acceptable effect.
Running the example program, it appears to function suitably, so I assume the demo implementation does not treat walls as full-tile squares, which is all I was getting at.
DFOV would change the meaning of a single #. Currently it's a massive 10'x10' obstruction, but in DFOV, it is a flimsy column. Pillar shadows are narrow and continuous from 0, 45, and 90 degrees, but all other angles are narrows, sparse and broken. Additionally there is very little partial cover around corners:
Code:###.# ###C# .AB.# #####
It's different but it seems pretty good.Leave a comment:
-
If walls took up the full tile, but had beveled edges around corners as d_m describes in #98, then I think digital field of view would be suitable. Without beveled edges, shadows cast on the diagonal are grossly inconsistent with the hori/vert.
Adjacent #s are adjacent diamonds, no more and no less. If they are horizontally adjacent, the points touch and so they provide a continuous obstruction. I don't see how beveling can come into this.
Diagonals are consistent with horizontal in that a single pillar viewed from a single square casts a straight line shadow equivalent to the one where you do center to center and only the center obstructs. That is not the definition per se, but it follows from the geometry At least I think it does.
I just clicked on your link, and that's not the original. The original reference was by Atanvarno to http://roguebasin.roguelikedevelopme..._field_of_viewLeave a comment:
-
If walls took up the full tile, but had beveled edges around corners as d_m describes in #98, then I think digital field of view would be suitable. Without beveled edges, shadows cast on the diagonal are grossly inconsistent with the hori/vert.Leave a comment:
-
The more I think about it, the more I wonder if the "digital field of view" is the right solution. The place where it wins is with two diagonal pillars.
Code:...... @#.... ..#... ......
Leave a comment:
-
My original proposal deals with everything cleanly, and doesn't introduce problems if you cast stone-to-mud at a passwall monster in a wall as some proposals would. The single problem is that an isolated # does not produce a cone, but rather a line along which LOS is blocked. The pillar is already assumed not to entirely fill the square [else treasure rooms are impassable], so it doesn't bother me that the char could "lean" to the left and right in his square to see enough to reduce a cone to a line. Not perfect, but not terrible.
As to room entrances, I think you are locked up in your experience with the current broken system. Consider a room entrance
Code:######### ## # ## # ABC # ## # ## # #########
The real question in my model is whether the left wall should be visible too from B. You could "lean" forward in the square and see it according to my model, and if passwall monsters extrude from a perfectly straight wall you ought to be able to see them without leaning, but leaving the wall and monsters in it not visible seems to make other things work out better. This really is a boundary case in terms of the math, so one should feel free to choose whichever solution feels better, and the alternative that a single # pillar blocks no LOS at all would certainly annoy a lot of people.Last edited by PowerDiver; June 23, 2009, 00:40.Leave a comment:
-
@MarbleDice
In this situation, where the player is in the corner of a room, how much of the adjacent walls can he see?
+########
#@
#
#
#
#
#
#
I think the heart of our difference is that I think he should be able to see the entire outline of the room up to 20 square visibility or whatever, but I am interpreting [possibly misinterpreting] your model to say that he cannot.
Code:####????? #####???? ?#####??? ??#####?? #@....... #.@...... #..@..... #...@.... #........ #........ #........ #........ #........ #........ #........ #........ ?........ #........ #........ #........ ?........ #........ #........ #........ ?........ ?........ #........ #........ ?........ ?........ #........ #........
The heart of this issue is that I believe LOS should be symmetric. Consider a door into a room. Stand at that door. You can't see the entire room, just a cone of it. Under a symmetric LOS algorithm, being able to see all room walls from any interior room tile would imply you could see every interior room tile while standing on any door to that room. To phrase it backwards, if, under a symmetrical LOS system, standing in a door yields a cone-shaped field of view, then if you were standing in any of those initially non-visible tiles, you would be unable to see that door to the room.
If this is an unacceptable flaw to you, then this system is still salvageable: you just have to give visibility to any wall which possesses an edge to which you can draw an unobstructed line from the player's center point. This would require more than a single center-to-center check, but might not require more than a couple of lines. However, this opens up another problem:
There may be many wall tiles you can see, but if there was an open tile at that location (and by extension a monster at that location), you would not be able to see the floor or the monster. What happens when there's a pass-wall monster at one of these "bonus visible wall" locations? The monster can't see through any walls except the one he's standing on, so for him it's like he's standing on a door, and he can't see you. Therefore under a symmetrical system, you shouldn't be able to see him. But then you'd have a visible wall with a non-visible pass-wall monster inside it. If that's okay, then great no problem. If you think you should be able to see all pass-wall monsters inside of visible walls, then you have to scrap the symmetry or its back to the drawing board.
Did all that make sense? I'm sure I could make some pictures if it would help illustrate the problems.
Intuitively, I agree with you, I think you should be able to see all of a rectangular room's walls while standing inside that room. However, I do think LOS should be symmetric, and I think standing on a door should yield a cone-shaped FOV. I don't think just because you're inside a room, cowering in a corner, that you should be able to see every monster lurking on the doors to the room that are on the walls you're standing next to (your vision would be too narrow to see around the corner). Having limited room wall visibility simulates this, and since the game does remember where walls are, not being able to see every wall tile from every interior position would not look strange.
Personally I prioritize symmetry, expanding/cone-shaped visibility/shadows, and directional consistency over being able to see behind every door to a room, from any position inside of that room.
Sorry for the long post, I hope that makes sense to you, even if you probably don't agree with it.Last edited by Marble Dice; June 22, 2009, 22:47.Leave a comment:
Leave a comment: