Improved Weather UI Stability – Shogun Exodus Devlog #36

An artistic horizontal Japanese sumi-e style ink wash painting on textured cream paper depicting a tranquil landscape on the left with a traditional torii gate and pine trees transitioning into a dramatic vortex and a Japanese castle surrounded by swirling ink strokes on the right.
The latest Shogun Exodus update introduces structural improvements to the weather and interface systems alongside stability fixes. Weather HUD elements now utilize a reusable mixed-font label component, rendering numeric and symbol characters in Mistral while preserving primary text in Brush Strokes to resolve glyph display issues. Furthermore, the temporary wind cap has been removed to support the full natural 1 to 140 km/h range, backed by a revised data-authored motion curve calibrating cloud visual responses across varying speeds without recurring performance overhead.

Technical corrections include a fix for a parser error in scalar-track validation and the resolution of an invalid freed-reference error within TimeEffectsSystem during scene loads and travel transitions. Configuration data and developer documentation have also been updated to support the new scalar evaluation parameters and moddable UI font assets.


Raw Patch Notes

- Immediate correction: fixed a parser error in scalar-track validation where the compiled `track` record was referenced without first being declared in the loop scope.

UPDATE 2026-08-22 #184 - Reusable Mixed-Font Weather Labels
- Replaced each Weather HUD text control with a reusable `MixedFontLabel`, retaining one centered layout while explicitly routing a data-authored character set through a second font. This solves Brush Strokes' misleading numeric/symbol glyphs, which are present and therefore cannot be replaced by an ordinary missing-glyph fallback.
- Weather labels now use Mistral for `0-9`, `:`, and `/`, while all other text remains Brush Strokes at the same authored size. Font assets, fallback paths, and the routed character set are moddable through `Data/assets.json` and `Data/ui_config.json`; the component is reusable by future UI without changing the Weather-specific contract.
- Rendering remains event-driven: mixed font runs are rebuilt only when label text changes, including the existing rounded Wind HUD updates. No polling or recurring work was added. Loading-screen hints were reviewed and left unchanged because this is presentation infrastructure rather than a player-facing mechanic.
- Files: `Scripts/UI/MixedFontLabel.gd`, `Scripts/Weather_Systems/WeatherHUDLabels.gd`, `Data/ui_config.json`, `Data/assets.json`, `DeveloperFiles/current-game-setup.txt`, `DeveloperFiles/mod-guide.txt`, `DeveloperFiles/update-log.txt`.

UPDATE 2026-08-22 #185 - Full Natural Wind Range and Stronger Motion Curve
- Removed Wind's temporary automatic 50 km/h ceiling by expanding its authored natural range to the full absolute 1-140 km/h range. All seven existing weighted graph states can now occur through ordinary planning; their state weights, dwell times, transitions, Dev Tools behavior, and exact-value/bracket agreement are unchanged.
- Strengthened the fully data-authored response around the unchanged 30 km/h calibration point: calm speeds now use `max(0.1, (speed/30)^1.25)`, while higher speeds use `1 + 1.75 * log2(speed/30)`. This maps the extremes to approximately 0.10x at 1 km/h and 4.89x at 140 km/h. Cloud bulk/shape/detail/mask response strengths remain 100%/50%/25%/25%.
- Extended the reusable scalar response evaluator with authored below-calibration exponent and above-calibration gain fields. Calculations remain endpoint-only when a scalar descriptor changes; no polling, recurring work, or CloudSheet-side Weather calculation was added.
- Removed the completed temporary-cap note and updated current architecture and mod-facing documentation. Loading-screen hints were reviewed and left unchanged because the existing Wind hint remains accurate without exposing numerical tuning.
- Files: `Autoload/WeatherSystem.gd`, `Data/Weather_Systems/conditions.json`, `DeveloperFiles/temporary-data-fix-later.txt`, `DeveloperFiles/current-game-setup.txt`, `DeveloperFiles/mod-guide.txt`, `DeveloperFiles/Weather_System_Explainer.txt`, `DeveloperFiles/update-log.txt`.

UPDATE 2026-08-22 #186 - Time Effects Scene-Load Freed-Reference Fix
- Fixed `TimeEffectsSystem` raising `Trying to assign invalid previously freed instance` on the first Stats tick after loading or travelling away from actors with tracked time-of-day effects. The persistent autoload now validates each cached `Stats` reference as an untyped Variant before casting it to Node, allowing its normal desired-state replacement to prune freed scene records safely.
- This was a general scene-transition lifecycle bug, not Weather save incompatibility. No save schema or gameplay behavior changed.
- Files: `Autoload/TimeEffectsSystem.gd`, `DeveloperFiles/update-log.txt`.

*This is an automated post, using Python and LLMs to summarize game updates. Mistakes, while rare, may happen.


Leave a Reply

Your email address will not be published. Required fields are marked *