Shogun Exodus Devlog #4

In the latest series of updates for Shogun Exodus, we have overhauled our core actor systems to provide greater transparency and mechanical depth. The introduction of a data-driven status effect system in Update #065 moves away from hardcoded penalties, allowing needs like hunger and exhaustion to trigger modular, color-coded buffs and debuffs visible in a new “Effects” tab. This structural foundation is complemented by Updates #066 and #067, which focus on character identity and UI clarity; we have implemented moddable GOAP action labels and a persistent AI name generation system, ensuring every actor in the world now possesses a unique, save-persistent identity and clear, readable behavior states. These changes collectively streamline our development workflow while offering players a much more detailed look at the status and actions of both the Shogun and the AI inhabitants of the world.

Raw Patch Notes

UPDATE 2026-04-14 #065 - Named Status Effects For Needs + Effects Tab Runtime
- Moved the current need-driven hunger/sleep/relax/social penalties and buffs into named status-effect payloads in `Data/Stats/status_effects.json`, including UI metadata (`display_name`, `hidden`, `tags`, `polarity`) and gameplay payload (`state_flags`, tick rules, derived rules, movement lock, action-efficiency multiplier).
- Replaced the old hardcoded need penalties in `Data/Stats/needs.json` with `runtime.status_effect_rules` so needs now apply/remove named effects like `starving`, `sleep_deprivation`, `stressed`, and `shared_room_company`.
- Extended `GameDB` to compile merged status effects and compiled per-profile status-effect trigger rules for shared runtime reuse across all actors.
- Extended `Stats.gd` to own active status effects per actor, apply effect payloads dynamically, expose visible active effects in activation order, and include effect-driven tick/derived rules in runtime stat behavior.
- Switched `SocialSystem` to apply its named effects through the actor `Stats` component instead of duplicating effect state logic locally, while still honoring movement-lock and action-efficiency payload from the effect definition.
- Populated the character sheet `Effects` tab from active visible status effects and color-coded them by polarity (`buff` green, `debuff` red).
- Added `Effects/ContentVBox` nodes to the shared stats-panel scene variants and updated the current docs/agent guidance for the new effect contract.
- Follow-up balance tuning: `stressed` and `sleep_deprivation` health-drain payloads were reduced from `-150.0` to `-10.0` per in-game hour to avoid effectively instant death at zero relax/sleep.
- Added a generic `slowed` debuff in `Data/Stats/status_effects.json` and switched building separator/pillar slow zones to apply/remove that shared status effect instead of directly hardcoding speed modifiers in the area script.
- Files: `Autoload/GameDB.gd`, `Autoload/SocialSystem.gd`, `Scripts/Stats.gd`, `Scripts/StatsPanel.gd`, `Scripts/Areas/SpeedModifierArea.gd`, `Scripts/Buildings/BuildingSpawner.gd`, `Scenes/Base.tscn`, `Scenes/BaseTempBackup.tscn`, `Scenes/TestScenesDev/SetHouseTestMap.tscn`, `Data/Stats/needs.json`, `Data/Stats/status_effects.json`, `AGENTS.md`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

UPDATE 2026-04-14 #066 - Moddable GOAP Action Labels In Info Tab
- Added merged `Data/GOAP_action_labels.json` loading in `GameDB` so planned and active action text can be modded separately from internal GOAP action ids.
- Added actor display-name and current-action display helpers for player and AI, with `Shogun` as the player display name and a generic `X` fallback for AI until unique characters are implemented.
- Updated the character sheet `Info` tab to show `Current Action:` using the actor's current display label, including planned labels like `Going to bed` and active labels like `Sleeping`.
- Added `Info/ContentVBox` nodes to the shared stats-panel scene variants and updated current docs for the new data contract.
- Files: `Autoload/GameDB.gd`, `Scripts/BasicWanderAI.gd`, `Scripts/Player.gd`, `Scripts/StatsPanel.gd`, `Scenes/Base.tscn`, `Scenes/BaseTempBackup.tscn`, `Scenes/TestScenesDev/SetHouseTestMap.tscn`, `Data/GOAP_action_labels.json`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

UPDATE 2026-04-14 #067 - Persistent Generated AI Identity In Character Info Tab
- Added new `CharacterGenerator` autoload to load `Data/female_first_names.txt`, `Data/male_first_names.txt`, and `Data/last_names.txt`, generate persistent AI identity records, and avoid exact duplicate full names when possible.
- Extended `BasicWanderAI.gd` to persist `character_id`, `display_name`, and `gender_id` through its existing custom save-state hook so generated identities survive save/load and world travel.
- Updated the PLAY button new-game path to reset generated character identity/session claims before loading the base scene.
- Updated the character sheet `Info` tab to show `Name` and `Gender` under `Current Action`, using actor identity display APIs instead of placeholder text.
- Updated current docs for the new name-pool files, character-generation autoload, and persistent AI identity flow.
- Files: `Autoload/CharacterGenerator.gd`, `project.godot`, `Scripts/BasicWanderAI.gd`, `Scripts/Player.gd`, `Scripts/PlayButton.gd`, `Scripts/StatsPanel.gd`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

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

Posted in

Reply

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