Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Public Transit  (Read 3506 times)

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Public Transit
« on: November 12, 2015, 11:33:52 pm »

Has anyone ever attempted to make a minecart transit network for commuter dwarves? Purely for the purpose of having their bedrooms in one place and work in another place, although an ideal one would be less restrictive than that (multiple paths, but they choose the route for its speed.)

This is different from segregated fort segments connected by rail (which I know has been done) in that the dwarves would be mobile, instead of solely the supplies - and hopefully, movement would be less restricted than that.

My hope would be that this would operate without manual input once running; that it wouldn't restrict the dwarves to hermetically sealed rooms; that it would adapt to the dwarves' needs; that, ideally, there could be a central hub rather than tracks to every room; although of course I realize that many of these may not be possible.

It would be a happy solution to the whole "my fort's in the dirt, but I have forges on the magma sea, with smiths who need to eat and sleep" problem.



The only way I could think of to make it work is to dump the dwarves (previously riding the carts) into their inescapable rooms, then send a pickup cart sometime for them to ride to their work (similarly sealed) - and basically just hope that the dwarf takes care of all its needs as necessary. However, opening this system to multiple dwarves could present its own problems; all dwarves of a certain workforce (common workplace and sleeping area) would have to be segregated together, in that case, which means I might as well just use burrows.

Ah, no, nevermind, I could restrict them to burrows purely for the purpose of keeping others from riding their carts. There we go.

The flow of dwarves could be controlled via levers (in a central control room) that hold back pickup carts from delivery.

If we wanted to be fancy and automatic, and if we had an especially sprawling fort (or various locations to which we're sending the same dwarves), something like what was discussed in this thread could be used (also to implement the central hub idea.)



...and that's about all I've got. Really, it would be enough for any dwarf needing to go down to a lower level of the fort to hop on an "escalator" of sorts, but I don't know of any behavior that could be taken advantage of for the automation of that, on-demand for the dwarf (manual "you-go-here, pull-this-lever" setups could work.)

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Public Transit
« Reply #1 on: November 13, 2015, 01:37:10 am »

Has anyone ever attempted to make a minecart transit network for commuter dwarves?
It's been attempted. I don't know how successful the attempts were. I can't seem to find any of the threads (this one is slightly related,) but the major obstacle would be that dwarves won't ride a minecart to get to a job. They can be used by marksdwarves, however.
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Re: Public Transit
« Reply #2 on: November 13, 2015, 11:01:32 am »

Has anyone ever attempted to make a minecart transit network for commuter dwarves?
It's been attempted. I don't know how successful the attempts were. I can't seem to find any of the threads (this one is slightly related,) but the major obstacle would be that dwarves won't ride a minecart to get to a job. They can be used by marksdwarves, however.

Ah, thanks for the link! I remember reading that thread a long time ago. Brilliant mechanism, although what I'm going for is simpler (and therefore more feasible; looks like that one never got built, unfortunately.)

If I have time I'll do some digging into the forums and see if I can find anything.



So what about this: My fort is divided into three sections. The division is by several tens of z-levels, maybe 100 (enough to make it worth having centralized minecart transportation of unladen dwarves.) So I need one different route from each section to each of the other sections (one-way only, to prevent collisions without complicated logic.) That's 2*3 = 6 tracks, pretty easy to design, since they each only have to be one tile wide if all carts move at the same speed.

To lure the dwarves into using the system, also have some open hallways linking the various levels. When dwarves go to use the hallway, they're trapped in an airlock (several of these airlocks can be made in parallel for the same hallway, like the entrance to amusement parks, to keep traffic moving.) Their job cancels. A cart is dropped in (or a side door opened), and a non-dwarf-walkable minecart track leads to the main minecart track. The cart is set to "ride" "immediately" in the hauling route. Since it's the only available job, the dwarf does it, hops in the cart, rides it down to the destination, disembarks, and the cart is shuffled to the loading station(s) at that destination for the return journey (or back to the original station; that would require a way to insert the empty carts into the return track without sending them through the loading gate system.)

The dwarf is now in his/her destination, where he/she hopefully resumes the job they started with (and doesn't choose a new job that requires another ride on the railway...that would be valid to control with burrows (everyone has one workplace, a common diningplace, and one sleepingplace; no multiple workplaces to choose between.))

Hauling minecarts can use the same system, just being loaded beforehand and then pushed, with a separate connection to the same downward track.

This all would require no human input after construction; the dwarves themselves would do all the thinking. We would just have to hope that they don't get confused.



Do minecart stops set to "dump" force passengers to disembark immediately, or do they just dump goods?



Edit: fewer track lines can be used. One from top to bottom, which is joined by downward traffic from the middle stop somewhere near the middle. One from bottom to top, which is joined by upward traffic from the middle stop. One from bottom up to middle. One from top down to middle. That cuts out two track lines, but with six gate systems still needed (which is probably the labor-intensive part.)

Loud Whispers

  • Bay Watcher
  • They said we have to aim higher, so we dug deeper.
    • View Profile
    • I APPLAUD YOU SIRRAH
Re: Public Transit
« Reply #3 on: November 13, 2015, 03:24:39 pm »

The possibility of recreating the London, Shanghai or Moscow Underground is wonderful

Insert_Gnome_Here

  • Bay Watcher
  • Dosen't really care about anything anymore.
    • View Profile
Re: Public Transit
« Reply #4 on: November 13, 2015, 03:41:21 pm »

One day, I may use Embark Anywhere to build an underground network for a human city. I've already tried an above ground adventurer railway.
Logged
Quote from: Max™ on December 06, 2015, 04:09:21 am
Also, if you ever figure out why poets/bards/dancers just randomly start butchering people/getting butchered, please don't fix it, I love never knowing when a dance party will turn into a slaughter.

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Re: Public Transit
« Reply #5 on: November 14, 2015, 02:53:16 pm »

It would appear that dumping track stops don't dump their riders. That will make disembarking more complicated. But I'm starting work on the system. A prototype, I guess, but hopefully an operational one. My first megaproject-ish with logic and large-scale minecart usage.

Edit: However, my baron was more than happy to board my little test ride and crash into a wall repeatedly (no injuries), so that's encouraging. He just kept doing it, too. Looked like the fellow was enjoying himself.

Edit 2: A rather unuseful presser helped the fort discover that dwarves riding carts are indeed shotgunned at sudden stops, and do not simply disembark once the vehicle is at rest. Incredibly, despite a 40-tile-or-more flight and skidding along the ground for most of it, opening several arteries and smashing parts beyond recognition, she now has only fractures, and has been sutured, cleaned, dressed, set, and splinted enough to walk to the drink stockpile and get some booze. I am rather amazed at what two completely unskilled doctors in a small, unprepared hospital just accomplished.

FortunaDraken

  • Bay Watcher
    • View Profile
Re: Public Transit
« Reply #6 on: November 16, 2015, 07:24:16 am »

Edit 2: A rather unuseful presser helped the fort discover that dwarves riding carts are indeed shotgunned at sudden stops, and do not simply disembark once the vehicle is at rest. Incredibly, despite a 40-tile-or-more flight and skidding along the ground for most of it, opening several arteries and smashing parts beyond recognition, she now has only fractures, and has been sutured, cleaned, dressed, set, and splinted enough to walk to the drink stockpile and get some booze. I am rather amazed at what two completely unskilled doctors in a small, unprepared hospital just accomplished.
...does this mean you could possibly put a goblin/undead/etc. into a minecart somehow and shotgun them into magma?

Regardless, that is amazing, and I kind of can't stop giggling every time I read that. The mental image of a dwarf realising that they are not stopping when the minecart stops and going flying through the air at a great rate of knots is just too funny.
Logged
I just had a "lord consort" visit and decide to stay. Preparing for Trojan war reenactment.
Protip: statues cannot be made out of wood unless they're artifacts. If you see what appears to be a wooden statue outside your fort and it's not an artifact, destroy it immediately.

Larix

  • Bay Watcher
    • View Profile
Re: Public Transit
« Reply #7 on: November 16, 2015, 09:02:26 am »

Only "riding" a vehicle will make a creature a proper occupant, and only fort citizens can take these jobs.

Non-citizens can only be made to ride a cart by putting them in a cage and sticking the cage into the cart; they can then be double-shotgunned out of the cart.

You can also put corpses into a minecart and let that cart drive around in a reviving area, but when i tried that in .34.11, the raised undead would just dismount from the driving cart the moment they rose.

Riders will generally leave the cart when the cart stops (i.e. has exactly zero speed in all dimensions). If the stop was achieved by ramming a very fast cart into a wall, the rider will often end up flying, but when coming to a stop from a non-shotgun speed (e.g. when pushed by a dwarf or roller), the rider will dismount safely. Carts can be stopped by moving into a cart-impassable building/construction (wall, closed door etc.), by bumping into a standing cart on the track, by the track stop building (b-C-S, high or highest friction preferably) or by normal friction.

I find the trick to get dwarfs into the carts quite nice, but it seems to me that it requires a full network of walkable interconnections that just get disrupted by pressure plate logic when someone actually tries to use them.

How about coaxing dwarfs into a cart when they try to idle? For each "departure dock", have a small meeting hall on the far side: when the dwarf has nothing to do and tries to hang out, they pass through the station and trigger the cart release that invites them to "ride instantly, all the time" to a central hub or alternative working area, probably with a burrow-regulated return trip scheduled in a few days.

It might be possible to "centralise" eating and drinking this way, although it could turn a bit dicey - eat/drink jobs wouldn't be tied to an attempt to go to the meeting area - but you'd need to put sleeping accomodation in every area the dwarf can legally be: dwarfs don't postpone sleeping jobs, they either path directly to an accessible bed or flop to the ground where they stand.
Logged

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Public Transit
« Reply #8 on: November 16, 2015, 11:43:50 am »

It would appear that dumping track stops don't dump their riders. That will make disembarking more complicated. But I'm starting work on the system. A prototype, I guess, but hopefully an operational one. My first megaproject-ish with logic and large-scale minecart usage.
Just set the cart to push instead of ride at the desired stop.
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Re: Public Transit
« Reply #9 on: November 16, 2015, 10:51:22 pm »

Would screenshots be appreciated at this point? The construction is largely complete on one part. I basically have the entrance gates at the lower stop like 90% done (just need to take them through a cycle so the water memory cells are operational.) There are some bizarre pathing issues, and the opening and closing of my water hatches was causing lag from pathfinding recalculations earlier, so idk. Hopefully all will be resolved soon enough.

@FortunaDraken

Heh, glad I gave you a chuckle.

@Larix

Dwarven space program: It is terrifying. And it was also inevitable.

I keep one "gate" open at all times (no plates or anything; it's just a hallway through to the walking connection, which is a valid path), but it's set to restricted traffic, so the dwarves will choose a gate if there's an open one. In theory. That, coupled with the very simple route plan, should hopefully keep it workable without further workarounds. (I actually haven't built that middle section I was planning on, so it's just one area near the magma sea and then the near-surface as the two stations.)

Job interruption for craftsdwarves can be minimized by using workshop profiles, so some other dwarf doesn't grab the workshop when it becomes temporarily inaccessible to Urist, only to be cancelled when Urist 2 also goes through the process, to hopefully be picked up by the (now arrived) Urist 1 and not some other Urist 3, etc.,  etc.

The big problem, which I occasionally forget, is dwarves trying to haul something manually from station to destination (like a mason bringing a stone to his workshop); they'll drop it when they become trapped, littering the floor with job items. I'll have to organize the fort via stockpile links and my hauling minecarts to avoid that.

I had considered the sleeping/on break issue; I've made 5x5 lounges inside each gate that I'll furnish with statues and beds. It won't be ideal, since the dwarves won't socialize with anyone (unless I make some kind of timer to automatically free them) if they try to use the subway system while on break. (Enters gate -> gate locks -> does not take "ride cart" job because Urist is "On Break" -> Urist stays put in the locked gate until he goes off break, at which point he'll ride the cart and probably get some food.) But then again, some people will probably see that as an efficiency/sanity/ease-of-maintenence benefit (minus the part where it clogs that subway gate until he moves his butt. Hence why I built four gates [plus the fifth, open one] and think it might not be enough.)

Hm, that idling idea is also a good one, though. You'd just have to...idk, account for sleeping, eating, drinking, and on break somehow. I think I'll just have meeting zones in both locations, and hope the dwarves choose the closest one (not a subway ride away.)

And yeah, I planned to use this to centralize eating and drinking (industry as well, really); my drink and food stockpile is in the barely-subsurface fort, while all my heavy industry (and some noble quarters, and this new construction project) are down in the deep fort or near it. I currently keep a small manually-hauled food stockpile down in the deep fort for emergencies. I set up a minecart hauling super-ish highway (it's all guided carts), but I've never used it for food, and I plan to keep it that way.

@Bumber

If you mean at the exit stop, then yeah, that's a pretty good idea. I could trap them in that one (hehe), force them to take the job of pushing the minecart, which rolls over a pressure plate and releases them. That would be pretty great! But it will still require trapping, basic logic, etc., which was more complicated than I was hoping for; but there doesn't seem to be a solution which doesn't involve that.

I haven't figured out how I'm going to do it yet. (I was thinking automatic via fluid pushing or bumping by another cart, triggered by the civilian leaving, to reduce jobs that the dwarf has to take, but this could also work.)

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Re: Public Transit
« Reply #10 on: November 21, 2015, 05:31:08 pm »

And I built the fluid memory cells incorrectly. They don't drain enough before the hatches close again. That will take a while to rebuild (should be about as simple as making the pressure plates only trigger at 7/7 water - I had them at 5/7-7/7 [doh!] - but those connections took a while in themselves), and I don't have that much time. But I'll update with the results once I have.

taptap

  • Bay Watcher
    • View Profile
Re: Public Transit
« Reply #11 on: November 22, 2015, 05:55:32 am »

And I built the fluid memory cells incorrectly. They don't drain enough before the hatches close again. That will take a while to rebuild (should be about as simple as making the pressure plates only trigger at 7/7 water - I had them at 5/7-7/7 [doh!] - but those connections took a while in themselves), and I don't have that much time. But I'll update with the results once I have.

You should not need drainage for fluid logic memory (other than that provided "naturally" by doors): http://dwarffortresswiki.org/index.php/DF2014:Fluid_logic#Memory_Cells

Screenshots would be appreciated, but I fear the whole project will fail due to minecart riding being a job in itself.

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Re: Public Transit
« Reply #12 on: November 22, 2015, 03:21:35 pm »

You should not need drainage for fluid logic memory (other than that provided "naturally" by doors): http://dwarffortresswiki.org/index.php/DF2014:Fluid_logic#Memory_Cells

Screenshots would be appreciated, but I fear the whole project will fail due to minecart riding being a job in itself.

Oh, I missed that subtlety, but I see it now. Eh, it seems more appropriate to have the dwarf's transit-managing computer unceremoniously dump its water into the caverns anyway. And it's working now, so it's all good.

The issue of cancelling the original job to take the cart-riding job could create problems with first dropping the raw materials then choosing a different job once at the destination, etc., but I think it could be controlled satisfactorily via workshop profiles and stockpile links. "On break" dwarves, strange mood dwarves, and sleepy dwarves present a small problem, but as previously stated, there will be dormitories and statues included inside the gate structures, and access hatches that can be unlocked to let unwilling occupants out. As impractical as it is, it might be made to work. Worth a shot, eh?

I'll see what I can do about screenshots.