Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Automated Minecart Magma-Pump (A.K.A. Pump Track)  (Read 6488 times)

evictedSaint

  • Bay Watcher
  • if (ANNOYED_W_FANS==true) { KILL_CHAR(rand()); }
    • View Profile
Automated Minecart Magma-Pump (A.K.A. Pump Track)
« on: June 05, 2013, 12:48:59 am »

Alright, since I haven't really seen anyone else detail how to do this, I figured I'd make an easy-to-follow tutorial on using minecarts to draw magma from a source such as the magma sea without use of rollers.  I'm not sure if anyone has managed to do this successfully yet, but I like to call this set-up a "Pump Track." Keep in mind that this exploits the impulse-ramp glitch, and Toady may fix that during the next release.

Here's how I set it up, plus pictures:
Spoiler (click to show/hide)

Spoiler (click to show/hide)

Spoiler (click to show/hide)

And there you have it!  This is the only way I've seen a magma pump track work without rollers; it's a simple and easy way to automate magma-pumping that doesn't kill frame-rate (like a pump-stack).  Granted, it's a bit slower than a pump-stack, but you don't have to worry about powering it.  Conceivably, you could put multiple carts on one track, but I haven't tested it.  I suspect that they would interfere with one another, some how.

Anyways, what do you guys think?
« Last Edit: June 05, 2013, 09:53:35 am by evictedSaint »
Logged

blue emu

  • Bay Watcher
  • GroFAZ
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #1 on: June 05, 2013, 12:56:20 am »

You say that one part of the procedure needs a Dwarf to guide the car?
Logged
Never pet a burning dog.

evictedSaint

  • Bay Watcher
  • if (ANNOYED_W_FANS==true) { KILL_CHAR(rand()); }
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #2 on: June 05, 2013, 12:58:23 am »

You say that one part of the procedure needs a Dwarf to guide the car?

Not necessarily; it requires the initial push, but my model has the dwarf guide the cart from Track Stop 2 to Track Stop 1 so I could pause it easily if the experiment went wrong.  This design can be easily modified to be completely dwarf-free.

Suoli

  • Bay Watcher
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #3 on: June 05, 2013, 07:41:16 am »

Conceivably, you could put multiple carts on one track, but I haven't tested it.  I suspect that they would interfere with one another, some how.

There's at least two ways to make sure the carts don't bump into each other.

First, you can cover the drop shaft with a hatch and link it to a cart activated pressure plate. While cart(1) is traveling through the circuit, cart(2) sits on the closed hatch. When cart(1) reaches the pressure plate, the hatch drops cart(2) into the circuit and closes. Cart(1) comes to a rest on top of the closed hatch, cart(2) triggers the pressure plate, cart(1) drops in, cart(2) stops on top of the hatch and so on.

The downside to this system is that the pressure plate has to be at least 100 ticks of cart travel time away from the hatch so that it has time to close between triggering and the arrival of the next cart. It's also not very fast, feeding one minecart every 100+ ticks at best. I would only use it for very long distance hauling, where you have space for more than one plate-operated hatch stop.

The other, slightly harder way is to drop multiple minecarts on the same square from z+2, where z+0 is the level with the magma reservoir. First cart drops on the submerged impulse ramp (where it must be held by a door or something for the loading process), the rest stack on z+1. When the first is released, it rolls forward and gives space for the next cart to drop in, one at a time. An unsupported minecart seems to take 8 ticks to drop. As long as you make sure the carts keep moving at a steady pace with no decelerations on the way there shouldn't be any collisions. This is the hard part. It took me some time to adjust the distribution of impulse ramps but it's doable. The examples I've read about used powered rollers, which probably makes it easier to pace the carts if you're willing to mess with rollers.

The advantages of this system are that it's obviously much faster, putting out one cart every 8 ticks. There's a slight problem with integrating this into the magma loading system proposed here since cart(1) would collide with cart(2) when it was trying to travel backwards in the reservoir. I suppose it's possible to solve that by making a U-turn and a parallel return path instead of a dead end, so that cart(1) can travel back without bumping into cart(2).
Logged

evictedSaint

  • Bay Watcher
  • if (ANNOYED_W_FANS==true) { KILL_CHAR(rand()); }
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #4 on: June 05, 2013, 09:48:15 am »

That's an interesting tid-bit about minecarts that I didn't know, thanks! I tend not to be the kinda guy who counts ticks and roller power stuff like that, since I'm usually hilariously off anyways.  The only part I don't understand is:

I suppose it's possible to solve that by making a U-turn and a parallel return path instead of a dead end, so that cart(1) can travel back without bumping into cart(2).

I'm afraid I don't quite follow what you mean?  This system only works because the carts roll backwards along the track; a U-turn wouldn't do that and the cart wouldn't fill with magma.  Either way, cart(1) only travels backwards for exactly one tile before hopping onto the upper return-path.

My concerns were only with hap-hazardly dumping minecarts onto the railways, which I've done before with !!FUN!! results.

Suoli

  • Bay Watcher
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #5 on: June 05, 2013, 10:47:54 am »

I suppose it's possible to solve that by making a U-turn and a parallel return path instead of a dead end, so that cart(1) can travel back without bumping into cart(2).

I'm afraid I don't quite follow what you mean?  This system only works because the carts roll backwards along the track; a U-turn wouldn't do that and the cart wouldn't fill with magma.

I posted this in another thread:
http://www.bay12forums.com/smf/index.php?topic=126780.msg4295853#msg4295853

When the cart drops in magma at 0 horizontal speed (as in after slamming into the wall behind the drop shaft) it instantly fills before being pushed forward by the impulse ramp, so the backward roll is not necessary for filling. I just verified this by checking the minecart right before and after the drop. That in mind, the thing that makes your solution especially interesting is not so much the fact that the minecart fills as it is that you get the cart out of the reservoir. When I tried to do the same with just a straight line of impulse ramps leading out the carts would randomly climb out but most of the time just stop dead on the last ramp. What worked for me was boosting the cart out with a second cart, but you seem to have a solution that doesn't need the "booster" cart.

Quote
  Either way, cart(1) only travels backwards for exactly one tile before hopping onto the upper return-path.

With the speed that carts move while submerged in magma, I'm pretty sure that moving back one tile would make it collide with a cart that was following it 8 ticks behind. So you'll have to figure out how to get the cart out of the reservoir without traveling backwards or resign to using the slow system that takes 100+ ticks to put out a cart.

I would try replacing the leftmost EW ramp with an NE ramp and connecting the north end to the output track. So the cart would, in theory, go west, bump into the wall and then travel north and out from there, without traveling any tiles backwards. Or, more likely, just stop dead on the ramp. :P Still, worth a shot?
Logged

evictedSaint

  • Bay Watcher
  • if (ANNOYED_W_FANS==true) { KILL_CHAR(rand()); }
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #6 on: June 05, 2013, 11:08:17 am »

I would try replacing the leftmost EW ramp with an NE ramp and connecting the north end to the output track. So the cart would, in theory, go west, bump into the wall and then travel north and out from there, without traveling any tiles backwards. Or, more likely, just stop dead on the ramp. :P Still, worth a shot?

That's the weird thing, though.  I won't pretend to understand EXACTLY how this system works, but if the track goes NE like you were suggesting and it's freely available, then it won't climb out of the magma.  Instead, it will bounce back and forth between the last two ramps at top-speed.  I don't know why it does that, but it never seems to slow down. And since there's no way to fish it out easily (I'm not sure whether a booster cart would bump it out or not; either way, we're left with a cart in the magma), the end result is a decrease in frame rate.

The system you outlined actually seems much better than mine.  It looks easier to construct and it has an "off switch" (which mine lacks).  My pump-track uses a kind of obscure exploit that I noticed while fooling around with minecarts. I'd be more likely to use your system than mine.

I thought that during a collision, minecarts eject their contents, though?  Does this happen in this case? Is there a steadily growing "pool of magma" sitting at the bottom of the trench in your example?

gchristopher

  • Bay Watcher
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #7 on: June 05, 2013, 01:17:37 pm »

Argh, I don't have my notes for exact numbers.

The rate-limiting factor for minecart autocannons is probably the amount of time it takes a minecart to begin falling down a shaft after striking an obstacle, coming to a halt, and firing its contents. It's something in the range of 8-11 ticks.

If you go faster than that, the next cart in line will run into the back of the first cart and prevent it from falling, and a multi-cart jam will form at the firing point.

So one nice property of a cart collecting (vertical stack) and dispensing system is for it to be exactly that rate or slightly slower. At that point I think you're at the theoretical maximum output for a single barrel.

All these ideas look neat!

edit, oh, also, if you use a vertical cart stack for collection and dispensing, there will be a timing glitch with the last cart in the system being released too quickly, causing the jam mentioned above. A workaround is to fill the system with one more cart than it can keep moving at a time, so there's always one cart backed up in the cart stack.
« Last Edit: June 05, 2013, 01:34:19 pm by gchristopher »
Logged

Suoli

  • Bay Watcher
    • View Profile
Re: Automated Minecart Magma-Pump (A.K.A. Pump Track)
« Reply #8 on: June 05, 2013, 01:28:35 pm »

I thought that during a collision, minecarts eject their contents, though?  Does this happen in this case? Is there a steadily growing "pool of magma" sitting at the bottom of the trench in your example?

I thought so myself, but apparently the carts move slowly enough while submerged to prevent that. On dry land and after accelerating the carts, though, I've had my share of fun with collisions and magma spills.
Logged