🌐Planet Rubia


Discover the wind planet Rubia. Belts and inserters work differently on Rubia, leading to unique building challenges not seen on any other planet. Your whole factory must go with the wind as a never-ending barrage of waste is hurled at your base.

Content
a day ago
2.0
13.0K
Factorio: Space Age Icon Space Age Mod
Planets Logistics Trains Environment Mining Manufacturing Power

i [Will not Implement] Mid/late-game research for disabling trashsteroids

17 days ago

First of all, let me tell you, I liked the planet and it's challenges. Even though at times some things felt frustrating, leaving the planet with a sufficient base felt satisfying, rewards are fair and balanced, and the output of science packs seems well in range of what other planets (vanilla and modded) produce with similar builds. Overall, a good experience on default difficulty setting.

After leaving the planet, sometimes I received warnings about destroyed buildings, that were in zones that are well covered with turrets, supplied with ammo etc. It was confusing, but as a workaround I lowered difficulty, so it turned to silent messages for damages buildings instead. Recent changelog pointed out that there was some incompatibility with K2SO's "realistic combat", and the problem was most likely that, glad to see it fixed.

The problem is in later game, where the challenge is basically solved (sufficient supply of ammo, sniper turret lines covering the whole base, trains ready to deliver to any station), you don't interact with the surface (only active production lines are science packs, rocket parts, ammo and a small rare+ sniper turret casino), but the performance impact from the planet is still significant.

In my current playthrough, I play with 85 mods, including K2SO, cybersyn and 7 more planets, however, Rubia is always using more script update time than all the other mods together. 0.400 ms is not a lot of concern, but adding to that is 0.300 from turret entities (tested with all other turrets on other planets and space platforms edited out) and 0.400 from projectiles (both latter parameters went to 0.000 when I deleted everything on Rubia with the editor as well, and script usage by the mod went to 0.300). So we have more than 1 ms from one mod that is not being actively played. And when UPS drops, stuff that drops UPS gets dropped.

In https://mods.factorio.com/mod/rubia/discussion/688e68586fef5c9feb6b2b2d you made it perfectly clear that having an option to disable trashsteroids completely goes against your vision. While I disagree with that, your point is completely understandable, and people who are not ready for that challenge have an option to not engaging with it by not installing the mod. However, for players who already have beaten the planet, I suggest an alternative solution.

Please make a mid- or late-game research that disables trashsteroids completely, freeing those milliseconds. Aquilo level seems reasonable, that's where megabasing/scaling starts making sense, so there could be a research with cryogenic science packs or maybe even something more flavorful - like yeeting 1000 fluoroketone barrels somehow clears the sky?

I would prefer to not having to disable the mod, as Rubia was a great part of my modded journey this time.

16 days ago
(updated 16 days ago)

Thank you for the input.

First, Rubia was never really intended to work with K2SO realistic weapons mode, as that actually instances an entirely new projectile for every single bullet. Vanilla behavior just does instant damage without actually creating a bullet. Polka and I worked to make it more compatible, but if you really care about UPS, the first order of business is to turn off realistic weapons mode (it is a startup setting in K2SO). That impacts more than just Rubia. Also, instant damage means that the dead rocks aren’t contributing to UPS. Polka had Wube make a bugfix to range that makes projectiles cost more UPS for realistic range mode, and I’ll be following with an optimization. But that one checkbox seriously drains your UPS (more than all of Rubia scripts combined).

Basically, when you say ā€œRubia uses 0.4 ms, but then projectiles consume 0.4 ms as wellā€, I can immediately tell you that Rubia has zero projectile cost. This comes almost entirely from K2SO realistic weapons mode. If toggling this mid save has side effects that causes issues with your save, I recommend reaching out to Polka for help with migration.

———

Second, I have been preparing ā€œmegabase modeā€ option for Rubia for exactly this scenario. However, since it causes graphics to tank (and some mechanics don’t work exactly the same), I have been keeping it shelved until someone formally asked. My concern was more options/UI clutter, and people instinctively picking UPS at the expense of anything else. The alternative is to turn on ā€œmegabase modeā€ once Rubia detects that your base is sufficiently large to be consuming more processing power. I’m just not sure what to pick, as my fear is people reporting ā€œTrashsteroids stopped moving!ā€ as a bug to me, because they don’t understand. As the main optimization here requires them to stop moving at all.

There are some other performance optimizations currently disabled in Rubia’s code that are waiting for Wube to make certain updates to the game. Other things like object pooling can help, but that would need a lot more work and testing to optimize.

———

Just to be clear, I will not be adding any sort of tech/option to totally disable trashsteroids on the planet.

The last 0.4 ms of avg time on Rubia script is almost entirely from trashsteroid spawning, which is heavily optimized. It will not be removed by any of the above actions.

16 days ago

Thank you for your response!

the first order of business is to turn off realistic weapons mode (it is a startup setting in K2SO)

Was one of the things I tried, however, it causes cybersyn to almost instantly crash the loaded game into main menu, as "realistic weapons" also enables/disables specific item ID's (not very versed in specific modding terminology/nuances, sorry) for armor-penetrating rifle magazines, and my Rubia base uses cybersyn's stations to request them, so disabling that options basically bricks my save. Turning off cybersyn's dispatch temporarily doesn't remove the crash. Obviously, it is a bug/unintended feature of another mod, that is absolutely worth it to report to cybersyn dev, however, nothing of it really solves the problem that Rubia consumes more script update time than 84 other mod combined, while not being played with.

Thanks for pointing out that turning off "realistic weapons" is also a good optimization option, however, even if the cybersyn's bug described above is solved, it also leaves my space platforms without defense against asteroids, as clicking off that one check-mark also clears ammunition belts on all of them. So just to turn it off, I will need to park all platforms above Nauvis, restart the game, and then sit them there or to make temporary safe routes to build up buffers of "new" vanilla ammo. All of this are it's own problems, and that is better to be done anyway, but I will have to disable Rubia for this playthrough.

Once again, thanks for a cool modded challenge, will look forward to playing it again in my next playthrough, when it is hopefully optimized and ready for the late game.

16 days ago
(updated 16 days ago)

The realistic weapons mode is one UPS drain, but using that with Rubia makes the problem much much worse. Honestly, I don’t know how you’ll even do promethium sci.

it causes cybersyn to almost instantly crash the loaded game into main menu, as "realistic weapons" also enables/disables specific item ID's

Reach out to Polka for help. She should be able to help with migration of the item IDs. This must be handled in the migration.json level, because mods cannot say ā€œIf X condition, then migrate Y to Z….ā€

If Cybersyn crashes after Polka provides a proper migration, then Cybersyn team would need to know that their code needs to be resilient against migrations. However, I would expect this to already be the case, since Cybersyn is relatively mature.

when it is hopefully optimized and ready for the late game.

Rubia is already very heavily optimized. 0.4 ms is basically as good as it gets. I was just discussing potential feature improvements specifically for megabasing that would actually degrade the experience to shave off a few 0.1 ms from some entity update times.

New response