Jump to content

A Solution to Performance Issues and Late-Game Accessibility: "Minibase" Asteroids


Recommended Posts

The most consistent complaint directed at ONI, and specifically the SO DLC is the performance issues. I play with 16 GB of ram and a 4 core intel CPU in the area of 2.8 Ghz much like most steam users, and after 400 or so cycles on just the two initial asteroids it is close to unplayable. Yes, I know I need to upgrade my PC, I know SO is unoptimized and has debug mode enabled and other developer features that decrease performance. However I would wager that a significant portion of the community is in my shoes. We cant experience most of the mid-late game content simply because our PCs cant handle it. 

The solution is for the addition of world generation that downsizes the asteroids by a significant margin (2-4x). This is an accessibility request. Every world generation mod on the steam workshop is full of players begging modders to fix and update the mods that enable generation of small maps. For many people the game is unplayable, even at the start, without these mods. This should not be the responsibility of modders but of Klei. Even as a business decision, the addition of a mode that allows more players to access the content you produce should be an easy one.

Arguments that this breaks the intended flow of the game, or that it is unfun or too difficult are dubious at best. Anyone who has played the original MiniBase mod, or even see a playthrough of it, knows that it can be immensely satisfying and challenging in the ways ONI is best known for. The complaints about asteroids being too small in the early days of the DLC are the result of an echo chamber of people already able to run the game. The gameplay loop of colonizing asteroids for needed resources, creating unique builds and colonies to maintain them, and shipping these resources between colonies is what I believe Klei Intended for this DLC, and small asteroids with limited space and resources play right into this. This is the MOST NEEDED FEATURE in the current moment, as I would guess most of the potential player base simply cannot access much of the DLC without it.

Pls Klei, I love this game and just want to play it.

Link to comment
Share on other sites

The delay of DLC is very high and the number of frames fluctuates greatly. It can be seen that the hypoxia team has been reduced, and only a few people are left to do DLC. It took more than a year to make DLC, and there are still many incomplete contents, which really makes me depressed.

Link to comment
Share on other sites

I made a mod (Pure Rust) that has a mini-sized starting asteroid.

I find it so satisfying gameplay-wise that i can't imagine there won't be official smaller-sized clusters eventually.

Right now we only have a few starting scenarios, but smaller asteroids is one of the obvious ones for when they start adding in more. There are even existing unused smaller-sized teleporter and crashed satellite worlds in the game files, so it's definitely been considered. I also think it was perhaps the original intention, but it turned out to be too different from the way vanilla is played. I know i had issues with this when i first picked up the DLC.

Link to comment
Share on other sites

46 minutes ago, Yobbo said:

I made a mod (Pure Rust) that has a mini-sized starting asteroid.

I also think it was perhaps the original intention, but it turned out to be too different from the way vanilla is played. 

I scoured the workshop earlier, and I cant believe I missed your mod. I am about to load it up right now!

I think you're absolutely correct on it being the original intention. People reacted very negatively to the smaller asteroids when the DLC was first released so hopefully they haven't completely abandoned that line of thinking.

Link to comment
Share on other sites

1 hour ago, sakura_sk said:

So having a dlc of the game run only in 8+ core CPUs? How would that help anything?

Not sure if developers can overcome the synchronization issues and overheads between each asteroid/thread.

But if that happens, I believe large terra cluster would run better than other DLC clusters since it has less inner asteroids. :lol:

Back to the topics, I prefer smaller asteroids because it has more possibilities.

Link to comment
Share on other sites

5 hours ago, sakura_sk said:

So having a dlc of the game run only in 8+ core CPUs? How would that help anything?

It doesn't work like that. Code that is well parallelized will also work will on pc's with less cpus (just look at the number of processes running on your pc right now).

The core point is, can we expect an engine redesign for a DLC. I would say that this is very unreasonable. I think the Klei team is very aware of the late game performance issues. I also think that some of our forum dwelling friends underestimate the volume of work associated with a new engine implementation and the financial risk involved. I'm more than happy to buy ONI 2 if it ever gets made, which would be the opportunity of optimizing the engine.

However, @MilfHugger (oxymoron name) is right, smaller maps would be a very nice option for those will less compute power. It will change the game play for sure, but not necessarily for the worse. And, if the option exists, nobody is forced to use it.

 

Link to comment
Share on other sites

I didn't get very far with one playthrough on DLC as of now (not past early rockets and no landings on other asteroids) but I'd welcome a game that could utilize a decent CPU.
And I do realize that it's a big undertaking - it could end up requiring DLC size of work only on one thing.
I do think it would make ONI much more lasting and actually allow for bigger asteroids not smaller ones. And current trend among CPU's is wide since gains on clock speeds and architecture are slowing down - so CPU devs are putting more cores in them instead.
With the game as is even 4 core CPU would benefit from optimization like that since it's not fully loaded by game on all cores atm.

Link to comment
Share on other sites

51 minutes ago, pether said:

Multithreading for each asteroid would be a mess to synchronize, but I guess critters could make their decisions and pathfinding in other threads

I don't think it would be that big of a mess - main question is how engine is designed currently and if it allows certain things to be split easily between asteroids.
You have very well defined contact points between asteroids: teleports, interplanetary launcher and rockets.
From those I think rockets would get a bit messy because they exists separately as simulated area that moves a lot between other areas.

Tbh as a software engineer I'd love to be able to take a peek at ONI code and see what can be done :)

Link to comment
Share on other sites

33 minutes ago, Orzelek said:

I don't think it would be that big of a mess

I guess there must be a reason why in face of sad performance Klei didn't decide to touch that topic. It would be harder than it seems.

34 minutes ago, Orzelek said:

Tbh as a software engineer I'd love to be able to take a peek at ONI code and see what can be done

You can see modding tutorials to check how to peek at ONI code :)

Link to comment
Share on other sites

22 hours ago, pether said:

I guess there must be a reason why in face of sad performance Klei didn't decide to touch that topic. It would be harder than it seems.

You can see modding tutorials to check how to peek at ONI code :)

I looked at those but didn't get that interested.. yet.
And if I read that correctly most of actually time critical parts are C++ and then it gets tricky.

Link to comment
Share on other sites

3 hours ago, Orzelek said:

And if I read that correctly most of actually time critical parts are C++ and then it gets tricky.

Yes, C++ part is tricky. But my understanding is that sim part is surprisingly well-optimized and the biggest performance thief is pathfinding and this kind of stuff and I believe those are in C# you can peak into. However, I never looked at C# code to optimize it, so I might be wrong

Link to comment
Share on other sites

3 hours ago, pether said:

Yes, C++ part is tricky. But my understanding is that sim part is surprisingly well-optimized and the biggest performance thief is pathfinding and this kind of stuff and I believe those are in C# you can peak into. However, I never looked at C# code to optimize it, so I might be wrong

C# is something I worked with briefly I'm actually mostly C++ dev with some other compatibility stuff on apple side mixed in.

From what I know about pathfinding.. that can get really tricky :D

Link to comment
Share on other sites

As far as I am concerned, at the moment I don't have enough to play to want random traits and really care about world generation. So I would very much enjoy a hardcoded small map cluster. Perhaps with increased tiles mass so it doesn't add a timer to tame geysers. 

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