Modding Help Asteroid Belt Dungeons?

Discussion in 'Starbound Modding' started by rl.starbound, Mar 3, 2020.

  1. rl.starbound

    rl.starbound Phantasmal Quasar

    A discussion on the Starbound subreddit came to two conclusions:
    1. Asteroid belts aren't much fun, because there's nothing in them except for copper, silver, and gold.
    2. Space encounter dungeons are pretty cool looking, but they can be a bit "meh" because you can't keep them or build on them.
    I decided to make a mod that caused space encounter dungeons (at least, the anchor part of each) to randomly generate inside of asteroid belts. How hard can it be, right? (Note: I said asteroid belts, not the asteroids layer in a terrestrial world. I am not interested in the asteroids layer of a terrestrial world.)

    Turns out that, unlike terrestrial worlds, which have layers in which you can define dungeons and dungeon spawn rates, asteroid worlds (defined in asteroids_worlds.config) have no layers. Does anyone know if it's possible to generate full dungeons in an asteroid belt? If it is, I can't find an example of it anywhere.

    Okay, but asteroid worlds do use the asteroids biome, and you can attach microdungeons to biomes. I patched the following section into asteroids.biome and tested it by going to a new asteroid belt in a new star system:

    Code:
      "surfacePlaceables" : {
        "grassMod" : [ "grass" ],
        "grassModDensity" : 1.0,
        "items" : [
          {
            "mode" : "floor",
            "priority" : 3.0,
            "variants" : 1,
            "distribution" : "/biomes/distributions.config:mainBiomeMicrodungeon",
    
            "type" : "microdungeon",
            "microdungeons" : [ "asteroidbeltencounter" ]
          },
          {
            "mode" : "floor",
            "priority" : 3.0,
            "variants" : 1,
            "distribution" : "/biomes/distributions.config:tiyDist",
    
            "type" : "microdungeon",
            "microdungeons" : [ "block1platforms", "loops", "spiralspikes", "blocks", "stripeblocks", "blockpile", "reversepyramids", "flats", "spikes", "rods", "wiggles", "rockyshapes", "layeredspire", "blank", "none" ]
          }
        ]
      }
    The grass mod bit is in there only to prove that surfacePlaceables is used by the asteroids biome -- it is and my asteroid belts now have grass. Also, I put in the tiyDist shapes to prove that a microdungeon can generate in -- they do, and now I can see those familiar shapes in my asteroid belts. But ... my microdungeon won't generate in.

    I've populated the "asteroidbeltencounter" dungeon with one microdungeon anchor: neutral_mining_asteroid2.json. I made a few modifications to it -- removing the beacon (which caused crashes when I manually placed more than one copy of this dungeon in a single asteroid belt), removing the hazard connector, and adding a single S0 anchor at the bottom center of the dungeon as suggested by the following old thread:

    https://community.playstarbound.com...wning-microdungeons-built-using-tiled.113752/

    I've also tried using various distributions for my microdungeon, such as scorchedcityMicrodungeon and tiyDist. To be honest, distribution logic is pretty opaque, so I'm just guessing at how it works, but I've tried all the distributions that seem to be used for the more commonly-appearing microdungeons, to no avail.

    No matter what I've tried, I cannot get my microdungeon to generate into an asteroid belt. Does anyone have any insight into the black box that is microdungeon generation? There are some suggestions that microdungeons have to be tiny. I'd be really disappointed if that's the case, because I really wanted to put those big space encounter dungeons into an asteroid belt, and there is more than enough room for them. If there is indeed a size limit, does anyone have documentation on it?
     
    Last edited: Mar 3, 2020

Share This Page