Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: [40c] Building floors block dug up staircases  (Read 1510 times)

Derakon

  • Bay Watcher
    • View Profile
[40c] Building floors block dug up staircases
« on: September 07, 2008, 04:28:59 pm »

After finding the underground river on my map, I wanted to build a floor in my prospecting shaft, to keep the creatures in the river from getting out. So my miner/mason put a floor in the middle of the shaft of up/down staircases...and immediately became stuck. He was standing on the floor; the problem was that the "up" part of the staircase wasn't available, so he couldn't climb out. Easily fixed by digging more stairs, but it shouldn't be necessary.

I'm not entirely certain how the game should handle this, but the result we currently get is clearly wrong.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

Noble Digger

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #1 on: September 07, 2008, 10:55:14 pm »

Nope, that's how it works! Constructed floors and up or up\down staircases both modify the 'floor' level of a tile. Building a floor on a tile with stairs removes the stairs, and you cannot build stairs on top of a constructed floor (instead, remove it and place the stairs there). The floor of a constructed stair tile will be made of whatever you made the stairs from.

There is no way to remove a simple staircase from the top without becoming stuck, as far as I'm aware, even if it's a 2 wide by 2 high tunnel with 4 staircases arranged in a square. You have to be on the same level as the up stairs to remove them or to build a floor over them, and placing a floor over them removes them. If you're where the stairs end, and you remove the stairs, you can no longer go up. Your best bet is to have an alternate exit or to leave the stairs where they are and block the path off somewhere else or somehow else.

Look at the image here: http://www.dwarffortresswiki.net/index.php/Stairs

The dark green is floor, the light green is wall. Down stairs occupy the floor layer, and up stairs occupy the wall layer. It requires both connected to one another to travel--dwarves can't walk up an up stair unless there's a down stair above it (though you can place constructed down stairs on top of an up stair from below). Dwarves can't go down a down stair unless there is an up stair below it (and they cannot construct an up stair below a down stair from above).

Good luck! Post screenshots.
Logged
quib·ble
1. To evade the truth or importance of an issue by raising trivial distinctions and objections.
2. To find fault or criticize for petty reasons; cavil.

Draco18s

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #2 on: September 07, 2008, 10:58:56 pm »

But a constructed floor shouldn't remove access to levels ABOVE the builder as the OP is seeing, even by your own words.
Logged

Noble Digger

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #3 on: September 07, 2008, 11:10:13 pm »

Hmmm, while the up stairs occupy the wall level, it still doesn't seem possible to build a floor on that level without getting all those bricks out of the way. Stairs and floors never occupy the same tile, an up stair without a down stair below it has its own synthetic floor attached. On the other hand, you can build a floor over a down stair, and then pry up the floor and the down stair will still be there. This sucks but it doesn't seem to be buggy, how would you build a floor if there are stairs in the way?
Logged
quib·ble
1. To evade the truth or importance of an issue by raising trivial distinctions and objections.
2. To find fault or criticize for petty reasons; cavil.

Klokjammer

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #4 on: September 08, 2008, 12:33:07 am »

In this game, an up/down staircase is not an up stair on top of a down stair.  It is a different thing entirely - its treated as a single object. There is no up or down portion of the object, so building a floor will cover it up completely.  Also stairs are seen by the game as a "magic square mode" that permits movement to the square directly above or below it, and the action of constructing a floor is seen by the game as "replace the mode of this square with 'floor'".
Logged
Code: [Select]
g  <-  This is a goat
g  <-  This is a goblin mason
g  <-  This is a gremlin covered in white paint

Does everyone understand the difference now?

Cryten

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #5 on: September 08, 2008, 08:10:14 am »

Unfortunatly for a more complex player you have to think of it like this. Dwarves carve stuff out or rock. This includes a gadual incline going up (ie stairwell). When dwarf is order to place down a large stone slab as a floor he goes "hey" and has a go at the stone in the road of the floor to clear it away.

Or if you want to be technical the explination about floor sections above suffice but I like the dwarf logic version :P
Logged

Exponent

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #6 on: September 08, 2008, 08:54:30 am »

I just learned recently from the wiki that hatch covers can operate as doors within stairwells.  I'm curious what the behavior is regarding a locked (or levered, if they can't be locked) hatch cover on top of an up/down stair.  Do they act the same as a floor, or do they actually allow upward movement?  Unfortunately, I have no time to try it out, but if someone is curious about the overall issue, this would likely be an interesting experiment to try.
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #7 on: September 08, 2008, 11:52:47 am »

For a hatch at the top of a stair well it will act like a closed door on the cliff face: they will be unable to travel 'up' from the level below and can be walked on on the level above.
(Hatches over empty space hooked up to a repeater makes a nice trap)
Logged

Exponent

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #8 on: September 08, 2008, 01:12:27 pm »

I meant a hatch in the middle of a stair well.  Where a hatch is built in the same tile as an up-down staircase, and where there is an up staircase below and a down staircase above.  The question is whether or not a dwarf can use the up portion of the up-down staircase even if the hatch cover is locked (and is therefore presumably in a similar position as a constructed floor).  It would make sense that the path down would be blocked, but the path up would still be available.
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #9 on: September 08, 2008, 01:34:13 pm »

Having never done it (I used hatch covers once, as described) so I have no idea.
Logged

Noble Digger

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #10 on: September 08, 2008, 07:51:47 pm »

I used the auto-lever hatch trick to make a deathfall trap hallway in my entrance. It's 3 units wide with a checkerboard pattern of 1x1 channels, and hatches built over all the channels. Using the restrict traffic tool ([d] ->
  • -> [r]) you draw "R" on each hatch cover and your dwarves will avoid those tiles when passing through the room. I had a number of cats fall in the trap so far because they ignore traffic designations, but it's just a locked room meant to function like a large cage trap so I just clean them out once in a while.


I'm thinking of increasing the depth of the holes to make them lethal and putting refuse stockpile at the bottom so nobody has to bother cleaning it out. It's just the hole filled with rotting corpses, bones, etc.
Logged
quib·ble
1. To evade the truth or importance of an issue by raising trivial distinctions and objections.
2. To find fault or criticize for petty reasons; cavil.

Draco18s

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #11 on: September 08, 2008, 07:57:59 pm »

Tip: to do it without cross-hatching, build a series of supports, then channel out the floor underneath them.  Hatches are supported by supports, creatures move through them, and supports will support each other sideways (you just can't build them like that).
Logged

Derakon

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #12 on: September 08, 2008, 08:15:06 pm »

Draco's initial response is what I'm getting at - floors shouldn't affect things that are entirely above the floor, like up staircases.

Note that up/down staircases can be converted to down staircases through the "remove up staircases/ramps" designation. I would expect building a floor to be the equivalent of "remove down staircase" (or at least cover it up) - there's no more hole in the floor, but the rest of the staircase is still usable. My statement about not being certain how the game should handle it is basically shorthand for what Noble Digger had to say, about each tile only really having one such feature.

About the only plausible approach I can think of that achieves the desired result is to turn "up/down staircase + floor" into "constructed up staircase", with the caveat that unconstructed the staircase results in an up/down staircase. This looks really weird, but it gets the right behavior when the floor is constructed and allows the floor to be removed like other constructions.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

Yanlin

  • Bay Watcher
  • Legendary comedian.
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #13 on: September 10, 2008, 02:32:04 pm »

The floor is actually a piece of matter that fits snugly into the cubic tile. Dwarves and other creatures that live can pass through it horizontally but if they try to do it vertically, Urist has a heart attack. So they avoid doing that.

Oh yeah, almost forgot. IT HAS EVERYTHING TO DO WITH BEARDS!
Logged
WE NEED A SLOGAN!

Noble Digger

  • Bay Watcher
    • View Profile
Re: [40c] Building floors block dug up staircases
« Reply #14 on: September 10, 2008, 04:49:49 pm »

The floor is actually a piece of matter that fits snugly into the cubic tile. Dwarves and other creatures that live can pass through it horizontally but if they try to do it vertically, Urist has a heart attack. So they avoid doing that.

Oh yeah, almost forgot. IT HAS EVERYTHING TO DO WITH BEARDS!

Exactly... The floor takes up the entire tile. If there's an upward stairway sitting on that tile, you cannot place a floor on that tile without moving the stairs out of the way. Imagine that you built or carved some upward stairs out of a sandy clay loam wall. There are stairs in the tile, and whatever portion of the tile doesn't have stairs on it has sandy clay loam floor. If you want to replace that floor "beneath" the stairs with something else--say, lovely cinnabar blocks--you can't just nudge it through the stairs, and you can't shove it under them, because the stairs were carved out of the existing wall and they are attached to the floor. Think about it, you can build up stairs over a gap because they have a chunk of floor attached to their underside. Dwarves can stand on the landing. Stairs support tiles above them and suspend tiles hanging below them.

Here's a drawing so you aren't confused by anything except my awful MSPaint skills:



The upper left is my lovely cinnabar block floor. As you can see, it is 1 tile wide by 1 tile long by floor-width high.

The upper right is a downward stairway carved from sandy clay loam. As you can see, the tile is still 1x1 and floor width, but it also extends downard to meet with the upper limit of the tile below it. However, as nothing is occupying any of the space above the stairs or the 'partial floor tile' surrounding them, you can easily build a cinnabar block floor that covers both the down stairs and the floor attached to it, and later remove that floor to reveal the stairs and the original floor.

The lower left is an up stairway, also carved out of loam. As you can see, it's also 1x1 with a floor attached, but it has a stairway extending upward from floor level which occupies the tile's z-height up to the lower limit of the tile above it, allowing you to connect floors. Note that this stairway is built on top of the artificial floor that it's attached to, giving it a landing. You could not place a cinnabar block floor neatly over that artificial flooring without removing the stairs, because they are in the way and will not politely scoot aside will you floor them. In fact, you cannot build a floor and an up stair in the same tile, they NEVER coexist, either in constructions or natural rock or soil or ice or metal bars or anything else. Note that you CAN build an upward stairway construction on top of a natural rock or soil floor, but that doing so would remove any smoothing or engraving on that tile--just as if you placed a wall or floor on the tile and dug it up, because the up stair has its OWN flooring.

Lastly, in the lower right, we have an up\down stairway. All facts about the up stairway and down stairway apply here as well, except that once you treat the tile like a downward stairway by doing something to it that can only be done to a downward stairway (flooring over it), it ceases to be an up\down stairway because the upward portion was removed to make room for the floor which then covered the downward stairway.

####/####
####\####
####/####
####\####

Imagine this as a 1x by 1y by 4z staircase. Each tile of \ / is an up\down staircase. Now place a floor on ANY tile in this staircase:

####/####
####_####
####/####
####\####

Oh shit. Makes sense now, doesn't it? The floor perfectly seals off the stairwell, and occupies the space that the up stairway and its landing would have occupied. A "(b)(C)(f) Floor" in dwarf fortress is a 1x1 tile of smooth, uninterrupted stone flooring without holes or crap on it.



Logged
quib·ble
1. To evade the truth or importance of an issue by raising trivial distinctions and objections.
2. To find fault or criticize for petty reasons; cavil.
Pages: [1] 2