Jump to content

Think ONI can run even better


Recommended Posts

Just found a blog of factorio written 5 years ago ... https://www.factorio.com/blog/post/factorio-0-6-4-is-stable

They were using totally 4-5 threads for the game at that time!

Guess we can now see why it runs smoothly even when there are literally thousands of moving objects in any given time.

Can ONI implement the same as well?

As far as multithreading is concerned, implementing it early is the best possible way to do it. There are lots of possibilities of bugs and its a lot easier to troubleshoot it as and when it comes.

Would be great to implement at least 2 more threads for the game :) 

If I remember right, ONI is being made with Unity. And Unity is not the best engine to multithread. That's the big limitation for Klei and I'm sure they're doing the best they can to overcome it.

Factorio on another note is made with a custom engine the guys from there made themselves. So they have virtually no limitations because they can add more on that engine to support what they need. They even have a plan to sell this engine in the future.

To summarize, we have two very different scenarii. But I really hope Klei will improve on that and find solutions.

37 minutes ago, Christophlette said:

If I remember right, ONI is being made with Unity. And Unity is not the best engine to multithread. That's the big limitation for Klei and I'm sure they're doing the best they can to overcome it.

Factorio on another note is made with a custom engine the guys from there made themselves.

Some vital parts of ONI are not C# and so not using Unity directly (from what I know it's in C++). For example, map tile heat/germ/volume exchanges. Those would be unacceptably expensive if every tile was a Unity component.

Map tile heat/germ/volume exchanges are essentially (or actually) cellular automata and those are strongly parallelizable.

6 hours ago, Coolthulhu said:

Some vital parts of ONI are not C# and so not using Unity directly (from what I know it's in C++). For example, map tile heat/germ/volume exchanges. Those would be unacceptably expensive if every tile was a Unity component.

Map tile heat/germ/volume exchanges are essentially (or actually) cellular automata and those are strongly parallelizable.

I do not know how Unity is made or ONI so I trust you on that! 

If it's a custom component then there is surely something to do about it. 

Late game runs like fudge at the moment (I get ~20 fps on my current cycle 1000+ playthrough) but it's early access and they're still changing systems so hopefully that will be resolved. I'm curious if you could run some of the systems as graphics card shaders...

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