Skip to content

Roadmap

denfry edited this page Oct 13, 2026 · 1 revision

Roadmap

Important

Current status: milestone M0 (scaffold) is in progress. The Gradle modules pc-sim, pc-api and pc-mod exist, along with about 270 placeholder Blockbench models and textures. Gameplay described elsewhere in this wiki is design only.

The milestone order is chosen so that each milestone gives a playable result and closes the riskiest technical question as early as possible. The pc-sim domain and its tests come first, the Minecraft binding second: physics can be debugged with JUnit without launching a client.

Milestones follow the industry ladder (see Progression), but the nuclear island simulation core (M1) is built first because it is the most technically risky part and can be developed headless. In the world, the player goes through I0 → I1 → T0 → … in the same order as milestones M2 → M3 → M4.

Milestones

Milestone Status Content Done when GDD sections
M0. Scaffold in progress Gradle modules pc-sim / pc-mod / pc-api, ModDevGradle, Create 6 and CC: Tweaked dependencies, ArchUnit rule "pc-sim does not import net.minecraft", CI build, config spec, generation tasks (generateCcHelp, registries) ./gradlew build is green, a stub GameTest passes 05 §5.1, §5.7, 11 §11.1.3
M1. Simulation core (headless) planned WaterProperties (IAPWS-IF97), FluidPackage interface with WaterPackage, FluidNetwork (lumped element model), HeatStructure, PointKinetics, ReactivityBudget, ProtectionSystem; PowerGrid skeleton (swing equation, load flow) Physics test cases groups 1.2–1.5 and 1.10–1.11 pass; JMH ≤ 150 µs/tick on the PR-300 reference reactor; basic grid frequency tests 01, 07
M2. I0 — coal and steam planned Coal mine (methane, ventilation, canary, roof support), coal boiler, steam engine → Create shaft, relief valves, local A0 instruments; handbook (basic page types), first advancements, I0 decor A player reaches "First Steam" via the handbook in ≤ 30 min; a methane explosion is reproduced in GameTest 08, 07, 11
M3. I1 — steel and power planned Coke ovens (coke, gas, tar, pitch, electrodes), blast furnace, converter, rolling mill, seamless pipe; synchronous generator, synchronization, power lines, transformers, protection relays, under-frequency load shedding, dispatcher; water treatment, air separation; A1 relays and A2 analog computers A generator is synchronized to the grid with a synchroscope; load shedding trips load on a deficit; steel and pipes feed recipes 08, 07, 03d
M4. T0 graphite pile in the world planned Multiblock reactor_controller, fuel_channel, graphite (electrodes → Acheson furnace), zip_rod_winch, neutron_detector, analog gauge; natural uranium from a simplified chain (ore → metal) The player brings T0 to criticality by period; a trip drops the "zip" rod 01 §1.6, 03a §3a.6, 03c §3c.1
M5. Thermal hydraulics in the world + Create planned Pipes, valves, primary_pump + pump_flywheel, steam_drum, turbine → Create shaft and grid generator, condenser, feedwater pump; cooling tower and water intake; emergency diesel generators A closed T1 loop delivers power to the grid; main coolant pump coastdown matches the reference; a diesel generator picks up load in ≤ 15 s 01 §1.2, 03a, 07
M6. Automation A3–A4 planned PLC with all IEC 61131-3 languages and a GUI editor, function block library, SIS with cause and effect matrix, 4–20 mA and fieldbuses, telemetry; all pc_* peripherals, tag catalog, pcui, pc_watchdog, historian, digital twin, simulator; A3 electronics recipes Lua examples from the API spec work unchanged; an LD/FBD/SFC/ST program behaves the same on the twin and the real PLC; the simulator runs a training scenario 03b, 03c, 03d, 11
M7. Radiation planned RadiationField, shielding materials, dosimeters, player dose tracking, ContaminationMap, decontamination Radiation test cases (Cs-137 1 TBq, 10 cm lead) pass both in the domain and in GameTest 04b
M8. I2 — oil and gas planned HydrocarbonPackage and GasMixturePackage, oil/gas field generation, seismic survey and well logging, drilling and blowout prevention, production methods, reservoir, oil treatment, pipelines, refinery (crude distillation, reforming, hydrotreating, Claus, coking), gas plant (amines, helium, NGL fractionation); gas boilers and gas turbines A well goes from exploration to sales-grade oil; the column yields fractions per the true boiling point curve; a well kick is killed per procedure in GameTest 09, 07
M9. I3 — chemistry and fuel cycle up to T2a planned Pyrolysis, polymers, chlor-alkali, methane reforming, methanol, resins, TBP; silicon chain and microchips (A4); hydrometallurgy, conversion, centrifuge cascade, pelletizing, fuel assemblies, VVER-like T2a with pressurizer and steam generators, Xe/Sm; combined-cycle plant A player builds a starting T2a ≈ 100 MW(t) from scratch using gas-plant sulfur, reformer hydrogen and petrochemical resins; the xenon pit is visible on trends 10, 11, 02 §2.1–2.6, 01 §1.8
M10. Accidents and operations planned AccidentModels (LOCA, SBO, SGTR, ATWS, RIA, hydrogen, cladding), oil and gas accidents (well kick, BLEVE, vapor cloud, H₂S), DamageBudget, containment, ConsequenceRouter, server modes; LOTO, work permits, confined spaces, flare system, firefighting, repairs The accident event tree is reproduced by GameTest scenarios; contained mode destroys nothing outside containment; LOTO cannot be removed by another player 04c, 04d, 09, 13
M11. Acoustics and vibration diagnostics planned AcousticField, procedural voices, cavitation, water hammer, bearing wear, vibrometer; sounds for new industries (drilling rig, furnaces, compressors, power lines) Acoustics test cases; blind test: an operator finds a cavitating pump by ear 04a
M12. Isotopes and closing the cycle planned Irradiation channels, Co-60, Ir-192, Am-Be, Pu-238, RTGs, neutron transmutation doping, TRIGA; spent fuel pool, dry storage, PUREX, MOX, criticality outside the reactor, vitrification, disposal The whole fuel cycle can be completed on a test server; a weld defect is found by gamma radiography; an RTG powers an RTU 12, 02 §2.7–2.9
M13. Environment, economy, content planned Emissions and acid rain, CO₂ quotas, oil spills, exchange and contracts; A5 (MES/APC); world structures, full catalog of advancements and scenarios, all decor The energy dispatcher, exchange and quotas give an economic incentive to switch to nuclear on a test server 14, 03d, 11
M14. Balance playtest planned Calibrate energy.w_per_su, enrichment.swu_multiplier, chain.ore_yield_multiplier, K_slow, nuclide.k_burn, pace of eras I0–I3, exchange prices Decisions recorded in the GDD; era completion times fit the planned tables 00, 02, 04d, 07–10, 14
M15. T3/T4 and post-release planned CANDU (D₂O, online refueling, tritium, detritiation), T4 (sodium fast reactor); transportable reactors; backlog items from all sections — 01, 02, 04c, 12

Section numbers refer to the design document (private): 00 overview, 01 physics, 02 production chain, 03a–03d Create/CC/SCADA/automation, 04a–04d acoustics/radiation/accidents/multiplayer, 05 architecture, 07 grid, 08 coal and metallurgy, 09 oil and gas, 10 petrochemistry, 11 player content, 12 isotopes, 13 operations, 14 environment and economy.

Art pipeline by milestone

Each model is needed at the milestone where its block first appears in the world. The source of truth for art work is the art registry in each GDD section plus a consolidated art backlog, with statuses TODO → PLACEHOLDER → MODELED → DONE. Existing placeholders (269 models, 46 partial models) cover the registries of sections 00–05. See Art-Pipeline.

Milestone Highlights Partial (animated) models
M2 coal boiler, steam engine, mine blocks (roof support, fan, canary cage, methane meter), relief valve, document_lectern mine fan, valve, roof support
M3 coke battery, blast furnace segments, converter, rolling mill, generator, transformer, breaker, pylons, synchroscope, relays and analog blocks generator rotor, mill rolls, converter tilt, relay armature
M4 reactor_controller, fuel_channel, moderator_block_graphite, control_rod_channel, neutron_detector, analog_gauge zip_rod_winch drum and rod
M5 pipe, pipe_large, valve_*, primary_pump, pump_flywheel, steam_drum, turbine_casing, condenser, feedwater_pump, cooling tower, diesel generator pump impeller, flywheel disc, turbine stages, gate valve stem
M6 control_desk, annunciator_panel, indicator_lamp, key_switch, scram_button, chart_recorder, PLC racks, sis_logic_solver, RTUs key, scram button cap
M7 shielding materials, instrument_dose_rate, portal monitor, protective equipment —
M8 drilling rig, top drive, blowout preventer, pumpjack, ESP, separators, distillation columns, furnaces, floating-roof tanks, flare, compressors, gas turbines pumpjack beam, rotary table, traveling block
M9 pyrolysis furnace, chlor-alkali cells, silicon clean room, gas_centrifuge, cascade_header, pressurizer, steam_generator centrifuge rotor, rod drive rack, Czochralski crystal
M10 containment_wall, containment_hatch, hydrogen_recombiner, eccs_accumulator, borated_water_tank, LOTO locks, fire blocks, hazard signs containment hatch door, fire monitor
M12 irradiation channels, pneumatic rabbit system, gamma irradiator, RTG, ntd_silicon_rig, source containers, spent fuel pool, PUREX, vitrification, repository irradiator rack, NTD ingot, Stirling RTG shaft
M13 exchange terminal, oil booms, station board, remaining decor, world structures —

Large multiblocks (turbine, steam generator, cascade, blast furnace, columns, drilling rig, cooling tower) are modeled whole, then sliced into block-grid segments.

Risks

The GDD tracks 22 risks. The main ones:

# Risk Mitigation
K1 Create 6 class and method names differ from what the design assumes A single adapter layer (CreateKineticPort / CreateSourcePort) is the only point of contact with Create; verified at M0
K2 The Create kinetic network may not handle a centrifuge cascade of ≈ 47,700 SU Option enrichment.steady_power_source = FE | SU; smaller cascades; a T3 branch without enrichment
K3 W_PER_SU = 1000 makes a nuclear station weaker than Create steam engines Calibration after verifying Create's numbers
K4 K_slow softens station blackout: decay heat falls 72 times faster Reactor coolant pump seal leakage keeps SBO dangerous; hardcore option nuclide.decay_heat_clock = REAL_TIME
K5 nuclide.k_burn = 4 breaks the heat/burnup energy balance Documented; can be set back to 1
K6 No wave hydraulics: water hammer is only a Joukowsky estimate Enough for sound and valve damage; full method of characteristics does not fit the TPS budget
K7 Solution criticality model is non-conservative for flat slabs (≈ +30 % critical thickness) Correction factor fissile.slab_margin; tests against published critical parameters
K9 Minecraft rivers do not flow, so waterborne contamination transport is artificial Pathfinding to the ocean with a length limit
K10 Contamination stored on items breaks stacking in Create logistics Coarse contamination classes on items; exact Bq values only in containers
K12, K21 Training scenarios based on real accidents touch historically sensitive topics Presented as engineering lessons, without names of facilities, countries or dates
K13 Licensing of ANS-5.1 decay heat tables shipped in a datapack Open approximations (Way–Wigner, public NRC tables) or an in-house fit
K14 Shader packs (Iris) do not support the custom additive render type for Cherenkov glow Particle fallback
K15 Scope: the industry ladder roughly triples the number of blocks and mechanics Star (★) / backlog marking in every section; release 1.0 contains only ★ items; every milestone M2–M13 is playable
K16 A GUI editor for all IEC 61131-3 languages inside Minecraft is the mod's largest UI task One shared IR/bytecode for all languages; implementation order ST → step sequencer → FBD → LD → SFC; ST can also be loaded from CC
K17 Peng–Robinson hydrocarbon properties may not fit the fluid network budget Property tables built at load time, interpolation in the hot loop
K18 The 3.0 ms/tick budget is exceeded on real servers with several complexes Sleeping plants, degradation by thinning, per-player limits in the config
K19 Isotope and product prices on the exchange create a "money printer" Elastic demand, price falling with volume, accounting of source categories 1–3
K22 Simulation on moving Create contraptions (mobile reactors, drilling rigs on trains) Monoblocks that sleep while assembled as a contraption; by M15

Data to verify against primary sources

Before implementation, the following data must be checked against the original references: ANS-5.1-1979 decay heat coefficients (23 groups), the Groeneveld 2006 CHF look-up table, NUREG-0630 cladding rupture data, the CORSOR-M fission product release model (NUREG/CR-4173), ICRP 72 inhalation dose coefficients, ICRP 74 and IAEA TRS-472 radiological data, homologous pump curves (Semiscale/LOFT, NUREG/CR-5535), three lattice calibration constants (against Serpent/OpenMC reference runs), Maven coordinates for Create 6 and CC: Tweaked 1.21.1, the FTB Chunks / Open Parties and Claims APIs, and Create 6 source numbers (steam engine SU, hand crank speed, crushing duration).

Open design questions

  1. Final value of energy.w_per_su (watts per Create stress unit; currently 1000).
  2. Enrichment speed for the PR-300 reference reactor: keep the ≈ 87-hour cascade "megaproject", or let swu_multiplier grow with the rotor tier.
  3. Presentation of the T1 lesson: how explicitly to show the positive void coefficient and the graphite displacer end effect.
  4. Offline owner policy: the default is SAFE_SHUTDOWN after 10 minutes. Should PvE servers have a "station runs without its owner" mode?
  5. FE vs. SU as the main output: what to do when the Create network is overloaded — switch to FE automatically or trip the turbine. Partly resolved: the main output is the mod's own AC grid, FE is only the boundary with other mods.
  6. Energy balance of the complex: a table of large consumers (aluminium, electric arc furnace, Acheson furnace, silicon, electrolysis, air separation, compressors, water injection) against generation by era, so that the factory actually needs the reactor.
  7. Pace of eras I0–I3: how many hours per era; decided at M14.
  8. Stirling RTG on a Create shaft: keep the isotopes.rtg_su_multiplier scaling or make it electric only.
  9. Operator license (ops.require_license): enable by default on PvE servers or not.

See also

Clone this wiki locally