Shogun Exodus Devlog #20

The latest development updates for *Shogun Exodus* introduce a dynamic room smoke simulation system alongside new environmental management mechanics. Under this new system, active machinery like the Standard Generator produces smoke that accumulates within enclosed rooms over time, requiring the construction of the new Standard Vent placeable to actively drain the hazard. This update also brings visual enhancements, including a shader-driven room smoke overlay and room-clipped generator fake lights that properly render within specific room boundaries.

In addition to the environmental hazard itself, the update refines how smoke impacts character health through a modular status effect system. Instead of direct health drain, characters now experience distinct, mutually exclusive debuffs—`inhaling_smoke` and `inhaling_heavy_smoke`—based on the room’s smoke concentration thresholds. These moddable status effects streamline how environmental hazards interact with actor stats, paving the way for deeper survival mechanics.


Raw Patch Notes

UPDATE 2026-05-22 #128 - Room Smoke System + Vent Placeable
- Added `SmokeSystem` as a tick-driven room smoke simulation using placeable JSON rates, elapsed game hours, room aggregation, clamped 0-100 room smoke, and health drain above smoke thresholds.
- Added generated-room smoke state, save/load persistence through `BuildingSpawner`, and a lazy shader-driven room smoke overlay with opacity capped at 90%.
- Added top-level placeable smoke fields, made the Standard Generator produce 5 smoke/hour only while running, and added the Standard Vent placeable that drains 10 smoke/hour with two ingot construction slots.
- Files: `Autoload/SmokeSystem.gd`, `Scripts/Buildings/GeneratedRoom.gd`, `Scripts/Buildings/BuildingSpawner.gd`, `Scripts/Placeables/PlaceableBase.gd`, `Data/Items/placeables.json`, `Data/tick_channels.json`, `Art/Effects/SmokeClouds.gdshader`, `project.godot`, `current-game-setup.txt`, `mod-guide.txt`, `update-log.txt`

UPDATE 2026-05-22 #129 - Smoke Damage Status Effect
- Added the visible `inhaling_smoke` debuff in `Data/Stats/status_effects.json`, moving smoke health drain into moddable status-effect tick rules.
- Changed `SmokeSystem` to apply/remove the smoke debuff and maintain the `inhaling_heavy_smoke` state flag for the severe smoke tier instead of directly changing actor health.
- Adjusted `Stats.gd` so effect-only tick channels like `smoke` can use their configured tick interval the first time an active effect consumes that channel.
- Files: `Autoload/SmokeSystem.gd`, `Scripts/Stats.gd`, `Data/Stats/status_effects.json`, `current-game-setup.txt`, `mod-guide.txt`, `update-log.txt`

UPDATE 2026-05-22 #130 - Heavy Smoke Debuff Split
- Split severe smoke into its own visible `inhaling_heavy_smoke` debuff instead of using a hidden state flag on `inhaling_smoke`.
- Updated `SmokeSystem` so actors in smoke above 50 receive `inhaling_smoke`, actors in smoke above 85 receive `inhaling_heavy_smoke`, and the two smoke debuffs are kept mutually exclusive.
- Files: `Autoload/SmokeSystem.gd`, `Data/Stats/status_effects.json`, `current-game-setup.txt`, `mod-guide.txt`, `update-log.txt`

UPDATE 2026-05-22 #131 - Generator Room-Clipped Fake Lights
- Added a room-local clipped light root for generator fake-light sprites so glow textures render only within the rectangular room containing the generator.
- Exposed `GeneratedRoom.get_room_local_rect()` for lightweight room-bound clipping without per-frame geometry rebuilds.
- Files: `Scripts/Placeables/Components/PlaceablePowerGeneratorComponent.gd`, `Scripts/Buildings/GeneratedRoom.gd`, `current-game-setup.txt`, `mod-guide.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 *