Bay 12 Games Forum

Please login or register.

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

Author Topic: Public transport  (Read 2063 times)

Lord Zack

  • Bay Watcher
    • View Profile
Re: Public transport
« Reply #15 on: March 24, 2011, 12:14:56 pm »

Maybe if they had tried to develop it into something useful they could have, but they didn't. Hence in the middle ages they didn't have steam power (they did however have guns a lot earlier than most people think they did). Dwarf Fortress, is based, technologically and culturally on the middle ages (I've heard the 14th century, specifically, pointed out as the basis, I don't remember if that was a direct quote from the Toady One or not though). We didn't have steam engines in the middle ages, ergo, no steam engines in Dwarf Fortress. Of course this applies only to technology, so while steam engines and flying machines are out, dragons and trolls and the like, including dwarves themselves are in.
Logged

dwarf_sadist

  • Bay Watcher
    • View Profile
Re: Public transport
« Reply #16 on: March 24, 2011, 03:18:45 pm »

Even though dwarf fortress is based off 14th century technology, I doubt Toady will want blunderbuss, Chinese rockets, handcannons or arquebus in his game. Yet, he still has weapons traps that rearm themselves, garbage disposal systems that can hold an unlimited amount of items, IFF trap systems, atom smashers, advanced gear and axle systems, archimedes screws so powerful and so perfectly fitted they can pressurize liquids, magma powered workshops, etc.

Still, despite this medieval only rule, a  pulley systems would be nice for elevators, and maybe hand crank rails, so that once dwarfs won't be able to carry 10 tonnes of rocks on their back, they can still move things at a reasonable pace.
Logged
Critical hit! It's super effective!

"You scratch the Giant Tiger in the Upper Body, tearing the muscle, shattering the right false rib and tearing apart the heart! An artery has been opened by the attack! A major artery in the heart has been opened by the attack! A tendon in the false right rib has been torn!"

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: Public transport
« Reply #17 on: March 24, 2011, 03:51:40 pm »

I think the best bet for a minecart for junk, would be to set it like a stockpile.  Have it accept, for instance, microcline, within a certain distance, like 10 tiles away.  Set a microcline stockpile beside the cart.  Then it will generate a job of "load" where it grabs 10 microcline, or less if there's none nearby, and then the rider pushes or otherwise powers the cart to the offload, where it sits in the unloading dock's inventory like the way any finished good sits in a workshop.  Once there, a dwarf unloads it to a nearby stockpile, or not, and if the drop off is full then it won't generate a new "load" job back at the source.

For that matter, every drop could have its own requirements.  Like, have one drop that takes lignite, another that takes limonite, and a third that takes marble.  It will try and stock each of these to 10, and when one drops below 10 it generates a load job back at the source, which causes a cart to be loaded and deliver the goods to each drop point in turn.

This would more or less replace stockpiles for certain things, but they should probably be treated like trade depots combined with stockpiles.  A 3x3 drop point could hold 8 units, allowing it to hold 8 things and have 1 tiles left over for loading and unloading.

I just realized that this thread is about moving people, so it's not entirely accurate, but, moving people would be more difficult as they're all trying to pathfind and they'll be at different distances from the cart itself...

dwarf_sadist

  • Bay Watcher
    • View Profile
Re: Public transport
« Reply #18 on: March 25, 2011, 03:12:26 pm »

Moving people is kind of useless as dwarfs can "fly" up and down staircases at full sprint speed.
Logged
Critical hit! It's super effective!

"You scratch the Giant Tiger in the Upper Body, tearing the muscle, shattering the right false rib and tearing apart the heart! An artery has been opened by the attack! A major artery in the heart has been opened by the attack! A tendon in the false right rib has been torn!"

sockless

  • Bay Watcher
    • View Profile
Re: Public transport
« Reply #19 on: March 25, 2011, 05:05:02 pm »

Steam engines have been around for thousands of years, only in the 18th century we have began to use it on mine carts.

Useful steam engines haven't been. The aeolipile doesn't count, as it isn't actually a useful form of power at all.

Dwarf Fortress doesn't really conform to the middle ages theme anyway, as I've said many times before, coke wasn't used by the west until 1709.

An atmospheric engine is probably the maximum that we would get in DF, anything else is too complex.
Logged
Iv seen people who haven't had a redheaded person in their family for quite a while, and then out of nowhere two out of three of their children have red hair.
What color was the mailman's hair?

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Public transport
« Reply #20 on: March 25, 2011, 06:16:15 pm »

To move this back a bit...

I think the best bet for a minecart for junk, would be to set it like a stockpile.
...

Minecarts are already on the devpage, and so this is mostly a discussion of how to make them operate.

I recently spun a conversation off about how to do hauling and stacking improvements, including minecarts.  The challenges of what can be reasonably controlled by the player and what can be controlled by the pathfinding and job-assignment code were discussed. 

Most specifically:
There shouldn't be any more manual control than absolutely necessary.

OK, let's think logically about how a minecart should probably operate... Unless you want to have the carts pushed around manually waiting at one point or another, then what we need to do is have a way for dwarves to know when it is fine to use a cart as a stockpile, and what areas that cart has connections to when you want to use it as a bulk transport. 

Without having to make your dwarves do a really complicated pathfinding check to see when it is acceptable to try to use a minecart, the only thing I can think of is to make a minecart track create its own zone upon creation.  Presumably, this will be connected to every other piece of track, lest it be useless, so it basically forms a long, snaking zone throughout the areas you have built those tracks, connecting everything together. 

This minecart zone would spread some arbitrary (possibly player-togglable) number of tiles out from the tracks, and when a dwarf tries to take up a job involving hauling, it will check to see if the item to be hauled is within the zone of the tracks, and if the destination is within the zone of the tracks.  Pathfinding along tracks, barring some really kooky behavior on the part of the player, should be very easy, so you could probably do a count of how many tiles it takes to get from start to finish fairly fast, but you could have either a pathfinding check to see what a straight walk would be, anyway, to see how many more tiles one would have to travel by foot, and compare that against the minecart's pathing if you want to be really accurate and save as much dwarf travel time as possible.  (Again, this is a matter of CPU efficiency vs. Dwarf motion efficiency.)  This would have to include the time/tiles it takes a cart-hauling dwarf to actually move the cart into position.

Before using a minecart even makes sense, however, you need to have a set number of items in the area to even make it more useful than just hauling everything by hand. 

This is a possible calculation, of course, it's just a very wierd one, since it means that you have to get the dwarf to calculate how many trips it would take the dwarf back and forth without using the cart vs. how many trips it takes with a cart, plus the amount of time you have to spend getting the cart into position, plus the amount of time it takes to get the dwarf to the cart to start pushing it... and these might have to be done by quick-and-dirty calculations to save on pathfinding time, and prevent a dwarf from just sitting there and making a dozen pathfinding calculations and then winding up just doing the simple pick up the earrings all by himself since it was only very light items type of solution. 

The player might have some sort of ability to interfere with how the zones are set up - letting the player exclude some areas from being in zones, and include larger areas than the cart would normally allow to be in zones, if need be.  It might just be a separate part of the zones menu, or some special cart extension of the zones menu. 

Cart zone tiles would theoretically also be able to include areas that are still walls as part of the zones, so that the yet-to-be mined portions of the mines would already be included in the cart zone... but that causes problems because you don't want zones that are on other sides of walls to be included.  The other solution is to make any tile that is made into a floor with no blocking wall tile take another check when the pathfinding connectivity map is running to see if any adjacent tile is already in a minecart zone, and if so, check for cart tracks within a finite number of steps (flood style) to see if it should be connected to the minecart zone.  This would mean that a tile that was recently mined would declare itself part of a minecart zone, and then tell the stone hauling job of the stone the wall became to become a potential minecart hauling job if its destination is part of the minecart zone's sphere of influence, as well. 

... OK, that's all that a first-blush look at how to make a minecart path will tell me... so could someone blow this idea up for me so I can try to think of a better way to rebuild it?
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Xvareon

  • Bay Watcher
  • Alias: Setokaiva
    • View Profile
Re: Public transport
« Reply #21 on: March 25, 2011, 07:43:12 pm »

I see this working, but probably not Dwarves. It would be buildings like Trade Depots, linked to each other by rails.  Dwarves would haul goods to these link buildings, then you can send a 'railcar' down to the next building to move goods en masse.
Pages: 1 [2]