Angband 64 x 64 pixel tileset

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Derakon
    Prophet
    • Dec 2009
    • 9022

    #16
    For what it's worth, I've done some work on faced wall tile generation. Here's one of the tilesets I made:



    That's 20 different tiles (there's 9 in that large center block) and it covers every combination I wanted for the project I was working on. Angband doesn't need the 45° sloped tiles, which brings you down to 16. Lighting should be handled through some kind of postprocessing filter that tints the tiles IMO.

    Probably you could get away with only rendering the faces of the walls, and using a procedural texture fill for the interiors; I've been meaning to give that a shot since it would have the added benefit of making the wall interiors less repetitive. Then you'd only need 12 images: four faces (north/east/west/south), 4 corners joining faces (northeast, northwest, southeast, southwest), and four corners that don't join faces (likewise). Probably you could get rid of the latter set of corners and bring it down to only 8 manually-created images.

    Though honestly, at this point I start recommending you just use OpenGL and 3D geometries that actually do what you're trying to simulate with 2D.

    Comment

    • Shockbolt
      Knight
      • Jan 2011
      • 635

      #17
      Originally posted by Derakon

      Though honestly, at this point I start recommending you just use OpenGL and 3D geometries that actually do what you're trying to simulate with 2D.
      Now that comment I liked
      http://www.rpgartkits.com/
      Fantasy art kits for personal and commercial use. Commercial use requires a Developer license, also available through my website.

      Comment

      • Shockbolt
        Knight
        • Jan 2011
        • 635

        #18
        64 x 64 pixel tileset "V2.0".

        This tileset has 2 types of walls and 2 types of doors, I'll explain my thoughts about them:

        Walls:
        There's now a solid wall for vertical walls and "fillings" between rooms/tunnels,
        the "south" end of this wall needs to end in a "3D-type" wall.
        "3D-type" walls are shown for horizontal walls and "south" corners.

        Doors:
        Horizontal doors are just 1 tile as shown in the concept,vertical doors need to be 2 tiles stacked vertically. As seen in the concept, the vertical door to the left is shown as open, the one to the right is closed. The vertical door should also have a version that is flipped 180 degrees.

        This should generate less work than my initial approach to the tileset...hopefully.

        I'm also thinking of creating different player tiles for when the player is standing in the doorway (some of the player being blocked by the wall/doorway), it shouldn't be too hard to add this feature to the game?

        Last edited by Shockbolt; April 15, 2014, 19:38.
        http://www.rpgartkits.com/
        Fantasy art kits for personal and commercial use. Commercial use requires a Developer license, also available through my website.

        Comment

        • dos350
          Knight
          • Sep 2010
          • 546

          #19
          still looking good , ee!
          ~eek

          Reality hits you -more-

          S+++++++++++++++++++

          Comment

          • d_m
            Angband Devteam member
            • Aug 2008
            • 1517

            #20
            Originally posted by fph
            Nitpick: that sums to 256, not 260. You can get that figure, as well as the 16 above, in a simpler way: each edge or vertex can be either connected or not connected, so 2 possibility for each of the 8 edges/vertices, 2^8=256.
            Indeed you're correct.
            linux->xterm->screen->pmacs

            Comment

            • d_m
              Angband Devteam member
              • Aug 2008
              • 1517

              #21
              Originally posted by Shockbolt
              This should generate less work than my initial approach to the tileset...hopefully.

              I'm also thinking of creating different player tiles for when the player is standing in the doorway (some of the player being blocked by the wall/doorway), it shouldn't be too hard to add this feature to the game
              The way the current code works is that every square of Angband gets translated into a static graphic tile. Currently there are some cases where one ascii character (for instance @) gets mapped onto different tiles depending on game settings (character's gender and race, for instance). But changing which tiles get used for tiles that are currently all the same (for instance walls, and the permanent walls that get used in town) is definitely some work.

              That said I think the work is worth doing.

              One thing to consider when working on walls is how you would draw this dungeon using the 16 kinds of wall tiles I suggeseted:

              Code:
              +------------------+
              |     # # ### #####|
              |# #  ### # # #####|
              |   #   # ### ## ##|
              |## # # #     #####|
              |     # # ### #####|
              |# # # ## ###      |
              | # # # # ###      |
              +------------------+
              (the +, | and - are used only to show the edges -- they should be empty tiles)

              We should be able to generate this image just by pasting in your empty floor graphic tile and the 16 different wall tiles--this is how the game actually uses tiles. I suspect that having walls of varying thickness (for now) isn't going to work, but that it should be possible to give walls a somewhat 3D look like you did by figuring out whether they are "attached on" a side or not.

              EDIT: I started working on a super simple 16x16 version of this in mtpaint and I'm worried that you need the diagonal connections to get this right.

              EDIT2: Yeah, it's hard to get the 3D look you want without knowing about diagonal adjacency. Otherwise, it's hard to get these two cases done correctly for X:

              Code:
              +--+ +--+
              |X#| |X#|
              |# | |##|
              +--+ +--+
              In the first case, you want X to have a little bit from the lower right missing, since presumably you're going to have some angling/3D effect on the two adjacent walls. In the second case, you definitely don't want a bit missing from the lower right, because it needs to flow into the diagonally adjacent square.

              However, I think you only care about diagonally adjacent walls when both of the compass directions are filled, meaning you don't need 256 wall tiles, but only 47 wall tiles (the base 16, plus an additional +1x4 tiles for the elbow cases (2/4 not in a line), an additional +3x4 for the cases for the tiles blocked on 3/4 sides, and +1x15 cases for the wall that is blocked on 4/4 sides). It's late and I might be tired, but I'm pretty sure this is mostly right.

              I will try to finish up my simple graphics example and post it here.
              Last edited by d_m; January 5, 2011, 07:14.
              linux->xterm->screen->pmacs

              Comment

              • Shockbolt
                Knight
                • Jan 2011
                • 635

                #22
                when pasting all the items, creatures and stuff to the tilemap, I'm guessing that I have to stick to an already fixed pattern? For example 2H-sword needs to be left of the Battleaxe, which need to be next to the dagger etc.

                Could I just use the 32x32.bmp file in the graf folder and scale it up to 64x64 pixels, then add my own tiles ontop of the ones already in that one (removing the ones already there ofcourse)?
                Last edited by Shockbolt; January 5, 2011, 10:00.
                http://www.rpgartkits.com/
                Fantasy art kits for personal and commercial use. Commercial use requires a Developer license, also available through my website.

                Comment

                • Nomad
                  Knight
                  • Sep 2010
                  • 958

                  #23
                  Originally posted by Shockbolt
                  Could I just use the 32x32.bmp file in the graf folder and scale it up to 64x64 pixels, then add my own tiles ontop of the ones already in that one (removing the ones already there ofcourse)?
                  That's basically what I did when I was making my 8x16 tileset. It's not necessary to keep the tiles in the same order, but if you change it you'll need to update the tile coordinates in the pref files. The ones used for the 32x32 David Gervais set are graf-dvg.prf (for features, monsters and most objects), flvr-dvg.prf (for the flavoured objects) and xtra-dvg.prf (special player tiles for race/class combinations). The tiles are numbered in hex code in y:x format, so the tile in the top left corner is at 0x80:0x80, the one to the right of it is 0x80:0x81, etc.

                  Unfortunately, tile dimensions are hard-coded and can't be changed just using pref files, so you need someone to code you an option to use 64x64 tiles. The only way you could test them in-game at the moment would be to shrink them down to half size and use them in place of the 32x32 tiles.

                  Comment

                  • Shockbolt
                    Knight
                    • Jan 2011
                    • 635

                    #24
                    Originally posted by Nomad

                    Unfortunately, tile dimensions are hard-coded and can't be changed just using pref files, so you need someone to code you an option to use 64x64 tiles. The only way you could test them in-game at the moment would be to shrink them down to half size and use them in place of the 32x32 tiles.
                    I figured there would have to be some tweaking to the codes for the 64x64 tiles to work. Until someone voulenteers to do that, I'll continue to paint the tileset.
                    http://www.rpgartkits.com/
                    Fantasy art kits for personal and commercial use. Commercial use requires a Developer license, also available through my website.

                    Comment

                    • Shockbolt
                      Knight
                      • Jan 2011
                      • 635

                      #25
                      Originally posted by d_m

                      (the +, | and - are used only to show the edges -- they should be empty tiles)

                      We should be able to generate this image just by pasting in your empty floor graphic tile and the 16 different wall tiles--this is how the game actually uses tiles. I suspect that having walls of varying thickness (for now) isn't going to work, but that it should be possible to give walls a somewhat 3D look like you did by figuring out whether they are "attached on" a side or not.

                      EDIT2: Yeah, it's hard to get the 3D look you want without knowing about diagonal adjacency. Otherwise, it's hard to get these two cases done correctly for X:

                      Code:
                      +--+ +--+
                      |X#| |X#|
                      |# | |##|
                      +--+ +--+
                      In the first case, you want X to have a little bit from the lower right missing, since presumably you're going to have some angling/3D effect on the two adjacent walls. In the second case, you definitely don't want a bit missing from the lower right, because it needs to flow into the diagonally adjacent square.

                      However, I think you only care about diagonally adjacent walls when both of the compass directions are filled, meaning you don't need 256 wall tiles, but only 47 wall tiles (the base 16, plus an additional +1x4 tiles for the elbow cases (2/4 not in a line), an additional +3x4 for the cases for the tiles blocked on 3/4 sides, and +1x15 cases for the wall that is blocked on 4/4 sides). It's late and I might be tired, but I'm pretty sure this is mostly right.

                      I will try to finish up my simple graphics example and post it here.
                      I'm not exactly sure what 16 tiles You refer to for the standard walls, do they include all 3 shade versions of each tile?

                      Can the dungeon be rendered using only two (or three tile types) as in my second version posted instead of the 3D'ish first version at the beginning of this thread? I've put together a better example that show the new wall tiles and how they are put together, I even used one of Your examples from a previous reply

                      When I wrote 3 tiles, I was referring to a third wall tile that really isn't needed, but can be there for an added "3D feel", as that tiletype partially hides the player behind it. See the left most part in the attached image to this reply.

                      Edit: For the filler wall tile(wall tile 1) You'd have to code into the game that it'd have to be replaced by tile 2, once the tile type 2 was tunelled away infront of it, if You know what I mean.

                      Last edited by Shockbolt; April 15, 2014, 19:38.
                      http://www.rpgartkits.com/
                      Fantasy art kits for personal and commercial use. Commercial use requires a Developer license, also available through my website.

                      Comment

                      • EpicMan
                        Swordsman
                        • Dec 2009
                        • 455

                        #26
                        Those look sweet! I'm also a diehard ASCII player, but I would switch to those tiles in a heartbeat.

                        Comment

                        • d_m
                          Angband Devteam member
                          • Aug 2008
                          • 1517

                          #27
                          Originally posted by Shockbolt
                          Can the dungeon be rendered using only two (or three tile types) as in my second version posted instead of the 3D'ish first version at the beginning of this thread? I've put together a better example that show the new wall tiles and how they are put together, I even used one of Your examples from a previous reply
                          Yeah, if you don't need the horizontal perspective then we can use many fewer tiles. I think this would be a lot more feasible to do and it still looks nice!

                          Right now the game can't use two tiles on one square (for instance, to hide the player like you suggested). It's a neat idea but I'd rather stick to something simpler at first.

                          So yeah, as long as you can represent a verticle line of three walls, two walls, and a wall standing by itself we should be fine.

                          EDIT: I had something about needing a different graphic for a pillar. I'm not sure we do although it might be nice to have.

                          EDIT2: The one sort of confusing thing is that if you have two walls which are diagonal you can move between them. The horizontal perspective is nice in that we could make it obvious that there is space, but having to make 47 tile images would be really thankless.
                          Last edited by d_m; January 5, 2011, 17:03.
                          linux->xterm->screen->pmacs

                          Comment

                          • Derakon
                            Prophet
                            • Dec 2009
                            • 9022

                            #28
                            I'm telling ya, OpenGL. Just whip up a wall texture and describe the geometries of the different wall configurations and you're good to go.

                            Comment

                            • Nomad
                              Knight
                              • Sep 2010
                              • 958

                              #29
                              The graphic pref files actually already include entries for four different types of wall tiles, labelled 'basic', 'inner', 'outer' and 'solid'. It looks like only the 'basic' type are ever actually generated by the game at present, but the others do have numbers and can be assigned graphics, so I guess it was intended at some point to implement a similar sort of four-tile system.

                              I think the Nethack wall tiles use a four-tile system, where you've got horizontal walls, vertical walls, and 'front' and 'back' corner blocks, like so:

                              Code:
                              B-----B
                              |     |
                              |     |
                              F-B B-F
                                | |   
                                | |

                              Comment

                              • takkaria
                                Veteran
                                • Apr 2007
                                • 1951

                                #30
                                Originally posted by Nomad
                                The graphic pref files actually already include entries for four different types of wall tiles, labelled 'basic', 'inner', 'outer' and 'solid'. It looks like only the 'basic' type are ever actually generated by the game at present, but the others do have numbers and can be assigned graphics, so I guess it was intended at some point to implement a similar sort of four-tile system.

                                I think the Nethack wall tiles use a four-tile system, where you've got horizontal walls, vertical walls, and 'front' and 'back' corner blocks, like so:

                                Code:
                                B-----B
                                |     |
                                |     |
                                F-B B-F
                                  | |   
                                  | |
                                Those walls are used by dungeon generation and then discarded, I'm afraid... nothing to do with tiles!
                                takkaria whispers something about options. -more-

                                Comment

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