From 36e1e4043b72d3e065b548abe05af16c4ef7efe6 Mon Sep 17 00:00:00 2001 From: Adrien Jaguenet Date: Mon, 21 Sep 2026 12:29:50 +0200 Subject: [PATCH] Document the reconstructed feature roadmap --- ROADMAP.md | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 ROADMAP.md diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..f5dfa67 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,111 @@ +# Battle for 'Tismo — roadmap + +This reconstructs the feature brief that drove the recent work, from the task +list given in the project chat and the state of the code afterwards. It is a +reconstruction, not a verbatim copy: where the original wording was lost it has +been restated from what was actually built. + +`[x]` = implemented and covered by the test suite. `[~]` = implemented with a +simplification worth revisiting. Anything unticked is still open. + +## General guidelines + +- If an icon is missing, add a dummy SVG that reads `dummy icon - `. +- Once an item is finished, move on to the next; keep the suite green and add + tests for each new pure behaviour. +- Percentages are for the final figure only; raw effects are stated in the + model's own integer units (e.g. popularity points). + +## 1. Visual / UI + +- [x] City progress bar under the city name, plus a quick production view in + the city panel. +- [x] Remove the city "improve" button; cities improve themselves as railways + are laid. +- [x] Per-improvement buttons above the tile panel, with a control to remove an + improvement. +- [x] Manual unit selection in the stack panel (checklist). +- [x] Clicking a unit opens the panel for its tile or city. +- [x] A stack splits immediately when a member leaves it. +- [x] Logarithmic scale for the population map mode. +- [x] Building squares drawn around the city icon, in a seeded pattern. +- [x] Upgrade tooltip forecasts the resulting budget income. +- [x] Artillery barrages are always visible, dimmed unless selected. +- [x] Square icon buttons for tile improvements: name in the tooltip, cost + beneath the icon. +- [x] A progress bar for a tile improvement under construction, like a city's. +- [x] Technology tab: wide, short (3:1) cards in a grid; a focused technology + shows a progress bar with `X / Y` to its right; the button no longer + repeats the cost. +- [x] Key art behind the main menu. +- [x] Double-clicking a city opens its full city panel. +- [x] Barrages drawn as animated parabolic arcs from attacker to target (SVG + Bezier, marching dashes, a shell riding the curve). + +## 2. Populations and popularity + +- [x] Popularity counted in integer points, shown through a logistic curve + (0 -> 50%, +100 -> 75%). +- [x] Opinions drift one point an hour toward neutral. +- [x] War effects: declaring war, being declared on (rally when the aggressor is + loathed), unit losses and kills, city capture and loss. +- [x] Pillaging leaves a popularity stain, doubled among the affected peoples. +- [x] Minorities above 10% cannot be expelled. +- [~] Structure and city damage is modelled as city population/GDP loss plus + improvement hit points, not a dedicated per-structure HP system. + +## 3. Nation top info bar + +- [x] Month-over-month arrows on population, GDP, GDP per capita, budget and + popularity. +- [x] GDP, population and GDP per capita double their arrow past a 10% move; + popularity past ten percentage points. +- [x] No arrows for January 2000, which has no past month. +- [x] Popularity tooltip estimates hours/days to neutrality at the drift rate. + +## 4. Technologies + +- [x] Focused research: every point flows straight into the chosen technology; + there is no bank, so no focus means no progress. +- [x] Committed progress is kept per technology, so changing focus never loses + work already done. +- [x] Repeatable technologies with a 2% cost growth per level, notified without + flooding the news list. +- [x] Theme tabs (Science / Economy / Society / Military). +- [x] Technology panel shows the research rate rather than a stockpile. +- [x] Readable effect text for the military and repeatable effects. + +## 5. War mechanics + +- [x] Zone of control: units deny their tile and the ring around it to hostile + movement, mirrored in client prediction; the deliberate goal is exempt so + charges resolve. +- [x] Battleships and ground batteries bombard coastal units and defenceless + cities from range. +- [x] Capturing a city takes the aircraft based there. +- [x] Infantry capture unaccompanied artillery; a warship over a launch stack + sinks it. +- [x] Trenches: dug by infantry, defensive bonus against melee and artillery, + local GDP cost. +- [x] Combat order: infantry absorbs blows first; exposed support units are hit + before dug-in troops. +- [x] New units: mobile radar (wide vision, captured or destroyed easily) and + the launch transport (embark, carry one infantry, disembark a whole + stack). +- [x] Buildable military tile improvements: fortifications (permanent area of + control, defensive bonus, battle damage), radar tower (captured by an + enemy walking on it), coastal cannon (auto-fires on warships). +- [x] Embark / disembark orders wired on server and client, with a cargo readout + in the unit panel. + +## 6. Content and tuning + +- [x] Market and Bank base cost reduced tenfold (500k and 1M). + +## Open items + +- [ ] A dedicated structure hit-point model for cities and tile improvements + (see the `[~]` note above). +- [ ] Real art for the placeholder "dummy icon" SVGs: `icon_radar.svg`, + `icon_launch.svg`, `icon_fortifications.svg`, `icon_radar_tower.svg`, + `icon_coastal_cannon.svg`, `icon_road.svg`, `icon_railway.svg`.