Adding color rooms to Angband

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9633

    #46
    Originally posted by Nomad
    Yep - all the frequencies for the different room types are in dungeon_profile.txt now. I just changed the parameters for template rooms so they start appearing from level 1 onwards with rarity 0 and got rid of all the other basic room types.
    One thing to note: this works fine for 4.0.5, but if you're playing the nightlies you'll need to do the same for the modified profile, because that is now used for about half the levels.

    I also want to highlight the fact that there are now many such big changes that can be made with a simple change to the text data files, and the plan is for more still.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.

    Comment

    • Nomad
      Knight
      • Sep 2010
      • 958

      #47
      Originally posted by Nick
      One thing to note: this works fine for 4.0.5, but if you're playing the nightlies you'll need to do the same for the modified profile, because that is now used for about half the levels.
      Oops, haven't been keeping up with the nightlies for a while, I must admit. Well, for the sake of completeness, here's a nightly-friendly version as well.

      I feel like these all template room levels might actually make a nice additional profile to have alongside classic and modified, so you get occasional levels like this rather than all levels all the time.
      Attached Files

      Comment

      • droof
        Apprentice
        • Dec 2013
        • 71

        #48
        Originally posted by Nomad
        Actually, just out of curiosity, I had a go at changing Angband to all templated rooms, all the time, and I've got to admit, it does look pretty fun.
        I've done the same thing. I have the color maps working now and committed in my angband github fork. So I can play with colors for the room templates, fun!

        One thing I notice about having room templates only vs the usual starting rooms are hidden doors. I walk about in the new rooms and walls almost randomly change into doors in many rooms. Not sure if this is correct, but the room templates do specify doors at the places where they change from wall to door. It feels a little random to see this happen so often. Also if every room is going to be dark, an increased line of sight by default would make it more enjoyable I think.

        I see plenty of possibilities for more rooms. By just looking at infinity engine dungeon maps, I see many interesting room shapes that might fit 11x33. These maps are also inspiring for possible room color combinations. I'll add some rooms tomorrow.

        I see many duplicate entries in dungeon_profile.txt, does that have a reason?
        Last edited by droof; December 10, 2016, 01:24.

        Comment

        • Nick
          Vanilla maintainer
          • Apr 2007
          • 9633

          #49
          Originally posted by droof
          I see many duplicate entries in dungeon_profile.txt, does that have a reason?
          https://github.com/angband/angband/b...on_profile.txt
          Every name: line is the beginning of a new profile, so it has to be followed by all the other details about the profile (notably all the room appearance lines).

          There are also a few unused profiles in there - these are experimental ones that still need the bugs ironed out of them.

          Originally posted by Nomad
          I feel like these all template room levels might actually make a nice additional profile to have alongside classic and modified, so you get occasional levels like this rather than all levels all the time.
          Indeed - moria levels are kind of like this but for moria rooms.

          In fact, currently all the profiles have fixed room probabilities for every level. Another option would be to mix that up sometimes on a per-level basis, so for example you might sometimes get a level with about half the rooms circular, etc.
          One for the Dark Lord on his dark throne
          In the Land of Mordor where the Shadows lie.

          Comment

          • Nomad
            Knight
            • Sep 2010
            • 958

            #50
            Originally posted by droof
            One thing I notice about having room templates only vs the usual starting rooms are hidden doors. I walk about in the new rooms and walls almost randomly change into doors in many rooms. Not sure if this is correct, but the room templates do specify doors at the places where they change from wall to door. It feels a little random to see this happen so often.
            Yes - probably because I cribbed the code off the vault code, all doors in room templates are automatically secret doors. I feel like it might make more sense to tweak that so that fixed-position doors created with the + symbol are just standard doors and only the random-position ones are now secret.

            Originally posted by droof
            I see many duplicate entries in dungeon_profile.txt, does that have a reason?
            https://github.com/angband/angband/b...on_profile.txt
            It's defining multiple different level profiles with slightly different allocations of rooms. There are the really different level types like "Town", "Cavern" and "Labyrinth" that don't have ordinary rooms at all, and then there are a bunch of variations on a theme that have similar but not identical lists of rooms. If you compare the "Classic" profile to the "Modified" one, a lot of the room types are the same, but Modified includes some additional types in there like "huge room", "room of chambers" and "Interesting room", plus the numerical parameters are different.

            (It's a bit hard to tell where one profile ends and the next one begins with the current formatting, really - might help to add more spacing between entries to distinguish between the start of a profile and the start of a new subsection under a profile.)

            Comment

            • droof
              Apprentice
              • Dec 2013
              • 71

              #51
              Okay, I see the multiple profiles now. And yes, spacing would help there.

              The room templates with all these features for secret doors, traps and treasure are not very suited for early common rooms. They're more like mini treasure rooms. I like the idea of more room variety from the very first level through a room template system without the secrets and traps. Just diverse interesting room shapes for early levels. Shape templates, how does that sound?

              What should I do with the optional color map code? Can I offer it for review somewhere?

              Comment

              • Pete Mack
                Prophet
                • Apr 2007
                • 6883

                #52
                Do you really need a template per room? Wouldn't a set of templates for each approximate room size/outline shape be enough?

                Comment

                • Nomad
                  Knight
                  • Sep 2010
                  • 958

                  #53
                  Originally posted by droof
                  The room templates with all these features for secret doors, traps and treasure are not very suited for early common rooms. They're more like mini treasure rooms. I like the idea of more room variety from the very first level through a room template system without the secrets and traps. Just diverse interesting room shapes for early levels.
                  This is what I wanted to do with the unused 'rating' field in the room templates. The majority of the templates are actually just interesting shapes with no OOD treasure or traps - it's only the ones in the last two sections of the file that have treasures. Ideally I'd like to be able to assign different ratings levels to the different types and have those affect minimum depth and rarity so the treasure room type come up later and less often.

                  At the moment the treasure rooms make up about 80 of the 500 templates, so they appear less commonly as a consequence of that, but obviously if you've got 20 template rooms on a single level they're going to start showing up fairly often.

                  Comment

                  • Derakon
                    Prophet
                    • Dec 2009
                    • 9022

                    #54
                    Originally posted by Estie
                    Rarely useful ? You cant have played many sorcerors.
                    Void jumpgates that you create yourself are an entirely separate matter. Those are broken as hell.

                    Comment

                    • Nick
                      Vanilla maintainer
                      • Apr 2007
                      • 9633

                      #55
                      Originally posted by Nomad
                      This is what I wanted to do with the unused 'rating' field in the room templates. The majority of the templates are actually just interesting shapes with no OOD treasure or traps - it's only the ones in the last two sections of the file that have treasures. Ideally I'd like to be able to assign different ratings levels to the different types and have those affect minimum depth and rarity so the treasure room type come up later and less often.

                      At the moment the treasure rooms make up about 80 of the 500 templates, so they appear less commonly as a consequence of that, but obviously if you've got 20 template rooms on a single level they're going to start showing up fairly often.
                      Tell me which rooms you want re-rated and how you think the rating should affect generation, and I'll make it happen.
                      One for the Dark Lord on his dark throne
                      In the Land of Mordor where the Shadows lie.

                      Comment

                      • droof
                        Apprentice
                        • Dec 2013
                        • 71

                        #56
                        Originally posted by Pete Mack
                        Do you really need a template per room? Wouldn't a set of templates for each approximate room size/outline shape be enough?
                        That depends on how many room shapes there are. Looking at other game maps, there are a lot of interesting situations for wall and monster placement within a room.

                        Originally posted by Nomad
                        At the moment the treasure rooms make up about 80 of the 500 templates, so they appear less commonly as a consequence of that, but obviously if you've got 20 template rooms on a single level they're going to start showing up fairly often.
                        So if we add a lot more non-treasure rooms, the treasure rooms will become rare by chance. That might work. Can 20 template rooms fit on a single level? So we need 2000 to make room template-heavy levels much more common while maintaining diversity throughout an entire run. I'll start by adding at least a few

                        Comment

                        • Nomad
                          Knight
                          • Sep 2010
                          • 958

                          #57
                          Originally posted by Nick
                          Tell me which rooms you want re-rated and how you think the rating should affect generation, and I'll make it happen.
                          Awesome! The simplest thing would probably be to change all the rooms in the section "Rooms with treasures" to rating:2 and the ones under "Rooms with specified treasures" to rating:3.

                          I'd say rooms with treasures should start appearing from level 10 onwards, and rooms with specified treasures from 30 onwards. Currently they make up about 12% and 4% of the template rooms, so I guess for now we might as well balance it to stay at around those percentages.

                          Would it be possible to break down these current probabilities in the Classic profile:

                          Code:
                          [bc=black] # Unusual rooms (rarity = 1)       
                                                              
                           room:large room:11:33:3:0:1:15     
                           room:crossed room:11:33:3:0:1:35   
                           room:circular room:22:22:1:0:1:50  
                           room:overlap room:11:33:1:0:1:70   
                           [b]room:[color=red]room template[/color]:11:33:[color=red]5[/color]:0:1:[color=red]100[/color] [/b][/bc]
                          by maybe adding an extra field for "rating" to the room parameters that would be 0 for most rooms but 1 to 3 for room templates, like so?

                          Code:
                          [bc=black] # Unusual rooms (rarity = 1)          
                                                                 
                           room:large room:[b][color=red]0[/color][/b]:11:33:3:0:1:15      
                           room:crossed room:[b][color=red]0[/color][/b]:11:33:3:0:1:35    
                           room:circular room:[b][color=red]0[/color][/b]:22:22:1:0:1:50   
                           room:overlap room:[b][color=red]0[/color][/b]:11:33:1:0:1:70    
                           [b]room:[color=red]room template[/color]:[color=red]1[/color]:11:33:[color=red]1[/color]:0:1:[color=red]95[/color]   
                           room:[color=red]room template[/color]:[color=red]2[/color]:11:33:[color=red]10[/color]:0:1:[color=red]98[/color]  
                           room:[color=red]room template[/color]:[color=red]3[/color]:11:33:[color=red]30[/color]:0:1:[color=red]100[/color] [/b][/bc]
                          Then the values could be tweaked on a per-profile basis to account for situations like the "all template rooms" levels we're playing around with at the moment.

                          Comment

                          • Nomad
                            Knight
                            • Sep 2010
                            • 958

                            #58
                            Originally posted by Nomad
                            Actually, just out of curiosity, I had a go at changing Angband to all templated rooms, all the time, and I've got to admit, it does look pretty fun.

                            ...

                            I might try playing a few games like this to see what it's like.
                            Some thoughts after playing a few all template room levels:

                            - I started to miss boring normal rooms after a while! All the fiddly little mini rooms and lack of large open spaces slow down exploration a lot: you can't run much, level feelings trigger slower, and you have to do more hunting for the staircases and treasures until you get detection.

                            - OTOH, that same lack of open space has tactical implications: pack monsters and breathers can't get at you so easily, and phase door is more likely to put you in a useful new position instead of just some other part of the big room full of monsters.

                            - The all secret doors thing does indeed get pretty annoying, and renders Door/Stair Detection pretty useless for getting any sense of the dungeon layout around you.

                            In conclusion, probably fun as a change of pace level popping up maybe 10% of the time, but gets frustrating pretty fast as an all the time thing. Play-wise, it's kind of like an intermediate stage between standard levels and labyrinths. If Nick can implement the room ratings I might have a go at devising a level profile that would only appear more occasionally instead of overriding the classic profile.

                            Comment

                            • droof
                              Apprentice
                              • Dec 2013
                              • 71

                              #59
                              The idea of having dungeon levels filled with templated rooms is fine. Just look at Diablo, it works. The problem is with their current designs.

                              Just look at all those rooms. Every single one is packed with walls and surprises. Like a movie script contain action scene after action scene, there's no break from the action.

                              The templated rooms lack open spaces. Sure, simple squares and circular rooms can provide these open spaces. But templated rooms allow for more interesting room shapes and I think it's fine if they're empty with the occasional monster. Just let them have diverse outlines to break up to monotony from square and circular outlines. Let's have the square and circular outlines be part of the templates. Why hide them away in for most people inaccessible code if we can have easy control over them through templated rooms?

                              Let rating 1 rooms be open spaces with just diverse outlines, let them breathe. Rating 2 could be the current non-treasure rooms, but I'd suggest the inner walls all be optional walls. So half the time they're still open spaces for breaks, the other time they have adventurous inner wall structures. Rating 3 rooms with treasure and rating 4 rooms with specified treasures like you said.

                              At ratings 3 and 4 there will still be rooms from ratings 1 and 2, right? So that will still provide the necessary open spaces.

                              EDIT: I'm experimenting with adding several "quiet" rooms for a first dungeon level featuring only templated rooms with open walls & spaces and comparing them with the original first dungeon level.
                              GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.


                              I also modified and simplified the other rooms as a test, allowing them to be empty or otherwise less feature-rich and less vault-like. I think they're still too crowded for early dungeon levels even after simplifying them.
                              Last edited by droof; December 11, 2016, 00:24.

                              Comment

                              • Nick
                                Vanilla maintainer
                                • Apr 2007
                                • 9633

                                #60
                                Originally posted by Nomad
                                Awesome! The simplest thing would probably be to change all the rooms in the section "Rooms with treasures" to rating:2 and the ones under "Rooms with specified treasures" to rating:3.

                                I'd say rooms with treasures should start appearing from level 10 onwards, and rooms with specified treasures from 30 onwards. Currently they make up about 12% and 4% of the template rooms, so I guess for now we might as well balance it to stay at around those percentages.

                                Would it be possible to break down these current probabilities in the Classic profile:

                                Code:
                                [bc=black] # Unusual rooms (rarity = 1)       
                                                                    
                                 room:large room:11:33:3:0:1:15     
                                 room:crossed room:11:33:3:0:1:35   
                                 room:circular room:22:22:1:0:1:50  
                                 room:overlap room:11:33:1:0:1:70   
                                 [b]room:[color=red]room template[/color]:11:33:[color=red]5[/color]:0:1:[color=red]100[/color] [/b][/bc]
                                by maybe adding an extra field for "rating" to the room parameters that would be 0 for most rooms but 1 to 3 for room templates, like so?

                                Code:
                                [bc=black] # Unusual rooms (rarity = 1)          
                                                                       
                                 room:large room:[b][color=red]0[/color][/b]:11:33:3:0:1:15      
                                 room:crossed room:[b][color=red]0[/color][/b]:11:33:3:0:1:35    
                                 room:circular room:[b][color=red]0[/color][/b]:22:22:1:0:1:50   
                                 room:overlap room:[b][color=red]0[/color][/b]:11:33:1:0:1:70    
                                 [b]room:[color=red]room template[/color]:[color=red]1[/color]:11:33:[color=red]1[/color]:0:1:[color=red]95[/color]   
                                 room:[color=red]room template[/color]:[color=red]2[/color]:11:33:[color=red]10[/color]:0:1:[color=red]98[/color]  
                                 room:[color=red]room template[/color]:[color=red]3[/color]:11:33:[color=red]30[/color]:0:1:[color=red]100[/color] [/b][/bc]
                                Then the values could be tweaked on a per-profile basis to account for situations like the "all template rooms" levels we're playing around with at the moment.
                                OK, this is done now, and in the latest build on the nightlies page.

                                A couple of other related things:
                                • Template rooms also have an unused type field. Did you have any plans for that?
                                • Would it be better if the size restriction on template rooms were relaxed?
                                • There is quite a variety of stuff going on with template rooms, interesting rooms and the various types of vaults. I don't see any obvious modifications or simplifications at the moment, but some may become apparent at some point - let me know if you have any ideas.
                                One for the Dark Lord on his dark throne
                                In the Land of Mordor where the Shadows lie.

                                Comment

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