• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Stellaris Dev Diary #386 - Updates and a Wilderness Beta

Hi everyone!

It’s been a little while since our last dev diary - this one’s also going to be a bit short since we’ve been focusing on stabilizing 4.0 as much as we can.

The 4.0.17 and 18 updates we released yesterday is a pretty massive one with some impactful fixes. I'm pleased with the amount of things we got into it.

Here are the release notes:

Improvement​

  • The Hive Fallen Empire ships are now available for Biological Ship Empires if you progress down the Cosmogenesis Crisis Path.
  • Changes to ecumenopoleis, ring-, nanite-, hive-, and machine worlds:
    • District specialisations now visually swap to the appropriate art and district names for easier differentiation.
    • Secondary districts now have double the jobs of the primary districts.
  • Reverted the most recent changes to fallen empire building limitations. We'll be looking at a better solution for a future patch.
    • 4.0.18: Reverted all fallen empire building limitations from 4.0
  • Further Improved the Behemoth Fury endings
  • Added the Voidspawn Myocardius relic awarded to whomever manages to take down the Elder Voidspawn
  • Starbase Capacity tooltip now shows the number of owned systems contributing to Starbase Capacity.
  • Habitation districts on knight's habitats now swap to the Order's Demesne.
  • The host now gets a tooltip in Multiplayer on the Start Game button with a list of players that are holding up the game

Balance​

  • Wilderness Empires no longer have to consolidate 2500 biomass on a planet to build a Grand Archive
  • Secondary districts on hive worlds and machine worlds should now support targeted research specialisations
  • Wilderness empires now start with a Heartgrove specialisation instead of a Threadway specialisation
  • The event A Complete Collection will now only take one pop, avoiding depopulating entire planets.
  • AI empires will be more likely to declare a Cosmogenesis empire a crisis as they develop more Infinity Theses
  • The Synaptic Lathe will now ask for a refill if it drops below 50 pops instead of letting itself drop all the way to 0.
    • The Lathe had a "stable state" hack that stopped the purge below 40(00) pops to prevent it from decolonizing before - this has been removed as it should no longer be necessary. Burn those pops if you want science.
  • The Control Fragment now waits 2 decades before getting upset about your borders. Expand away!
  • Fallen Empire biological ships now equip the reactors of one size category larger, this also applies to Cosmogenesis biological ships.
  • Resource Consolidation origin needs to have the ability to make more machine (or nanite) worlds to unlock the full potential of their machine world (this includes the doubled jobs in the above patch note)
  • Updated weights for techs that unlock rural district specializations
  • Doubled the resettlement attractiveness of the Trium Atmospheric Deodorizer(tm).

Bugfix​

  • Fixed Wilderness issues
    • It should no longer implode randomly.
    • Balanced effects for Innate Design with Wilderness.
    • Turned Wilderness enforcers into Immunosymbionts to differentiate them from soldier Tamersymbionts.
    • The Wilderness Subterranean Cache building can now be placed in urban and trade district specializations
  • Fixed Synaptic Lathe issues
    • The Synaptic Lathe now correctly purges pops and produces science. (Special thanks to /u/Little_Elia for investigating. We fixed some of it differently than you did, but your post helped in identifying the issues.)
    • Pops will correctly process in or out of Neural Chip state if they are moved to or from the Lathe. (They will not be visible in the Neural Chip job until the monthly tick passes.)
    • The Synaptic Lathe purge should once again benefit from things that modify purge speed.
    • The Synaptic Lathe will now ask for a refill if it drops below 50 pops instead of letting itself drop all the way to 0. (The Lathe had a "stable state" hack that stopped the purge below 40 pops to prevent it from decolonizing before - this has been removed as it should no longer be necessary. Burn those pops if you want science.)
    • Fixed how Synaptic Lathe is being displayed in the sector view.
  • Fixed non-slaves being assigned to jobs before slaves.
  • Fixed recent issues introduced to the Synthetic Fertility origin by removing the invisible purge that was being applied (result in no factions being formed and no leaders being recruitable)
  • Virtuality Civilians are now also properly deleted if they do exist somehow. Non-Virtual Civilians can still exist for Virtual Empires.
  • You may no longer scrap 50% of your virtual pops for alloys.
  • Fixed issues where free traders could start with too many buildings
  • Fixed issues with fallen empires spawned by the Scion origin having incorrect buildings and districts
  • The composer of strands should no longer devolve thousands of pops. 400 is plenty.
  • The Pioneer Politics Agenda now has an appropriate icon.
  • Enabled the Heartgrove district specialisation for Wilderness empires
  • Treasure Curators now have an actual building icon as their workplace instead of a deposit icon.
  • Fixed a rare scenario where Driven Assimilators couldn't assimilate.
  • Prevent marking some jobs (criminals, civilians, unemployed) as favorite that should never be prioritized.
  • Space Fauna ship size selector will correctly display ship model preview.
  • Space Fauna designer will show the progress bar when creating a new design.
  • Purging a Gestalt Pop Group will no longer instantly kill all of them. Extract resources to your hearts content!
  • Conquered Starbases will no longer have text appear on the "Return Starbase" button
  • When checking if ship designs are identical, we now ignore the order of components within a section.
  • Fixed saving a Deep Space Citadel design creating duplicate designs and instantly changing the design of your DSCs.
  • Update Districts display if their swapped appearance changes
  • Processing and Forced Labor Purge should now correctly give resources when purging lithoids or machines
  • Habitats now get their districts even when not colonized yet
  • Added tooltips to the Behemoth mutation option icons
  • Reset Starting System when changing Origins when needed during the Empire Creation
  • Mechromancy Empires purging organics once again generate cyborg zombies.
  • Blocked Fallen Empire resource extraction buildings from the 6 government building slots
  • Blocked the Surface Quarry building on ringworlds and habitats
  • Nanotech Research buildings now give regular research jobs, but swap engineers to nanotech researchers
  • Researchers for machine intelligences now use more appropriate icons
  • Updated the effect tooltips for the Trium Atmospheric Deodorizer(tm) and Cyberdome.
  • Empires with Genesis Guides civics now start with a food stockpile and some food income.

UI​

  • The "Save As New Design" popup now updates the Save button immediately when you edit the name.
  • Fixed ship designer not updating the design name when you change it to the currently saved name.
  • Improve Buildings tooltips modifiers handling
  • Colony naming will now more often use custom names for the default value (colonizing Mars will propose Mars as the default colony name)
  • Fixed some planetary modifier icons that were low resolution
  • Fixed some modifiers not appearing in the empire size tooltip.

Performance​

  • Reduced mil power recalculations done by outliner fleet entry
  • Reduced habitability recalculations done by pop growth/decline
  • Reduced amount of times planet view tries to update pop group clothing

Stability​

  • Fixed crash in accepting peace due to deal containing transfer of non existing starbase
  • Fixed cross OS issue with randomized ethics in pop assembly leading to NUM_POP_GROUPS OOS (this is a big one)
  • Fixed mismatch in synchronized/unsynchronized nemesis handling in the voidworms AI that might lead to OOS when becoming a crisis.
  • Six more Out of Sync fixes

Modding​

  • Adds swap_type and swap_type_weight for districts to District Specializations.
  • District Specializations now belong to sets, and Zone Slots can now include or exclude entire zone sets
  • Migrated zone slots:zone relationships to zone_sets in place of using inline scripts
  • Added can_change_category to pop categories.
  • Changed various effects using pop amount/size to allow 0
  • Added ship_uses_corvette_reactors and ship_uses_destroyer_reactors scripted triggers
  • Added planet_is_habitat_equivalent, planet_is_ecu_equivalent, and planet_is_ring_world_equivalent scripted triggers which are used to determine the job numbers for district specialisations instead of checking the planet classes directly.
  • Updated scripted triggers for districts
  • Updated scripted triggers for zones
  • Updated inline scripts for some research district weights
  • Updated events for zone assignment upon a planet becoming a hive, machine or nanite world
  • Removed unneeded script for ecus transformations since industrial districts no longer exist

This update has a significant number of major changes, including district swaps for special planets like Ecumenopoleis and Ring Worlds, more fixes to Wilderness, the Synaptic Lathe, slavery, and the most common Out of Sync errors (including the cross-platform OOS that has been plaguing us).

We ended up reverting the changes that were made to Fallen Empire buildings - while we believe that they’re too easily acquired and plentiful, we’re going to take things slower and revisit them sometime in the future. (FE resource extraction buildings are being restricted to appropriate districts though.)

Modders should find the new zone_sets useful. It cleans up a lot of the work we were previously doing with inline scripts.
Instead of individually listing every District Specialization that is allowed or excluded using inline scripts, you can now assign one or more zone_sets to them.

Code:
zone_industrial = {
[...]
    zone_sets = {
        urban
        habitat_urban
        nexus
        hive
        ring_world
    }
[...]
}

You can then reference these in the zone_slots:
Code:
slot_city_01 = {
    included_zone_sets = {
        urban
    }
[...]
}

The intent is for this to make the creation of District Specializations a bit less error-prone, and make it easier for multiple mods to add more without interfering as much with each other.

Wilderness Open Beta​

We’ve seen a lot of erratic behavior with Wilderness empires, especially when your Biomass totals on a planet get too low, where sometimes jobs would go unworked, and you aren’t always able to influence it in any way.

We’re going to update the beta branch on Steam today edit: hopefully this week to test some experimental quality-of-life changes we’ve made to Wilderness. Some of them are impactful and different enough that we want to get some more eyes on them and get feedback before we consider moving them into the release build.

In the Wilderness Beta, jobs are actually worked automatically, using your primary species for traits. After all, you are the empire. This replaces the massive Workforce bonus that Wilderness pops received, and makes it behave closer to the intended design of the origin. This change intends to make Wilderness generally more robust against bugs and less prone to economic crashes when creating buildings that consume most of their Biomass.

Biomass should still chill “unemployed” like before, but the jobs will use 0 pops instead of 1. This should resolve any of those edge-case issues when many of your jobs wouldn’t be producing.

A Wilderness empire not filling their jobs properly.

Bad planet!

As part of this, we’ve enabled the workforce sliders for Wilderness jobs like other Empires have. This should give you more control over your economy, so you can disable certain jobs if you’re running a deficit or otherwise optimize your economy by only working the jobs that you need.

New Wilderness jobs, showing Workforce and allowing you to manipulate the sliders

Much better.

We recognize that this makes your Biomass species less important overall. You’ll probably want to optimize them for growth rather than production since they won’t be working the jobs anymore, so we wanted to put this up in an open beta to get your thoughts.

The Open Beta branch will also include the experimental fast save transfer that we’re currently expecting to go live after we can add a toggle to disable it if it’s causing save transfer issues.

Feature​

  • Experimental changes to Wilderness:
    • To prevent issues with biomass not being available on planets due to construction, all Wilderness jobs are now automatically worked without requiring biomass. These jobs are worked by your primary species.
    • Jobs for Wilderness are now also properly represented instead of being worked by a single pop with massive workforce bonuses, you now see exactly how the job is worked, and the sliders are also now usable to customize how much of each job will be worked.
    • These changes are intended to prevent situations where some jobs would go unworked, make Wilderness less bug-prone, and are intended to give you more control over your economy in deficit situations. Please provide feedback!
  • The experimental fast save transfer for multiplayer is included in this build.

Bugfix​

  • Fixed ringworlds colonized by gestalt empires having a mysterious city district that shouldn't exist.

Our intention is to run this Wilderness Open Beta for the rest of the summer so we can gather feedback.

What’s Next?​

4.0.19 is tentatively scheduled for next week, with more bugfixes and optimizations.

Today I'll be looking at purging, and we're investigating save game issues, but if there’s a bug you could put at the top of the list, what would it be?

Since next week is Midsommar week, our next dev diary will be on June 26th. See you then.
 
Last edited:
  • 49Like
  • 10
  • 6Love
Reactions:
As far as bugs at the top of my list to fix, is concerned. This. Right here. What has a guy got to do to get a simple mineral resource production fixed on my Eager Explorers? I can't shift job priority like pre 4.0, not enough minerals to build a new district, can only rely on the galactic market to not instantly crash my economy.

20250508004650_1.jpg
 
  • 6Like
  • 5
Reactions:
4.0.18 is producing more out of sync errors than the 4.0.17 beta build a few days ago, for our consistent group of 5 players. We're desperate for a stable build.

I have struggled to find a documented procedure for producing out-of-sync logs as far as which files to upload to bug reports. Do we collect all 5 players' logs and upload together? Which files would we upload? I know -randomlog parameter is somehow involved.
 
  • 2Like
Reactions:
I'd also like to know when the summer break is going to hit, I have some stuff I want to try out with mods but I'm holding off until the patch storm finishes.

Patch storm is good obviously but if there's a concrete end date I can organise my schedule better.
 
  • 3
  • 1Like
Reactions:
If PDX really are serious about discovering the more important bugs, I feel checking the steam reviews filtered by only recent weeks is a very good place. Most posts there are basically appeals to the studio that describe some bug or incongruence that prompted their feedback.

Quick link here.
 
  • 3
  • 1Like
Reactions:
We’re going to update the beta branch on Steam today to test some experimental quality-of-life changes we’ve made to Wilderness.

As an update, we've found a blocker in the build we were planning for this, the Wilderness Open Beta won't be going up today.

I'll post an update when we have the branch ready.

Will virtual empires at some point use this new system as well?

We've been considering it since it could simplify some of that and clean up some edge cases, but we decided against doing so right now because it would dramatically change their feel. Everything being worked by the planet itself feels right for Wilderness, but not necessarily for Virtuality.

Will at any point the Void Dwellers "Arcane Replicator" Habitat planetary feature be restored as for pre-4.0 since now even basic Districts costs alloys? Since the update the feature disappeared and expanding as Void Dwellers is tedious and clunky!

We do not currently intend on bringing it back. We felt that the economic changes no longer made it necessary

Will there be something like a technology for Wilderness to do something with Relic Worlds?
Either terraform them or colonize them?

You mean other than this?
Aquatics Deluge Machine


Many of the special planets are intended to be excluded from Wilderness, but we'll consider it for the future.

Do the changes to slaves taking jobs before Civilians also apply to Robots? If not, is this something that will / can be included for 4.0.19?

This may fall into the same category of strata issues as I'm currently looking at regarding purges.

Out of curiosity and given that randomized ethics were responsible, was the RNG generator between different platforms partially the thing responsible for the dreaded Cross-OS OOS one — or was there something else at play?

It was an interesting one that was caused by the evaluation order of arguments not being defined by C++. Since we were generating two random integers in the arguments of the function, it had different behavior on different platforms.

You can see an example of the issue here.

Are there any fixes being worked on for the huge lag seen from selecting fleets that have damaged or missing ships? Even on my very fast PC it halves the frame rate.

We're continually looking at performance issues. There are a lot of client optimizations that need to be explored. Identifying which UIs are problematic like this helps, since it gets them on the list.
 
  • 13Like
  • 5
  • 1Love
Reactions:
4.0.18 is producing more out of sync errors than the 4.0.17 beta build a few days ago, for our consistent group of 5 players. We're desperate for a stable build.

I have struggled to find a documented procedure for producing out-of-sync logs as far as which files to upload to bug reports. Do we collect all 5 players' logs and upload together? Which files would we upload? I know -randomlog parameter is somehow involved.
If you're running into reproduceable out of sync issues, you can help us out a lot by having the host add these startup parameters to their game:
-randomlog -randomlog_stack=5 -randomlog_frames=3

Then, if you run into an Out of Sync, please post in the Bug Report forum and give us the the save, the Host's OOS logs, and the OOS logs from at least one of the clients that the popup mentioned. (OOS logs can be found in Documents\Paradox Interactive\Stellaris\oos near your save games.) Any details you can provide about what you were doing at the time is also helpful.

This setting has some significant performance implications (which is why it's not on by default), but if you're running into OOSes reliably, it can really help us track them down.
 
  • 6Like
  • 5
Reactions:
How does using primary species of traits work with species modification? Do you still have to do a modification project? Does it use the default template, or will it look for the template with the best traits? And if it's the latter, is one set of traits for all jobs, or will templates be able to work the job they are optimised for?
 
It was an interesting one that was caused by the evaluation order of arguments not being defined by C++. Since we were generating two random integers in the arguments of the function, it had different behavior on different platforms.

You can see an example of the issue here.

Ooh, that does check out with what our Linux group initially assumed in call — funny issue. Thank you for the insight, really appreciate it!
 
As an update, we've found a blocker in the build we were planning for this, the Wilderness Open Beta won't be going up today.

I'll post an update when we have the branch ready.
Time to gamba with technology and hope that you get the one that allows us to clear that specific pesky blocker.

Then just matter of waiting year or two for blocker to be cleared. ;)
 
  • 2Haha
Reactions:
Ooh, that does check out with what our Linux group initially assumed in call — funny issue. Thank you for the insight, really appreciate it!

It's the type of error where you can look at it a hundred times without even realizing it's there, which made it very difficult to track down.
 
  • 10Like
Reactions:
We're trying to get a hotfix out today for that. It'll also restore the ability to build Archives in Habitation Districts.

Is that a permanent change or not? Tbh I’ve lost track of what’s a bug and what’s a random balance change that will be reverted one patch later.

Wasn’t it intended that habitats use their research districts and get specialisations for specific sciences in their urban districts?
 
  • 3Like
  • 2
Reactions:
Since previous updates touched Ecumenopoleis and Ring Worlds I wanted to ask about Prison Worlds. Pre 4.0 there Artisans and Metallurgists were replaced by their Worker Penal counterpart. Now Prison World acts just as a regular one. Is there any intent to change it to a state similar to 3.14, maybe adding unique district specializations? I have yet to try Thrall worlds, but if there are currently no Battle Thralls too, it's a bit sad.
I also tried Resort Worlds, and I can't really understand what these 3 special districts are for. Historical Curator jobs don't have empire wide modifiers that Resort Workers have and you can only build Housing Buildings in those districts, which is redundant, since Resort Workers give plenty of amenities anyway.
 
Last edited:
  • 3Like
  • 2
Reactions:
It's the type of error where you can look at it a hundred times without even realizing it's there, which made it very difficult to track down.

Yeah I can imagine, very cool seeing the behaviour under the hood and explains why us looking at the game save didn't deliver any useful info out if it, hah. Thanks for whoever made the pseudo to illustrate the example as well <3
 
  • 1
Reactions:
Is that a permanent change or not? Tbh I’ve lost track of what’s a bug and what’s a random balance change that will be reverted one patch later.

Wasn’t it intended that habitats use their research districts and get specialisations for specific sciences in their urban districts?

When we assigned the various Specializations to sets, our intent was to have habitats focus their research related things in the Research District. As part of this, the Archives were assigned to the Research District.

Forum feedback got us to reevaluate that decision, and we're considering allowing the support specializations in the habitation district. Regardless, during that review we decided that there's no harm in allowing the Archives in either District.

Today's hotfix will include Archives in the Habitation District, but not the support specs.
 
  • 7Like
  • 3
Reactions:
When we assigned the various Specializations to sets, our intent was to have habitats focus their research related things in the Research District. As part of this, the Archives were assigned to the Research District.

Forum feedback got us to reevaluate that decision, and we're considering allowing the support specializations in the habitation district. Regardless, during that review we decided that there's no harm in allowing the Archives in either District.

Today's hotfix will include Archives in the Habitation District, but not the support specs.

Cheers. I feel it’s a bit of a shame it wasn't given time to breathe, having a split of researchers across too districts feels odd. But understandably if it massively weakens habitats then it’s better to leave it til you guys have time.

Will the next patches include any AI improvements in terms of how they manager their planets or shall we expect that post summer break? In addition to some life stuff the poor state of the AI is keeping me away from the game lately (other than MP).
 
  • 1
Reactions: