July 17th - The challenges of making a microdungeon!

Discussion in 'Dev Blog' started by Armagon, Jul 17, 2014.

  1. Psycho Hyena

    Psycho Hyena Phantasmal Quasar

    If that was a functioning teleporter it would've made sense to mention the brand new game feature. It's probably just a decoration to explain how the heck they enter their homes.
     
  2. Connorses

    Connorses Big Damn Hero

    Help! I've been trapped in this completely sealed temple long enough for the planet's geology to bury it under 500 feet of soil and rock!
     
    Cat656 and Titanium like this.
  3. nightarix

    nightarix Subatomic Cosmonaut

    i agree it's an... odd design. they should at least have pieces of the walling jutting out where a cave-in(natural or induced) could've plausibly sealed the original entrance.(they had to dig it out somehow)
     
  4. Terrahero

    Terrahero Cosmic Narwhal

    What if the microdungeons are fractured but a part of a whole?

    That when these spawn the game simply generates the other parts nearby but not neccesarily connected. These dungeons are underground and often very old, logically speaking some earthquakes could easily have drifted parts of the dungeon away from eachother.
     
  5. TheNarrator

    TheNarrator Subatomic Cosmonaut

    Personally, I don't like the concept of these microdungeons. Sorry to say that. This avian underground thing looks like a prison, with the bird pooping in one and sleeping in the other corner, patiently waiting to suffocate or starve (whatever comes first). It adds something to explore and takes away the atmosphere of exploring something with a backstory - because this doesn't have any as far as I can tell.
     
    Connorses likes this.
  6. Kawa

    Kawa Tiy's Beard

    He has a teleporter right there, though.
     
  7. The | Suit

    The | Suit Agent S. Forum Moderator

    I like how you self answered the question of how the "Avian gets in and out" by putting a teleporter beacon.
    That was a nice touch.

    Please don't have all mini dungeons as buildings.
    Natural cave formations - nests - unique geological instances - are all great optional mini dungeons.
     
    Connorses and PabloM like this.
  8. Kawa

    Kawa Tiy's Beard

    Today's diffs are in! From the 16th to the 17th, the following things changed:
    Code:
    FILES
    -----
    weather.config
    worldgen.config
    [NEW] animations\windstorm\windstorm1.animation
    [NEW] animations\windstorm\windstorm1.frames
    [NEW] animations\windstorm\windstorm1.png
    [NEW] animations\windstorm\windstorm2.animation
    [NEW] animations\windstorm\windstorm2.frames
    [NEW] animations\windstorm\windstorm2.png
    dungeons\avian\avianairship\avianship-objects.png
    dungeons\avian\avianairship\key with grid.png
    dungeons\avian\avianairship\key.png
    dungeons\avian\aviantemple\15a-objects.png
    dungeons\avian\aviantemple\15b-objects.png
    dungeons\avian\aviantemple\15d-objects.png
    dungeons\avian\aviantemple\26-objects.png
    dungeons\avian\aviantemple\27-objects.png
    dungeons\avian\aviantemple\9-objects.png
    dungeons\avian\aviantemple\key with grid.png
    dungeons\avian\aviantemple\key.png
    dungeons\avian\aviantemple\pyramidentry2-objects.png
    dungeons\avian\aviantomb\key with grid.png
    dungeons\avian\aviantomb\key.png
    dungeons\avian\aviantower\key with grid.png
    dungeons\avian\aviantower\key.png
    dungeons\avian\avianvillage\key with grid.png
    dungeons\avian\avianvillage\key.png
    interface\escmenu\current.png
    interface\escmenu\currentup.png
    interface\escmenu\home.png
    interface\escmenu\homeup.png
    items\armors\other\wildfungus\wildfungus.head
    items\armors\other\wildfungus\wildfungus.legs
    [NEW] items\materials\gateblock.matitem
    [NEW] items\materials\gateblock.png
    items\tools\swingingvine.grapplinghook
    npcs\workstate.lua
    objects\avian\ashjar1\ashjar1.object
    objects\avian\ashjar2\ashjar2.object
    objects\avian\ashjar3\ashjar3.object
    objects\avian\bigjar1\bigjar1.object
    objects\avian\bigjar1\bigjar1.png
    objects\avian\goldenjar1\goldenjar1.object
    objects\avian\midjar1\midjar1.object
    objects\avian\screen4\screen4lit.frames
    objects\floran\huntingpressureplate\huntingpressureplate.object
    objects\glitch\medievalpressureplate\medievalpressureplate.object
    objects\glitch\medievalswitchhidden\medievalswitchhidden.object
    objects\human\bunkermotiondetector.todo\bunkermotiondetector.object
    objects\wired\bigredbutton\bigredbutton.object
    objects\wired\proximitysensor\proximitysensor.lua
    objects\wired\proximitysensor\proximitysensor.object
    objects\wired\scanner\scanner.object
    objects\wired\smallfloorbutton\smallfloorbutton.object
    projectiles\explosions\meteorexplosion\meteorexplosion.config
    [NEW] tiles\materials\gateblock.material
    [NEW] tiles\materials\gateblock.png
    weather\windstorm\windstorm.weather
    
    DIFFS
    -----
    weather.config
    30a31,34
    >  "alwaysWindy" : [
    >    [1.0, "windstorm" ]
    >  ],
    > 
    
    worldgen.config
    184c184
    <      "surfaceDungeonCount" : 1
    ---
    >      "surfaceDungeonCount" : 0
    276,277c276,277
    <   
    <    "outposthills" : {
    ---
    > 
    >    "outposthills" : {
    425,426c425
    <   
    <    "outpost" : {
    ---
    >    "outpost" : {
    429,431c428,429
    <      "dungeonSelection" : [
    <        [0, [ "outpost" ]]
    <      ]
    ---
    >      "dungeonSelection" : [ ],
    >      "mainDungeon" : "outpost"
    
    items\armors\other\wildfungus\wildfungus.head
    28c28
    <      "amount" : 25
    ---
    >      "amount" : 30
    
    items\armors\other\wildfungus\wildfungus.legs
    27c27
    <      "amount" : 0.20
    ---
    >      "amount" : 0.25
    
    items\tools\swingingvine.grapplinghook
    20,21c20,21
    <  "energyConsumeRateAnchored" : 2.0,
    <  "energyConsumeRateWinding" : 1.0,
    ---
    >  "energyConsumeRateAnchored" : 0.8,
    >  "energyConsumeRateWinding" : 0.0,
    
    npcs\workstate.lua
    123c123,127
    <    local objectIds = world.entityQuery(position, entity.configParameter("work.searchDistance"), { includedTypes = {"object"}, name = "anvil" })
    ---
    >    local objectIds = world.entityQuery(position, entity.configParameter("work.searchDistance"), {
    >      includedTypes = {"object"},
    >      callScript = "entity.configParameter",
    >      callScriptArgs = {"objectName"},
    >      callScriptResult = "anvil" })
    
    objects\avian\ashjar1\ashjar1.object
    23c23
    <      "imagePosition" : [0, 0],
    ---
    >      "imagePosition" : [3, 0],
    
    objects\avian\ashjar2\ashjar2.object
    23c23
    <      "imagePosition" : [0, 0],
    ---
    >      "imagePosition" : [3, 0],
    
    objects\avian\ashjar3\ashjar3.object
    23c23
    <      "imagePosition" : [0, 0],
    ---
    >      "imagePosition" : [2, 0],
    
    objects\avian\bigjar1\bigjar1.object
    23c23
    <      "imagePosition" : [-1, 0],
    ---
    >      "imagePosition" : [-8, 0],
    
    objects\avian\goldenjar1\goldenjar1.object
    4c4
    <  "category" : "pot",
    ---
    >  "category" : "decorative",
    30,36d29
    <  ],
    <  "smashSounds" : [ "/sfx/objects/pot_break_small1.wav", "/sfx/objects/pot_break_small2.wav", "/sfx/objects/pot_break_small3.wav" ],
    <  "smashDropOptions" : [
    <    [ [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ] ]
    <  ],
    <  "breakDropOptions" : [
    <    [ [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ], [ "goldcoin", 1, { } ] ]
    
    objects\avian\midjar1\midjar1.object
    23c23
    <      "imagePosition" : [0, 0],
    ---
    >      "imagePosition" : [2, 0],
    
    objects\avian\screen4\screen4lit.frames
    6,14c6,14
    <      [ "default.1", "default.2", "default.3", "default.4", "default.5", "default.6", "default.7", "default.8", "default.9", "default.10", "default.11", "default.12", "default.13", "default.14", "default.15", "default.16", "default.17", "default.18", "default.19", "default.20", "default.21", "default.22", "default.23", "default.24", "default.25", "default.26", "default.27", "default.28", "default.29", "default.30", "default.31", "default.32", "default.off" ],
    <      [ "red.1", "red.2", "red.3", "red.4", "red.5", "red.6", "red.7", "red.8", "red.9", "red.10", "red.11", "red.12", "red.13", "red.14", "red.15", "red.16", "red.17", "red.18", "red.19", "red.20", "red.21", "red.22", "red.23", "red.24", "red.25", "red.26", "red.27", "red.28", "red.29", "red.30", "red.31", "red.32", "red.off" ],
    <      [ "blue.1", "blue.2", "blue.3", "blue.4", "blue.5", "blue.6", "blue.7", "blue.8", "blue.9", "blue.10", "blue.11", "blue.12", "blue.13", "blue.14", "blue.15", "blue.16", "blue.17", "blue.18", "blue.19", "blue.20", "blue.21", "blue.22", "blue.23", "blue.24", "blue.25", "blue.26", "blue.27", "blue.28", "blue.29", "blue.30", "blue.31", "blue.32", "blue.off" ],
    <      [ "green.1", "green.2", "green.3", "green.4", "green.5", "green.6", "green.7", "green.8", "green.9", "green.10", "green.11", "green.12", "green.13", "green.14", "green.15", "green.16", "green.17", "green.18", "green.19", "green.20", "green.21", "green.22", "green.23", "green.24", "green.25", "green.26", "green.27", "green.28", "green.29", "green.30", "green.31", "green.32", "green.off" ],
    <      [ "yellow.1", "yellow.2", "yellow.3", "yellow.4", "yellow.5", "yellow.6", "yellow.7", "yellow.8", "yellow.9", "yellow.10", "yellow.11", "yellow.12", "yellow.13", "yellow.14", "yellow.15", "yellow.16", "yellow.17", "yellow.18", "yellow.19", "yellow.20", "yellow.21", "yellow.22", "yellow.23", "yellow.24", "yellow.25", "yellow.26", "yellow.27", "yellow.28", "yellow.29", "yellow.30", "yellow.31", "yellow.32", "yellow.off" ],
    <      [ "orange.1", "orange.2", "orange.3", "orange.4", "orange.5", "orange.6", "orange.7", "orange.8", "orange.9", "orange.10", "orange.11", "orange.12", "orange.13", "orange.14", "orange.15", "orange.16", "orange.17", "orange.18", "orange.19", "orange.20", "orange.21", "orange.22", "orange.23", "orange.24", "orange.25", "orange.26", "orange.27", "orange.28", "orange.29", "orange.30", "orange.31", "orange.32", "orange.off" ],
    <      [ "pink.1", "pink.2", "pink.3", "pink.4", "pink.5", "pink.6", "pink.7", "pink.8", "pink.9", "pink.10", "pink.11", "pink.12", "pink.13", "pink.14", "pink.15", "pink.16", "pink.17", "pink.18", "pink.19", "pink.20", "pink.21", "pink.22", "pink.23", "pink.24", "pink.25", "pink.26", "pink.27", "pink.28", "pink.29", "pink.30", "pink.31", "pink.32", "pink.off" ],
    <      [ "black.1", "black.2", "black.3", "black.4", "black.5", "black.6", "black.7", "black.8", "black.9", "black.10", "black.11", "black.12", "black.13", "black.14", "black.15", "black.16", "black.17", "black.18", "black.19", "black.20", "black.21", "black.22", "black.23", "black.24", "black.25", "black.26", "black.27", "black.28", "black.29", "black.30", "black.31", "black.32", "black.off" ],
    <      [ "white.1", "white.2", "white.3", "white.4", "white.5", "white.6", "white.7", "white.8", "white.9", "white.10", "white.11", "white.12", "white.13", "white.14", "white.15", "white.16", "white.17", "white.18", "white.19", "white.20", "white.21", "white.22", "white.23", "white.24", "white.25", "white.26", "white.27", "white.28", "white.29", "white.30", "white.31", "white.32", "white.off" ]
    ---
    >      [ "default.1", "default.2", "default.3", "default.4", "default.5", "default.6", "default.7", "default.8", "default.9", "default.10", "default.11", "default.12", "default.13", "default.14", "default.15", "default.16", "default.off" ],
    >      [ "red.1", "red.2", "red.3", "red.4", "red.5", "red.6", "red.7", "red.8", "red.9", "red.10", "red.11", "red.12", "red.13", "red.14", "red.15", "red.16", "red.off" ],
    >      [ "blue.1", "blue.2", "blue.3", "blue.4", "blue.5", "blue.6", "blue.7", "blue.8", "blue.9", "blue.10", "blue.11", "blue.12", "blue.13", "blue.14", "blue.15", "blue.16", "blue.off" ],
    >      [ "green.1", "green.2", "green.3", "green.4", "green.5", "green.6", "green.7", "green.8", "green.9", "green.10", "green.11", "green.12", "green.13", "green.14", "green.15", "green.16", "green.off" ],
    >      [ "yellow.1", "yellow.2", "yellow.3", "yellow.4", "yellow.5", "yellow.6", "yellow.7", "yellow.8", "yellow.9", "yellow.10", "yellow.11", "yellow.12", "yellow.13", "yellow.14", "yellow.15", "yellow.16", "yellow.off" ],
    >      [ "orange.1", "orange.2", "orange.3", "orange.4", "orange.5", "orange.6", "orange.7", "orange.8", "orange.9", "orange.10", "orange.11", "orange.12", "orange.13", "orange.14", "orange.15", "orange.16", "orange.off" ],
    >      [ "pink.1", "pink.2", "pink.3", "pink.4", "pink.5", "pink.6", "pink.7", "pink.8", "pink.9", "pink.10", "pink.11", "pink.12", "pink.13", "pink.14", "pink.15", "pink.16", "pink.off" ],
    >      [ "black.1", "black.2", "black.3", "black.4", "black.5", "black.6", "black.7", "black.8", "black.9", "black.10", "black.11", "black.12", "black.13", "black.14", "black.15", "black.16", "black.off" ],
    >      [ "white.1", "white.2", "white.3", "white.4", "white.5", "white.6", "white.7", "white.8", "white.9", "white.10", "white.11", "white.12", "white.13", "white.14", "white.15", "white.16", "white.off" ]
    
    objects\floran\huntingpressureplate\huntingpressureplate.object
    28c28
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    42,43c42,43
    <  "detectRadius" : 2,
    <  "detectOffset" : [0, 1]
    ---
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [-1, 0.5], [1, 0.5] ]
    
    objects\glitch\medievalpressureplate\medievalpressureplate.object
    28c28
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    42,43c42,43
    <  "detectRadius" : 2,
    <  "detectOffset" : [0, 1]
    ---
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [-1.5, 0.875], [1.5, 0.875] ]
    
    objects\glitch\medievalswitchhidden\medievalswitchhidden.object
    29c29
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    43,44c43,44
    <  "detectRadius" : 1,
    <  "detectOffset" : [0.5,2]
    ---
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [0, 0], [1, 0.5] ]
    
    objects\human\bunkermotiondetector.todo\bunkermotiondetector.object
    31c31
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    44,45c44,46
    <  "detectRadius" : 3,
    <  "detectDuration" : 0.5
    ---
    >  "detectDuration" : 0.5,
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [0, 0], 5 ]
    
    objects\wired\bigredbutton\bigredbutton.object
    28c28
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    42,43c42,43
    <  "detectRadius" : 2,
    <  "detectOffset" : [0, 1]
    ---
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [-1.5, 0.875], [1.5, 0.875] ]
    
    objects\wired\proximitysensor\proximitysensor.lua
    4c4,20
    <  self.detectOffset = entity.toAbsolutePosition(entity.configParameter("detectOffset", {0, 0}))
    ---
    >  self.detectEntityTypes = entity.configParameter("detectEntityTypes")
    >  self.detectBoundMode = entity.configParameter("detectBoundMode", "CollisionArea")
    >  local detectArea = entity.configParameter("detectArea")
    >  local pos = entity.position()
    >  if type(detectArea[2]) == "number" then
    >    --center and radius
    >    self.detectArea = {
    >      {pos[1] + detectArea[1][1], pos[2] + detectArea[1][2]},
    >      detectArea[2]
    >    }
    >  elseif type(detectArea[2]) == "table" and #detectArea[2] == 2 then
    >    --rect corner1 and corner2
    >    self.detectArea = {
    >      {pos[1] + detectArea[1][1], pos[2] + detectArea[1][2]},
    >      {pos[1] + detectArea[2][1], pos[2] + detectArea[2][2]}
    >    }
    >  end
    26c42,46
    <    local entityIds = world.entityQuery(self.detectOffset, entity.configParameter("detectRadius"), { notAnObject = true })
    ---
    >    local entityIds = world.entityQuery(self.detectArea[1], self.detectArea[2], {
    >        withoutEntityId = entity.id(),
    >        includedTypes = self.detectEntityTypes,
    >        boundMode = self.detectBoundMode
    >      })
    34,35c54
    < end
    <
    ---
    > end
    \ No newline at end of file
    
    objects\wired\proximitysensor\proximitysensor.object
    29c29
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    43,44c43,44
    <  "detectRadius" : 2,
    <  "detectOffset" : [0, 1]
    ---
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [-1, 0.5], [1, 0.5] ]
    
    objects\wired\scanner\scanner.object
    29c29
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    43,44c43,44
    <  "detectRadius" : 3,
    <  "detectOffset" : [0.5, 0.5]
    ---
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [0.5, 0.5], 3 ]
    
    objects\wired\smallfloorbutton\smallfloorbutton.object
    27c27
    <  "scripts" : [ "/objects/wired/proximitysensor/proximitysensorcreature.lua" ],
    ---
    >  "scripts" : [ "/objects/wired/proximitysensor/proximitysensor.lua" ],
    41,42c41,42
    <  "detectRadius" : 1,
    <  "detectOffset" : [0, 3]
    ---
    >  "detectEntityTypes" : [ "creature" ],
    >  "detectArea" : [ [-0.75, 0], [0.75, 0.875] ]
    
    projectiles\explosions\meteorexplosion\meteorexplosion.config
    81c81
    <      "tileDamageType" : "crushing",
    ---
    >      "tileDamageType" : "explosive",
    
    weather\windstorm\windstorm.weather
    7,19c7
    <      "density" : 0.03,
    <      "particle" : {
    <        "type" : "textured",
    <        "image" : "/particles/windstorm/1.png",
    <        "velocity" : [0, -12],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    <        "collidesLiquid" : true
    <      }
    <    },
    <    {
    <      "density" : 0.025,
    ---
    >      "density" : 0.005,
    21,26c9,16
    <        "type" : "textured",
    <        "image" : "/particles/windstorm/2.png",
    <        "velocity" : [0, -11],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    ---
    >        "type" : "animated",
    >        "animation" : "/animations/windstorm/windstorm1.animation",
    >        "velocity" : [0, 0],
    >        "fade" : 0.5,
    >        "looping" : true,
    >        "destructionTime" : 20,
    >        "timeToLive" : 10,
    >        "collidesForeground" : false,
    31,54d20
    <      "density" : 0.15,
    <      "particle" : {
    <        "type" : "textured",
    <        "image" : "/particles/windstorm/3.png",
    <        "velocity" : [0, -14],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    <        "collidesLiquid" : true
    <      }
    <    }, 
    <    {
    <      "density" : 0.01,
    <      "particle" : {
    <        "type" : "textured",
    <        "image" : "/particles/windstorm/4.png",
    <        "velocity" : [0, -14],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    <        "collidesLiquid" : true
    <      }
    <    }, 
    <    {
    57,62c23,30
    <        "type" : "textured",
    <        "image" : "/particles/windstorm/5.png",
    <        "velocity" : [0, -14],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    ---
    >        "type" : "animated",
    >        "animation" : "/animations/windstorm/windstorm2.animation",
    >        "velocity" : [0, 0],
    >        "fade" : 0.5,
    >        "looping" : true,
    >        "destructionTime" : 20,
    >        "timeToLive" : 10,
    >        "collidesForeground" : false,
    64c32
    <      }     
    ---
    >      }
    72,75c40,42
    <        "velocity" : [0, -14],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    ---
    >        "velocity" : [0, 0],
    >        "timeToLive" : 10,
    >        "collidesForeground" : false,
    78,165d44
    <    },
    <    {
    <      "density" : 0.03,
    <      "particle" : {
    <        "type" : "textured",
    <        "image" : "/particles/windstorm/6.png",
    <        "velocity" : [0, -12],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    <        "collidesLiquid" : true
    <      }
    <    },
    <    {
    <      "density" : 0.03,
    <      "particle" : {
    <        "type" : "textured",
    <        "image" : "/particles/windstorm/7.png",
    <        "velocity" : [0, -12],
    <        "angularVelocity" : 180,
    <        "timeToLive" : 100,
    <        "collidesForeground" : true,
    <        "collidesLiquid" : true
    <      }
    <    },
    <    {
    <      "density" : 0.02,
    <      "autoRotate" : true,
    <
    <      "particle" : {
    <        "type" : "textured",
    <        "image" : "/particles/spacejunk/5.png",
    <        "velocity" : [0, -12.5],
    <        "approach" : [15, 15],
    <        "angularVelocity" : 30,
    <        "timeToLive" : 100,
    <        "destructionAction" : "Image",
    <        "destructionTime" : 0.1,
    <        "destructionImage" : "/particles/spacejunk/5.png",
    <        "collidesForeground" : true,
    <        "collidesLiquid" : true
    <      }
    <    }
    <  ],
    <  "projectiles" : [
    <    {
    <      "projectile" : "windstorm1",
    <      "parameters" : {
    <        "power" : 1
    <      },
    <      "velocity" : [0, -15],
    <      "ratePerX" : 0.03,
    <      "spawnAboveRegion" : 30,
    <      "spawnHorizontalPad" : 30,
    <      "windAffectAmount" : 1.0
    <    },
    <    {
    <      "projectile" : "windstorm2",
    <      "parameters" : {
    <        "power" : 1
    <      },
    <      "velocity" : [0, -15],
    <      "ratePerX" : 0.025,
    <      "spawnAboveRegion" : 30,
    <      "spawnHorizontalPad" : 30,
    <      "windAffectAmount" : 1.0
    <    },
    <        {
    <      "projectile" : "windstorm3",
    <      "parameters" : {
    <        "power" : 1
    <      },
    <      "velocity" : [0, -15],
    <      "ratePerX" : 0.015,
    <      "spawnAboveRegion" : 30,
    <      "spawnHorizontalPad" : 30,
    <      "windAffectAmount" : 1.0
    <    },
    <    {
    <      "projectile" : "windstorm4",
    <      "parameters" : {
    <        "power" : 1
    <      },
    <      "velocity" : [0, -15],
    <      "ratePerX" : 0.0050,
    <      "spawnAboveRegion" : 30,
    <      "spawnHorizontalPad" : 30,
    <      "windAffectAmount" : 1.0
    170c49
    <  "maximumWind" : 42.0,
    ---
    >  "maximumWind" : 35.0,
    
     
  9. Fiben Bolger

    Fiben Bolger Pangalactic Porcupine

    [​IMG]
     
    Akado likes this.
  10. Lazer

    Lazer Existential Complex

    Would it be possible to make a microdungeon that's just a floor with a few curiosities and maybe platforms above it, all encapsulated by an irregularly shaped pocket of air?
    If you'll pardon my MSpaint, this example is maybe more clear than my words:
    [​IMG]
    So here, white would be unchanged from the original world generation, black would be foreground air, and the blue would be whatever microdungeon themed brick. And then you'd fill it with furniture/background items and so on of course.

    I don't mind the idea of a totally sealed tomb or lab underground, but for every microdungeon to be that way seems a little odd.
     
    PabloM, Tamorr and Kawa like this.
  11. Kawa

    Kawa Tiy's Beard

    The funny thing is, if you reduce the scale and use different colors, that'd be an excellent start for an actual dungeon blockmap.
     
  12. Sailo

    Sailo Scruffy Nerf-Herder

    AVIANSSS! YES!!!! Fluffy Avians are fluffy <.<
     
  13. UndeadRuckus

    UndeadRuckus Aquatic Astronaut

    Could start with one that is short ranged and inaccurate and have an upgrade path.

    I also agree, stone,obsidian,etc are super annoying to mine even with the drill :( .
     
  14. Entomoligist

    Entomoligist Big Damn Hero

    It looks like you can use the teleporters to go back to your ship, if you are too far underground and you don't want to dig yourself all of the way back up. :cool:
     
  15. NonBritGit

    NonBritGit Cosmic Narwhal

  16. Goldpork

    Goldpork Zero Gravity Genie

    That is why we need a better matter manipulator. (Faster than a diamond drill!)
    :poke:
     
  17. panykbutton

    panykbutton Aquatic Astronaut

    I'm not bothered by when the micro dungeons have no entry or exit. After all, the occupant could very well have built the room themselves. (But the transporter is a nice touch, especially if it's functional!)
     
  18. jesuspxp

    jesuspxp Orbital Explorer

    Why don´t you do any Hylotl and Human dungeons/encounter?
    Because the Hylotls haven´t any kind of dungeons or encounters. My suggestion, is to do Hylotl encounters in biomes full of water, like a ocean, or in a new mini-biome called manantial or something like this. The point is, that Hylotls needs water in their cities and dungeons.
     
  19. Kawa

    Kawa Tiy's Beard

    First I felt inspired.
    [​IMG]
    Now I'm hot and tired.
    Take this heat away from me, for I just want to stop this sweating.
     
    Tamorr likes this.
  20. Wra17h

    Wra17h Subatomic Cosmonaut

    Is the next newsletter coming soon?
     

Share This Page