Jump to content

Why is atmosphere anti-social?


Recommended Posts

So, I'm sure this got answered somewhere but I can't find it.  Why is atmosphere so anti-social?

There is absolutely no realistic place where 20 grams of Carbon Dioxide will push 2kg of pure O2 out of the way.  Nevermind that pure O2 isn't air and is actually dangerous in large quantities/pressures, but that's a 'How dang complex do we want this' question vs. realism, which isn't the confusion for me.

So, I've been wondering as my tiny little red pockets wander around the base... what was the driver of this decision?  Mechanics, or dev simplification?  Mechanics could be driven by many things, such as not having to constantly filter EVERY gas you ever wanted to touch, more interesting and difficult environment manipulations (like switching farms over to high CO2 deposits to remove variables), or other possibilities I hadn't thought of.

Simplicity could simply be that the background state of the instance for each grid of base doesn't handle percentages and they decided it simply wasn't worth pursuing, or some other head scratcher in Unity or something else that I'm unaware of, such as a race condition that doesn't play well with the 'atmosphere moves' components.

It is incredibly non-intuitive, either way, and a real headscratcher when you first start to truly learn what the atmosphere systems are doing because you can't understand why the plant that's sitting in your incredibly overpressurized base is complaining about being *under*pressured, and you start to really stare at it to see what's going on.

Link to comment
Share on other sites

Because this is a game, and systems such as air flow and fluid flow, while resembles what's in the real world, is still quite different.  It doesn't need to make sense because it's just how the physics engine is designed in ONI.

On a practical level, I doubt an extremely complicated and realistic gas and fluid engine can be run on anything short of a super computer.

In the end, it all comes back to the same answer: it's a game.

Link to comment
Share on other sites

3 hours ago, trukogre said:

realistic gas modeling would run too slowly.  

 

2 hours ago, Reaniel said:

On a practical level, I doubt an extremely complicated and realistic gas and fluid engine can be run on anything short of a super computer.

Oh jeez, apparently I wasn't clear.  Whoops.

I'm not asking about a weather system generator or anything like that.  What I was wondering was basically why gas doesn't combine and keep pressure was all.  A gas sinking through another one would, theoretically, simply require an array per square instance of the map with the container swapping heavier gases in its list for lighter gases in the one below it, while keeping the existing pressure systems for homogeneous gases, such as a lot more O2 at the bottom of the base then the top, just a generic value for pressure instead of per type.

Since to me it seemed more intuitive and only slightly more code heavy/game tic to do so, I'd wondered if it had been discussed before and I couldn't find where in the boards it had been.

Link to comment
Share on other sites

1 hour ago, WanderingKid said:

 

 

I'm not asking about a weather system generator or anything like that.  What I was wondering was basically why gas doesn't combine and keep pressure was all. 

I don't think you're understanding the point.

The argument goes like this:

A.  A fully realistic model is too computationally intensive.

B.  Any simplified model, like ONI's, it is very easy to say "but why not this one thing I want that would make it better for me"

C.  If B is granted for everyone who raises the question, then we're back to a fully realistic model.  

D.  Arguing each individual suggestion on the merits of the current model plus that suggestion misses the point that the simplification is chosen as a whole, not piece by piece.  Imagine trying to paint the Mona Lisa by holding a vote on each object.  It doesn't work, at some point you have to look at the whole, not just the parts.

E.  The current model already runs too slowly.

Link to comment
Share on other sites

20 minutes ago, trukogre said:

I don't think you're understanding the point.

.....

* E.  The current model already runs too slowly.*

Ah!  So this discussion, or one similar enough in concept has already occurred somewhere and Klei has responded?  Excellent.  If you happen to have the link to that handy, would you be so kind as to share it?  Appreciated!

Link to comment
Share on other sites

1 hour ago, WanderingKid said:

Ah!  So this discussion, or one similar enough in concept has already occurred somewhere and Klei has responded?  Excellent.  If you happen to have the link to that handy, would you be so kind as to share it?  Appreciated!

Huh?  if you want your post discussed, these are discussion forums and so you're in the right place.  If you want Klei and Klei only to respond, I would suggest emailing them?

Link to comment
Share on other sites

Operating within the lava-lamp style atmospheric and fluid effects was one of the core concepts for developing the game, if I understand things correctly. 

They talk a little bit about the game-type thing that inspired the atmospheric structure (called "Power of Sand" or something?) in one of the recent "Rhymes With Play" Twitch streams. I forget exactly which episode it was, but I want to say it was 152 or 153, probably?

Link to comment
Share on other sites

1 hour ago, WanderingKid said:

A gas sinking through another one would, theoretically, simply require an array per square instance of the map with the container swapping heavier gases in its list for lighter gases in the one below it, while keeping the existing pressure systems for homogeneous gases, such as a lot more O2 at the bottom of the base then the top, just a generic value for pressure instead of per type.

And processing of those arrays would run at O(n), where n is the number of unique gases in the area.

Gas processing is one of the more expensive parts of the game already. You can see it when you completely seal (tile-up) or turn to vacuum a large area that was previously full of gas. Multiplying that cost would be very noticeable.

It probably is doable, but it could require a level of optimization Klei doesn't usually get anywhere near. I'm not an authority on the subject, but I had to deal with a similar problem and this class of problems (quickly processing a variable number of entries per spatially-oriented tile) is rather resistant to common-sense-guided optimization.

Link to comment
Share on other sites

19 hours ago, trukogre said:

Huh?  if you want your post discussed, these are discussion forums and so you're in the right place.  If you want Klei and Klei only to respond, I would suggest emailing them?

May I paraphrase your first response to me?  "If you have a better idea, go for it."  ... when I was asking about a discussion I had figured had been done ad naseum already and was simply trying to find the discussion or the reasons behind what I was asking.  So, twice, with me "missing the point", you simply inform me the game 'runs too slowly already', when my 10 year old box seems to handle it just fine.  So when you inform me as a fact that it 'runs too slow already' I hoped you'd have it handy where the programmers stated it's already driving development and mechanics choices.

19 hours ago, Vim Razz said:

Operating within the lava-lamp style atmospheric and fluid effects was one of the core concepts for developing the game, if I understand things correctly. 

They talk a little bit about the game-type thing that inspired the atmospheric structure (called "Power of Sand" or something?) in one of the recent "Rhymes With Play" Twitch streams. I forget exactly which episode it was, but I want to say it was 152 or 153, probably?

Much appreciated.  I'm working backwards through their streams now.  152 and 153 were more showcases for the diseases, and in 155 they discuss cell optimizations as to why the diseases are put through a combat system to see who wins.  They're nice to run in the background while I'm working, so when I find it I'll let you know if you're interested.

18 hours ago, Coolthulhu said:

And processing of those arrays would run at O(n), where n is the number of unique gases in the area.

Gas processing is one of the more expensive parts of the game already. You can see it when you completely seal (tile-up) or turn to vacuum a large area that was previously full of gas. Multiplying that cost would be very noticeable.

I'm surprised that sealing out a region is making that much of a difference.  *scratches head* As I mentioned above, my box is an antique these days, and I'm running into very little concerns in 20+ dupe bases with all sorts of crazy things going on because I don't keep my gases where I want them, mostly due to lack of planning and not bothering with airlocks. 

From what I can tell the cells already do a lot of heavy lifting in the homogeneous areas, such as Oxygen Pressure movement.  The O(n) complexity I could see starting to cause some issues though, as you mentioned, as they continue to introduce new elements to the game.  However if you end up with that kind of a meld in an area the lava lamp (I like that term) style atmosphere ends up running into a traffic concern for weights and the like that will still add some decent processing, afaik.

I'll try expanding one of my messiest ones and pumping CO2 to the roof in a warmer biome to see if I can see what you do with area sealing.

2 hours ago, yungmew said:

Having every tile of gas be a mixture of elements would require more memory as now have more calculations to do for one tile change

My current game runs at 1.5 - 2gigs of memory depending, but I admit to not staring very hard at it until you mentioned it.  If anything's getting beaten on: it's my CPU/GPU.  Have you been seeing significant enough memory pressure that it's a concern?

Link to comment
Share on other sites

A model with mixing gases might be more complex. However this is a good example where more complexity doesn't necessary implies more computation. In fact, mixing gas in tiles might be a good way to increase the convergence speed of the system. When the system is locally stable, there is no need to update it anymore in this area until some changes come to disturb it. But in my experience, it's really hard to design models that stabilize not to slowly and do not exhibit very strange behaviours. Moreover, freezing areas of the simulation might introduces new bugs which are hard to spot. I believe it is not impossible though, and I'm sure there already exist very cool ones.

It is not obvious though that a such system is better gameplay-wise. It could break interesting behaviours and add crappy ones. You don't really know until you tested it. I don't know why the developers chose to keep things "simple" (the simulation is not so simple) but I think it is wise to not increase the complexity when you are not sure it will be better.

About the resource consumption... I can play a 512x512 map (thanks to Onion Patcher) without any problem, so the simulation seems to be pretty fast. About memory, 512x512 is still a small number for nowdays RAM, that won't probably be a problem for any simulation.

 

Link to comment
Share on other sites

1 hour ago, WanderingKid said:

May I paraphrase your first response to me?  "If you have a better idea, go for it."  ... when I was asking about a discussion I had figured had been done ad naseum already and was simply trying to find the discussion or the reasons behind what I was asking.  So, twice, with me "missing the point", you simply inform me the game 'runs too slowly already', when my 10 year old box seems to handle it just fine.  So when you inform me as a fact that it 'runs too slow already' I hoped you'd have it handy where the programmers stated it's already driving development and mechanics choices.

 

I never said it was a "fact". I'm glad you think the game runs fine on your old computer, I have a new computer with 32 gigs, latest generation i7, etc, and the game runs slowly with 12 dupes and only about 15% of the asteroid explored, with the generator/transformers bugging out and dropping half their power generation/transfer due to dropped frames.  How many dupes does your colony have?  Perhaps we just have different standards for how things should run, you might be fine with losing half your power generation to dropped frames even with a relatively small colony, and that's fine, we don't have to agree on our opinions of things like that, although making up stories about the other person referring to such opinions as facts is unfortunate.

Link to comment
Share on other sites

The current gas model is IMHO unintuitive (look at the speed fluid moves and how slow gas is in comparison) and (as of the taken shortcut of one gas per tile only) completely broken when exposed to certain geometric configurations (traces of one gas can displace (or even block another) at way higher concentrations)

It should be replaced with a system that is able to mix different types of gas within one tile, it should also support partly blocked tiles (so 1 mg of fluid won't block the full tile anymore). The needed calculations for that kind of simulation should fit (on every somewhat current GPU) into a shader program, so 'speed' shouldn't be a valid argument.

Link to comment
Share on other sites

2 hours ago, Masterpintsman said:

 

It should be replaced with a system that is able to mix different types of gas within one tile, it should also support partly blocked tiles (so 1 mg of fluid won't block the full tile anymore). The needed calculations for that kind of simulation should fit (on every somewhat current GPU) into a shader program, so 'speed' shouldn't be a valid argument.

I'm pretty sure we had similar discussion when some suggested we have sloped tiles and/or half tiles, and the conclusion that came out of that was it's more complicated than you think, and more resource intensive than you think.

Link to comment
Share on other sites

Yeah i remember the sloped tile conversation, in the end the reason gasses do not mix in a single tile is because it is too complex and this is what Klei have settled with, they might change it further down the line, but this is an Early Access game and this is the decision they have went with. The same goes for fluids.

Older rigs should be able to run it etc with the newest update its even more friendly to all computers. because of how it runs as well a cpu which is better at single core processing will probably do even better. It also depends on what speed you play at, for instance I always play on triple speed with 24+ dupes and I sit at a minimum of 26 frames, it doesnt seem to drop much after that...probably because I keep my bases compact?

Link to comment
Share on other sites

23 hours ago, trukogre said:

I never said it was a "fact".

...

Perhaps we just have different standards for how things should run, you might be fine with losing half your power generation to dropped frames even with a relatively small colony, and that's fine, we don't have to agree on our opinions of things like that, although making up stories about the other person referring to such opinions as facts is unfortunate.

I re-read your posts and heard a different tone this time.  I thought about doing this in a PM but since I was being a jackass publically, I figured I'd apologize the same way.  Sorry about that.  I'd read your earlier posts the wrong way.  My apologies.

22 hours ago, Masterpintsman said:

The current gas model is IMHO unintuitive (look at the speed fluid moves and how slow gas is in comparison) and (as of the taken shortcut of one gas per tile only) completely broken when exposed to certain geometric configurations (traces of one gas can displace (or even block another) at way higher concentrations)

I agree with the unintuitive, but disagree with the concern of how slow gas moves.  Gas doesn't typically separate to weight at all except in very cold environments or other significant concerns (ie: bottoms of incredibly deep mine shafts).  A simple real world example is the scent of propane from the BBQ and how long it can linger without airflow.  This is why you don't fall asleep to CO2 poisoning when you lay down on the floor for yoga or something equally silly.  There's some very serious gravity on this asteroid of ours!

20 hours ago, Reaniel said:

I'm pretty sure we had similar discussion when some suggested we have sloped tiles and/or half tiles, and the conclusion that came out of that was it's more complicated than you think, and more resource intensive than you think.

Possibly this one?  https://forums.kleientertainment.com/topic/81056-angled-or-slide-tiles/

Link to comment
Share on other sites

On 8.9.2017 at 1:05 AM, WanderingKid said:
On 7.9.2017 at 2:12 AM, Masterpintsman said:

The current gas model is IMHO unintuitive (look at the speed fluid moves and how slow gas is in comparison) and (as of the taken shortcut of one gas per tile only) completely broken when exposed to certain geometric configurations (traces of one gas can displace (or even block another) at way higher concentrations)

I agree with the unintuitive, but disagree with the concern of how slow gas moves.  Gas doesn't typically separate to weight at all except in very cold environments or other significant concerns (ie: bottoms of incredibly deep mine shafts).  A simple real world example is the scent of propane from the BBQ and how long it can linger without airflow.  This is why you don't fall asleep to CO2 poisoning when you lay down on the floor for yoga or something equally silly.  There's some very serious gravity on this asteroid of ours!

Please go into debug, paint a 50 tile long vacuum corridor into solid matter, paint a large amount of gas into one end, wait till 'pressure' evens out. Sorry, that's way to slow. Or look at

for the effects of the 'one tile, one material' design decision. Also not fun.

Link to comment
Share on other sites

6 minutes ago, Masterpintsman said:

Please go into debug, paint a 50 tile long vacuum corridor into solid matter, paint a large amount of gas into one end, wait till 'pressure' evens out. Sorry, that's way to slow. Or look at  <snipped> for the effects of the 'one tile, one material' design decision. Also not fun.

Oh, I don't disagree with that part.  Gas should expand very quickly into vacuums as well as I've ran into the minor notch of CO2 way too often for my taste.  It's just that once it's mixed up it doesn't normally separate fast to gravity.  I should have been more specific.

Link to comment
Share on other sites

Gas is very strange in how slow it moves across the map, and I bet they could make it faster if they wanted.

The question is how fast the game refreshes the matter movement of gas per update cycle, and how efficient it would be to speed up the process.

You would certainly not reach atmosphere equilibrium with how gas moves one tile at a time.

Link to comment
Share on other sites

I think they could reach equilibrium pretty quickly, but the processing would probably be a fair amount heavier to do it that rapidly, although I have seen a room fill so slowly that my Carbon skimmer just overheated, the gas trickles down into the room. so many tiles open for the gas but hardly anyt comes visit.

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...