Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0010929Dwarf FortressDwarf Mode -- Transport/Haulingpublic2018-10-15 19:322018-12-30 15:46
Someone Else 37 
 
normalminorrandom
newopen 
MacBookMac OSX10.13.6
0.44.12 
 
0010929: Minecarts occasionally "float" above the floor when dropped into water
I've been trying to build an automatic water cannon heavily inspired by the one built by gchristopher and shown here: http://www.bay12forums.com/smf/index.php?topic=126321.0 [^]

Mine is laid out somewhat differently, but I am using essentially the same mechanism for refilling the minecarts: dropping them two Z-levels into a pool of pressurized water with some ramps and rollers to get them back out.

However, on occasion, a minecart will get stuck in the waterlogged tile at the bottom of the drop (i.e. the tile with the retracting bridge in gchristopher's design) in a state where it completely ignores any ramps or rollers that may exist in that tile, jamming the whole system..

It appears to me that the cart is somehow perpetually falling, with the physics engine refusing to acknowledge that this cart should be touching the ground. This "floating" cart has a [TSK] marker when looked at with `k`, does not blink despite being fully submerged (unlike properly-grounded carts, which flash between the minecart tile and the water they're submerged in), and, as mentioned before, completely ignores ramps and rollers. I should also point out that the offending cart does fill with water, so it clearly interacts with some things in its tile, just not anything on the floor of that tile.

I've tried it with track ramps and retracting bridges at the bottom of the chute, I've flat track and rollers, I've tried track ramps with no bridge or roller in case the presence of building in that tile was the cause; in each case, the minecarts occasionally get stuck in exactly the manner described above.

I should also point that this bugged "floating" state can be fixed simply by removing the water. I had to completely drain my minecart-filling trench to fix it- merely using a screw pump to extract the water from the tile with the bugged cart without cutting off the source of the water did do anything. Maybe the tile has to be continuously water-free for a certain amount of time for the cart to realize it has nowhere to fall; or maybe non-pressurized flowing water is what updated the physics engine and caused the cart to fix itself?
1. Dig a trench. Carve/construct tracks and build rollers in the bottom of the trench so that properly-behaving minecarts can be automatically removed while the trench is full of water.
2. Set up tracks to carry minecarts ejected from the trench an additional Z-level upward, then drop them back into the pit. Slamming the carts into a wall hard enough to jettison their contents may or may not be necessary to reproduce the bug- I haven't tested that.
3. Fill the trench with pressurized water. I used an aquifer-fed reservoir spanning the Z-level of the trench and the Z-level above, but a couple of screw pumps on the same level as the trench may also allow the bug to take place.
4. Power the rollers and let the game run for a bit. The minecarts should eventually stop zipping around the tracks. Once this happens, the bug has occurred, and you'll be able to examine the glitched cart in more detail.
I've only been using adamantine minecarts- I haven't tested denser wooden or metal carts, which I suppose could make a difference, if in fact the carts are floating due to their buoyancy. I didn't think DF simulated that, though, and even if it does, then it's still broken, because even these adamantine carts almost always sink.

Also, for full disclosure, I'm not playing vanilla DF here. Rather than dwarves, my fortress is populated with a race of hilariously OP modded angels (because I can't be bothered to deal with all the things that squishy vanilla dwarves need to be safe and happy, because I wanted to focus on this water cannon project), though I don't think this should affect anything related to this bug. It is, however, quite closely related to why I've only used adamantine minecarts- I added a "Free Adamantine" reaction, because I'm lazy.

Also, I've been using Dwarf Therapist, but not DFHack.

I'll try to get my save (with a floating minecart) uploaded somewhere, then add a link to the save here.
No tags attached.
Issue History
2018-10-15 19:32Someone Else 37New Issue
2018-10-15 22:28Someone Else 37Note Added: 0038874
2018-12-30 14:29Someone Else 37Note Added: 0039061
2018-12-30 15:46FantasticDorfNote Added: 0039062

Notes
(0038874)
Someone Else 37   
2018-10-15 22:28   
Save is on DFFD, along with instructions on how to reproduce this bug in that save, here: http://dffd.bay12games.com/file.php?id=14073 [^]
(0039061)
Someone Else 37   
2018-12-30 14:29   
Update: After further testing, I have confirmed that this bug does not occur when dropping a cart onto a dry tile. Constructions and buildings (track ramps or rollers) on the tile the cart lands on don't make the cart float, so the classic stacked minecart magazine still works fine as long as you're not simultaneously trying to fill them with water.

Taking carts out of a dry magazine and then dipping them in water (using ramps to keep them firmly grounded the whole time) can be made to work quite well. I'm still having other issues with my hydro cannon, but at least I have a workaround for this one.

I have not, and do not intend to, try magma. Not anytime soon, at least. Magma is a pain.

I also have not tried dropping carts into a tile with 5/7 or less water, so they won't fill. This would be feasible to test with magma, come to think of it.
(0039062)
FantasticDorf   
2018-12-30 15:46   
On a side note, i would be very interested for the purposes of DF science whether adamantine shows the properties of lightness to not sink in water without being a 'splatter' reagent. Its well documented that other minecarts do not come loose from the track when directed into waterlogged/lava-swamped areas to pick up liquids, so this exception is odd.