Bay 12 Games Forum

Please login or register.

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

Author Topic: Single pump for magma pump stack?  (Read 9328 times)

Noble Digger

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #15 on: May 31, 2010, 09:26:29 pm »

I didn't take numerobis' approach as a needlessly-complex or difficult one; Rather, he seems to be trying to calculate the minimum possible tools needed to create a working magma forge i levels above the magma source. Very interesting analysis, extremely time, labor, and pausing intensive, but it would work as you say :)
Logged
quib·ble
1. To evade the truth or importance of an issue by raising trivial distinctions and objections.
2. To find fault or criticize for petty reasons; cavil.

Retro

  • Bay Watcher
  • o7
    • View Profile
Re: Single pump for magma pump stack?
« Reply #16 on: May 31, 2010, 10:21:18 pm »

Well, yes, it would work with just the one pump. I don't at all disagree with that, but earlier in the thread someone was (incorrectly) saying that it would be less of a pain to run a pump system using a single pump than to build a powered stack, and I'd rather not have anyone new to the game stumble in and read that first.

Greep

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #17 on: May 31, 2010, 10:37:24 pm »

Wow that's pretty interesting.  I was hoping to find a way to fling magma up with a pump that pumps into a raising bridge, filling it to 7, splashing up a little each the bridge flings up.  Unfortunately, liquids apparently are not thrown.  Interestingly, the bridge will atom smash any liquids one the tile it is raised onto.
Logged

Reese

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #18 on: May 31, 2010, 11:41:43 pm »

Think incrementally!  You only need one pump.

YOU WILL NEED:
a tile of 6/7 magma at level i.
a floodgate and 1-tile cistern at levels 0 to i+1.
materials for one magma-safe pump.
1. Build the pump, with its outflow pointing at the floodgate.
2. Open the floodgate.
3. Pump the 6/7 magma.
4. Close the floodgate.
You spent the 6/7 magma and got an extra 3 into the cistern, but your pump is free.

So now the procedure is clear:
1. recursively, pump 6/7 magma into the cistern at level i.
2. use the procedure to pump 3/7 into the cistern at level i+1.
3. recursively pump 6/7 at level i.
4. procedure, now you have 6/7 at level i+1.
(base case: the magma sea)
QED.

I leave it as an exercise to the reader to figure out precisely how much architecture skill the dwarf designing the pump will have at the end of moving 6/7 magma up 140z using this method.

Also, this procedure uses up 3n (of which n magma-safe) mechanisms and n magma-safe floodgates to go up n levels.  Can we improve on that?

I can't seem to visualize how all of that goes together.
Logged
All glory to the Hypno-Toady!

CppThis

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #19 on: May 31, 2010, 11:57:04 pm »

Either way, a 1 or 2 pump leapfrog is going to be *way* more trouble than it's worth especially considering DF2010 greatly increases the availability of magma safe materials.
Logged

immibis

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #20 on: June 01, 2010, 12:20:58 am »

Think incrementally!  You only need one pump.

YOU WILL NEED:
a tile of 6/7 magma at level i.
a floodgate and 1-tile cistern at levels 0 to i+1.
materials for one magma-safe pump.
1. Build the pump, with its outflow pointing at the floodgate.
2. Open the floodgate.
3. Pump the 6/7 magma.
4. Close the floodgate.
You spent the 6/7 magma and got an extra 3 into the cistern, but your pump is free.

So now the procedure is clear:
1. recursively, pump 6/7 magma into the cistern at level i.
2. use the procedure to pump 3/7 into the cistern at level i+1.
3. recursively pump 6/7 at level i.
4. procedure, now you have 6/7 at level i+1.
(base case: the magma sea)
QED.

I leave it as an exercise to the reader to figure out precisely how much architecture skill the dwarf designing the pump will have at the end of moving 6/7 magma up 140z using this method.

Also, this procedure uses up 3n (of which n magma-safe) mechanisms and n magma-safe floodgates to go up n levels.  Can we improve on that?
Of course, each level takes twice as many procedures as the level before it, plus two. (using level 1 = 1 procedure as a base). Also each procedure requires a pump to be built.
To pump magma up 140 levels (to level 140) you need 2090694862362245919518973588060783891185662 pump movements.
If each pump gives the dwarf 30 experience, as in 40d, then the dwarf gains 62720845870867377585569207641823516735569860 architecture xp.
If the game uses a 32-bit integer to store the amount of experience each dwarf has in each skill, then he actually loses 60 xp.
Logged
If I wanted ramps I would've designated ramps, dammit!

orbcontrolled

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #21 on: June 01, 2010, 03:41:20 am »

Possible solution until proper plumbing is implemented:

1. Build the staircase and single pump like you originally planned.
2. Have a dwarf operate the pump for a reasonable amount of time. This will achieve nothing, but bear with me.
3. Download DFHack and use it to spawn the appropriate amount of magma at your forges, and remove that amount of magma from the sea.

Imagine that you pumped it :D
« Last Edit: June 01, 2010, 06:32:28 am by orbcontrolled »
Logged

Dorf3000

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #22 on: June 01, 2010, 04:58:55 am »

Think incrementally!  You only need one pump.
~~~~
1. Build the pump, with its outflow pointing at the floodgate.
2. Open the floodgate.
3. Pump the 6/7 magma.
4. Close the floodgate.
You spent the 6/7 magma and got an extra 3 into the cistern, but your pump is free.

So now the procedure is clear:
1. recursively, pump 6/7 magma into the cistern at level i.
2. use the procedure to pump 3/7 into the cistern at level i+1.
3. recursively pump 6/7 at level i.
4. procedure, now you have 6/7 at level i+1.
(base case: the magma sea)
QED.


Actually this will take many more steps, because you will need to pump again into the same cistern while it has magma in it.
1. Cistern has 6/7 spread in 2 tiles
2. Floodgate closes, Cistern has 3/7 in 1 tile
3. --time passes, magma is ready to be pumped up again
4. Floodgate has to be opened(!), Cistern has 3/7 over 2 tiles
5. Magma pumped, Cistern has 9/7 over 2 tiles
6. Floodgate closes, Cistern has 4 or 5/7 in 1 tile.
7. --time passes, magma ready for pumping
8. Floodgate opened, Cistern has 4 or 5/7 over 2 tiles.
9. Magma pumped, Cistern has 10 or 11/7 over 2 tiles.
10. Floodgate closed, Cistern has 5 or 6/7 in 1 tile.

The 6/7 only happens if none evaporates and the maximum amount is saved each time the floodgate closes.  This means that instead of 2n complexity you have at minimum 3n and probably more like 4n.  Your dwarf would probably die of old age before completing even one forge on a standard embark.

Simply building the floodgates and mechanisms and linking them all would take more time than mining out some iron and smelting it and making more pumps.  And it's already been mentioned that with 2 pumps you can transfer 7/7 relatively quickly with no losses.
Logged
I had a tigerman get elected mayor and he promptly mandated 3 bowls of cereal.

numerobis

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #23 on: June 01, 2010, 08:00:35 pm »

Oh darn, you're right, I miscounted.  You don't get a flat 3 magma from the subroutine, so it indeed takes 3 recursive invocations as you point out.  Assume you filled up to 7/7 instead of 6/7, but that you're always unlucky.  First time through the loop you get 3/7.  A second get you to 5/7.  A third fills up the cistern to 7/7.

immibis: you get a gold star :)  Well, under the assumption that it's a 32-bit signed integer; could be unsigned.
Logged

immibis

  • Bay Watcher
    • View Profile
Re: Single pump for magma pump stack?
« Reply #24 on: June 03, 2010, 12:22:11 am »

immibis: you get a gold star :)  Well, under the assumption that it's a 32-bit signed integer; could be unsigned.
Even if it's unsigned.
Logged
If I wanted ramps I would've designated ramps, dammit!
Pages: 1 [2]