Mindustry: Simulated Production & Launchpad Export v7.0

Explanation on how the game simulates resource production and launchpad exports, and how to avoid pitfalls and make the best use out of it, to ensure a proper production chain and import/export. Done on v7.0 and may become obsolete in future.


What is Simulation?

We the player, can only be active in one sector. The others will then be simulated by the game. This guide’s interest, is in the simulation of the inactive sector’s resource production and launchpad export.

Note that simulation can only occur when we are not paused during active gameplay, where all the building and combat takes place. Being on the other screens (planetary map, research tree etc) counts as a game pause.

This simulation occurs every 2 active game minutes (while not paused), performing an update on the following known so far:

  • Imports into the current active sector
  • Updating each inactive sector’s resource production (as per the research tree screen) or exports.
  • Combat on inactive sectors, 1 wave per update. So a 10 wave low risk auto-battle will resolve after 20 minutes.

Simulated Production, Export & Import

The production and export values are taken from the last 60 seconds of active gameplay in that sector, saved into a savestate, which we as players see as planet stats on the planetary map. The import value is just a sum of the export into that sector.

The savestate is continuous, so jumping into a sector for 1 brief second and then leaving, makes the game keep the tail end of 59 seconds from before together with the 1 new second, as an updated snapshot.

This savestate is then used by the simulation that happens every 2 minutes.

This is what causes instability or inaccurate values for that sector.

Extreme example:
We make 1 full titanium conveyor setup worth of scrap. Theoretically this would mean 11 scrap per second, or 660 per minute. However, we jump sectors before a single scrap makes it into the core, leaving us a savestate of zero scrap per minute.

Less extreme:
Continuing from the previous example, let’s say we linger in the sector for 30 seconds (from the first scrap into the core) before jumping. This leaves us half of the the production rate, 330 per minute.

Export values seem to be averaged out over the 60 seconds, so it’s possible to get partial values, like 70/min for example, instead of chunks of 100. To get the full export value, check the planet stats and ensure we have 300 export per launchpad before jumping.

Wrongly exported resources:
If within the last 60 seconds we’ve sent a mix of resources into the launchpad, let it launch, then make a correction, the savestate will still reflect the hodgepodge of materials, even though we have already fixed it. Again, let the savestate fully update before jumping.

Exporting to the frontlines:
For a sector that continuously pushes resources out, like from a central stockpile to the frontlines, when we jump in to change the launchpad target, it might lower export values slightly from the maximum, but overall it won’t deviate too much.

In conclusion, for sectors that function as a factory or mine, hang around for at least 60 seconds and check that the exported resource and rate is correct, before leaving for good. Mark it with a unique symbol and never come back again, unless there’s more construction to do. Read the next section, it’s important.

No Export Glitch

Occasionally, we’ll find that imports stop coming in, even though we’re sure there is positive production that can sustain the export.

Sector has a core with 1000 coal in the stockpile. A coal mine delivers 100 coal per minute to the core, with an unloader sending coal to a launchpad with an export rate of 300 coal per minute. This naturally causes a deficit of 200.

With each simulation, coal is deducted from the stockpile until it reaches 0. At that point, the imports stop coming in. This doesn’t make sense, as when playing actively, exports still occur, albeit at a slower rate, when the launchpad accumulates enough from the trickle.

This is caused by unloading from the core to the launchpad. To avoid this glitch, simply ensure that we have positive production in the savestate, or skip the unloader altogether, by connecting incoming supply with an overflow/underflow to the launchpad as priority while branching to the core.

Abusing the Savestate

Naturally, with how the savestate works, it’s possible to abuse it.

Boosting production values:
We can fake positive production values by unloading resources to a long line of conveyors that lead to nowhere, functioning as a stockpile. Plastanium conveyors works best this since they hold 10 resources per spot and delivery 40 per second.

With the stockpile full, connect it back to the core and let the resources run in to artificially boost the production value. The number of stockpiles, as well as the stockpile length will determine how much resources we can cram into the 60s savestate. Once we’re happy with the savestate, leave.

After multiple simulations and when the core is full, we can return and repeat the process to further boost the production value, as much as the map (to build stockpiles) and core can handle.

Doing this on its own is only useful for stockpiling higher tier materials to do research.

Resources from out of thin air:
But when we throw in unloaders and launchpads, this magically creates an export of resources out of thin air. In pause mode, connect the stockpile to the core and the unloader to a launchpad or even multiple, then let loose. Ensure that the production value is positive to avoid the export glitch.

I did this with a sector actively producing ~75 thorium per minute, connected to several launch pads. My final savestate for that sector is 100 thorium exported per minute, with another 100 thorium produced, effectively making 75 into 200.

Imagine Ground Zero churning out Phase Fabric and Surge Alloys, without a single factory constructed.

Of course, avoid using to not taint our gameplay experience. Furthermore, I expect this to be patched once the developer knows of it (or has time to do so).

Leave a Comment