Skip to content

Conversation

rezecib
Copy link

@rezecib rezecib commented May 27, 2025

Problem

Currently, for Space Age, the calculator does a somewhat odd grouping of crafting machines and imposes an ordering on them, and you can only select the "maximum" machine. This produces strange results when you select assembling machine 3 for example, which also enables cryogenics plants, which normally would get unlocked much later (on reaching Aquilo).

But the notion of ordering itself here is not great; you could go to different planets in different orders and therefore unlock biochambers or foundries at different times. And the machines have some caveats; biochambers need nutrients, and foundries need calcite, so you may not want to use them in some cases where you have them unlocked.

Solution

This changes the building settings to use the old method for assemblers, smelters, and drills, but moves the rest into an "advanced buildings" section where each building is individually toggled on and off. This allows much more flexible and natural customization, such as disabling biochambers but allowing cryogenics.

Design

Because the underlying system of building groups itself was somewhat flawed, I had to rework it. Previously, building groups are merged if any building shares any recipe category with any building of another group. This ensures that each building is in each group only once. Now, each recipe category forms its own building group, and a building can be in multiple groups. When setting a preferred building, all relevant groups are found and the building is set as preferred in each.

This doesn't work very well for the settings page, however, so that is reworked to show groups for specific categories:

  • crafting (assemblers), smelting (furnaces), basic-solids (drills); these work just as before, though (with the caveat mentioned above of getting set in each relevant building groups).
  • metallurgy, organic, electromagnetics, cryogenics; any machine with these is thrown into the "Advanced building" selector section. Because preferred building selection should happen both on selecting and deselecting a building, selecting works as with the buildings above, but deselecting finds the building one step down in each group and sets that as preferred. This approach may not work well if groups have more overlap then they do now, but currently it seems to work fine.

Testing

I've played around with this under the Space Age setting a fair bit, and everything seems to work fine. I've also tried loading the other data sets and confirmed that settings look as expected, but have not exhaustively verified that everything still works.

Example

image

Fixes #253

rezecib added 3 commits May 27, 2025 15:22
They are generally a better indicator of tech level than crafting speed. Modules were used before, but only to tiebreak between equal crafting speeds. This reverses that priority.
Before, they were mixed into a false upgrade chain of the assemblers. Now, they have a separate section where each one can be individually toggled, allowing users to customize the calculator to what buildings they've unlocked so far.

The most notable change here is that when selecting the assembler 3 before, it would also enable many other advanced machines (such as the cryogenics plant), which made it hard to plan correctly around those machines prior to visiting Aquilo.
They appeared to be in the settings, but were actually favored in recipes.
@AyOhEe
Copy link

AyOhEe commented Jun 16, 2025

I'd really appreciate this being merged. It's currently almost impossible to get accurate estimates.

@rezecib
Copy link
Author

rezecib commented Jun 19, 2025

Having used this for a while for personal planning, I think there are some bugs, probably around how I tried to work "disabling" into the existing system of "preferred" buildings, which has the building immediately previous in the list set as preferred, but that might not line up with the other building settings.

Perhaps there's a better way to handle the underlying settings here that would be more obvious to Kirk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow blacklisting of space-age planet specific buildings in settings
2 participants