Jump to content

Is there a way to use useless O2 that you don't need?


Recommended Posts

21 minutes ago, blackbellamy said:

That's weird that people need special techniques to deal with liquid deposits.  You dig out an area where you want the liquid to be then puncture the deposit and it flows down.  I usually combine all the free-standing liquids into big pools below my base that way.  Here's all the salt water, here's the ethanol, and so on.  I don't care if some of my base gets wet that way or whatever, that's what the janitor is for.

 

14 minutes ago, 0xFADE said:

I think you might underestimate just how much ocean is on an ocean map. I usually relocate liquid that way too.

Exactly. I think I have close to 3 megatons of seawater above me. If I were to let it flow down, it would flood the entirety of my base from top to bottom.

It's power expensive to desalinate it, but I can get some salt from what I do, instead I use it as a heat sink, while I look for safe routes through. I keep trying a new route though and having it move on to a dead end where I can't easily proceed. I've been working my way through with tricks using diagonal building, but that only works if you have at least a single vertical stack of ground. If that ends, then I'm left with no other option but to try a different path.

Link to comment
Share on other sites

13 minutes ago, blackbellamy said:

That's weird that people need special techniques to deal with liquid deposits.  You dig out an area where you want the liquid to be then puncture the deposit and it flows down.  I usually combine all the free-standing liquids into big pools below my base that way.  Here's all the salt water, here's the ethanol, and so on.  I don't care if some of my base gets wet that way or whatever, that's what the janitor is for.

I don't "need" special techniques. I just don't want to dig out a gigantic area when I can shove it into a 6x8 or so room. 

Last game I had 2 storage areas (less than 100 block total) holding the contents of pretty much the entire subsurface ocean. By contrast, I'd've needed to dig out a 57x57 "tank" to hold it all in and that's assuming I "cheat" with airflow tiles/doors to avoid the pressure damage. If you don't cheat, you may need 2 or even 3 thick walls.

This is also assuming my map was at the low end of possible salt water on a Verdante map with subsurface oceans with "only" 3190t of salt water. I saw one map with 4200+t.

And if you go Oceania like @0xFADEmentioned, well, I saw one map with 12,613t of salt water. I dunno, I don't think I want to dedicate a 113x113 tank just for saltwater... 

Link to comment
Share on other sites

8 minutes ago, beowulf2010 said:

I don't "need" special techniques. I just don't want to dig out a gigantic area when I can shove it into a 6x8 or so room. 

Last game I had 2 storage areas (less than 100 block total) holding the contents of pretty much the entire subsurface ocean. By contrast, I'd've needed to dig out a 57x57 "tank" to hold it all in and that's assuming I "cheat" with airflow tiles/doors to avoid the pressure damage. If you don't cheat, you may need 2 or even 3 thick walls.

This is also assuming my map was at the low end of possible salt water on a Verdante map with subsurface oceans with "only" 3190t of salt water. I saw one map with 4200+t.

And if you go Oceania like @0xFADEmentioned, well, I saw one map with 12,613t of salt water. I dunno, I don't think I want to dedicate a 113x113 tank just for saltwater... 

I think in my case, the lakes kind of burst through into each other to make one giant weird shaped one.

edit:

Dupe 1 is setting up steel reinforcements as the ceiling is dripping.

Dupe 2: Why is the ceiling leaking? What's up there?

Dupe 1: Try not to think about it. Hopefully we never have to find out.

Link to comment
Share on other sites

1 minute ago, 0xFADE said:

I’ve been boiling my salt water. You get the same amount of salt from it as desalination and you are getting more use out of that energy. 

Did you miss my mention that my steel refinery was boiling lobsters earlier ;)

Also, I just realized my colony name was "Leaky Dump." I couldn't have picked a better name!

Link to comment
Share on other sites

Surprised no one already said this but don't longhairs slicksters consume oxygen? Although they give nothing back, they still reproduce and leave behind eggshells and meat. I'd suggest that you store oxygen in a chamber where you have a liquid bypass gas storage and put a bunch of those there.

There is a point that even converting oxygen to liquid, still you'll have enormous quantities of it and eventually you'll have to either let go or just store it away.

Link to comment
Share on other sites

2 hours ago, 0xFADE said:

Longhairs consume a TON of oxygen.  I would go pufts every time.  I’d rather add more dupes.

Sure, after having two liquid containers of LOX and your base PUMPED full of OX, and then still have enourmous surplus, why not? contributes indirectly to steel production. I know because I have to produce hydrogen for rockets from electrolyzers and I have ox vents.

Link to comment
Share on other sites

19 hours ago, Chthonicone said:

Huh? Another thought. I could have not only used petroleum as coolant, but also used that for power when it got too hot instead of cooling it. I never thought about that.

Use the petrol from your cooling loop to drive a steam turbine instead, so you get power without deleting the petrol.

Link to comment
Share on other sites

20 hours ago, 0xFADE said:

They went the other way with liquid locks.  Critters used to travel through them.  They don't likely have any intention of taking them away.

I wouldn't mind if they stopped leaving 33g puddles and made liquid flow to it's inevitable gravity well. That wouldn't affect any of my liquid locks but would likely pacify anyone complaining that it's cheaty. Nobody is forcing you to use a tiny packet of liquid if that doesn't suit you.

Link to comment
Share on other sites

1 hour ago, Xuhybrid said:

I wouldn't mind if they stopped leaving 33g puddles and made liquid flow to it's inevitable gravity well.

Considering how intricately the "min horizontal flow" property is to the liquid computations, this will probably never happen. But who knows.  Maybe my posts on the "exact formula" will spark some ideas from the community on alternate formulation.  In particular, their current algorithm appears to not be parallelizable (it has to run on a single processor as each computation depends on the previous).  A be some of the coding geeks who play ( @Gurgel) could find a nice parallilizable algorithm that would be similar, and maybe better, so we could split up the comptations and use multiple cores.  Maybe I'm oversimplifying it, and maybe the physics engine is actually trivial, and all the problems really come from path finding....

Link to comment
Share on other sites

Just an update, I managed to get stable on power again in my base. Getting my steel refinery producing power for me helped a bunch, and then I was able to refine more petroleum to use as fuel.

Currently working on a water lock in a 2 stage system: First a room you descend into with a mesh floor and pumps underneath to remove any water that spills into it. Inside will be some atmosuits. Then another door you descend to get into the water and proceed upwards.

Link to comment
Share on other sites

On 9/13/2019 at 8:03 AM, mathmanican said:

Considering how intricately the "min horizontal flow" property is to the liquid computations, this will probably never happen. But who knows.  Maybe my posts on the "exact formula" will spark some ideas from the community on alternate formulation.  In particular, their current algorithm appears to not be parallelizable (it has to run on a single processor as each computation depends on the previous).  A be some of the coding geeks who play ( @Gurgel) could find a nice parallilizable algorithm that would be similar, and maybe better, so we could split up the comptations and use multiple cores.  Maybe I'm oversimplifying it, and maybe the physics engine is actually trivial, and all the problems really come from path finding....

Well, for liquid, there is an easy way to do it on multiple cores: One thread per "puddle", distribute over however many cores you have. Or course, you need to determine puddles first, but an approach that first computes the ones far away from each other probably would perform well in multi-core. And afterwards, you only need to re-schedule if something merges. 

Link to comment
Share on other sites

27 minutes ago, Gurgel said:

Well, for liquid, there is an easy way to do it on multiple cores: One thread per "puddle", distribute over however many cores you have. Or course, you need to determine puddles first, but an approach that first computes the ones far away from each other probably would perform well in multi-core. And afterwards, you only need to re-schedule if something merges. 

The basic calculation to find the "puddles" as you call it, is not parallelizable. It's a flood fill algorithm. You take any piece of liquid that hasn't been accounted for, and floodfill all the tiles near it to find it's extent.

You might think that you only need to do this once, but any time a new tile gains liquid, you have to perform this algorithm again to find out if 2 bodies were connected.

Optimizing this might be possible, but parallelizing it is not. If you try you end up counting the same body of liquid multiple times, and performing double calculations on it which likely will cause bugs. Heck, you would even run into race conditions causing liquids to disappear or multiply in places. We don't want this.

There is a way to parallelize it with the way they do their calculations though. It requires 2 passes. The first pass it determines for each tile on a separate core, or better yet, you clump them into work units so you do less core switching, how much liquid it will send in each direction, and on the second pass, it tallies up the totals and updates each tile. Pass 1 must be completed for all tiles before pass 2 can begin, or at the very least it must be completed for all connected work units for a work unit to start pass 2.

This might sound easy, but it too might have bugs that come out. After all, I have a decent idea how pressure works, but I'm not exactly sure how liquid swapping of different kinds of liquids, works behind the scenes. There might be added complication from that.

Here's an example of how to do it with CUDA:

Here is a 10x10 block passed to a 64 processor CUDA core. It will first pass calculate how much gas is moved out of each tile to neighboring tiles:
EEEEEEEEEE
ECCCCCCCCE
ECCCCCCCCE
ECCCCCCCCE
ECCCCCCCCE
ECCCCCCCCE
ECCCCCCCCE
ECCCCCCCCE
ECCCCCCCCE
EEEEEEEEEE

The center area each core will have one tile, it will calculate which direction the gasses will go for each of the 6 directions it goes per tick. Each core calculates it in unison, so as long as the 8 neighboring blocks aren't being calculated at the same time (6 actually since it only calculates 6 of 8 directions every cycle) it won't interfere with any other block's count preventing a race condition.

In the neighboring blocks it will add how much gas it is donating to the tally that will be used in pass 2.

Next, once all neighboring blocks that will donate to this one are done, we can perform the second pass. Here we just add the tally to the total of gas/liquid in this block, zero the tally, and we're done. There is no race condition here unless a neighboring block is donating to one of our edges. By waiting till these have already done pass 1 we avoid that race condition.

If gas/liquid swapping is handled separately, they could utilize CUDA or a similar technology to speed up the game, and this would benefit those with good video cards. Of course it would have to be optional, and wouldn't help those without one.

Link to comment
Share on other sites

On 9/20/2019 at 6:50 PM, Chthonicone said:

The basic calculation to find the "puddles" as you call it, is not parallelizable. 

Nonsense. You have no clue what you are talking about. Maybe take a "Parallel Algorithms 101" before disgracing yourself like this. 

Link to comment
Share on other sites

You could probably set up an airflow tile such that oxygen is allowed to bubble up through the ocean but the ocean isn’t allowed to come back in. Worst case, if you tell a dupe to empty the output pipe of just about any gas-producing system, they’ll put it into bottles which allows virtually infinite compression. I ended up using this at one point when I had too much oxygen in the lower areas of my base.

Link to comment
Share on other sites

On 9/11/2019 at 7:37 PM, Chthonicone said:

I'm trying to figure out a way to save my colony, I can't even make petroleum or natural gas at this point. I'm out of coal, and really can't afford to feed hatches anymore, and starting a turbine build on magma would require moving or using a ton of oil.

I've resorted to hamster wheels again.

I've never lost a colony due to lack of power before, and the only thing I can think of to salvage this is to electrolyze water and use that to generate power.

Problem is I don't need Oxygen, I have plenty, let alone the amount I'd get from the size of the build I'd need. What can I do with it? I'm not going to space yet, so Oxite really won't help me much, and storage is only putting off the problem for tomorrow.

To be clear, I'm looking for about 4 kW of power at least.

Dupes are a resource you can use to make power out of oxygen and food. Assuming you have 1.3kg/s of surplus oxygen, all you need is the food for 13 dupes to produce 4000kw on manual generators. Dupes whose job is to run on a hamster wheel don't need much additional infrastructure. I haven't really tried it, but you might be able to essentially lock them in a room with manual generators, a low-quality food supply, and a mesh floor to catch their accidents.

When you are done with them, maybe just fill that room with water. (Cruelty joke to ironically acknowledge the cruelty.)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...