symmetric line of sight

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • PowerDiver
    Prophet
    • Mar 2008
    • 2820

    symmetric line of sight

    A long time ago in a forum far away there was a long discussion
    about how to implement symmetric line of sight. Perhaps some
    day developers will address out of control summoning and people may care.

    Should anyone want to implement this in the future,
    I have a clean solution. It is easy to understand.
    It allows for current dungeon creation to continue
    without requiring any modifications to room templates.

    Each square is considered to be a 10' x 10'.
    Think about breaking it into 25 minis that are 2' x 2' each.

    An open square '.' is made up of 25 open minis.

    A wall square such as '#' has each outer layer
    match the horizontally or vertically adjacent square.
    So if the neighbor is open, the minis are open,
    and if the neighbor is a wall, the minis are walls.
    Diagonally adjacent '#'s as in a pillar room do not affect each other.

    So for a pillar situation
    Code:
    #.#
    .#.
    #.#
    If we zoom in on the center '#' above, in the 5x5 view it looks like
    Code:
    .....
    .###.
    .###.
    .###.
    .....
    When there are two adjacent '#'s as in
    Code:
    ....
    .##.
    ....
    If we zoom in on the two '#'s the expanded view is
    Code:
    ..........
    .########.
    .########.
    .########.
    ..........
    For a corridor situation
    Code:
    ####
    ##..
    ...#
    ####
    If we zoom in it looks like
    Code:
    ####################
    ####################
    ####################
    ####################
    #########...........
    #########...........
    #########...........
    #########...........
    #########...........
    ....................
    ....................
    ................####
    ................####
    ................####
    ................####
    ................####
    ####################
    ####################
    ####################
    ####################
    Now line of sight can be implemented as center-to-center.
    Consider the situation:
    Code:
    ##e
    @..
    I'm writing this assuming you want the @ and e to see each other.
    You could do something similar without such visibility,
    but then a starting player might step next to an unseen floating eye
    at a corridor bend and ruin the game.

    Code:
    #########......
    #########......
    #########..*p..
    #########***...
    .......***.....
    .....***.......
    ...***.........
    ..@*...........
    ...............
    ...............
    In this diagram, '*'s mark the minis that a center to center line would pass through.
    There's nothing absolute about 5x5. It makes the diagrams easier. You would want
    to decide whether you want sight lines for
    Code:
    ###p
    @...
    If you make the external empty space large enough, they can see each other.

    That's the jist conceptually.


    In addition, this interpretation allows for an intuitive means for implementing
    larger monsters. For example, instead of occupying the center mini, a giant
    might occupy the entire inner 3x3 and block more arrow shots at monsters behind
    it at slight diagonals. You could also have a special corridor symbol meaning
    a narrow corridor a giant could not pass through.
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9634

    #2
    I have been thinking about this a bit recently.

    As I understand it the history of this is:
    1. There was an algorithm which divided the field of view into octants, and calculated visibility (and projectability) from the centre of the field to the grids by regarding the grids as little squares, and using the condition that any part of the viewed grid could be seen from the centre of the viewing grid;
    2. NPP kept visibility the same, but separated projectability ("field of fire") using the condition that the centre of the viewed grid be visible from the centre of the viewed grid;
    3. A new version of 1 was written for Angband, which allegedly gives the same field of view as 1, but I haven't checked it closely enough to verify.
    As Sil uses the NPP method, I am interested in whether 3 and 1 are in fact the same, and if so whether a 3-like approach can work for calculating NPP field of fire (I have just adapted the old algorithm, which is not ideal).

    I believe what you're suggesting here is an approximation to NPP's field of fire, but that (like many other things) needs more thought.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.

    Comment

    • Estie
      Veteran
      • Apr 2008
      • 2346

      #3
      Whats the point ?

      While technically, LOS in the real world is symmetrical, in practice all ranged combat involves positional advantage where A can easily hit B but not vice versa (cover, gradient, night vision, concealment, notches, you name it).

      Asymmetrical LOS is imo a better simulation of this than simple symmetrical LOS would be. Now you could add all kinds of advantages and disadvantages to the dungeon (maybe sitting in brush would help, some walls you be shot through assuming they have holes or whatever else you can come up with) but frankly I dont see this being worth the effort. Hockey stick mechanics are fairly simple but create more interesting game play than symmetry which I have experienced in tome4.

      Comment

      • PowerDiver
        Prophet
        • Mar 2008
        • 2820

        #4
        I think killing immobile monsters with impunity by abusing assymetric LOS is cheating. I know I'm in a minority. IMO summoners should never leave their throne in the center of a room until they've exhausted all of their summoning capability, and all any monster should need to be able cast spells is to be aware of the player regardless of LOS. That's just me applying my version of common sense. I know this would be unplayable, but IMO that's because summoners are broken rather than because this is a bad interpretation.

        The point of my post was to put something down that future developers could find with a search on this site. I've been feeling nostalgic for a week, and figured I should post a few thoughts until I lose interest or get annoyed again.

        This was a really long discussion back in the day, and the solution I posted is far cleaner than anything that was ever proposed. I did post this to the dev forum, not to the Vanilla forum.

        FYI any serious game change I mention is something where I beat the game in ironman with every class testing it out using a 3.0 or 3.1 or 3.2 base. That includes symmetric LOS in conjunction with digging and stone-to-mud modifed to make the creation of ASCs and/or hockeysticks impossible. OTOH I haven't really played in years, so my memory is fuzzy.

        Comment

        • Estie
          Veteran
          • Apr 2008
          • 2346

          #5
          There is no cheating without an attempt to deceive.

          I agree that the current situation is not ideal; I just dont agree that symmetry is an improvement.

          The combat itself has never been the strong point of Angband; it has always been about creating or exploiting favourable circumstances with the actual fight being usually nothing more than an exchange of blows.

          What about waiting for the monster to move close so you get the first (and often only) action ? Is that different ?

          What about casting ball shaped spells around the corner ?

          Comment

          • PowerDiver
            Prophet
            • Mar 2008
            • 2820

            #6
            Again, I posted a clean solution to a contentious problem. That was my purpose here. I don't want to argue about those issues in this thread. I only replied because it was a direct question about why I implemented it in the first place. I guess I left something out about my motivations. The game makes it far too easy to abuse LOS, and back then I promised myself not to do it. It was becoming far too much effort for me to figure out before each possible ranged attack whether the monster had reverse LOS on me. Coding symmetric LOS saved me, personally, at lot of annoyance while playing.

            Angband is a complicated game, and rather than have a manual with a thousand little rules it is better, IMO, if the game mechanics make common sense. I think the idea "if I can see you, you can see me" is pretty obvious. That's essentially my whole argument. It's pointless to argue about what is "obvious". You agree or you don't, and arguing won't change anything.

            I'm also easily irritated. In discussions of asymmetric LOS, people argued about situations such as peeking around corners, but their arguments give the opposite interpretation to the behavior they want! The Zephyr hound hanging around at the T intersection would be able to peek and breathe much further down the hallway than the player could peek from down the hallway at the hound. This is an example of the totally bogus arguments that egged me on.

            Comment

            • Estie
              Veteran
              • Apr 2008
              • 2346

              #7
              You say you dont want to argue and then proceed to argue. So I will ignore that part and argue (I love arguing):

              Again, looking at it with a moral mindset does not seem to be helpful.

              Axiom: The good rules are those that, if in a competitive environment exploited to the max, make for the best game play.

              Whether the ai should be more "intelligent" or not is a different question, and I would argue that the determining point should be the quality of game play.

              Back to the issue of LOS:

              Assuming axiom above is agreed on, the 2 options are:

              1. make LOS symmetrical: game play turns into: expose each other to the attacks, player disengages if risk of death occurs, heals up, repeat.

              2. keep hockey stick asymmetry: play will turn into an @ not able to survive 1 attack doing everything to avoid getting hit.

              Opinion: scenario 2 is more interesting game play

              The argument that being able to avoid LOS makes the game "too easy" is not valid; difficulty can be increased in a gazillion of ways to the point where the game becomes unwinnable. The question is only _where_ to increase difficulty and again, the resulting game play is the deciding factor imo.
              Last edited by Estie; February 17, 2023, 04:19.

              Comment

              • MITZE
                Swordsman
                • Jan 2017
                • 293

                #8
                Having tried a great many variants over my years of *banding, I can say that 1) other variants have done symmetrical LOS or at least I'm fairly sure, I haven't like looked at the LOS rules of things to absolutely verify it, 2) it doesn't ruin the game to have it and doesn't especially diminish gameplay and 3) some variants actively punish trying to cheese LOS (namely PosCheng and descendants) and it doesn't ruin the game there either.

                ---

                Axiom: The good rules are those that, if in a competitive environment exploited to the max, make for the best game play.
                That's not a rule, that's an opinion phrased as a rule and thus insufficient basis for a solid argument taken as is. Ignoring that: *band largely isn't a competitive thing so I still don't see how its relevant.

                2. keep hockey stick asymmetry: play will turn into an @ not able to survive 1 attack doing everything to avoid getting hit.

                Opinion: scenario 2 is more interesting game play
                I dunno, that just sounds tedious to me, or specifically like a challenge game built around the idea of a 1-hit-and-dead @.
                Last edited by MITZE; February 17, 2023, 05:33. Reason: Fixed grammar.
                Everything you need to know about my roguelike playstyle:

                I took nearly two years to win with a single character in PosChengband.

                Comment

                • fph
                  Veteran
                  • Apr 2009
                  • 1030

                  #9
                  Originally posted by MITZE
                  some variants actively punish trying to cheese LOS (namely PosCheng and descendants) and it doesn't ruin the game there either.
                  Interesting, how do they punish it? I have never played those variants but I am curious how they achieved it.
                  --
                  Dive fast, die young, leave a high-CHA corpse.

                  Comment

                  • Pete Mack
                    Prophet
                    • Apr 2007
                    • 6883

                    #10
                    Welcome back, Eddie!

                    Comment

                    • PowerDiver
                      Prophet
                      • Mar 2008
                      • 2820

                      #11
                      Since this thread won't die, I'm compelled to continue! If assymetric LOS is a reality of the angband world, surely the dungeon architects would know about it. They can't spend all their time making artsy looking vaults.

                      Morgoth should have a throne room that looks like
                      Code:
                      #.##
                      ##.##
                       ##.##
                        ##.##
                         ##.##
                          ##.##
                           ##.##
                            ##.##
                             ##.##
                              ##.##
                               ##.##
                                ##.##
                                ##.##
                                #####
                      and Morgoth should be smart enough not to move except to melee an adjacent @ that was lucky enough to survive to get to the adjacent square.

                      Those #'s are permanent wall, of course, and I got tired of typing so the corridor should be twice as long.

                      Comment

                      • MITZE
                        Swordsman
                        • Jan 2017
                        • 293

                        #12
                        Originally posted by fph
                        Interesting, how do they punish it? I have never played those variants but I am curious how they achieved it.
                        Among other things, summoners that don't have LOS on you can/will summon on you anyway if you hit them from where they can't see. They can also splash summon, like you might hit something around the corner with the splash damage of a ball spell.

                        EDIT: Actually, enemies can take advantage of splash attacks in general; things with ball spells and breaths will abuse them like a player will in an asymmetrical LOS game.
                        Last edited by MITZE; February 18, 2023, 02:53. Reason: Added a thought.
                        Everything you need to know about my roguelike playstyle:

                        I took nearly two years to win with a single character in PosChengband.

                        Comment

                        Working...
                        😀
                        😂
                        🥰
                        😘
                        🤢
                        😎
                        😞
                        😡
                        👍
                        👎