Pyrel dungeon generation

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fizzix
    Prophet
    • Aug 2009
    • 3025

    #46
    Originally posted by Derakon
    It just occurred to me -- you can readily detect this situation by examining the tiles on a line between * and B. If any of those tiles are already a part of the tunnel, then breaking away from the wall will not be profitable.

    Sorry if you've already gotten past this problem; I haven't managed to follow most of the IRC conversations you've been having with d_m about all this.
    That fails when you have two separate obstacles. (see the second choice). There you want to break away even though there's an obstacle in the line.


    My current plan is to try to implement the breadth-first search as d_m described it and then use whichever works better as the main connection option and save the other as an alternate.


    Mikko: I hope that stuff like this will be trivial to support in pyrel. The nice thing about the archetype + priority system is that you can add any feature you want and have a very good grasp on how often it will show up.

    Comment

    • RogerN
      Swordsman
      • Jul 2008
      • 308

      #47
      Is there any particular reason you wouldn't just use A* for all your tunnel-planning needs? Granted, it can be slow at times, but it's guaranteed to find a solution (if one exists) and by tweaking the cost function it's really quite flexible. Once I started using it in my own variants I've never encountered a feature that it couldn't handle.

      Unless, of course, you want extremely twisty, totally illogical tunnels that bend back on themselves and reenter rooms... sortof like what Angband has

      Comment

      • fizzix
        Prophet
        • Aug 2009
        • 3025

        #48
        Originally posted by RogerN
        Is there any particular reason you wouldn't just use A* for all your tunnel-planning needs? Granted, it can be slow at times, but it's guaranteed to find a solution (if one exists) and by tweaking the cost function it's really quite flexible. Once I started using it in my own variants I've never encountered a feature that it couldn't handle.

        Unless, of course, you want extremely twisty, totally illogical tunnels that bend back on themselves and reenter rooms... sortof like what Angband has
        That seems like it might work, as it's an improved version of what I was trying to code. We can make twistiness by creating a noise function on the granite floors with various granite walls taking higher costs to traverse them. It won't create the illogical twistiness that we currently have, but some of those (especially paths that leave and return) are ornaments that can be added on later.

        thanks.
        Last edited by fizzix; December 6, 2012, 15:22.

        Comment

        • Patashu
          Knight
          • Jan 2008
          • 528

          #49
          Originally posted by fizzix
          That seems like it might work, as it's an improved version of what I was trying to code. We can make twistiness by creating a noise function on the granite floors with various granite walls taking higher costs to traverse them. It won't create the illogical twistiness that we currently have,
          It could (I think) if the kind of noise used is very patchy rather than randomly per tile. I don't know what kind of noise function would make that though, maybe picking seeds of +1/-1 cost and growing them outward randomly for some amount.
          My Chiptune music, made in Famitracker: http://soundcloud.com/patashu

          Comment

          • fizzix
            Prophet
            • Aug 2009
            • 3025

            #50
            Originally posted by Patashu
            It could (I think) if the kind of noise used is very patchy rather than randomly per tile. I don't know what kind of noise function would make that though, maybe picking seeds of +1/-1 cost and growing them outward randomly for some amount.
            d_m suggested perlin noise. And that's probably what I'll go with. It seems to produce exactly the behavior type we want.

            Comment

            • Patashu
              Knight
              • Jan 2008
              • 528

              #51
              Perlin noise looks great!
              My Chiptune music, made in Famitracker: http://soundcloud.com/patashu

              Comment

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