6-Axis Thermodynamics, Evolutionary Strategies & Trait Catalog
Every biological adaptation, cultural tradition, behavioral decision, and founding Evolutionary Strategy (EvoTypes.StrategyDef) in Evolution is governed by a standardized 6-Axis Biophysical Vector (EvoTypes.BiophysicalVector). Rather than hardcoding ad-hoc special cases for individual traits, the simulation enforces a universal Law of Thermodynamic Conservation (EvoThermodynamics): no organism or society can evolve "free" advantages in caloric extraction, mobility, or social cohesion without paying commensurate energetic or ecological costs.
Evolutionary Strategies (StrategyDef) & Default Archetypes
An Evolutionary Strategy (EvoTypes.StrategyDef) defines the founding bio-cultural identity for one side of a 1v1 Strategy Duel (state.strategy_a_id vs. state.strategy_b_id). Each strategy bundles a curated set of compatible biological adaptations (biological_trait_ids) and cultural traditions (cultural_trait_ids) together with a visual emblem (icon) and color swatch (color).
1. Compatibility Rules & Cultural Substrate Enforcement
When a strategy is constructed in the Forge (EvoLabModal) or applied to a founding deme via EvoCatalog.apply_strategy_to_deme(state, deme, strategy_id, lang):
- Bidirectional \(r/K\) Mutual Exclusion:
bio-r-strategyandbio-k-strategyrepresent opposite life-history poles (mutually_exclusive_with) and cannot coexist in the same strategy or deme. Selecting one in the Strategy Builder automatically unchecks the other. - Cultural Capacity Prerequisite (
enables_cultural_transmission): Cultural traditions (cul-*) require at least one biological trait withenables_cultural_transmission == true(bio-encephalizationorbio-social-instinct). Whenapply_strategy_to_demeassigns traits to a deme, it verifiesEvoCatalog.deme_has_cultural_capacity(deme, state.traits_catalog); if no biological trait enables culture,deme.cultural_trait_idsis cleared to[]. - Lineage & Deme Synchronization: Applying a strategy sets
deme.strategy_id,deme.color,deme.biological_trait_ids, anddeme.cultural_trait_ids, and synchronizes the deme'sLineageNode(lin.strategy_id,lin.color,lin.biological_trait_ids,lin.cultural_trait_ids, andlin.acquired_trait_ids).
2. Combined Strategy Biophysical Footprint (compute_strategy_vector) & Decision Affinities (compute_strategy_baseline_probabilities)
A strategy's baseline 6-axis footprint (EvoCatalog.compute_strategy_vector(strategy, traits_catalog)) is computed by summing the vectors of all included biological and cultural traits and clamping via EvoThermodynamics.clamp_vector (axes 1–5 in \([-1.0, +1.0]\), transmission_threshold in \([0.0, +1.0]\)):
In addition, EvoCatalog.compute_baseline_decision_weights(bio_ids, cul_ids, traits_catalog, decisions_catalog) and EvoCatalog.compute_strategy_baseline_probabilities(strategy, traits_catalog, decisions_catalog) compute the intrinsic behavioral affinity distribution induced by a deme's or strategy's biological and cultural traits (coupling explicit trait affinities—such as cul-warrior-expansion boosting dec-territorial-dispute \(+1.60\) and dec-selective-migration \(+0.80\), cul-communal-conservation boosting dec-cooperate-store \(+1.50\), or cul-interdeme-barter boosting dec-exchange-symbiosis \(+1.65\)—with 6-axis vector alignment).
3. The 5 Base Archetypal Strategies (EvoCatalog.create_base_strategies_catalog)
By default, every scenario starts with DEFAULT_STRATEGY_A_ID = "strat-cooperation" (🤝) vs. DEFAULT_STRATEGY_B_ID = "strat-war" (⚔️), and players can mix and match any of the 5 base archetypes or custom user strategies (origin = "user" persisted in ~/.config/Evolution/user_catalog.json):
| Strategy ID | Emblem & Name (EN / ES) | Hex Color | Included Biological Traits (bio-*) |
Included Cultural Traits (cul-*) |
Combined Biophysical Footprint(Cost, Extr, Eco, Mob, Coh, Thr) |
Evolutionary Philosophy & Gameplay Role |
|---|---|---|---|---|---|---|
strat-cooperation |
🤝 Cooperative Alliance Alianza Cooperativa |
#10B981 |
bio-k-strategybio-social-instinct |
cul-communal-conservation |
(+0.55, +0.70, +0.75, +0.15, +1.00, 1.00) |
Ecological Stewardship, Stability & Pacts: Fosters maximum social cohesion (+1.00), communal habitat regeneration (+0.75 eco), formal Alliance Pacts, and \(K\)-selected demographic buffering. |
strat-expansion |
🧭 Expansionist Pioneers Pioneros Expansionistas |
#3B82F6 |
bio-r-strategybio-thermal-tolerancebio-social-instinct |
cul-fire-processing |
(+0.10, +0.95, -0.35, +0.90, +0.70, 1.00) |
Rapid Dispersal & Barrier Crossing: Combines density-dependent \(r\)-selected fecundity (\(\times 1.28\) at low crowding) with high mobility (+0.90) and cooking efficiency (+0.10 net cost) to colonize mountains and islands. |
strat-trade |
⚖️ Merchant League Liga Mercantil |
#F59E0B |
bio-k-strategybio-encephalization |
cul-interdeme-barter |
(+1.00, +1.00, +0.30, +0.55, +1.00, 1.00) |
Commercial Symbiosis & Cultural Hub: High-cognition diplomatic network that unlocks \(+20\%\) reciprocal symbiosis surpluses, Alliance Pacts, sustainable ecology (+0.30), and rapid horizontal cultural diffusion. |
strat-war |
⚔️ Conquering Horde Horda Conquistadora |
#EF4444 |
bio-r-strategybio-social-instinct |
cul-warrior-expansioncul-extraction-tools |
(+0.75, +1.00, -0.75, +0.90, +1.00, 1.00) |
Martial Dominance, Raids & Conquest: Wages territorial wars of conquest, launches cross-border plunder raids, and dominates Hawk-Dove disputes with maximum extraction (+1.00) and mobility (+0.90), at severe ecological cost (-0.75). |
strat-innovation |
🔬 Innovator Technocrats Tecnócratas Innovadores |
#A855F7 |
bio-encephalizationbio-digestive-spec |
cul-fire-processingcul-extraction-tools |
(+0.70, +1.00, -0.45, +0.55, +0.80, 1.00) |
Cognitive & Technological Acceleration: Pairs neocortical expansion and omnivorous digestion with thermal processing and toolkits to maximize extraction (+1.00) and cumulative innovation. |
The 6-Axis Biophysical Vector (BiophysicalVector)
Each vector consists of six floating-point axes rounded to \(4\) decimal places (snappedf(x, 0.0001)):
| Axis # | Field (types.gd) |
JSON Key | Bounds | Biophysical Meaning & Simulation Impact |
|---|---|---|---|---|
| 1 | metabolic_cost |
metabolicCost |
\([-1.0, +1.0]\) | Caloric Expenditure: Scales per-capita resting and active metabolic consumption \(C_{\text{metabolic}}\). Negative values represent metabolic savings (e.g., cul-fire-processing externalizing digestion). |
| 2 | extraction_efficiency |
extractionEfficiency |
\([-1.0, +1.0]\) | Biomass Harvesting Yield: Scales a deme's caloric demand \(D_i = P_i \cdot 0.50 \cdot (1.0 + 0.60 \cdot v_{\text{eff}}.\text{extraction\_efficiency})\) when harvesting hex resources \(R\). |
| 3 | ecological_impact |
ecologicalImpact |
\([-1.0, +1.0]\) | Habitat \(K\) Footprint: Negative values degrade local carrying capacity \(K\) (K * (1 + 0.18 * sum_eco_impact)), whereas positive values (> +0.10, e.g., cul-communal-conservation) actively regenerate \(K\) (+5% * sum_eco_impact). |
| 4 | spatial_mobility |
spatialMobility |
\([-1.0, +1.0]\) | Dispersal & Barrier Traversal: Determines maximum traversable elevation (\(\text{altitude} - 0.50 \le v_{\text{eff}}.\text{spatial\_mobility}\)) and buffers extreme thermal metabolic penalties ($ |
| 5 | social_cohesion |
socialCohesion |
\([-1.0, +1.0]\) | Coordination & Altruism: Governs Dove resistance against Hawk resource capture, and unlocks horizontal cultural absorption when \(v_{\text{eff}}.\text{social\_cohesion} \ge \text{trait.transmission\_threshold}\). |
| 6 | transmission_threshold |
transmissionThreshold |
\([0.0, +1.0]\) | Cognitive & Social Complexity: Minimum receiver social_cohesion required to absorb a cultural trait via Symbiosis, and determines which complex cultural trait is lost first during a demographic bottleneck (\(P < 50\) or \(-50\%\) pop loss). |
Thermodynamic Conservation Law (EvoThermodynamics)
To prevent overpowered "super-traits" (whether synthesized during evolutionary milestones or crafted by players in the Trait & Decision Forge), EvoThermodynamics enforces a strict energetic budget with constant BASE_BUDGET = 0.60.
flowchart LR
Vec["Input 6-Axis Vector v"] --> Clamp["1. Clamp & Snap (round4)\nAxes 1–5 ∈ [-1.0, +1.0]\nAxis 6 ∈ [0.0, +1.0]"]
Clamp --> Adv["2. Positive Advantages A⁺\nmax(0, extract) + max(0, mobility)\n+ max(0, cohesion)"]
Adv --> Check{"A⁺ <= 0.60\nOR C_curr >= C_req?"}
Check -- "Yes (Balanced)" --> Valid["Vector Approved Unchanged"]
Check -- "No (Deficit)" --> Balance["3. Auto-Balance Cost\nRaise metabolic_cost up to 1.0;\nSpill excess into -ecological_impact"]
Balance --> Valid
1. Positive Advantages (\(A^+\))
The sum of positive functional capabilities across extraction, mobility, and social cohesion:
2. Current Cost (\(C_{\text{curr}}\)) & Required Cost (\(C_{\text{req}}\))
Any positive advantage exceeding BASE_BUDGET = 0.60 requires \(50\%\) of the excess to be paid in combined metabolic cost and/or negative ecological impact:
3. Automatic Vector Balancing (validate_and_balance_thermodynamics)
When is_balanced is false (and free_sandbox_mode is disabled), the engine automatically adjusts the vector by raising metabolic_cost first and subtracting any excess above 1.0 directly from ecological_impact:
Effective Deme Vector Aggregation
During Phase 3 (EvoEcologyInteraction.compute_effective_vector), a deme's effective 6-axis profile \(\mathbf{v}_{\text{eff}}\) is computed by summing all active biological traits, all active cultural traditions, and the expectation over its behavioral decision probability distribution \(P(d)\), then clamping to \([-1.5, +1.5]\) (\([0.0, +1.5]\) for transmission_threshold):
Complete Biological Traits Catalog (bio-*)
Biological traits represent genetically heritable life-history strategies, physiological adaptations, and neuroanatomical structures defined in EvoCatalog.create_base_traits_catalog:
| Trait ID | Name (EN / ES) | Cost | Extract | Eco | Mobility | Cohesion | Threshold | Exclusive With | Enables Culture | Biophysical & Evolutionary Role |
|---|---|---|---|---|---|---|---|---|---|---|
bio-r-strategy |
r-Strategy (Prolific) Estrategia r (Prolífica) |
-0.15 |
+0.20 |
-0.20 |
+0.25 |
-0.15 |
0.05 |
bio-k-strategy |
No | Boosts demographic growth rate via a density-dependent multiplier (\(\times 1.28\) when crowding \(< 0.55\), \(\times 1.16\) when \(< 0.65\), \(\times 1.05\) when \(\ge 0.65\)) and lowers metabolic cost, accelerating colonization at the expense of habitat impact. |
bio-k-strategy |
K-Strategy (Longevity & Parental Care) Estrategia K (Longevidad y Cuidado Parental) |
+0.20 |
+0.25 |
+0.15 |
+0.05 |
+0.40 |
0.30 |
bio-r-strategy |
No | Moderates demographic swings (\(\times 0.88\) growth/decline multiplier), improves ecological stewardship (+0.15), strengthens social cohesion (+0.40), bolsters urban sanitation (+0.14 salubrity), and grants a \(15\%\) cost discount on Multi-Tier Defense fortifications. |
bio-digestive-spec |
Omnivorous Digestive Specialization Especialización Digestiva Omnívora |
+0.10 |
+0.45 |
+0.05 |
+0.15 |
0.00 |
0.10 |
None | No | Enzymatic plasticity that substantially increases caloric extraction (+0.45) across diverse flora and fauna with minimal metabolic overhead (+0.10). |
bio-thermal-tolerance |
Thermal & Hydric Tolerance Tolerancia Térmica e Hídrica |
+0.15 |
+0.20 |
+0.05 |
+0.45 |
+0.10 |
0.10 |
None | No | High spatial mobility (+0.45) that unlocks high-altitude mountain passes and mitigates thermal metabolic penalties in Tundra and Arid Steppe biomes. |
bio-encephalization |
Encephalization (Costly Neural Tissue) Encefalización (Tejido Neural Costoso) |
+0.45 |
+0.35 |
0.00 |
+0.20 |
+0.45 |
0.60 |
None | Yes | Steep resting metabolic cost (+0.45) for neocortical expansion; unlocks cumulative cultural traditions, dec-exchange-symbiosis, and tool innovation. |
bio-social-instinct |
Instinctive Sociability (Gregariousness) Sociabilidad Instintiva (Gregarismo) |
+0.20 |
+0.20 |
+0.05 |
+0.10 |
+0.60 |
0.45 |
None | Yes | Neuroendocrine predisposition toward kin altruism (+0.60 social cohesion) at moderate energetic cost (+0.20); unlocks cultural transmission and symbiosis. |
Bidirectional Mutual Exclusion (r vs. K Strategy)
bio-r-strategy and bio-k-strategy are mutually exclusive life-history poles. Injecting bio-r-strategy into a village via EvoCatalog.inject_trait_into_deme automatically strips bio-k-strategy (and vice versa). Furthermore, if removing a biological trait leaves a deme with neither bio-encephalization nor bio-social-instinct, all active cultural traditions are cleared because the population loses its cognitive/social substrate (enables_cultural_transmission).
Complete Cultural Traditions Catalog (cul-*)
Cultural traditions require at least one biological trait with enables_cultural_transmission = true (bio-encephalization or bio-social-instinct). Unlike genetic traits, cultural traditions can diffuse horizontally between cohabiting or neighboring demes during Symbiosis and can be lost during demographic bottlenecks:
| Trait ID | Name (EN / ES) | Cost | Extract | Eco | Mobility | Cohesion | Threshold | Biophysical & Socio-Ecological Role |
|---|---|---|---|---|---|---|---|---|
cul-fire-processing |
Fire & Thermal Food Processing Fuego y Procesado Térmico de Alimentos |
-0.10 |
+0.35 |
-0.25 |
+0.10 |
+0.15 |
0.40 |
Externalizes digestion through cooking, lowering metabolic_cost (-0.10) and raising caloric extraction (+0.35) at the cost of fuelwood depletion (-0.25 eco). |
cul-extraction-tools |
Specialized Extraction Tools Herramientas de Extracción Especializadas |
+0.25 |
+0.65 |
-0.25 |
+0.10 |
+0.20 |
0.50 |
Cumulative lithic/organic toolkit that massively amplifies extraction (+0.65) and triggers the tech_overexploit behavioral branch unless paired with conservation norms. |
cul-communal-conservation |
Communal Conservation Norms Normas de Conservación Comunal |
+0.15 |
+0.25 |
+0.55 |
0.00 |
+0.50 |
0.55 |
Institutionalized harvesting quotas and sanitation norms (+0.55 ecological_impact, +0.50 social_cohesion) that prevent the Tragedy of the Commons, actively rebuild \(K\), boost urban sanitation (+0.20 salubrity against epidemics), and grant a \(15\%\) cost discount on Multi-Tier Defense fortifications. |
cul-interdeme-barter |
Inter-Deme Barter Networks Redes de Trueque Inter-Deme |
+0.35 |
+0.40 |
+0.15 |
+0.30 |
+0.50 |
0.60 |
Diplomatic and trade protocols that raise extraction (+0.40), mobility (+0.30), and social cohesion (+0.50), accelerating horizontal cultural diffusion and complementary inter-biome trade surpluses (up to \(1.35\times\)). |
cul-warrior-expansion |
Warrior / Expansionist Tradition Tradición Guerrera / Expansionista |
+0.45 |
+0.30 |
-0.35 |
+0.45 |
+0.60 |
0.45 |
High-cohesion (+0.60), high-mobility (+0.45) militarized organization that drives territorial wars, plunder raids, and Hawk-Dove dominance at severe metabolic (+0.45) and ecological (-0.35) cost. |
Complete Behavioral Decisions Catalog (dec-*)
Every generation, the cognitive engine assigns a normalized probability distribution \(P(d)\) (\(\sum_{d} P(d) = 1.0\)) over the eligible decisions in EvoCatalog.create_base_decisions_catalog:
| Decision ID | Archetype | Name (EN / ES) | Cost | Extract | Eco | Mobility | Cohesion | Threshold | Required Traits (Any) | Behavioral Profile & Simulation Effect |
|---|---|---|---|---|---|---|---|---|---|---|
dec-conservative-forage |
forage |
Conservative Foraging Forrajeo Conservador |
+0.10 |
+0.35 |
+0.10 |
0.00 |
+0.05 |
0.05 |
None | Default low-risk gathering within local regeneration limits; does not increment Baldwin counters. |
dec-intensive-overexploit |
overexploit |
Intensive Overexploitation Sobreexplotación Intensiva |
+0.25 |
+0.85 |
-0.65 |
0.00 |
-0.10 |
0.10 |
None | Maximizes immediate caloric intake (+0.85) while severely degrading habitat carrying capacity \(K\) (-0.65); contributes to raid and betrayal propensity. |
dec-selective-migration |
migrate |
Selective Migration Migración Selectiva |
+0.30 |
+0.15 |
+0.15 |
+0.75 |
+0.05 |
0.10 |
None | High spatial mobility (+0.75) that boosts migration reach (\(+0.25 \cdot P(\text{"migrate"})\)) and drives population fission or martial territorial invasion. |
dec-cooperate-store |
cooperate |
Cooperation & Storage Cooperación y Almacenamiento |
+0.25 |
+0.45 |
+0.15 |
-0.10 |
+0.65 |
0.35 |
None | Collective resource pooling and food preservation; contributes \(0.35 \cdot P(\text{"cooperate"})\) to cultural innovation, fosters Alliance Pacts, Defensive Coalitions, Hex-Edge Fortifications (defense_tier 1–3), Asymmetric Category Absorption, and Continuous Multi-Hex Walled Unions (walled_union_id). |
dec-exchange-symbiosis |
exchange |
Exchange / Symbiosis Intercambio / Simbiosis |
+0.35 |
+0.50 |
+0.20 |
+0.20 |
+0.60 |
0.45 |
bio-encephalization OR bio-social-instinct |
Unlocks \(1.15\times\text{–}1.35\times\) complementary trade surplus (\(+12\%\) inter-biome, \(+8\%\) cross-cultural), horizontal cultural trait transmission, Tribute Appeasement, and formal Alliance Pacts / Dual Synoecism. |
dec-territorial-dispute |
dispute |
Territorial Dispute Disputa Territorial |
+0.55 |
+0.40 |
-0.30 |
+0.25 |
+0.55 |
0.20 |
None | Agonistic Hawk strategy (\(P(\text{"dispute"}) \ge 0.25\)); seizes Dove biomass shares, triggers Plunder Raids (with rural hinterland pillaging into has_ruins) and Wars of Conquest, or causes Hawk-Hawk clashes (\(-15\%\) pop, \(\times 1.25\) metabolic cost). |
dec-explore-innovate |
innovate |
Exploration / Innovation Exploración / Innovación |
+0.50 |
+0.15 |
0.00 |
+0.40 |
+0.35 |
0.65 |
None | High-cost (+0.50) experimentation that sacrifices immediate foraging yield (+0.15) to rapidly advance innovation_counter. |
Emergent Milestone Traits (origin = "emergent")
When a deme achieves an evolutionary milestone during Phase 4 (EvoMilestonePhase.run_milestone_phase), EvoHeuristicScorer.synthesize_milestone_trait dynamically generates a new biome-contextualized trait, validates it through EvoThermodynamics.validate_and_balance_thermodynamics, and registers it into state.traits_catalog:
| Milestone Trigger | Synthesized Category | Generated Name Pattern (EN / ES) | Cost | Extract | Eco | Mobility | Cohesion | Threshold | Thermodynamic Verification |
|---|---|---|---|---|---|---|---|---|---|
allopatric_speciation |
biological |
Allopatric Divergence (\<Biome>) Divergencia Alopátrica (\<Bioma>) |
+0.18 |
+0.35 |
+0.10 |
+0.30 |
+0.20 |
0.20 |
\(A^+ = 0.85 \Rightarrow C_{\text{req}} = 0.125 \le 0.18\) (Balanced) |
baldwin_assimilation |
biological |
Adaptive Homeostasis (\<Biome>) Homeostasis Adaptativa (\<Bioma>) |
\(\max(0.10,\ 0.70 d_{\text{cost}})\) | \(\text{clamp}(\max(0.15,\ 0.80 d_{\text{ext}}), 0, 0.85)\) | \(\text{clamp}(0.60 d_{\text{eco}}, -0.50, 0.50)\) | \(\text{clamp}(\max(0,\ 0.80 d_{\text{mob}}), 0, 0.85)\) | \(\text{clamp}(\max(0.05,\ 0.80 d_{\text{coh}}), 0, 0.85)\) | 0.20 |
Derived proportionally from the assimilated baldwin_decision_id vector \(\mathbf{v}_d\) (or fallback (+0.18, +0.35, +0.10, +0.30, +0.20, 0.20)) and auto-balanced via validate_and_balance_thermodynamics |
cultural_innovation |
cultural |
Cooperative Ecological Tradition (\<Biome>) Tradición Ecológica Cooperativa (\<Bioma>) |
+0.20 |
+0.35 |
+0.20 |
+0.15 |
+0.40 |
0.45 |
\(A^+ = 0.90 \Rightarrow C_{\text{req}} = 0.150 \le 0.20\) (Balanced) |
Unified Vital Status System (Deme.get_vital_status)
Both the UI (EvoHudInspectorPanel, EvoWorldOverlayRenderer) and the Cognitive Engine (EvoHeuristicScorer._compute_vital_status) evaluate each deme's physiological state via a unified 5-state classification based on population, energy_reserves (\(E\)), and last_energy_delta (\(\Delta E\)):
| Vital Status ID | Condition (types.gd & heuristic_scorer.gd) |
Meaning & Simulation Impact |
|---|---|---|
"extinct" |
population <= 0 |
Population has collapsed; excluded from biophysical and cognitive processing. |
"starving" |
energy_reserves < 25.0 OR last_energy_delta <= -10.0 |
Severe caloric deficit; triggers emergency migration, distress aid from pact allies, or opportunistic betrayal/raids. |
"thriving" |
(last_energy_delta >= 10.0 and energy_reserves >= 40.0) OR energy_reserves >= 120.0 |
Energetic abundance; favors demographic growth, cooperative storage, innovation, and martial expansion. |
"declining" |
last_energy_delta < -5.0 (and not "starving") |
Moderate caloric contraction; shifts environmental decision weights toward selective migration or adaptive foraging. |
"stable" |
Otherwise | Homeostatic balance between caloric intake and metabolic expenditure. |