An experimental prototype that replaces the linear tech tree with a mining-triggered card draft: weighted odds and pity protection decide which technologies you're allowed to research next, while drill heat builds up alongside it and throttles how efficiently that mining converts into progress — deliberately paired with the draft, not meant to be balanced or modded separately. Tuned against Space Age progression; no full gameplay validation performed for either configuration.
Small changes concerning balance, gameplay, or graphics.
Version: 0.2.21
Date: 2026-08-08
Graphics:
- Opening a pack now uses a dedicated window centered on screen
instead of a row of small buttons tacked onto the bottom of the
HUD. Each of the three cards shows the technology's icon and
localized name, how many of its prerequisites are researched,
its science pack cost (as pack icons with counts, plus the
research cycle count), a short summary of what it unlocks, and
how many follow-up technologies it would open up. Previously the
only information on a card was its icon and a tooltip with its
name, which meant picking largely came down to recognizing the
artwork.
- The new window is registered as the player's open GUI, so Escape
closes it and opening any other interface dismisses it, matching
how vanilla windows behave. Closing it this way only closes the
window: the pack is not consumed, the hand is kept, and the pack
button reopens the same cards.
- Opening a pack no longer force-expands a collapsed HUD. The cards
used to live inside the HUD, so revealing them required expanding
it first, overriding the player's own collapse preference; the
cards are no longer in the HUD, so this side effect is gone.
- The Standard HUD size now carries a detail panel: Tech Points as
current / threshold with a progress bar, heat efficiency, working
drills out of total, how many of those working drills are covered
by a Waste Heat Exchanger, the resulting coverage ratio, idle
ratio, and the eligible exchanger count. The Compact size is
unchanged and shows none of this -- it stays deliberately minimal.
The figures are read from a snapshot the existing once-per-second
heat loop already computes, so the twice-per-second HUD refresh
adds no entity scanning of its own.
- All of the above uses stock Factorio frames, styles, fonts and
sprites (inside_shallow_frame, bordered_frame, slot_button,
progressbar, frame_action_button). No new prototypes or styles
were added for cosmetic purposes.
Features:
- Added a "Pack presentation style" per-player setting
(card-tech-draft-pack-ui-style, allowed values: window/simple).
"Window" is the new centered Draft window described above, with
full detail and two-step confirmation. "Simple list" restores
the pre-0.2.21 inline HUD card row -- one click and it's picked,
no confirmation step. Both share the same underlying data and
unlock logic; this is not a full/stripped-down pair, just two
ways to interact with the same system. Default: window.
- Added a "Tech point threshold (difficulty)" runtime-global
setting (card-tech-draft-difficulty-threshold, range 50-200,
default 100), replacing the previously hardcoded starting value.
Can be changed anytime, including mid-game -- this isn't meant
to punish players, it's meant to let each group pick its own
pace. The mod tracks how many tech points a force has actually
spent opening packs so far, and compares that against what the
new setting says should have been spent to reach the same pack
count. Lowering the setting mid-game refunds the difference as
tech points, immediately opening as many packs as that refund
now qualifies for. Raising it instead adds the difference as a
one-time surcharge tracked separately from the normal threshold;
the very next pack must cover the surcharge on top of its usual
cost, and once that's paid off the surcharge is cleared and the
threshold resumes its normal decay from where it already was,
untouched by the surcharge. The refund/surcharge accounting
itself has gone through several rounds of logic review but has
not yet been exercised in a live game -- feedback on whether the
numbers come out right in practice is especially welcome. This refund/surcharge accounting has
only been verified through logic review and offline simulation
of the same formulas, not by actually exercising it in a running
game -- feedback on how it behaves in practice, especially
around raising/lowering the setting repeatedly, is particularly
welcome.
- Picking a technology is now a two-step action: clicking a card
selects and highlights it and shows a confirmation row, and only
Confirm actually unlocks it. Cancel, or clicking the selected
card again, clears the selection. Unlocking is irreversible and
the cards were previously small, easily mis-clicked buttons, so a
single stray click could spend the round with no recourse. The
force-wide unlock announcement is unchanged.
- In a multiplayer round where several players have the window open,
whoever confirms first ends the round, and everyone else's window
is replaced with a notice naming who picked which technology
rather than silently vanishing. The same line is also printed to
chat, because a queued backlog pack can immediately start the
next round and overwrite the notice before it can be read.
- With Independent hands enabled, a player who was not connected at
the moment the round was drawn now gets an explicit message
explaining that hands are only dealt to players online at draw
time and that they will be included from the next round. It
previously returned silently, leaving the HUD showing a pending
pack that appeared to do nothing when clicked.
Bugfixes:
- Fixed a case where a single round could unlock two technologies in
multiplayer. A pack window is a static element and does not
update itself when the game state changes, so after one player
confirmed, another player's leftover window was still clickable.
Each round now carries an incrementing token (per force, bumped
only when a genuinely new hand is drawn, not when a backlog pack
is queued), and every select and confirm re-validates that a pack
is still pending, that the window's round token still matches,
that the technology is in that specific player's current hand,
and that it exists and is not already enabled. A click failing
any of these is rejected with a message instead of taking effect.
- The mining statistics behind the heat mechanic (idle ratio,
exchanger coverage) were only recalculated while heat was above
zero, so once heat decayed to zero they stayed frozen at whatever
they were in that last second. Harmless while the numbers were
only visible via a debug command, but they are now shown on the
Standard HUD, where a permanently stale idle ratio would actively
mislead. Statistics are now refreshed every second regardless of
heat; only the decay arithmetic itself remains conditional on
heat being above zero, exactly as before. The heat formula, the
exchanger eligibility rule and its force filtering are unchanged.
- Fixed the 0.2.18 Waste Heat Boiler 2x2-to-3x3 migration
indiscriminately destroying correctly-built 3x3 boilers on any
force experiencing its first mod update, regardless of whether
that force ever actually had old 2x2-era boilers. The migration
now checks that the save's old_version is actually no later than
0.2.18 before running, in addition to its existing per-force
one-time guard.
- Fixed the tech point threshold setting's refund/surcharge math
being based on an incorrect assumption about how many points a
force had already spent, which produced wrong results (usually
no refund at all when lowering the setting) for any force whose
history predates this setting, most notably saves updated from
0.2.19 or earlier. The mod now tracks each force's actual
cumulative spending and, for forces that predate that tracking,
mathematically reconstructs it from the force's current state
instead of assuming it always used today's configured value.
This reconciliation no longer depends solely on Factorio
detecting a mod version change between saves; it also runs the
first time a save is loaded under the new logic regardless of
version history, so it is not skipped by an in-place mod file
update that does not change the declared version.
Changes:
- The /draft-pack debug command now adds tech points via the same
code path real mining uses, instead of forcing a pack open
directly -- this lets the difficulty threshold setting actually
be exercised and tested through the command, including its decay
curve and backlog accumulation. Optional parameter to specify how
many points to add (e.g. /draft-pack 500); defaults to just
enough to cross the current threshold.
Version: 0.2.20
Date: 2026-08-07
Features:
- Added an experimental, off-by-default setting: "Independent hands"
(card-tech-draft-independent-hands, runtime-global). When enabled,
each connected player on a force draws their own independent hand
each round instead of the whole force sharing one hand -- useful
for comparing picks and discussing which one to spend the team's
shared research slot on. Tech unlocks remain force-wide (as they
always have been in vanilla); whichever player picks first ends
the round, and everyone else's still-unpicked hand is discarded.
Known trade-off, not yet addressed: the draft pool and its pity/
cooldown counters are still shared at the force level, not split
per player, so within the same round a player who draws later
sees a pool already shifted by earlier draws in that same round.
Untested in an actual multiplayer session -- feedback welcome.
Since this is a runtime-global setting, only admins can change it
mid-game (server owner discretion). Safe to flip at any time,
including while a pack is currently pending: each round now
locks in whichever mode was active at the moment it was drawn
(storage.pack_mode), so toggling the setting only affects the
*next* round -- it can no longer orphan a round already in
progress.
Changes:
- Waste Heat Exchanger no longer opens any GUI when clicked. Its
underlying vanilla type (heat-interface) ships with a debug panel
meant for manual heat testing, not player-facing interaction; a
custom read-only temperature window was previously substituted
in its place (since 0.2.16), but this is now removed entirely so
the building behaves like any other non-interactive entity (belts,
pipes, etc). The per-second heat_setting reset loop that prevents
cheating via the circuit network is unaffected and remains active.
- Waste Heat Boiler's entity description clarified: previously
stated the 465°C steam is "for ordinary steam engines," which
undersold its actual capability -- that temperature already
clears the threshold turbine generators require. Description
updated across all three locales to state it works with both.
- Fixed Waste Heat Recovery technology's effect icon ordering.
Waste Heat Boiler's recipe-unlock effect was appended to the end
of the effects list via an unindexed table.insert, landing it
after Heat Pipe and Steam Turbine. Now inserted at index 2, so
the display order is Waste Heat Exchanger -> Waste Heat Boiler ->
Heat Pipe -> Steam Turbine, matching the intended build sequence.
Bugfixes:
- Fixed a fatal, unrecoverable error on load for any save still
containing an old 2x2 Waste Heat Boiler pending the 0.2.18 size
migration. The migration's call to LuaSurface::spill_item_stack
still used the pre-2.0 positional-argument syntax; Factorio 2.0
changed this to a single named-parameter table, so the call was
being rejected with "Expected 1 argument but 4 were given."
Updated to the 2.0 table syntax. Thanks to Lobelia for catching
this on an actual affected save.
Version: 0.2.19
Date: 2026-08-06
Balancing:
- Waste Heat Exchanger's stage-1 heat extraction (the flat 83.9%
cut introduced in 0.2.15) previously ignored how many exchangers
were actually built -- a single exchanger got the same cut as
ten. It's now scaled by an achievement ratio: the number of
eligible exchangers (an exchanger with a working miner nearby)
divided by the force's current count of working mining drills,
capped at 1. Building enough exchangers to match your mining
scale (1 exchanger per working drill) is required to reach the
full 83.9% cut; falling short scales the cut down proportionally.
With zero working drills, the ratio is treated as 0.
- Waste Heat Recovery technology now additionally requires Lamp
and Repair Pack as prerequisites, on top of the existing Steam
Power, Logistic Science Pack, and Steel Processing. This pushes
the tech further out along the normal research path instead of
it being reachable as an early, disproportionately powerful pick.
Note: on saves upgrading from 0.2.18, if this technology was
already drafted (enabled) but not yet researched, it will
require researching Lamp and Repair Pack before research can
continue, even though those weren't required when it was drawn.
- Waste heat exchanger temperature rise was far too slow to be
useful in practice -- even with heat maxed out and full
coverage, 10 exchangers would only gain about 1.17°C/second,
taking nearly 400 seconds to reach the boiler's 465°C working
temperature under the best-case scenario. WASTE_HEAT_JOULES_PER_
UNIT raised from 100 to 2000 (20x), bringing that same scenario
to roughly 23.5°C/second -- reaching working temperature in
about 20 seconds. This is a deliberate shift toward the waste
heat system being an immediately rewarding, incentive-driven
building rather than a barely-functional decoration; it's fine
if recovered power now exceeds what the mining drills themselves
consume. Not a precisely calibrated number, just a starting
point meant to be responsive -- can go higher if still too slow.
- INITIAL_THRESHOLD (first pack's ore requirement) raised from 80
to 100. 80 was calibrated back in 0.2.18 against an observed
heat range of 18000-28000, with an explicit note at the time
that it would need revisiting once waste heat recovery matured
and effective efficiency improved. After this update's fixes
(achievement-ratio numerator corrected, temperature rise rate
raised 20x), best-case play now keeps heat under 20000 -- the
predicted efficiency improvement arrived, so the threshold is
raised to compensate, rather than leaving players with an
unintended difficulty reduction. Same as before, this is a
testing starting point, not a final calibrated value.
Changes:
- Added a one-time in-game notice (shown once, whether starting a
new game or updating an existing save) explaining that Waste
Heat Recovery now requires Logistic Science Pack, Repair Pack,
Steel Processing, and Lamp before it can appear in the draft
pool or be researched, so players aren't left confused about why
the tech won't show up or won't research.
- Waste Heat Exchanger: stack size 20 -> 50 (matching Solar panel /
Accumulator, and because the achievement-ratio mechanic requires
building roughly one per working mining drill). Recipe now
requires 25 steel plates (was 20) and 6 heat pipes (was 4,
reflecting its 8 active heat-pipe connections); pipe requirement
unchanged at 10; crafting energy 10 -> 12. Weight manually set to
40kg (rocket capacity ~25/launch, previously auto-calculated) --
these two buildings are materially light but physically bulky,
and weight is the only lever Factorio's rocket-capacity system
exposes for that (per Wube's own FFF: item weight is chosen for
balance, not realism), so this isn't a workaround, it's the
intended use of the field. Vanilla character inventory is
slot-limited, not weight-limited, so this doesn't make either
building awkward to carry by hand.
- Waste Heat Boiler: stack size 20 -> 30. Recipe now requires 15
steel plates (was 10), 8 pipes (was 5, for its three fluid
connections), 3 heat pipes (was 2); crafting energy 6 -> 8.
Weight manually set to 60kg (rocket capacity ~16/launch), same
reasoning as the exchanger above.
Footprint stays 3x3 (not reverted to 2x2 -- that size was chosen
specifically to fix pipe congestion from too many connections in
a 2x2 footprint). Water/steam buffer volumes (200 each) and power
draw (2MW) are unchanged, as neither showed evidence of being out
of proportion with the new material cost.
- Internal refactor: all 42 top-level tuning constants (previously
scattered as individual `local` declarations throughout
control.lua) are now centralized in a new constants.lua file, a
plain data table with no game/script/data:extend references, so
it can be required from both the data stage (prototypes/*.lua)
and the control stage (control.lua) -- these are separate Lua
environments in Factorio that couldn't previously share a single
source of truth for a constant, requiring manual "remember to
update both places" comments (e.g. the waste heat exchanger's
15-tile detection radius was duplicated between control.lua and
its prototype file). control.lua's existing constant names and
every place that uses them are unchanged; only their declarations
now read from the shared table, keeping this refactor's surface
area to 42 mechanical one-line edits rather than touching
call sites throughout the file. waste-heat-exchanger.lua's
radius_visualisation_specification now reads the same shared
constant instead of a duplicated literal.
- Added a reusable migration-registry pattern (a `migrations` array
plus a `run_migration_once` helper, tracked under
storage.completed_migrations) for future one-off save migrations
to register against, instead of each hand-rolling its own flag.
The existing 0.2.18 waste-heat-boiler 2x2->3x3 migration is left
exactly as-is on its own dedicated flag rather than retrofitted
into this system, to avoid any risk of already-migrated saves
being mistakenly re-triggered.
- Fixed a miscommunication in the waste heat achievement-ratio
calculation: its numerator (E) was implemented as the count of
eligible exchanger buildings, but the intended design was the
count of distinct currently-working mining drills actually
captured within any eligible exchanger's detection range (its
15-tile radius is meant to cover a wide area, so counting
buildings instead of captured drills defeated the point of that
radius -- a handful of exchangers could already capture dozens
of drills, yet the ratio was being computed against building
count, not drill count). achievement_ratio is now min(1, captured
working drills / total working drills for the force), still
guarding against covering only a small pocket of a larger mining
operation (uncovered drills still count against the denominator).
Building count is still used separately to split heat output
across exchangers for temperature purposes, unrelated to the
ratio itself. /draft-heat-ratio-debug was updated to report the
corrected E and now shares the same counting function as the
real calculation instead of duplicating the logic.
- Added a new debug command, /draft-heat-ratio-debug, that prints
the exact E (eligible exchanger count) and W (force-wide working
mining drill count, across all surfaces) used by the waste heat
achievement-ratio calculation, plus a "W_local" count of working
drills actually covered by an eligible exchanger's range, for
comparison. Added in response to a report that the 83.9% cap
wasn't being reached at E/W=1 in practice -- the likely cause is
that W counts every working drill belonging to the force across
all surfaces, not just ones near an exchanger, so any working
drills outside every exchanger's range will keep the ratio below
1 even when local coverage looks complete. Whether to change W's
scope to match E's local proximity (with the tradeoff of
reopening the small-coverage exploit this force-wide scope was
chosen to prevent) is still an open decision pending test
numbers from this command.
- Waste Heat Exchanger's item moved to the "energy" subgroup
(alongside Waste Heat Boiler, both parts of the same waste-heat
recovery pipeline), instead of the plain heat-pipe network parts
subgroup it was in before. Both buildings' order strings were
also changed to share a common prefix ("dz[waste-heat]-") so
they always sort next to each other, landing right after Solar
panel and before Accumulator in the crafting menu -- matching
how far into the tech tree this recovery method actually reaches
(its prerequisites never touch chemical science, unlike the
accumulator's battery ingredient, which does).
Version: 0.2.18
Date: 2026-08-04
Changes:
- Waste Heat Exchanger's "nearby working miners" check now uses a
square area (matching how vanilla substations judge their supply
area) instead of a center-to-center radius. A mining drill now
counts if any part of its footprint overlaps the square, even by
a single tile, rather than requiring its center point to fall
within the range. This affects both the actual heat-distribution
eligibility and the debug/highlight tooling — all three internal
lookups (eligibility calculation, on-hover highlight boxes, and
the /draft-heat-debug command) now share the same square-area
logic.
- Waste Heat Boiler is now 3x3 (up from 2x2), with one pipe/heat
connection per side instead of the old layout's 5 connections
crammed onto 4 sides (the heat input alone used to take 2). The
cramped 2x2 layout could cause the water input/output to jam in
practice. New layout: steam out on one side, heat in on the
opposite side, water in on each of the remaining two sides.
A one-time migration automatically removes any existing 2x2
Waste Heat Boilers on update and drops them as items on the
ground, since their collision box is read live from the
prototype and would otherwise jump straight to 3x3 in place.
This migration is temporary and is planned for removal in a
future update once older saves have had time to update.
- Waste Heat Boiler's output now ramps up gradually with the
connected heat-pipe network's temperature instead of switching
instantly from 0 to full output the moment the network crosses
20°C. Every 30 ticks, each boiler's current temperature is
converted to a 0-1 ratio between its 20°C minimum and 465°C
target, and a sigma-delta accumulator decides whether that
boiler runs at full rate for the next 30 ticks or sits idle,
averaging out to the correct ratio over time. This is a script
workaround: vanilla's boiler simulation only supports all-or-
nothing output once enough energy is available, so a true
continuous curve isn't natively possible.
Balancing:
- First pack threshold reduced from 200 to 80 ore. The original
200 was calibrated against raw ore totals from a rocket +
science-pack ship + spaceship launch, without accounting for
the drill overheat efficiency penalty, which measured 26%-44%
effective output across the 18,000-28,000 heat range typically
observed in play. 80 (40% of the original) is a starting point
for retesting, not a final calculated value — actual effective
efficiency changes over the course of a playthrough as Waste
Heat Recovery comes online, which can't be captured by a single
static number.
Bugfixes:
- Restored the cursor/selection range indicator on Waste Heat
Exchanger, which had briefly been removed while its underlying
shape was misdiagnosed as circular. It uses the same square-area
logic as the eligibility check itself.
- When selecting a placed exchanger, the range is now marked by
both the native translucent fill (for consistency with the
held-item preview) and a solid orange-red outline drawn on top
of it, matching the mod's existing waste-heat theme color. The
native fill alone was hard to see against Nauvis' brown dirt /
green grass terrain, so the outline exists specifically to stay
legible regardless of terrain color. Only the per-miner
working-status highlight boxes stay purely script-drawn, since
that information has no native equivalent.
- Waste Heat Boiler's heat buffer could climb to 500°C even though
its steam output was capped at 465°C, since
energy_source.max_temperature had been left at 500 instead of
being aligned to target_temperature. The displayed temperature
no longer disagrees with the actual steam output — both are
465°C now.
- Waste Heat Boiler's water and steam fluid boxes were both
missing production_type and pipe_covers, unlike vanilla's own
Boiler and Heat exchanger prototypes which set both. The water
connections' flow_direction was also changed from "input" to
"input-output" to match those two vanilla references exactly.
This is the most likely cause of water not transferring through
the connection points at all.
Locale:
- Waste Heat Exchanger's in-game description now states its max
power (10MW) directly, instead of requiring players to check
the mod's source. Phrased as "Max power" to match vanilla's own
terse convention for stating entity power figures in flavor
text, rather than engineering terms like "throughput cap."
Version: 0.2.17
Date: 2026-08-04
Bugfixes:
- Fixed a save-compatibility issue from 0.2.16: removing the extra
heat-exchanger recipe unlock from Waste Heat Recovery had
retroactively re-locked that recipe for anyone who'd already
researched the tech on an older version (and hadn't separately
researched Nuclear power). Updating now automatically re-enables
the recipe for those saves, with an in-game notice explaining
what happened.
Balancing:
- Waste Heat Recovery is now also a prerequisite for Automobilism
and, on Space Age saves, Advanced material processing. This
raises its hub importance in the weighted pack draw, without
adding any new tech content or touching the draw formula itself.
- Waste Heat Recovery now additionally requires Steel processing
as a prerequisite, alongside Steam power and Logistic science
pack — you need basic steel production before the tech that
lets you build its entities becomes available.
- Idle mining drills now cool overheated drills faster than
before: the same idle ratio now dissipates roughly 3x the heat
it used to. Full-throttle mining still generates heat exactly as
before — this only makes the "leave some drills idle to cool
down" side of the trade-off less punishing to lean on.
Version: 0.2.16
Date: 2026-08-04
Balancing:
- Waste Heat Boiler's target temperature raised from 165°C to
465°C, pushing its steam output much closer to (but still under)
vanilla steam-turbine's 500°C threshold.
- Waste Heat Recovery no longer additionally unlocks the vanilla
heat-exchanger recipe. That recipe is now available through the
Nuclear power tech path only, same as vanilla.
- Waste Heat Recovery now also requires the Logistic science pack
tech as a prerequisite, alongside Steam power. It could previously
surface in the draft before you were able to produce its own
research cost, wasting a pack opening on a card you couldn't
queue for research yet.
- A technology that just appeared in a pack (picked or not) now
goes on a random 2-6 pack cooldown: its hub-importance bonus is
fully suspended for that stretch, so it competes on equal footing
with minor technologies instead of being almost guaranteed to
show up again immediately. The pity/guarantee safety net is
untouched by this — it's a separate mechanism.
Gui:
- Smaller, flatter HUD: the outer frame now uses the built-in
invisible_frame style with zero padding, removing a stray blank
strip that used to sit below the panel. The collapse/expand
control is now a plain text ">" / "<" toggle instead of an icon,
and the pack button plus the point/heat labels are all a bit
smaller.
- New per-player "HUD size" setting (Compact / Standard, also
changeable via Mod Settings), so anyone who finds the compact HUD
too small can switch to a larger layout without affecting other
players. Left-click the collapse button to expand/collapse as
before; right-click it to switch HUD size directly, no need to
dig through the settings menu. A one-time tip is shown the first
time you join, and the button's tooltip always mentions the
shortcut.
Bugfixes:
- Fixed the Waste Heat Boiler's tooltip still stating 165°C after
the temperature was raised to 465°C.
Version: 0.2.15
Date: 2026-08-03
Features:
- New technology: Waste Heat Recovery (prerequisite: Steam power).
Unlocks a new building, Waste Heat Exchanger, plus the recipes
for the vanilla heat-pipe, heat-exchanger and steam-turbine
(in addition to their usual Nuclear power unlock path — both
paths coexist, researching either one unlocks the recipe).
Holding it in the cursor or selecting a placed one now shows its
15-tile range as an orange-red dashed circle (reusing the
reactor's neighbour-bonus radius sprite with a tint, to avoid
clashing with the beacon's yellow supply-area visualization).
Selecting a placed exchanger also highlights every currently-
working mining drill within range with an orange-red box, same
convention as the vanilla beacon highlighting the assemblers
it's currently boosting — except this had to be built by hand,
since "nearby working drill" is our own scripted rule and the
engine has no built-in way to know about it.
- Waste Heat Exchanger is a heat-interface entity that channels
part of your drill overheat into the vanilla heat-pipe network
instead of letting it evaporate. A working mining drill must be
within 15 tiles or the exchanger draws nothing. The shared
budget is split evenly across all eligible exchangers each
second, so building more doesn't increase the total — it only
lets you catch a larger share of the same fixed amount before
it's wasted on a single unit's 10MW physical throughput cap.
Output is capped at vanilla's 500°C heat-exchanger threshold;
this is not meant to out-produce a real reactor.
- Cooling is now two stages instead of one. If eligible exchangers
are present, a first pass removes the same 83.9%-capped fraction
as the existing decay formula, but ignores idle ratio entirely —
that removed heat is what feeds the exchangers. Whatever's left
then goes through the unchanged idle-ratio cooling as a second
pass. Stacked together this pushes total cooling well past the
old 83.9% ceiling (up toward 97%+ at full idle), which is
intentional: recovering heat you'd have lost anyway wasn't worth
building for, so it's now an actual reward for the investment,
not just a prettier way to waste the same amount. Bases without
an eligible exchanger nearby are completely unaffected and keep
the exact 0.2.14 formula and pacing.
Version: 0.2.14
Date: 2026-08-01
Balancing:
- Drill overheat no longer cools down just from time passing. Every
second, cooling is now calculated from the fraction of your mining
drills that are idle right then: if every drill is running, heat
doesn't move at all. Keep some drills idle at any given time —
whether by cycling them on and off or by keeping spare drills
powered down — to actually cool down.
- Heads up: this is a severe difficulty change, not a small tweak.
A fully automated base that never idles gets zero natural cooling
from this point on and will run straight into the efficiency
floor. Think it over before pulling this update, especially on a
server or an existing save with a mature factory already running.
Features:
- Saves that are loading this mod for the first time (including saves
that already had research done before the mod was installed) now
have every technology hidden and returned to the draft pool —
researched or not — so you can open packs and rebuild the whole
tech tree from the start. Already-researched technologies keep all
their unlocked recipes and effects; only their visibility in the
normal research queue is touched.
Debug:
- Added /draft-reveal-all. This sets every currently-hidden
technology on your force back to enabled, so the tech tree returns
to a normal, unstuck state before you remove this mod. This is
one-way: run it only when you're done with the mod for good.
Version: 0.2.13
Date: 2026-07-31
Balancing:
- Drill heat gain per ore raised from 10.0 to 500.0, and the minimum
efficiency floor lowered from 3% to 0.01%. Any automated mining
setup will now run into the heat penalty; avoiding it entirely
means mining by hand only.
Bugfixes:
- Fixed a locale folder mismatch dating back to 0.2.11: the
Traditional Chinese text was sitting under the Simplified Chinese
(zh-CN) locale code, so a zh-TW client silently fell back to
English. Added a proper zh-TW folder and converted zh-CN to
actual Simplified Chinese.
Version: 0.2.12
Date: 2026-07-31
Balancing:
- Base pack threshold raised from 50 to 200 ore.
- Reworked the early threshold growth curve into three stages: a
fixed 1.45x rate for the first 12 packs, a steady decline down to
1.05x over the next 8, then a flat 1.05x floor through pack 100.
After that, the rate keeps decaying by a much smaller step down
to a 1.02x floor that holds indefinitely, so the threshold never
truly stops growing but slows to a crawl in the very long run.
Version: 0.2.11
Date: 2026-07-31
Features:
- UI update.
Balancing:
- Balance adjustment.
Version: 0.2.1
Date: 2026-07-30
Balancing:
- Pity/guarantee draw order changed to longest-waiting-first, so a
technology can no longer be silently starved out of its guarantee.
- Drill overheat decay changed to a proportional rate, so a single
production spike no longer takes an unreasonably long time to
recover from.
- Heat efficiency floor pushed further out, so ordinary-scale mining
setups don't hit the penalty as early.
Features:
- Threshold crossings that happen while a pack is still unopened no
longer overwrite the pending pack. A backlog counter tracks how
many packs are owed, and the HUD button shows this count.
- Redesigned HUD: icon-only pack button, no title bar, tech points
and heat shown as separate labels, frame grows to fit content.
Bugfixes:
- Fixed a GUI compatibility gap where an older HUD frame would fail
to update after the layout changed.
Optimizations:
- Hub-importance scoring now reads a technology's own successor list
instead of scanning every technology on the force each time.
Version: 0.2.0
Date: 2026-07-30
Info:
- Initial internal architecture: pack opening, draft GUI, and
dependency-chain safeguards.
Balancing:
- Manual mining counts at full weight toward progress.
- Threshold growth uses a two-stage decaying compound rate to avoid
runaway numbers over a long game.
- Added the drill overheat mechanic: sustained automated output
raises heat, which throttles how much of that output converts to
progress; heat decays over time and manual mining actively cools
it down.
Bugfixes:
- Automated contribution tracking switched to reading the mining
target's remaining resource amount, since mining drills do not
expose a usable "products_finished" count.