14 KiB
Tech Tree
The Age of Dwarves research tree spans ten eras across six pillars. Every dwarf clan walks the same six tracks; the order and depth at which they advance them is what distinguishes a brewing-merchant prince from a coilgun-fielding garrison state.
The six pillars:
| Pillar | Domain |
|---|---|
| Civic | Government, economy, society, law, ritual |
| Military | Combat doctrine, weapons, formations, command |
| Engineering | Infrastructure, construction, mundane comms, transport |
| Ecology | Agriculture, animal husbandry, resource extraction, environmental stewardship |
| Knowledge | Science, philosophy, writing, mathematics, runelore-as-scholarship |
| Metallurgy | Smelting, alloying, smithcraft, the mc-items smithcraft_T1..smithcraft_T10 chain |
Techs marked (existing) are already authored in public/games/age-of-dwarves/data/techs/*.json; their canonical era and pillar take precedence over this document's preferred slotting where the two diverge — divergences are noted inline so the JSON authoring is the law and this doc is the map. Game 1 scope rail (CLAUDE.md): no magic schools, no leylines, no Archons. rune_resonance is treated as engineering-flavored runic engineering — a craft, not a school. arcane_ascension at era 10 is a Game 2 teaser stub and is not researchable in Game 1.
Era 1 — Stone Age
The opening hand. Clans live in a single mountain mouth, hunt the surface in the warm months, and remember everything orally because nothing is yet written down.
| Pillar | Techs |
|---|---|
| Civic | oral_tradition, clan_council, customary_law |
| Military | flintworking, tribal_warden, hand_axe_combat, war (existing — foundations.json, pillar military) |
| Engineering | shelter_building, firepit, dry_stone_walling |
| Ecology | wild_foraging, seasonal_hunting, wild_gathering, trapping, fishing (both existing — foundations.json, pillar agriculture) |
| Knowledge | cave_painting, astronomy_naked_eye, memory_keeping, dwarf_heritage (existing — foundations.json, race-locking) |
| Metallurgy | flint_napping, bone_tool_shaping |
Also existing in dwarven_warfare.json at era 1: shield_wall, crossbow_craft — both pillar military. The brief slots crossbow at era 3; the JSON is canonical (era 1).
Era 2 — Domestication and Settlement
Permanent holds. Beasts of burden. The first metal that is not flint.
| Pillar | Techs |
|---|---|
| Civic | tribal_organization, barter_trade, pottery_storage |
| Military | bronze_age_weapons, shieldwall_doctrine, siege_craft, pike_drill (both existing — dwarven_warfare.json, era 2) |
| Engineering | wheelmaking, roads, masonry, surveying_basic |
| Ecology | animal_husbandry (→ cattle, oxen), animal_training (→ boars, ravens), pastoralism, agriculture_basic, boar_husbandry (existing — dwarven_warfare.json, era 2), tracking (existing — foundations.json, era 2, pillar military) |
| Knowledge | runescript_basics, numbering |
| Metallurgy | metallurgy_basic (bronze), bellow_smelting |
Era 3 — Bronze and the First Cities
Holds become networks. Coined currency replaces the salt-bar. Iron breaks bronze's monopoly.
| Pillar | Techs |
|---|---|
| Civic | urban_planning, currency_minting, civic_record |
| Military | military_doctrine (sergeants), phalanx_formation, crossbow_invention |
| Engineering | tunnel_paths (existing — foundations.json, era 3, pillar ecology; treat structurally as engineering despite the pillar tag), pioneer_corps, aqueduct, bridges |
| Ecology | irrigation, animal_breeding_selective, crop_rotation, ecology_study (existing — foundations.json, era 3, pillar scholarship), ancient_forestry (existing — foundations.json, era 3) |
| Knowledge | record_keeping_full, mathematics, cartography_basic |
| Metallurgy | iron_smelting, forge_specialization, smithcraft_T1_T2, steelworking (existing — foundations.json, era 3) |
Era 4 — Classical
Brewing comes online. Mounted dwarves come online. Walls become geometry.
| Pillar | Techs |
|---|---|
| Civic | dwarven_brewing, legal_codes, trade_routes, professional_militia |
| Military | siegecraft, cavalry_doctrine_T1, armor_basics, hardened_plate (existing — dwarven_warfare.json, era 4, pillar masonry) |
| Engineering | aviary_husbandry, fortification, mining_engineering |
| Ecology | terraced_farming, livestock_specialization, boar_breeding |
| Knowledge | geometry, medicine_basic, astronomy_calendar, runelore (existing — foundations.json, era 4, pillar metallurgy; the JSON era is canonical — the brief's era-8 slotting refers to the era-8 cluster around rune_resonance, see Era 8) |
| Metallurgy | iron_working_advanced, smithcraft_T3, weaponcraft_specialization |
Era 5 — Medieval
Guilds, charters, the long pike. The mithril forges open.
| Pillar | Techs |
|---|---|
| Civic | heraldry, guild_commerce, nobility_charters, merchant_compacts |
| Military | siege_engineering (trebuchets), pike_doctrine, crossbow_mastery, heavy_armor, gunpowder (existing — dwarven_warfare.json, era 5, pillar military; brief slots at era 6 — JSON is canonical) |
| Engineering | civil_engineering, clockwork_basics, dwarven_holdcraft |
| Ecology | selective_breeding_advanced, salt_curing, pasture_management |
| Knowledge | philosophy, cartography_advanced, mechanical_principles |
| Metallurgy | metallurgy_advance (steel), smithcraft_T4_T5, damascene_steel, mithril_smithing (existing — foundations.json, era 5), high_smithing (existing — advanced_metallurgy.json) |
Era 6 — Pre-Industrial and Powder
The first concussion of a dwarf-cast cannon. Beacon chains string the holds together.
| Pillar | Techs |
|---|---|
| Civic | central_authority, printing_press, state_education, professional_army |
| Military | pike_and_shot, early_artillery, field_doctrine, rifling, marksmanship, beacon_chain (all existing — dwarven_warfare.json, era 6, pillar military) |
| Engineering | proto_chemistry, bastion_fortification, signal_works (see Era 7 — the brief notes signal_works is era 7 in the comms backbone) |
| Ecology | falconry_command, proto_industrial_farming, iron_pastures |
| Knowledge | optics, engineering_mathematics, early_navigation |
| Metallurgy | cannon_casting, smithcraft_T6, precision_forging |
Era 7 — Industrial and Steam
Steam pressure, breech-loaders, vaccines. The first time a dwarf hold runs on a schedule the surface clans cannot match.
| Pillar | Techs |
|---|---|
| Civic | industrial_state, mass_education, labor_law, corporate_charters |
| Military | breech_loading, revolver_doctrine, steam_walkers, automatic_fire (both existing — dwarven_warfare.json, era 7), firearms (umbrella label for the breech-and-revolver bundle — encoded in JSON as the rifling/marksmanship/automatic_fire ladder, not as a single id) |
| Engineering | steam_engine, industrial_construction, steam_track, signal_works |
| Ecology | industrial_breeding, selective_husbandry_mass, vaccine_basics |
| Knowledge | chemistry_modern, electromagnetism_basics, germ_theory, thermodynamics |
| Metallurgy | bessemer_steel, smithcraft_T7, industrial_smelting, steam_forging (existing — advanced_metallurgy.json, era 7) |
Era 8 — Resonance and the Electric Hold
The runic engineering era. rune_resonance is treated as engineering — a high-tier mundane craft for sending signals down a wire, not magic. A parallel mundane path (radio_basics) gives non-runic clans an equivalent option.
| Pillar | Techs |
|---|---|
| Civic | dwarven_university, mass_media, civic_reform, social_planning |
| Military | mechanized_infantry, armoured_doctrine, motorized_logistics, combustion_assault, tactical_disruption (all existing — dwarven_warfare.json; combustion_assault and tactical_disruption are JSON-era 8 and 9 respectively — JSON is canonical) |
| Engineering | rune_resonance (existing — advanced_metallurgy.json, era 8, pillar metallurgy; engineering-flavored per Game 1 scope rail), radio_basics (mundane parallel), relay_networks, electric_lighting |
| Ecology | genetic_observation, industrial_animal_systems |
| Knowledge | synthetic_chemistry, electromagnetic_theory, materials_science_basic |
| Metallurgy | alloy_metallurgy, smithcraft_T8, runelaced_metals, mithril_working (existing — advanced_metallurgy.json, era 8) |
runelore (existing era-4 tech in foundations.json) is the prerequisite for rune_resonance — the era-4 lore of inscribing names into blades scales, four eras later, into the lore of inscribing carrier-waves into wire.
Era 9 — Atomic, Aerial, and the Edge of Space
Tanks. Aircraft. The first satellite. Apex relics begin landing in player inventories.
| Pillar | Techs |
|---|---|
| Civic | mass_communications, propaganda_doctrine, nation_state, colonial_doctrine |
| Military | armoured_warfare, aviation_military, anti_satellite_doctrine, chemical_warfare, rocketry, electronic_warfare, coilgun_theory (all existing — dwarven_warfare.json, era 9) |
| Engineering | early_space_flight (→ Spaceport, satellites), aviation, microelectronics, automated_relays |
| Ecology | genetic_engineering, weather_observation_advanced |
| Knowledge | atomic_theory, radio_advanced, computing_basics, synthetic_biology |
| Metallurgy | superalloys, smithcraft_T9, synthetic_diamond, apex_relics_T9, deep_alloys (existing — advanced_metallurgy.json, era 9) |
Era 10 — Apex and the Planetary Mantle
The closing hand. Holds drill the mantle. Cybernetics, fusion, weather-control. The era-10 arcane_ascension slot is reserved as a Game 2 teaser and is not researchable in Game 1.
| Pillar | Techs |
|---|---|
| Civic | planetary_governance, post_scarcity_economics, mass_cyber_augmentation |
| Military | total_war_doctrine, apex_cybernetic_soldier, mantle_warfare, runic_armaments, ancestral_legacy (both existing — dwarven_warfare.json, era 10) |
| Engineering | deep_mantle_engineering (→ Mantle-Choir), planetary_engineering, tectonic_lifts |
| Ecology | apex_genetic_engineering, bioengineered_ecosystems, weather_control |
| Knowledge | fusion_theory, arcane_ascension (Game 2 teaser only — not researchable in Game 1; CLAUDE.md scope rail), quantum_computing, nanotech_theory |
| Metallurgy | adamantine_forging (existing — advanced_metallurgy.json, era 10), smithcraft_T10 (apex relics), nanomaterials, mantle_alloys |
Prerequisite chains
The load-bearing cross-era progressions. Each chain is a single conceptual line crossing the era boundary; the player feels them as escalating versions of one identity, not as separate techs.
Mounts.
animal_training (e2) → cavalry_doctrine_T1 (e4) → selective_breeding_advanced (e5) → industrial_breeding (e7).
The dwarf rider on a war-boar at era 4 is the same lineage as the mass-bred armoured cavalry of era 7.
Birds.
animal_training (e2) → aviary_husbandry (e4) → falconry_command (e6) → automated_relays (e9).
Trained ravens at era 2 become an officer's command-bird at era 6 and a satellite relay constellation at era 9.
Communications backbone.
roads (e2) → signal_works (e7) → rune_resonance or radio_basics (e8) → early_space_flight (e9) → deep_mantle_engineering (e10).
The same dwarf message — "the eastern hold is under attack" — takes six turns of foot-courier at era 2 and arrives same-turn end-phase at era 8. This chain governs the PerceivedState freshness model in military/COMMUNICATIONS.md.
Pioneer line.
Founder unit (era 1, no tech prerequisite) → wheelmaking (e2) → pioneer_corps (e3) → civil_engineering (e5) → industrial_construction (e7).
The escalating capacity to plant, expand, and improve a hold.
Metalwork and smithcraft.
metallurgy_basic (e2) → iron_smelting (e3) → metallurgy_advance (e5) → cannon_casting (e6) → bessemer_steel (e7) → steam_forging (e8) → superalloys (e9) → adamantine_working (e10).
The smithcraft_T1..smithcraft_T10 ladder in mc-items is the per-tier consumer of these techs; each metallurgy tech unlocks one or two smithcraft tiers in lockstep.
Slot-enable table
Which unit and improvement slots are gated by which combination of tech and resource. A slot is enabled only when both the tech is researched and the resource is owned or imported.
| Slot | Required tech | Required resource(s) |
|---|---|---|
ox_wagon |
animal_husbandry |
cattle |
mount (boar / ram) |
animal_training |
boars or mountain_rams |
officer_bird |
falconry_command |
crag_aerie (improvement, era 6+) |
powder_charges |
gunpowder |
saltpeter + sulfur + coal |
firearm |
firearms (the rifling/marksmanship/automatic ladder) |
iron + coal |
steam_engine (unit and improvement) |
steam_engine (engineering, era 7) |
coal + iron |
rune_panel |
rune_resonance |
runestone |
radio_set |
radio_basics |
copper + coal |
coilgun |
coilgun_theory |
copper + mithril |
mantle_drill |
deep_mantle_engineering |
adamantine + fusion_cell |
firearm is an umbrella slot. The JSON canon does not encode a single firearms tech; instead, the slot is enabled when any of rifling, marksmanship, or automatic_fire is researched, and the resource gate is unchanged.
See also
military/COMMUNICATIONS.md— the comms-backbone chain in action: courier envelopes, beacon chains, resonance wires,PerceivedState.data/techs/foundations.json,data/techs/dwarven_warfare.json,data/techs/advanced_metallurgy.json,data/techs/advanced_ecology.json,data/techs/advanced_military.json— canonical authored techs. Where this document and the JSON disagree on era or pillar, the JSON is the law.CLAUDE.mdGame 1 scope rail — what does and does not ship in Age of Dwarves; the era-10arcane_ascensionstub is the only deliberate forward-pointer.