Isometric on a Mac

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • st.patrik
    Rookie
    • Aug 2008
    • 9

    Isometric on a Mac

    Hi all!

    I have messed around with Angband variants for a while and always used the ascii mode, but recently am trying Unangband, which has some interesting looking isometric tiles available. Trouble is, I can't figure out how to use them. I am using Mac OS X, which may complicate matters.

    I choose the different tile sizes from the Appearance menu, and the 8x8, 16x16, and 32x32 show up (though they are all the same size, which was unexpected...). But the Isometric 54x54 tiles don't.

    Does anyone know anything about how to get tiles, especially large size tiles, set up on a mac? Or better yet, specifically getting Unangband's Isometric tiles up and running?

    I searched the forums but couldn't find an answer.
  • andrewdoull
    Unangband maintainer
    • Apr 2007
    • 872

    #2
    Originally posted by st.patrik
    Hi all!

    I have messed around with Angband variants for a while and always used the ascii mode, but recently am trying Unangband, which has some interesting looking isometric tiles available. Trouble is, I can't figure out how to use them. I am using Mac OS X, which may complicate matters.

    I choose the different tile sizes from the Appearance menu, and the 8x8, 16x16, and 32x32 show up (though they are all the same size, which was unexpected...). But the Isometric 54x54 tiles don't.

    Does anyone know anything about how to get tiles, especially large size tiles, set up on a mac? Or better yet, specifically getting Unangband's Isometric tiles up and running?

    I searched the forums but couldn't find an answer.
    It's windows only at the moment unfortunately.

    And highly experimental e.g. great for screenshots but not for actual gameplay.

    Andrew
    The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
    In UnAngband, the level dives you.
    ASCII Dreams: http://roguelikedeveloper.blogspot.com
    Unangband: http://unangband.blogspot.com

    Comment

    • Lebannen
      Apprentice
      • Apr 2008
      • 61

      #3
      I'm actually working on this as we speak (Though away from home this week, so don't expect it too soon).

      The Mac graphics at the moment use the current font tile size - so to display graphics at different sizes, either alter your font size or the width/height (bottom of the Appearance menu). Setting the "Double Wide" option can also help a lot.

      (How do other ports handle this, by the way - if you choose 32x32, are the font settings changed to match? That sounds like a good idea...)

      UnAngband won't currently save the tile width and tile height settings between sessions on the Mac - I'm working on an updated version which has fixed this, and am now working on support for the 54x54 iso tiles.

      Comment

      • st.patrik
        Rookie
        • Aug 2008
        • 9

        #4
        Downer

        That's too bad that Isometric is windows only...is this likely to change? or shall I stop thinking about it?

        Lebannen - you mean you are working on Isometric for Mac, or just better support of graphics in general? I took some of your hints (increasing the font size) and found that eventually I could get it to change. Initially I was getting tiles with black borders around them.

        Thanks for the responses folks - I know Macs are not overwhelmingly represented in the Angband community, and so I appreciate that there mac versions of many variants, and I appreciate the responses.

        Comment

        • Lebannen
          Apprentice
          • Apr 2008
          • 61

          #5
          Originally posted by st.patrik
          That's too bad that Isometric is windows only...is this likely to change? or shall I stop thinking about it?
          It might be likely to change... http://angband.oook.cz/forum/showthr...=828&page=5#42

          As andrewdoull notes, the isometric mode is still highly experimental, ie very rough around the edges. What you'll see in the Mac version above is very close to the experience I get on a Windows machine, with one improvement: I've altered the yellow "cursor" box to follow the isometric mode settings as well (roughly), so that "look" and similar commands remain useful. (The windows version also flickers a lot when I try it, but that may be because I'm running it in an emulator)



          My thoughts on the isometric mode, having played around with it a bit:

          1) It would really benefit from having the graf-iso.prf definitions updated. Other modes get away with substituting text characters for missing graphics definitions; in isometric, text characters are still drawn on the underlying grid, which makes them very hard to associate with the offset gap in the iso tiles. In addition, the graf-iso.prf seems to be rather behind the graf-dvg.prf defitions, despite the layout being very similar (I think?) - for example, backgrounds seem to default fairly often and the player character is always represented by one icon, whatever the race/class?

          2) The isometric mode is a normal grid-based layout, skewed and rotated. This means the corners of the screen are always empty, and odd window shapes means the edges can go offscreen. It would be lovely if the underlying engine fed a different area to draw in iso modes.

          3) Similarly, repaints are also skewed. Text is often left on screen and not painted over.

          4) Because the entire grid is redrawn every move, there's quite a speed penalty. I think it would be beneficial to repaint only updated tiles and the two directly behind; by combining this with a already-redrawn check, the worst case wouldn't be too much worse than refreshing the entire screen and most cases would be much better...

          5) The drawing system should be able to tell whether it should be laying out graphics and text in an iso operation or a normal operation. Currently tiles are laid out via iso in the main window and normally outside that; text is always laid out via the normal grid. This ensures that the graphics look ok and text is legible, but there's a few edge cases: ASCII graphics fallbacks are drawn on the underlying grid instead of on the iso grid, and there's a hard choice as to whether to draw the cursor yellow rectangle on the normal grid (text entry, list navigation) or on the isometric grid ("l"ook, targetting, and so forth).


          It'd be very interesting to get a proper mode up and running, and I think it could be a slow evolution from the current state. It'd also make the game potentially much more appealing to newcomers, especially if it's a start-mode question such as those used on first launch in Unangband.

          I want to hit a few more variants with the current Mac code, but then I may try tackling a few of these a bit later along.

          Comment

          • andrewdoull
            Unangband maintainer
            • Apr 2007
            • 872

            #6
            Originally posted by Lebannen
            (How do other ports handle this, by the way - if you choose 32x32, are the font settings changed to match? That sounds like a good idea...)
            There's a 'nice' graphics option on windows that attempts to choose a double or triple tile size and/or big tile combination that best matches the font and tile size you currently have, ensuring that the graphic tiles are never scaled.

            From the source code:

            if (use_graphics_nice)
            {
            switch (use_graphics)
            {
            case GRAPHICS_DAVID_GERVAIS_ISO:
            {
            /* Reset the tile info */
            td->tile_wid = 54;
            td->tile_hgt = 54;
            break;
            }

            case GRAPHICS_DAVID_GERVAIS:
            {
            /* Reset the tile info */
            td->tile_wid = 32;
            td->tile_hgt = 32;
            break;
            }

            case GRAPHICS_ADAM_BOLT:
            {
            /* Reset the tile info */
            td->tile_wid = 16;
            td->tile_hgt = 16;
            break;
            }

            case GRAPHICS_ORIGINAL:
            {
            /* Reset the tile info */
            td->tile_wid = 8;
            td->tile_hgt = 8;
            break;
            }

            case GRAPHICS_NONE:
            {
            /* Reset the tile info */
            td->tile_wid = td->font_wid;
            td->tile_hgt = td->font_hgt;
            break;
            }

            }

            use_trptile = FALSE;
            use_dbltile = FALSE;
            use_bigtile = FALSE;

            if ((td->tile_hgt >= td->font_hgt * 3) && (td->tile_wid >= td->font_wid * 3))
            {
            use_trptile = TRUE;
            td->tile_wid /= 3;
            td->tile_hgt /= 3;
            }
            else if ((td->tile_hgt >= td->font_hgt * 2) && (td->tile_wid >= td->font_wid * 2))
            {
            use_dbltile = TRUE;
            td->tile_wid /= 2;
            td->tile_hgt /= 2;
            }

            if (td->tile_wid >= td->font_wid * 2)
            {
            use_bigtile = TRUE;
            td->tile_wid /= 2;
            }

            if (td->tile_wid < td->font_wid) td->tile_wid = td->font_wid;
            if (td->tile_hgt < td->font_hgt) td->tile_hgt = td->font_hgt;

            I hope that makes sense.
            The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
            In UnAngband, the level dives you.
            ASCII Dreams: http://roguelikedeveloper.blogspot.com
            Unangband: http://unangband.blogspot.com

            Comment

            • andrewdoull
              Unangband maintainer
              • Apr 2007
              • 872

              #7
              Originally posted by Lebannen
              It might be likely to change... http://angband.oook.cz/forum/showthr...=828&page=5#42

              As andrewdoull notes, the isometric mode is still highly experimental, ie very rough around the edges. What you'll see in the Mac version above is very close to the experience I get on a Windows machine, with one improvement: I've altered the yellow "cursor" box to follow the isometric mode settings as well (roughly), so that "look" and similar commands remain useful. (The windows version also flickers a lot when I try it, but that may be because I'm running it in an emulator)



              My thoughts on the isometric mode, having played around with it a bit:

              1) It would really benefit from having the graf-iso.prf definitions updated. Other modes get away with substituting text characters for missing graphics definitions; in isometric, text characters are still drawn on the underlying grid, which makes them very hard to associate with the offset gap in the iso tiles. In addition, the graf-iso.prf seems to be rather behind the graf-dvg.prf defitions, despite the layout being very similar (I think?) - for example, backgrounds seem to default fairly often and the player character is always represented by one icon, whatever the race/class?

              2) The isometric mode is a normal grid-based layout, skewed and rotated. This means the corners of the screen are always empty, and odd window shapes means the edges can go offscreen. It would be lovely if the underlying engine fed a different area to draw in iso modes.

              3) Similarly, repaints are also skewed. Text is often left on screen and not painted over.

              4) Because the entire grid is redrawn every move, there's quite a speed penalty. I think it would be beneficial to repaint only updated tiles and the two directly behind; by combining this with a already-redrawn check, the worst case wouldn't be too much worse than refreshing the entire screen and most cases would be much better...

              5) The drawing system should be able to tell whether it should be laying out graphics and text in an iso operation or a normal operation. Currently tiles are laid out via iso in the main window and normally outside that; text is always laid out via the normal grid. This ensures that the graphics look ok and text is legible, but there's a few edge cases: ASCII graphics fallbacks are drawn on the underlying grid instead of on the iso grid, and there's a hard choice as to whether to draw the cursor yellow rectangle on the normal grid (text entry, list navigation) or on the isometric grid ("l"ook, targetting, and so forth).


              It'd be very interesting to get a proper mode up and running, and I think it could be a slow evolution from the current state. It'd also make the game potentially much more appealing to newcomers, especially if it's a start-mode question such as those used on first launch in Unangband.

              I want to hit a few more variants with the current Mac code, but then I may try tackling a few of these a bit later along.
              Sounds like the same list I put together the last time I complained that the maintainer of Unangband only ever did half a job

              Andrew
              The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
              In UnAngband, the level dives you.
              ASCII Dreams: http://roguelikedeveloper.blogspot.com
              Unangband: http://unangband.blogspot.com

              Comment

              • andrewdoull
                Unangband maintainer
                • Apr 2007
                • 872

                #8
                Originally posted by andrewdoull
                Sounds like the same list I put together the last time I complained that the maintainer of Unangband only ever did half a job

                Andrew
                Just to clarify, I'm not talking about Bandobras or Big Al here...
                The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
                In UnAngband, the level dives you.
                ASCII Dreams: http://roguelikedeveloper.blogspot.com
                Unangband: http://unangband.blogspot.com

                Comment

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