GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Malin (malin@dice.camp)'s status on Tuesday, 19-Sep-2023 18:45:49 JST Malin Malin
    in reply to
    • iced depresso

    @icedquinn
    I tried making a dungeon generator. It's my first python project so I don't know if it's readable. The plan is to lay out an empty dungeon, then populate with people living there, then it gets invaded by a lich, dragon or whatnot.

    The map is purely conceptual, but the results make more sense than random rooms with 1d6 goblins.

    https://gitlab.com/bindrpg/dungen

    In conversation Tuesday, 19-Sep-2023 18:45:49 JST from dice.camp permalink

    Attachments

    1. Domain not in remote thumbnail source whitelist: gitlab.com
      bind / Dungeon Generator · GitLab
      GitLab.com
    • Sexy Moon likes this.
    • Embed this notice
      iced depresso (icedquinn@blob.cat)'s status on Tuesday, 19-Sep-2023 18:45:51 JST iced depresso iced depresso
      in reply to
      • iced depresso
      ultimately though that project isn't trying to procgen all the things, it's just trying to offer some nonlinearity.
      In conversation Tuesday, 19-Sep-2023 18:45:51 JST permalink
    • Embed this notice
      iced depresso (icedquinn@blob.cat)'s status on Tuesday, 19-Sep-2023 18:45:52 JST iced depresso iced depresso
      in reply to
      • iced depresso
      if you were assembling the whole dungeon out of modules i had a fever dream about that.

      something like taking the generated graph for the mission and running it through some force directed layout stuff. that usually just gives you some big cobweb (great for space sims though!) but there is a trick there.

      basically pick the start node and then look at the connections (in case you make it so these vary, like if you can have nodes with 1-5 connections) and then it picks an appropriate room to fulfill that part of the graph. assign directions for each connection, then modify the layout alg so an assigned edge has to obey a given directionality.

      each time you run the sim it will float everything out, but once a node makes some directions rigid they will have to float in ways that make sense for the connections that exist. then you go to the next node and do the same thing, picking rooms with appropriate connection nodes (if some edges are pinned in a direction now.)

      in theory it should allow rooms to drift a little. you can shore it up by inserting corridors wherever a connection point has to be stretched out to accomodate everything else.

      :bunhdthink: i have that HAM implementation that could get coopted to test this
      In conversation Tuesday, 19-Sep-2023 18:45:52 JST permalink
    • Embed this notice
      iced depresso (icedquinn@blob.cat)'s status on Tuesday, 19-Sep-2023 18:45:53 JST iced depresso iced depresso
      i think for the recycling of premade maps, we just have to embed the dungeon graph in the map files. Unexplored had extra rules to first draw out the shape of a dungeon and then add different walk/crawl spaces before going on to populate. In this case, we just don't do the shape grammar to draw out the space at first.

      We do still have graph replacement that looks at the number of edges and such, but the map pre-specifies the original symbols to get changed out.

      so that part isn't so hard to reason about i suppose :cirno_think:

      this method does require trenchbrooming up handfuls of dungeon layouts and then tying together the room IDs and all that shit, but it does mean some variance in the actual encounters found there still exist.
      In conversation Tuesday, 19-Sep-2023 18:45:53 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.