targetting and LOS

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Atarlost
    Swordsman
    • Apr 2007
    • 441

    Double-tiling is bad enough with graphics that have tile borders. (and yes, I have seen a game that uses rectangular "hex" grid because of a two unit per tile limit) Without tile borders, which ascii doesn't support, it's going to be completely illegible.
    One Ring to rule them all. One Ring to bind them.
    One Ring to bring them all and in the darkness interrupt the movie.

    Comment

    • Nolendil
      Adept
      • May 2007
      • 171

      HexRogue (java required) works well although I think the dungeon looks more like a cave this way since the walls are often more irregular.
      I admit the / and \ don't look like standard ascii characters but it should be possible to fix that.

      I don't think Angband needs to move to hex.
      However, I've been pondering about doing an hex variant for years but I haven't managed to beat my lazyness so far ^^
      Last edited by Nolendil; July 1, 2009, 23:17.
      A(3.2.0) C "Angdiira II" DP L:36 DL:44(2200') A+ R+ Sp w:Whip of Westernesse(+10,+10)(+2)
      A Mx H- D c-- f- PV+ s- d P++ M+
      C- S-- I So B++ ac GHB- SQ+ RQ++ V+

      Comment

      • zaimoni
        Knight
        • Apr 2007
        • 590

        Originally posted by Atarlost
        Double-tiling is bad enough with graphics that have tile borders. (and yes, I have seen a game that uses rectangular "hex" grid because of a two unit per tile limit) Without tile borders, which ascii doesn't support, it's going to be completely illegible.
        Or rather, most implementations of curses for text consoles don't support --the flags for selectively showing bottom/top/left/right borders are required by reasonably recent XOPEN curses specifications.

        Curses wrappers for graphical frontends (e.g., PDCurses/SDL) don't have this difficulty.
        Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
        Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
        Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011

        Comment

        • buzzkill
          Prophet
          • May 2008
          • 2939

          Originally posted by Nolendil
          I don't think Angband needs to move to hex.
          However, I've been pondering about doing an hex variant for years but I haven't managed to beat my lazyness so far ^^
          That's cool, but definitely in the variant realm.
          www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
          My banding life on Buzzkill's ladder.

          Comment

          • Pete Mack
            Prophet
            • Apr 2007
            • 6883

            Originally posted by Nolendil
            HexRogue (java required) works well although I think the dungeon looks more like a cave this way since the walls are often more irregular.
            I admit the / and \ don't look like standard ascii characters but it should be possible to fix that.

            I don't think Angband needs to move to hex.
            However, I've been pondering about doing an hex variant for years but I haven't managed to beat my lazyness so far ^^
            It takes some getting used to (and I think they should disable the j&k keys). I'd forgotten just how brutal rogue is...

            Killed by an orc at level 4!

            Comment

            • Catatonic
              Rookie
              • Jul 2009
              • 2

              It seems to me that the core issue is the distinction between wall visibility (intuitively edge-based) and creature/contents visibility (intuitively center-based). We end up with mutually-exclusive requirements only when we insist that they be one and the same thing.

              Why not just say that a tile is visible (and therefore gets stored in the memory map) if you can see an edge (or even a corner), but its contents are only visible (and therefore targetable) if you can see its center. This deals nicely with one of the core 'problem cases' of a ghost in a wall 20 tiles down a corrdor. The wall is visible, but neither the ghost not its wall are targetable (and by symmetry, it can't target the player). This also seems to be intuitive when, for instance, tossing a stone-to-mud at a distant wall. Sure you can see the wall, but it only gets 'mudded' if you hit it dead center, which requires you to dig out some intervening tiles, rather than just hit it with a 'glancing transmutation'.

              Edit: Another thing that occurred to me while I was reading this thread was the handling of 'peeking', where the player gets to see everyone in the room just by standing at the doorway. To me, it seems infinitely more elegant simply to offer a 'peek' command, which functions as a los-limited 'detect monster' spell centered at a location of choice adjacent to the player. This eliminates the 'shootable by anyone in the room' problem, while at the same time allowing the player to check the room out without exposing themselves (assuming the monsters they can already see aren't sufficiently terrifying )
              Last edited by Catatonic; July 3, 2009, 04:13.

              Comment

              • The Wanderer
                Rookie
                • Jun 2009
                • 2

                (Edit to add the second comment, which slipped my mind the first time through.)

                Originally posted by Catatonic
                It seems to me that the core issue is the distinction between wall visibility (intuitively edge-based) and creature/contents visibility (intuitively center-based). We end up with mutually-exclusive requirements only when we insist that they be one and the same thing.

                Why not just say that a tile is visible (and therefore gets stored in the memory map) if you can see an edge (or even a corner), but its contents are only visible (and therefore targetable) if you can see its center.
                For what it's worth, this is more or less exactly what I suggested a couple of pages back.

                This deals nicely with one of the core 'problem cases' of a ghost in a wall 20 tiles down a corrdor. The wall is visible, but neither the ghost not its wall are targetable (and by symmetry, it can't target the player).
                One problem with this is that it also means that the ghost wouldn't be visible, or targetable, even if it were in a wall immediately adjacent to the player - which doesn't necessarily make as much sense. I see no obvious way to avoid this without special-casing, and I'm not sure whether or not this is undesirable enough to all by itself disqualify this approach from consideration.
                Last edited by The Wanderer; July 3, 2009, 10:52.

                Comment

                • Catatonic
                  Rookie
                  • Jul 2009
                  • 2

                  Originally posted by The Wanderer
                  (Edit to add the second comment, which slipped my mind the first time through.)


                  For what it's worth, this is more or less exactly what I suggested a couple of pages back.
                  That'll teach me to skim-read

                  Originally posted by The Wanderer
                  One problem with this is that it also means that the ghost wouldn't be visible, or targetable, even if it were in a wall immediately adjacent to the player - which doesn't necessarily make as much sense. I see no obvious way to avoid this without special-casing, and I'm not sure whether or not this is undesirable enough to all by itself disqualify this approach from consideration.
                  Well, I think it's important to satisfy the los-symmetry requirement first of all... asymmetrical los leads to potentially abusable situations (even AI 'abusing' los to ambush the player), which IMO is a lot more severe than just
                  having 'odd' los rules.

                  On top of that, you have the requirement that creatures 'inside' a wall can shoot out, which basically means that a wall can't hide its own contents.

                  This seems to induce the general rule that los calculation ignores the status of the start and end tiles. I don't think this generates any weird corner-cases. I suppose you could hand-wave that away by saying ethereal creatures emit light that is only partially blocked by real objects, if that's the sort of thing you like doing

                  Comment

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