Ipsquiggle

Oxygen Not Included DLC Roadmap July 2020

Recommended Posts

crbd115    59
15 minutes ago, DigiFort said:

I am just wondering if it is even possible with our current machines which can barely handle a large colony on a single asteroid to have multiple colonies on multiple asteroids. I have an i7 6700K which sort of struggles with really large colonies so how will it support multiple colonies possibly big ones. How much of a beefy processor will the dlc need? Is it even possible with our current tech to play the DLC? Sorry but I just don't see how we will be able to fit so many added calculations with out current processors limit.

Personally i think they're just going to end up shrinking colonies so that you have mutliple medium sized bases each having different biomes rather then one big base with almost all the biomes

  • Like 1
  • Sanity 1

Share this post


Link to post
Share on other sites
DigiFort    5
8 minutes ago, crbd115 said:

Personally i think they're just going to end up shrinking colonies so that you have mutliple medium sized bases each having different biomes rather then one big base with almost all the biomes

I see. Well that is sort of disappointing(but understandable) cause it doesn't really add to the game but segregates it. It does at least pose some new interesting challenges though. Anyway I wish one day we can have processors that can handle 100 of these big colonies no sweat. What a glorious day it will be. No lag 1000fps Oxygen not included.

Share this post


Link to post
Share on other sites
crbd115    59
16 minutes ago, DigiFort said:

I see. Well that is sort of disappointing(but understandable) cause it doesn't really add to the game but segregates it. It does at least pose some new interesting challenges though. Anyway I wish one day we can have processors that can handle 100 of these big colonies no sweat. What a glorious day it will be. No lag 1000fps Oxygen not included.

honestly i dont think this is an issue i think for the most part big colonies just end up being a lot of wasted space which creates lag, thats one thing i like about the islands mod, since there is so much vacuum space it lowers the lag ive had in the late game

Share this post


Link to post
Share on other sites
gabberworld    31

 

2 hours ago, DigiFort said:

I see. Well that is sort of disappointing(but understandable) cause it doesn't really add to the game but segregates it. It does at least pose some new interesting challenges though. Anyway I wish one day we can have processors that can handle 100 of these big colonies no sweat. What a glorious day it will be. No lag 1000fps Oxygen not included.

it is not processor what cause lag.

year 2000 pentium 4 pc, formel 1 3d game 100% cpu usage, now that what i may say that cpu hit his limits. this game not even close to 100% to gpu or cpu

Share this post


Link to post
Share on other sites
Gurgel    1905
3 hours ago, gabberworld said:

it is not processor what cause lag.

year 2000 pentium 4 pc, formel 1 3d game 100% cpu usage, now that what i may say that cpu hit his limits. this game not even close to 100% to gpu or cpu

You need to look at the cores. If you have 4 cores and 2 are at 100% and to are at 0%, typical tools will report that as 50% load. Bit if the software can onky use 2 cores, this is really 100%.

Share this post


Link to post
Share on other sites
gabberworld    31
29 minutes ago, Gurgel said:

You need to look at the cores. If you have 4 cores and 2 are at 100% and to are at 0%, typical tools will report that as 50% load. Bit if the software can onky use 2 cores, this is really 100%.

yes and if app made at 1 core then at 4 core pc it can only use 25% max.

maybe they not use this.

https://docs.unity3d.com/Manual/GPUInstancing.html

dunno really if that would help for them

Edited by gabberworld
  • Like 1

Share this post


Link to post
Share on other sites
Beowulfe    177
5 hours ago, gabberworld said:

yes and if app made at 1 core then at 4 core pc it can only use 25% max.

maybe they not use this.

https://docs.unity3d.com/Manual/GPUInstancing.html

dunno really if that would help for them

GPU instancing is irrelevant for this case, that's specifically to instance models/shaders so less information has to be passed to the GPU. The throttle isn't the rendering data, it's the CPU calculations, which are heavy in a game like this and very difficult to optimize. They've done a lot of work on multithreading where they can, which is the best approach they can take.

  • Like 1

Share this post


Link to post
Share on other sites
gabberworld    31
1 hour ago, Beowulfe said:

GPU instancing is irrelevant for this case, that's specifically to instance models/shaders so less information has to be passed to the GPU. The throttle isn't the rendering data, it's the CPU calculations, which are heavy in a game like this and very difficult to optimize. They've done a lot of work on multithreading where they can, which is the best approach they can take.

i not say at all that they make bad job, game is great, idea is super. but there is always methods where you may find better solution

Edited by gabberworld

Share this post


Link to post
Share on other sites
Steve8    155
1 hour ago, gabberworld said:

i not say at all that they make bad job, game is great, idea is super. but there is always methods where you may find better solution

No. ONI still has room for improvement, but at some point you're at the end of what is feasible. Factorio is about as optimized as it can get. To the point where memory latency is actually the main limiting factor. Not CPU speed. They've also found out that it's incredibly difficult to parallelize things. You can multithread discrete game systems and many games do it, but when you try to multithread things that interact with each other you run into huge issues. Eventually it's not worth the work. This fantasy that people have where you have X threads and they all do an equal amount of work is just that. A fantasy. In practice you have a main thread still doing most of the work and some secondary threads doing isolated things.

Edited by Steve8
  • Like 4

Share this post


Link to post
Share on other sites
gabberworld    31
1 hour ago, Steve8 said:

No. ONI still has room for improvement, but at some point you're at the end of what is feasible

yes correct there always also limit, mostly because off hardware self.

Factorio is made at sdl what is designed for 2d games. that is one reason why Factorio can have allot more tiles

Edited by gabberworld
  • Like 1

Share this post


Link to post
Share on other sites
TonTro    10

I love it where this thread ended up heading :) 

And don't get me wrong... I work in Mobile App development so I enjoy technical things, but the fact that people ended up talking about multi-threaded processing in a thread called "Oxygen Not Included DLC Roadmap July 2020" is just fascinating.

I think this shows exactly how much "super fans" are waiting for this DLC.

Keep on going!

  • Like 3
  • Haha 1

Share this post


Link to post
Share on other sites
spkthed    67

This thread direction makes me happy :)

Cool to see people nerding out. For us laypeople, the rule of thumb I use is 20% of the time to get 80% of the way, and 80% for the rest. Definitely tradeoffs out there.

As an aside, I've come to love Factorio recently, but I wouldn't trade what ONI is for anything, optimized or no. Historically there have been issues, but the game in it's current state is playable right until the 'I'm bored' point thousands of cycles in.

  • Like 2

Share this post


Link to post
Share on other sites
1 hour ago, TonTro said:

I love it where this thread ended up heading :) 

And don't get me wrong... I work in Mobile App development so I enjoy technical things, but the fact that people ended up talking about multi-threaded processing in a thread called "Oxygen Not Included DLC Roadmap July 2020" is just fascinating.

I think this shows exactly how much "super fans" are waiting for this DLC.

Keep on going!

Its seems that this game is played by many programmers, is like ONI its a game made for programmers.

  • Like 1

Share this post


Link to post
Share on other sites
Beowulfe    177
1 hour ago, Sebastiangperez said:

Its seems that this game is played by many programmers, is like ONI its a game made for programmers.

It's the perfect haven for problem solvers. :D

  • Like 3

Share this post


Link to post
Share on other sites
watummok    0
19 hours ago, Gurgel said:

As somebody that has implemented some actual performance critical multi-threaded software, I fully agree. You always get some locking and queuing you need to do and if you try to optimize that, you often get very complex solutions that are simply not worth it: Minor speed improvement, major increases in complexity. And often some central, single-thread things are the fastest solution. For example, in a task-scheduler that often happens, because that thing needs to keep everything in view. If you try to multi-thread it, it may well get slower. (Yes, that happens.) Other things can easily be parallelized, for example fluid and gas pipes and electrical wires can each run in their own thread because they do not directly interact, and Klei has done that for ONI a while ago. But other things are tricky or cause a lot of additional problems when they run in multiple threads.  

[...]

The gas/heat calculations are embarrassingly parallel due to how ONI implements them. You can divide into nxm regions and there is not even a need for locking. At boundaries you can use the existing tiebreak for gas movement and it will just work. With how oni calculates you'd be adding 2-4 extra rows+columns of tile to each region's calculation depending on what you chose for n/m and that'd be the entirety of the overhead. (min 2 because they use a periodic boundary condition in the simulation, 1 if they didn't, kind of an irrelevant sidenote given you only hit the minimum if you divide into 2 regions)

Dupe scheduling is an interesting subject and would be fun to create optimized parallel & single threaded algorithms for. On the naive end, just sending batches of dupes to each thread to create individual priorities and then doing elimination on a single thread afterward should be a performance boost over what's there now. I'm not convinced that's the "correct" approach, but it seems like you'd be doing close to what's done now and just brute forcing it. 

I don't think ONI is going to parallelize anything given it wasn't written with it in mind. There are far less time consuming optimizations they could do first (like in pathfinding another area I love), and given there are limited resources dedicated to the game there are far more important features/fixes to tackle. 

My assumption for the DLC is they will run each asteroid in a separate thread. The easiest way to parallelize any simulation is to run multiple independent instances of your existing simulation. This assumption is because the simulations are entirely independent and the only communication between threads would be when you launch a rocket to send things between worlds. I'll be fairly surprised if they don't take this approach, because this doesn't require changes to any game systems except those that must change with the DLC to begin with.

Edited by watummok
minor revision

Share this post


Link to post
Share on other sites
Gurgel    1905
2 hours ago, watummok said:

My assumption for the DLC is they will run each asteroid in a separate thread. The easiest way to parallelize any simulation is to run multiple independent instances of your existing simulation. This assumption is because the simulations are entirely independent and the only communication between threads would be when you launch a rocket to send things between worlds. I'll be fairly surprised if they don't take this approach, because this doesn't require changes to any game systems except those that must change with the DLC to begin with.

Same here. That would very likely be easy to do and it would prevent slowdowns as long as there are enough cores. As most people have 4 cores or more these days and ONI currently uses only 2, this is the obvious and least problematic way to go.

  • Like 1

Share this post


Link to post
Share on other sites
Gurgel    1905
1 minute ago, aresd said:

I think they are preparing a patch note and a solemn post :tranquillity:

If I were them, I would go with "It is done. Well, maybe. As we had Meep and Stinky do the final coding, expect some problems. Please go get it and write tons of bug reports for the beta!"

  • Haha 1
  • Happy Hazard 1

Share this post


Link to post
Share on other sites
aresd    258

Nobody sleeps today! Looks like the developers decided to make our weekend happy! * went to look for all my money *

2020-10-23_21-00-56.png

  • Haha 1
  • GL Happy 1

Share this post


Link to post
Share on other sites
unbalance    1
12 minutes ago, aresd said:

Nobody sleeps today! Looks like the developers decided to make our weekend happy! * went to look for all my money *

2020-10-23_21-00-56.png

OMG.. OMG.. asdhasdkjasldjaksjdsa

  • Haha 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now