Blengband - 3D angband in development

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    #31
    Originally posted by getter77
    He's right....get them to do the wave with a beam spell!

    Even better, imagine how nice that would look on a birth option screen to all comers "Synchronised Convulsions Y/N?"
    +1. Better to spend dev time on functionality and stick with synchronised convulsions as long as people can stand them.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

    Comment

    • jplur
      Scout
      • Oct 2009
      • 31

      #32
      Ha ok. I'll be sure to at least add an option for synchronized convulsions.

      I've been working a lot this weekend, but it feels like progress is slow. I rewrote the level of detail script (it translates between the dungeon map and the local 'bubble' of reality the player sees). The game objects now have the right mesh and passable physics, but they are sometimes getting lost through the floor. (bad news if your trying to track down a 'special' feeling.

      I finished the new tileset, and had to rewrite the function that parses the map data into tile type and rotations. Previously it would look up the 4 cardinal neighbors, but the new tile types need to check all 8 neighbors. I wrote what I thought was an elegant routine to rotate a template 4 times and return a match, but it slows down the level generation time. For now I'm moving on, but in the future I'm going to have to pregenerate some sort of look up table; if the first number is 0 limit the search to all matches that start with 0. etc. If anyone has any ideas about this let me know

      So what's next? I have no idea. It's becoming clear that a lot of the base systems have to be written well otherwise i end up going back to them. I'm thinking key mapping and a control object should be set up soon. Keys will be mapped to commands. If you pass the 'fire missile' command to the conrol object it will pop the inventory menu with an 'ammo' filter and wait for your choice. But if you define a macro that passes ['fire missile', 1] it will bypass the menu to fire the first ammo inscribed '@f1'

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #33
        If I understand correctly what you mean by tileset issues, you have a 2D grid, with each space either being in the grid or out of it, and you want to generate the appropriate meshes/textures to cleanly show corners, blank walls, and the like, right?

        I wrote a solution to that problem in Jetblade. Basically the way it works is that I assign each space in a 3x3 grid a power of two:
        Code:
          1   2   4
          8  16  32
         64 128 256
        . This allows me to generate a "signature" for each adjacency pattern. For example, a freestanding pillar is only occupied in the center of the grid, so its signature is 16. A wall to the north would have a signature of 1 + 2 + 4 = 7. Because I use powers of two, every pattern has a unique signature. Then it's just a matter of mapping signatures to tile types.

        There are 2^9 = 512 possible signatures, but in practice many of them result in the same tile types, so I wrote a system to automatically generate the mapping based on a "must be empty / must be occupied / don't care" setup. If you download the Jetblade code, you can find more information on this in map.py's adjacencyKernelToBlockTypeMap object and util.py's adjacencyArrayToSignatures() function.

        I've considered extending this to use a 5x5 grid instead of a 3x3; that would allow me to have smoother diagonal walls (right now they're either flat or 45° angles). But that would result in 2^25 = 33554432 different signatures, which is rather a lot.

        Comment

        • Pete Mack
          Prophet
          • Apr 2007
          • 6883

          #34
          Originally posted by Derakon
          I've considered extending this to use a 5x5 grid instead of a 3x3; that would allow me to have smoother diagonal walls (right now they're either flat or 45° angles). But that would result in 2^25 = 33554432 different signatures, which is rather a lot.
          See: flyweight pattern, LRU cache

          Comment

          • jplur
            Scout
            • Oct 2009
            • 31

            #35
            Wow Derakon, that's just what I need! I allready have the same templates you are using with wildcards. I can put some code at startup to generate a dict of those signatures based on rotating the templates. Thanks!

            Comment

            • jplur
              Scout
              • Oct 2009
              • 31

              #36



              After dealing with some bugs I'm back on track. It's hard to find all 4 of the monster symbols together but here is an in game shot.

              My to do list

              inventory
              control object with que
              keymap to command names
              menu that can filter from inventory/equipment/ground and return selection
              timing for entites based on speed
              melee actions for entities

              Comment

              • buzzkill
                Prophet
                • May 2008
                • 2939

                #37
                That looks awesome. My wife loves the natural lighting and high ceilings, when can we move in? Something near the surface (and shopping) would be nice.
                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

                • jplur
                  Scout
                  • Oct 2009
                  • 31

                  #38
                  Couple of videos up on youtube:

                  Enjoy the videos and music that you love, upload original content and share it all with friends, family and the world on YouTube.

                  Showing off inventory and stairscumming

                  Enjoy the videos and music that you love, upload original content and share it all with friends, family and the world on YouTube.

                  interesting hack using a sword. Objects have a mass equal to their weight but it looks like the system needs some tweaking.

                  I'm very glad the weekend is here, it means large chunks of time to work on this.

                  Comment

                  • Nick
                    Vanilla maintainer
                    • Apr 2007
                    • 9633

                    #39
                    This is starting to look really good.
                    One for the Dark Lord on his dark throne
                    In the Land of Mordor where the Shadows lie.

                    Comment

                    • jplur
                      Scout
                      • Oct 2009
                      • 31

                      #40
                      Thanks for the encouraging words!

                      I got a lot of work done in the depths of blengband. In short, inventory scrolls are working.

                      In detail; the menu can filter your inventory based on commands (quaff, read). Consumable items are consumed, reading an inventory scroll brings up another dialog displaying un-id'd items. players start with their class defined equipment. I have dummy functions for spells1.c and spells2.c, for now identify_pack is the only spell hooked up, but when I have time I can begin to add more spell effects and hook them up to items.



                      What's next? I'm going to give some TLC to the existing code. I plan on using cprofile module for python to find bottlenecks, redo some of my early programming work, and just clean things up in general.

                      Comment

                      • fizzix
                        Prophet
                        • Aug 2009
                        • 3025

                        #41
                        Originally posted by jplur
                        Thanks for the encouraging words!

                        I got a lot of work done in the depths of blengband. In short, inventory scrolls are working.

                        In detail; the menu can filter your inventory based on commands (quaff, read). Consumable items are consumed, reading an inventory scroll brings up another dialog displaying un-id'd items. players start with their class defined equipment. I have dummy functions for spells1.c and spells2.c, for now identify_pack is the only spell hooked up, but when I have time I can begin to add more spell effects and hook them up to items.



                        What's next? I'm going to give some TLC to the existing code. I plan on using cprofile module for python to find bottlenecks, redo some of my early programming work, and just clean things up in general.
                        Looking at the inventory screen: In case you don't want to bother messing around with pluralizations and other annoying things (like torches instead of torchs) I recommend using a system that looks like

                        Scroll of identify.............................9
                        Wooden Torch...............................7
                        Gloopy Green Potion........................1

                        This gets rid of having to deal with horrible non-standard english grammar, but still presents the info in a good way.

                        Comment

                        • jplur
                          Scout
                          • Oct 2009
                          • 31

                          #42
                          Update video: http://www.youtube.com/watch?v=x8YFjiIpiEM

                          Weapon equipment slot is working and you can wield weapons. It's all in preliminary stages right now.

                          Kind of confused how to sort through some game items. effect mushrooms and food rations have the same symbol and tval, so i end up checking for "&" in the item name to tell them apart.

                          Identifying flavors is now global and updates appropriately.

                          Comment

                          • jplur
                            Scout
                            • Oct 2009
                            • 31

                            #43
                            Image dump of a 300^2 map. The size of the map has no effect on in level speed, but who would want to clear something that regular?

                            Honestly I haven't looked to closely at the angband dungeon generate, I think it places rooms randomly and snakes halls to connect them all (where mine recursively splits the entire map and draws rooms on the lowest nodes)

                            Comment

                            • Derakon
                              Prophet
                              • Dec 2009
                              • 9022

                              #44
                              Heh. Reminds me of my own experiments in procedural map generation: 1.6MB PNG.

                              Comment

                              • jplur
                                Scout
                                • Oct 2009
                                • 31

                                #45
                                Originally posted by Derakon
                                Heh. Reminds me of my own experiments in procedural map generation: 1.6MB PNG.
                                Nice nice, your project is definitely inspiring me

                                Despite that development on this has kind of gotten derailed. A week ago I took some time off to learn about network programming. It was a lot of fun but when I came back to blengband it was like hitting a brick wall.

                                Maybe this sounds familiar to other developers. I'm guessing a lot of the project is in my short term memory and If don't actively work on it, it gets muddy. Doesn't help that my code is poorly commented either.

                                Anyway, I'm turning back to the art. It's guaranteed that I can get somthing accomplished after x amount of hours, let's hope it gets my mind back in the dungeon.

                                Comment

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