Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: spiral track  (Read 1647 times)

San-A

  • Bay Watcher
    • View Profile
spiral track
« on: February 23, 2015, 05:02:44 am »

I am in the process of carving a mine-cart track down to my forges. I am doing it as follows...
z = z0
Code: [Select]
u-o
  |
  d
z = z0-1
Code: [Select]
   
  u
  |
d-o
etc.
where u = upward track ramp, d = downward track ramp, o = turn, - and | = track

The pattern is repeated over many z levels (more than 40). I did it before: it works fine if the cart is guided from the top to the bottom, but it doesn't if I push it or ride it: it derails although each turn is surrounded by walls. This is probably due to the speed. I suppose the solution would be to add track stop with friction.

Since track stops need to be re-constructed every time the friction is adjusted, would it be possible to share your experience about this sort of construction? How many track stop do I need? i.e. if I add a track stop every N z-levels, what N should be? Which friction should I choose?

Thanks

« Last Edit: February 23, 2015, 05:05:53 am by San-A »
Logged

GhostDwemer

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #1 on: February 23, 2015, 11:51:43 am »

You can use dfhack to adjust the friction of already constructed track stops. Just type "enable trackstop" and you will find new adjustment keys enabled in all track stop's "q" menus.
Logged

Larix

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #2 on: February 23, 2015, 12:39:43 pm »

One high-friction track stop on every level, _directly_ behind the ramp coming from above, should do it.

Better choices:
instead of regulating speed, regulate pathing behaviour - construct a track ramp before every downward ramp:
Code: [Select]
▲═╗#    ══╗#
..▲#      ╔#
..▼#      ║
       track

The ramp next to the down ramp must touch a wall and a floor tile, or it won't work. It doesn't need to lead anywhere "up". With this setup, you can force carts of any speed into adjacent down ramps.

Of course, even easier:
just let the cart _fall_ down to your target level. Dig a deep shaft and dump the whole cart into it from above. It won't lose its cargo, the only downside is that it's no longer ride-safe. If you put a proper track ramp at the bottom of the shaft, the cart will even pick up speed and roll off by itself.
Logged

San-A

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #3 on: February 23, 2015, 01:00:48 pm »

One high-friction track stop on every level, _directly_ behind the ramp coming from above, should do it.

Better choices:
instead of regulating speed, regulate pathing behaviour - construct a track ramp before every downward ramp:
Code: [Select]
▲═╗#    ══╗#
..▲#      ╔#
..▼#      ║
       track

The ramp next to the down ramp must touch a wall and a floor tile, or it won't work. It doesn't need to lead anywhere "up". With this setup, you can force carts of any speed into adjacent down ramps.

Of course, even easier:
just let the cart _fall_ down to your target level. Dig a deep shaft and dump the whole cart into it from above. It won't lose its cargo, the only downside is that it's no longer ride-safe. If you put a proper track ramp at the bottom of the shaft, the cart will even pick up speed and roll off by itself.

I understand this one

Code: [Select]
▲═╗#   
..▲#     
..▼#     

but I fail to understand this:
Code: [Select]
    ══╗#
      ╔#
      ║
Basically an up ramp will slowdown the cart before it goes down, is that what you mean?

About this:
Quote
The ramp next to the down ramp must touch a wall and a floor tile, or it won't work.
I am not sure I understand it either

Quote
Of course, even easier:
just let the cart _fall_ down to your target level. Dig a deep shaft and dump the whole cart into it from above. It won't lose its cargo, the only downside is that it's no longer ride-safe. If you put a proper track ramp at the bottom of the shaft, the cart will even pick up speed and roll off by itself.
This is glorious, but the problem is that it would take forever to bring the cart up


Logged

Larix

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #4 on: February 23, 2015, 01:10:22 pm »

The track layout on the ramp is important - track ramps have several oddities. The ramp actually makes the cart go even faster, but the important thing is that it changes the _behaviour_ of the cart.

The cart on your track should malfunction because it goes too fast when encountering the next downward ramp - when it's moving faster than 1/2 tile every step, it will ignore most corners _and_ downward ramps. The "leading" ramp puts the cart into "ramp mode", so it'll respect the downward ramp, at absolutely any speed imaginable.

If you're not very used to fiddling with these "impulse ramps", trying the track stops may be safer.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #5 on: February 24, 2015, 03:27:24 am »

My latest implementation used a free fall downwards (140 levels) and an impulse ramp based spiral track upwards. This was "secured" with track activated pressure plates controlling 4 doors (the beginning and the end of the tracks) to block cats, dwarves, and diplomats from becoming roadkill. If you don't want to use impulse ramps, I'd recommend a free fall pushed track downwards and a guided track upwards, as Larix said.

The way I constructed it used a 3*3 footprint with a vertial shaft in the middle, and a spiral around that. The spiral consisted of alternating impulse ramps and ordinary turning ramps, with the impulse ramps at the middle of the 3 tile strech and the turning ramps at the corners.
The construction was made in a two step process, where the first one was digging of channels (the description is from the bottom upwards):

 z  z-1 z-2 z-3 z-4 ...
SSS SSh hhS SSS SSS
ShS Shh ShS hhS ShS
Shh SSS SSS hSS Shh

S=Stone, i.e. solid rock, h=cHannel.

The second step was to carve all the ramps, where I set the impulse ramp to be the complete opposite of the natural turning ramp:
z impulse ramp: SE, corner ramp: NW
z-1: NE, SW
z-2: NW, SE
z-3: SW, NE
z-4: SE, NW again.
At the bottom the falling track ends in a straight ramp (i.e.NS or EW, depending on which direction you want the exit track to take). You probably need impulse ramps to power the to/from tracks at both the top and the bottom as well.
The top of the fall actually turned out to be trickier than I thought, since I ended up with the cart missing the shaft and instead hitting the spiral track and returning back up. I solved that by changing the falling shaft to start higher up than the spiral, so the cart would hit a solid wall on the other side of the shaft.
Logged

San-A

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #6 on: February 24, 2015, 06:17:57 am »

I am not familiar with impulse ramp so I will use my current track to bring the cart up

Quote
Of course, even easier:
just let the cart _fall_ down to your target level. Dig a deep shaft and dump the whole cart into it from above. It won't lose its cargo, the only downside is that it's no longer ride-safe. If you put a proper track ramp at the bottom of the shaft, the cart will even pick up speed and roll off by itself.

What you mean is that I should build a downward track ramp at the last level of the shaft? Does the track following the ramp need to be in the same direction as the track before it falls down?

Cheers
Logged

gchristopher

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #7 on: February 24, 2015, 03:27:18 pm »

Larix's Minecart Education Thread is a must-read when you have the time. Don't worry about absorbing it all in one read-through, but if you need to figure out what's going on with your minecarts, it's probably covered there.

That should be stickied or a guide on the wiki or something.
Logged

Loci

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #8 on: February 24, 2015, 07:45:13 pm »

Your setup (side view):

minecart------------->
___________
                 \\
                   \\
                     \\

If the minecart has sufficient momentum, it just flies right off the edge instead of rolling down the ramp.


Using an impulse ramp:

     \\*
       \\-
--->* \\-
______\\-
           \\-
            \\---->
             \\____

The impulse ramp "teleports" the minecart to the top of the ramp, forces it to accelerate down the ramp and continue down the next ramp (since it was already headed "down" a ramp). You can "stack" any number of down ramps in a row as long as you start with the impulse ramp at the top.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: spiral track
« Reply #9 on: February 25, 2015, 03:10:25 am »

When you've channeled out a straight downwards shaft you'll have a ramp remaining at the bottom. You can then dig a tunnel out from the bottom of the shaft (you need to get your miner out anyway). When you carve the tracks you should carve it "through" the ramp "into" the wall behind it. This will create a NS or EW ramp the mine cart will land on and roll down and out a bit along the track. If you don't want to use impulse ramps or rollers, you should set up a track stop somewhere before the cart stopping place and get your dorfs to pick up and push/guide/ride the cart from there to your final destination.

If you don't carve a track on the ramp I believe the cart will just stop where it lands, i.e. on top of the ramp. It's possible to have your dorfs pick up the cart from there, but they run the risk of getting another one from above, which can reduce their life expectancy considerably.
Logged