Changelog v3 90s - Heliomance/Uncharted-Horizons GitHub Wiki

Changelog · Design document — Changelog

Breakthrough IDs link to the breakthrough that holds the ID today. A few early entries predate a renumbering or a merge, so an ID there may since have passed to another breakthrough.

v3.99 — Thinning, Batch 1: Chemistry

  • The thinning pass begins. Target: a bit under one discovery a turn — about 0.8, some 240 a game against about 305 now — fairly even across the game, with bursts and two- or three-turn gaps both common. It runs in three phases: thin focus by focus, merging before cutting; bring each World Truth axis level; then redraw the era boundaries on the Insight curve so the remainder runs evenly. UNCOMMON, RARE and UNIQUE rows stay, because they are what makes games differ and together are worth only about ten discoveries a game; the cuts fall on CORE and STANDARD stepping stones.
  • How thinning slows the game. An era's price is its Insight ÷ its expected discoveries, so fewer breakthroughs mean each one costs more, and the pace falls with the content; thinning is what keeps arrivals on time at the slower pace. Era prices are recomputed after every batch — this one raises the Medieval price from 110 to 112, the Early Modern from 404 to 412 and the Modern from 614 to 636.
  • Three merges:
    • Electrochemistry (CH10) → the Voltaic Pile (EL02). Both were electroplating Gold; Davy's electrolysis was the pile put to work. The Pile gains +1 Gold from luxury tiles, and becomes the prerequisite of Cold Fusion and Electric Aviation. Direct-Current Stations' bonus to Generating Stations now waits on Aluminium Extraction instead — aluminium smelting is what DC power ran on — so it stays a later, earned step rather than coming free.
    • Portland Cement (CH16) → Reinforced Concrete (CO11), which now requires Roman Concrete or Oxygen Theory, plus Bessemer steel, and carries the road-speed unique for cement roads. Reinforced concrete was Portland cement and steel.
    • Crystallography (CH17) → the Periodic Table (CH06), which gains +1 Gold from Gems and becomes the prerequisite of Piezoelectricity and Semiconductor Mastery.
  • Effect: Chemistry's realised content falls from about 17 to 14.5; the familiar world's total from about 307 to 305.
  • Tallies: 545 breakthroughs; STANDARD 241.

v3.98 — Closing the Power Pass; One Prerequisite Parser

  • Mycological Knowledge (G06) becomes a path less travelled. Nothing waits on it any more: Antibiotics now needs Germ Theory + Organic Chemistry (penicillin was made usable by chemists, Florey and Chain, and deep-tank fermentation), Nitrogen Fixation Awareness only Crop Rotation (legume nodules hold bacteria, not fungi), Biomass/Biogas Distillation + Organic Chemistry (anaerobic digestion is bacterial), and Vaccination MD03 + Herd Animal Domestication (the milkmaid's observation). It stays UNCOMMON, and a civilisation that finds it is quicker down a whole biological lane — Antibiotics, Bio-Organic Synthesis and Biomass/Biogas each cost ×0.5. That wording is provisional: how accelerators are stated awaits the discovery-model decision. Its Compost Yard becomes the Mushroom Cellar [30/0; +1 Food from Forest and from Jungle tiles in its city] — mushrooms from woods left standing. With the gate gone, a Germ-world civilisation reaches the Medical Lab about as often as any STANDARD, rather than about a third of the time.
  • The Biogas Plant is weaker, not cheaper, as the Biomass Plant became in v3.96: +1 Production at 440/2. Its +2 at 310 dominated the Coal Plant.
  • Selective Breeding's prerequisite now says what it meant: Seed Saving + (Botanical Classification, or Irrigation with Crop Rotation). As written it read as requiring Crop Rotation outright; Crop Rotation leaves the list of non-CORE rows a CORE must wait on.
  • The tools had two prerequisite parsers, and each misread rows. The battery's safety and world checks stripped every parenthesised group, IDs included, so they lost the alternatives in 40 rows — Star Fort's Cannons-or-Trebuchet, nearly every atomic-or-elemental split. The generator and harness kept groups but ANDed comma-separated alternatives (Gene Therapy's three medicine routes) and lost IDs in nested descriptions (the Blast Furnace's Coal Discovery since v3.94; Quantum Computing's Entanglement Mastery). All of them now read prerequisites through one shared parser (prereq.py), whose rules are written into §7 as the Prerequisites-column notation. Re-reading every row through it, the safety check still finds all 76 requirement links safe. The three cells that had been rewritten to suit the old parsers (the Blast Furnace, Quantum Computing, Selective Breeding) keep their clearer forms.
  • Battery check 18: every ID left in a prerequisite cell once descriptions are set aside is one the parser reads.

v3.97 — Era Entry: Small Counts, Provisional

  • Era entry now needs a small count of breakthroughs from the era or later — 5 (Ancient), 3 (Classical), 3 (Medieval), 5 (Early Modern), 7 (Modern), 6 (Atomic), 4 (Space) — about a tenth of each era's expected discoveries. The previous counts (8, 12, 15, 18, 20, 18, 15) dated from the first draft and left a civilisation up to an era behind its own development.
  • Why not base Civ V's rule. Unciv enters an era with the first technology from it (TechManager.updateEra: the era of the most advanced researched tech). That suits a dense chain of techs; in the fork a single breakthrough can arrive well ahead, and a Mathematics specialist would enter the Early Modern to Atomic eras 0.8–1.1 eras early, firing game-wide triggers early. A breadth requirement (breakthroughs from two or three foci) was tested and added nothing beyond the count.
  • What entry affects is now stated beside the era table: policy branches, the era's uniques, Faith purchase prices, embarked defence, research agreements and the AI's city valuation. None of the fork's own pricing depends on it.
  • Not settled. The counts were measured on the discovery workshop's rate-model candidate, so they depend on the discovery model's pace; they are marked provisional in §2 and recorded as a lever for playtesting.

v3.96 — One Engine; Plants for Every Fuel

  • The Alcohol Combustion Engine (MC09-W) is merged into the Internal Combustion Engine (MC09), exactly as the blast furnaces were in v3.94. Its Distillery Fuel Depot already made Oil, at a real cost — three worked Farms and −20% growth — and the Landship and Tank already followed either engine. The engine now requires MC08 + (Petroleum Discovery + Petrochemistry or Distillation + Organic Chemistry), becomes CORE (the alcohol option is all CORE), and grants the Landship, Tank and Anti-Tank Gun with the Depot. Every civilisation can raise Depots: an expensive way to get Oil, worth it to a civilisation short of wells, or to one pushing to field more tanks and aircraft than its wells could fuel. Heavier-Than-Air Flight no longer waits on a roll; the battery's count of CORE rows whose OR-group offers no CORE option falls from 6 to 5. The Landship and Tank take the engine as a plain requiredTech; the transmutation row's Oil conditional names it; the engine keeps the alcohol route's dual path through Chemistry.
  • The chemistry pair stays separate — Petrochemistry and Bio-Organic Synthesis are competing technologies, not two routes to one resource.
  • The Coal and Oil Power Plants exist in every world. They required Coal Discovery and Petroleum Discovery, so fossil-free worlds could not build them even though their Kilns and Depots now make Coal and Oil. They now require knowing the fuel by either route: the Blast Furnace for Coal, Petroleum Discovery or the engine for Oil. In fossil-free worlds the Biomass and Bio-Fuel Plants therefore become ordinary Competing Solutions, as they are elsewhere: a civilisation that discovers the Coal Power Plant first is locked out of the Biomass Plant.
  • The Biomass Plant is weaker, not cheaper. It had the Coal Plant's +2 Production and +5% for 310 against 440, with no Coal and no smoke, which dominated the Coal Plant despite its row calling it "weaker". It now gives +1 Production and +5% for 440/2, what its peers cost: a power station costs what it costs, whatever it burns. (The value model had priced the Coal Plant's smoke, −1 Happiness, as a point of value, since it counts any unique that is not a positive yield as one point — the crudeness noted in v3.90.)
  • Knock-on edits: the Airship and Heavier-Than-Air Flight name MC09 alone, as does Aeronautics' availability; the fossil-free world's description and Guarantee Rule 9 are restated; the Competing Solutions table loses its Motorisation row (16 groups: 10 persist, 6 are superseded).
  • Tallies: 548 breakthroughs; CORE 152, STANDARD 244.

v3.95 — A Stale Name in a Conditional

  • A regression from v3.94. The Substance world's transmutation row (CH20) opens its fuel improvements once a civilisation knows the fuel by either route, written as a De Morgan OR: ⟨Only available <after discovering [non-[{non-[Coal Discovery]} {non-[Charcoal Blast Furnace]}]]>⟩. v3.94 removed the Charcoal Blast Furnace, but its leftover check searched for the row's ID, not its name, and no battery check read names nested inside conditionals. The conditional now names the Blast Furnace, which makes Coal through its Charcoal Kiln, so the OR still means "discovering the seams, or making the fuel".
  • Battery check 17: every breakthrough named in a tech conditional — <after discovering […]> or <before discovering […]> inside a unique, including names nested in De Morgan ORs — must be a real row or a canonical tech. Text in backticks is excluded, since it describes patterns with placeholders. Run against v3.94 it finds exactly this reference; the document holds 17 such conditionals.

v3.94 — One Blast Furnace

  • The Charcoal Blast Furnace (ME08-W) is merged into the Blast Furnace (ME08). Its Charcoal Kiln already makes Coal, so a separate breakthrough had only two jobs left: giving coal-less worlds a route that does not need Coal Discovery, and making civilisations diverge by discovery order. One row does the first with an OR — the Blast Furnace now requires ME04 + CO02 + (Coal Discovery or Charcoal Production) — and the Kiln's own economics do the second better than a lock-out: it needs three worked fuel tiles, and its −10% Production cancels a Factory's scaling.
  • The Blast Furnace becomes CORE. All its prerequisites are CORE, and CORE rows depend on it. The Steam Engine, Iron-Frame Construction (the Factory's row), the Railway Network and the Bessemer Process no longer wait on a roll. The battery's count of CORE rows whose OR-group offers no CORE option falls from 10 to 6.
  • The Charcoal Kiln becomes a general way to get Coal — expensive, and therefore a choice. A coal-rich civilisation will rarely bother; a coal-poor one has a way forward; and an aggressive one can pay the premium to raise a coal-powered army larger than its seams could supply. The Blast Furnace grants it alongside the canonical Ironworks, which needs Coal from pits or kilns alike.
  • Two objects go. The Charcoal Ironworks: once charcoal is made at scale, a normal Ironworks will do, so the Ironworks slot tag and its derivation clause go with it. The Managed Forest: it had no yield, nothing read it, and building one cost a Lumber Mill's place; the Kiln already stops when its city stops working its woods.
  • Knock-on edits: six dependents now name ME08 alone (Bessemer, Iron-Frame Construction, the Railway, the Steam Engine, the Ironclad, and Cannons already did); the Peat Cutting and Distillery rows point at ME08; the fossil-free world's description no longer lists the Blast Furnace among the rows removed with Coal Discovery, and no longer calls the -W alternatives UNCOMMON (they have been STANDARD Competing Solutions since v3.61); Guarantee Rule 8 is restated; the Competing Solutions table loses its blast-furnace row (17 groups: 11 persist, 6 are superseded).
  • Tallies: 549 breakthroughs; CORE 151, STANDARD 246.

v3.93 — Fossil-Free Guarantees

  • Found by the threshold generator, which places every non-CORE a CORE must wait on as though it were CORE: two chains broke Guarantee Rules 8 and 10 in FOSSIL_FUELS_ABSENT worlds.
  • Industrialisation needed three forest tiles. The Steam Engine, Iron-Frame Construction (the Factory's row) and the Railway Network, all CORE, can only come through the Charcoal Blast Furnace (ME08-W) there, and its row required ≥3 forest tiles in territory — a terrain condition trade cannot meet. It duplicated, more strictly, a condition its building already has: the Charcoal Kiln yields Coal only while its city works more than two fuel tiles (Forest, Jungle or Peat Cutting). The row's condition goes. The knowledge is open to every civilisation, and the Coal still needs fuel tiles or trade, as §1.2 intends for strategic resources.
  • The space race waited on an UNCOMMON roll. Polymer Science and Liquid-Fuel Rocket, both CORE, can only come through Bio-Organic Synthesis (CH09-W) there, which required Mycological Knowledge (G06, UNCOMMON). G06 now speeds it instead: it makes Bio-Organic Synthesis cost ×0.5 (a multiplier, §1.2), on the pattern of the Atmospheric Engine's discount to the Steam Engine. Bio-Organic Synthesis requires Organic Chemistry and Selective Breeding only.
  • Vaccination's prerequisite said something the tools could not read. "MD03 + G06 or empirical observation" names no row for its second option, so every check treated G06 as required. The observation is the milkmaid's, which needs herds: Vaccination now requires MD03 + (G06 or AH02, Herd Animal Domestication — CORE, Primitive).
  • Guarantee Rules 8 and 10 now state how they hold.
  • Still open: ten STANDARD rows remain that a CORE must wait on (the combustion and alcohol engines, the two blast furnaces, petrochemistry and bio-organic synthesis, the two telegraph rows, crop rotation and selective breeding) — reported by the battery since v3.73. Each fires about 85% of the time over a game.

v3.92 — The Space Era Consolidated

  • The problem. At value price the Space era's new buildings loaded a fork city about five times as much as base Civ V's, which adds almost nothing in its last era. A price could absorb that only at about ×0.22 — a sign of too many buildings, not of a wrong price.
  • The Planetary Defense Network becomes a national wonder (SE13): one network for the whole planet, not a building in every city. [national wonder; 750/0; cityStrength +10; cityHealth +100; ⟨[+15]% Strength for cities⟩; ⟨Cost increases by [180] per owned city⟩], on vanilla's pattern — the National College costs 125 and 30 more per city. With the row's own +15%, every city gains +30% Strength, roughly what the old +15% and +10 Strength a city gave; the host city keeps the old +10 Strength and +100 HP, as the network's hardened centre. It has no building requirement: the Bomb Shelter vanishes when nuclear weapons are disabled, and the Military Base and Radar Station sit on STANDARD rows that are not ancestors of SE13, so none is a safe predecessor.
  • The Orbital Depot goes; Orbital Resource Delivery (SE06) upgrades the Asteroid Mining Station instead, adding ⟨Provides [2] [Aluminum]⟩ and ⟨Provides [2] [Rare Earths]⟩ to each station <after discovering [Orbital Resource Delivery]>. SE06 always follows Asteroid Prospecting, and three upgraded stations provide exactly what three stations and three depots did.
  • The Quantum Network goes; Quantum Communication (QP14) carries ⟨[+2 Gold] from each Trade Route⟩ itself. Nine buildings already gave Gold per trade route. QP14 also loses a stale sentence naming it the prerequisite of Interstellar Communication, a row removed in v3.80.
  • The Orbital Platform stays a building: per-city orbital industry is a choice a city makes, unlike a planet-wide network.
  • Result. The Space era's load at value price falls to about 3.4× base, and the Space row is solved on it at ×0.32 (Interstellar follows). Every era from the Ancient to the Space now loads a fork city 1.09–1.10× as much as base. Net Gold by the Space era improves from −87 to −79, against base's −66. Most of what remains in the Space era is the Fusion Plant upgrade; base Civ V has no Space-era plant.

v3.91 — Cost Scaling Corrected: Whole-City Production and Calibrated Eras

  • What v3.90 got wrong. Its multipliers were solved against the power ledger's Production ratio, about 1.3× base, but the ledger counts only buildings' Production. A real city's Production is mostly worked tiles, which both games share, and percentage bonuses multiply those as well. Counting them, a fork city is only about 1.05–1.2× as productive as a base one. So v3.90's unit and wonder multipliers (up to ×1.35) made units take 3–17% longer than base, and its building column left each era's new buildings loading a fork city 1.2–2.3× as much as base, and far more in the Space era, not the 1.1× it reported. The build-time ledger also had two faults of its own: it counted only the first power plant a city ever builds, never the upgrades, and it counted capital-only, spaceship-stack and per-civilisation-limited buildings as though every city built them. Both are fixed, and the ledger can now list what it counts.
  • The era model. Era lengths come from an empire's Insight per turn: 1 Science per citizen, building Science and the Palace's +3, with percentage bonuses applied to the whole city (the first version applied them to buildings alone and left out the Palace, which put base Civ V at 795 turns). The Science the typical city does not model — specialists, trade routes, city-states, policies, wonders, Great Scientists — enters as a factor that ramps to about ×2.5 by the Space era, calibrated so base Civ V's science victory falls around turn 320: good players win by 300, and after about 375 someone else usually has. The calibrated base game enters the Space era around turn 264; the fork's eras run about a tenth shorter from the Medieval era.
  • The corrected table (§7, Cost scaling). Units, wonders and spaceship parts: the whole-city Production ratio — ×1.00 in the Primitive and Classical eras, ×1.05 Ancient, ×1.10 Medieval and Early Modern, ×1.20 Modern, ×1.15 Atomic, ×1.20 Space. Buildings: solved era by era on the share of a city's Production each era's new buildings take — ×0.79 in the Primitive to Classical eras, ×0.60 Medieval, ×0.84 Early Modern, ×0.48 Modern, ×0.48 Atomic. Cheaper buildings do not add power, since yields are budgeted per city whatever a building costs; and because the full set now takes about base Civ V's time, a city spends about the same share of its Production on buildings as in vanilla, so the balance between buildings and units holds.
  • Result (from the document's table): each era's new buildings load a fork city 1.09–1.10× as much as base from the Medieval to the Atomic era, and 1.10× across the Ancient and Classical eras together. Units match the whole-city ratio in every era.
  • The Space era is left provisional at ×0.50. At value price it adds about five times base Civ V's building load, which a price could absorb only at about ×0.22 — a sign of too many late buildings, not of a wrong price. Its buildings will be consolidated first and the value re-solved.
  • Assumptions to verify in playtesting: 1.5 Production per citizen from worked tiles, plus 2 from the city centre; 1, 3, 5, 6, 7 and then 8 cities; the ramp's shape; and the 0.05 per-city factor, Civ V's standard-map value, which the local Unciv source does not show.

v3.90 — Cost Tuning (Power Rebalance, Stage 5)

  • The invariant. Build time: a typical city's full building set should take about as long as base Civ V's, with a tenth more for the fork's breadth. Before this pass it took 1.48–2.05× base time from the Medieval era on and 2.2–2.7× earlier. From the Medieval era, canonical buildings alone took only 0.74–0.88×: the extra Production was already there to fund breadth, but fork buildings were priced by era, not by what they give.
  • The Water Mill moves to the Classical era (WM05, CORE; both prerequisites are Ancient CORE rows, and every row that needs it is Medieval or later). Base Civ V has it early, with The Wheel, and so does history: Vitruvius describes one, and the Perachora wheel dates from the 3rd century BCE. Classical Production had been the one era below base (0.84×); it is now 1.07×.
  • Fork buildings are priced by value on vanilla's scale (§7, Cost scaling): the era's typical canonical cost × (value points ÷ 4), clamped between a quarter and one and a half times that cost, with upkeep at vanilla's rate for the era. 137 rows' specs change, in cost and upkeep only. UNIQUE replacements cost what their base costs (most already did), and the v3.77 spaceship stack keeps its tuned costs. Nine grid plants that had no cost, and so took their tech column's default, now carry explicit ones.
  • A cost-scaling table in §7, applied by the ruleset derivation to canonical and fork objects alike. Buildings: ×0.80 in the Primitive, Ancient and Classical eras, ×0.94 Medieval, ×0.90 Early Modern, ×0.77 Modern, ×0.64 Atomic, ×0.50 Space and Interstellar — solved era by era, and shared by every building, so none is a bargain per point. Units, wonders and spaceship parts: the era's Production ratio (×1.00 to ×1.35), so they take base time. Spaceship parts taking the unit multiplier restores v3.77's intended ship timing, which compared costs with the spaceship bonuses alone, not the fork's higher general Production.
  • Result (measured from the document): a full building set takes 1.07–1.08× base time at the end of each era from the Classical to the Atomic, and 1.17× in the Space era. The Ancient era stays at 1.74×, the accepted timing shift of seven Classical buildings onto historically Ancient rows, gone by the end of the Classical era. Net Gold after upkeep is now within a few Gold of base through the Early Modern era (−42 against −42) and closer after (−87 against −66 by Space, from −102), so gross Gold needs no trimming.
  • Judgement calls to revisit:
    • The Space-era building value is a floor. How much a city can build there depends on how many turns the era lasts, which the Insight-threshold simulation will measure; the table makes it one number to retune.
    • The value model is deliberately crude: it counts every non-yield unique as one point, whatever its strength. A building whose unique is unusually strong or weak may need its price set by hand.
  • Battery check 16: every fork building carries an explicit cost, and the cost-scaling table covers every era. Run against v3.89 it finds the nine costless plants and the missing table.
⚠️ **GitHub.com Fallback** ⚠️