Skip to content

feat: built-in historical scenarios — Battle of Manzikert, Fall of Constantinople #51

Description

@nikolareljin

Summary

Bundle historically-accurate scenario JSON files for the two most iconic Byzantine military events, to be loaded via the ScenarioLoader (see #50).

Scenarios to bundle

1. Battle of Manzikert (August 26, 1071)

  • Location: Manzikert (modern Malazgirt, Turkey) — tile_x: 176, tile_y: 73
  • Byzantine commander: Romanos IV Diogenes
  • Seljuk commander: Alp Arslan
  • Outcome: Byzantine catastrophic defeat — Romanos captured, Anatolia opened to Turkic settlement
  • Forces: Byzantine (cataphracts, tagmata, Varangian Guard, mercenaries) vs. Seljuk (horse archers, heavy cavalry)
  • Source: neobyzantine-org timeline event battle-of-manzikert-1071

2. Fall of Constantinople (May 29, 1453)

  • Location: Constantinople — tile_x: 146, tile_y: 68
  • Byzantine commander: Constantine XI Palaiologos
  • Ottoman commander: Mehmed II
  • Forces: Byzantine (skeleton garrison, Genoese allies, Greek Fire ships) vs. Ottoman (massive artillery, Janissaries, naval blockade)
  • Source: neobyzantine-org timeline event fall-of-constantinople-1453

File locations

assets/scenarios/
├── manzikert-1071.json
└── fall-of-constantinople-1453.json

UI integration

Scenario selection dropdown in start screen (see #50):

  • "Battle of Manzikert (1071)" → loads Seljuk vs. Byzantine confrontation
  • "Fall of Constantinople (1453)" → loads final Byzantine defense scenario

Historical notes

These scenarios should match the CENTURY_TOWN_CONTROL_OVERRIDES already defined in js/state.js for the 11th-century era. Alp Arslan is already defined as a playable leader (state.js:LEADER_START_PROFILES).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    500ad500ad task trackingenhancementNew feature or requestscenarioScenario system features

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions