Recent updates for Shogun Exodus introduce visual depth upgrades to the Flatlands environment through a data-driven background plane system. Multi-layered foreground, middleground, and mountain renders now feature dynamic parallax transitions, smooth camera scaling, and modular profile integration. These additions establish dedicated node structures for prospective atmospheric effects while refining layer ordering and camera tracking to eliminate visual seams during zoom changes and fast camera movements.
Furthermore, the surface environment now features a dynamic day and night cycle linked directly to the core lighting system. New celestial assets, including animated sun and moon paths alongside a persistent night sky layer, follow time-based trajectories across the screen complete with distinct dawn and dusk color gradients. Surface planes, underground layers, and lighting contrast multipliers have also been tuned to ensure consistent atmospheric transitions across all visual depth levels.
Raw Patch Notes
UPDATE 2026-08-08 #167 - Flatlands Foreground and Middleground Depth Planes - Added the first two data-driven Flatlands surface planes to the reusable WorldBackground. Foreground cycles the ten natural-size 3400x1356 assets in their authored 1->10->1 order from one deterministic per-location starting phase; coverage extends in both directions when Castle geometry grows without moving existing scenery or duplicating texture resources. Foreground and middleground bottoms share the profile's 755px-above-underground-bottom datum, producing the intended 45px overlap from the underground top. - Added one finite middleground renderer for the current 14750x4239 weighted-profile asset. It is natural world scale at camera zoom 1.0 and closer, then smoothsteps toward exact width fit at the 0.06 overview zoom. Horizontal follow is profile-tunable (0.85 default) and transitions to camera-centered at full overview so the finite image cannot expose an empty side; vertical position remains locked to the surface datum. Its only live work is a cached scalar comparison and single-sprite transform update when camera x/zoom/viewport changes. - Surface profile contracts are mod-merged through `foreground.sequence` plus keyed `foreground.assets`, and a weighted keyed `middleground.assets` pool. The seam-constrained foreground sequence validates atomically and disables with a warning if any member is invalid; missing saved selections fall back deterministically. Compact save state stores foreground start/origin and middleground asset id, while independent seed namespaces keep surface choices from rerolling each other or existing underground generation. - Added `BaseVisuals`, `Decorations`, and `Atmosphere` ownership nodes to both surface planes, reserving correct future composition points for procedural props and compounded fog/colour effects without introducing CanvasGroup/SubViewport buffers. The accepted full-resolution assets retain their current lossless/no-mipmap imports; their known ~414.5 MiB combined decoded estimate and lower-spec loading/VRAM risk remain tracked in `temporary-data-fix-later.txt`. Loading-screen hints were reviewed and left unchanged because this is presentation, not a player-facing mechanic. - Immediate visual fixes: middleground parallax now clamps its requested center to the image's available live margin, so camera catch-up cannot expose the grey background beyond a finite edge; ForegroundLayer now renders before WorldUndergroundLayer so the underground dirt correctly covers their 45px overlap. - Files: `Scripts/WorldBackground.gd`, `Scripts/WorldBackgroundForegroundLayer.gd`, `Scripts/WorldBackgroundMiddlegroundLayer.gd`, `Scenes/Enviroment/WorldBackgrounds/WorldBackground.tscn`, `Data/world_background_profiles.json`, `Art/Backgrounds/Foreground/Flatlands/*`, `Art/Backgrounds/Middleground/Flatlands/*`, `DeveloperFiles/current-game-setup.txt`, `DeveloperFiles/mod-guide.txt`, `DeveloperFiles/temporary-data-fix-later.txt`, `DeveloperFiles/update-log.txt`, `DeveloperFiles/briefs/implemented_briefs/flatlands-world-background-brief.txt`. UPDATE 2026-08-08 #168 - Flatlands Daytime Sky and Mountain Plane - Added the biome-selected Flatlands daytime sky as a camera-following viewport fill using profile colour `c8ecff`. `SkyLayer/NightVisuals` is deliberately ordered beneath `DayColour`, reserving the requested future fade-to-night composition without implementing nighttime behavior now. - Added a deterministic weighted mountain asset plane using `Flatlands_Mountains_1.png`. Its inverse-camera transform keeps the 2816x1031 source at native screen-pixel size through all zoom levels, horizontally centers it on the live viewport, and keeps its image canvas top exactly 120 screen pixels below the viewport top. - Mountain, middleground, and foreground retain separate base/decorations/atmosphere containers for future procedural props and compounded depth effects. The sky and mountain cached frame paths only react to camera framing changes; they perform no asset selection, loading, tree scan, or image processing per frame. Missing plane sections disable cleanly, while invalid/missing mountain assets warn and leave the plane hidden. - Mountain selection is stored in WorldBackground save state and uses its own deterministic seed namespace. The mod-merged profile exposes keyed weighted mountain assets, the screen-top offset, sky colour, and enabled flags. Loading-screen hints were reviewed and left unchanged because this is environmental presentation rather than a player-facing mechanic. - Files: `Scripts/WorldBackground.gd`, `Scripts/WorldBackgroundSkyLayer.gd` (new), `Scripts/WorldBackgroundMountainLayer.gd` (new), `Scenes/Enviroment/WorldBackgrounds/WorldBackground.tscn`, `Data/world_background_profiles.json`, `Art/Backgrounds/World/Flatlands_Mountains_1.png`, `DeveloperFiles/current-game-setup.txt`, `DeveloperFiles/mod-guide.txt`, `DeveloperFiles/update-log.txt`. UPDATE 2026-08-08 #169 - Surface Day/Night Lighting and Background Follow Fixes - WorldBackground surface art now receives the exact darkness colour already computed by `LightingSystem`, so sky, mountains, middleground, and foreground follow the Castle's configured day/night strength, smooth ramps, peaks, and two-second lighting tick. `WorldUndergroundLayer` is deliberately untouched, leaving underground dirt/details at their natural colour; WeatherLayer also remains independent for future effect composition. New backgrounds pull the current colour immediately to prevent a bright pop before the next tick. - Camera-relative sky, mountain, and middleground placement now uses Camera2D's rendered screen center. This keeps exact-width fills aligned during the interval where the rendered camera catches up to its requested node position, closing the remaining 5-10% edge exposure at maximum zoom-out. - Doubled the default underground-detail edge-spacing range from 500-2000px to 1000-4000px, producing roughly half as many details in newly generated or extended background ranges. Existing saved detail placement records intentionally remain unchanged. - Loading-screen hints were reviewed and left unchanged: the existing lighting hint remains accurate, while these changes are environmental presentation and generation density rather than a new player-facing mechanic. - Files: `Autoload/LightingSystem.gd`, `Scripts/WorldBackground.gd`, `Scripts/WorldBackgroundSkyLayer.gd`, `Scripts/WorldBackgroundMountainLayer.gd`, `Scripts/WorldBackgroundMiddlegroundLayer.gd`, `Data/world_background_profiles.json`, `DeveloperFiles/current-game-setup.txt`, `DeveloperFiles/mod-guide.txt`, `DeveloperFiles/update-log.txt`. UPDATE 2026-08-08 #170 - Universal Sky Cycle and Celestial Motion - Added the universal 1920x1080 `NightSky.jpg` to CelestialLayer beneath the biome daytime fill. The daytime blue now follows the same smooth day/night factor as Castle lighting: fully opaque during 11:00-15:00, gradually fading across the existing morning/evening ramps, and fully transparent from 23:00-03:00. Those ramps also blend through a configurable orange twilight hue with no hard colour cuts. - Added natural-size, zoom-independent sun and moon sprites to CelestialLayer above both sky treatments and behind MountainLayer. The sun follows a smooth left-to-right 05:00-21:00 screen-space arc; the moon follows an 18:00-06:00 wrapped arc. Both fade softly at their screen horizons, follow the rendered camera center without lagging, and require only cached single-sprite transform updates—no image processing, texture reload, or tree scan per frame. - Added the mod-merged universal `world_background_cycle` contract to `Data/lighting.json`, with asset paths, enabled flags, twilight colour/strength, rise/set times, horizon/apex positions, and horizon fade fractions. The biome-selected daytime base colour remains in the world-background profile; celestial assets and timing are universal as requested. - Darkened peak night modestly from `#2a3247` to `#22293a`. Underground dirt now receives the same darkness multiply as the Castle and surface planes, while underground details/deep fill remain excluded. Increased only underground-detail maximum spacing from 4000px to 8000px; the 1000px minimum is unchanged, and existing saved placements remain untouched. - Immediate tuning corrections: peak night is now the darker-but-not-black `#181d2b`; underground dirt receives darkness while underground details/deep fill remain excluded; and only the underground-detail maximum spacing increased from 4000px to 8000px. Sun/moon trajectories use image centers, so later PNG resizing changes only displayed size, never timing or path. - Screenshot-led sky tuning now keeps the stars hidden until their 22:00-23:00 fade and clears them during 04:30-07:30. Dawn runs 05:30-08:30 with a 07:30 peak; dusk runs 18:00-22:00 with a 19:45 peak. The initially attempted shader gradient did not render in-game, so it was replaced with two native vertex-coloured polygons that form one continuous three-colour dawn/dusk gradient behind celestial bodies and mountains without a shader, SubViewport, or texture. WorldBackground-only twilight tint strength increased to 35% so terrain receives a visible reflected warmth without affecting the Castle. - The sun now travels 04:00-22:00 and the moon 21:00-08:00 on larger center-based 650px-horizon/50px-apex arcs. Both sprites stay fully opaque whenever their centers are on the path—the mountain art provides the horizon transition—so neither PNG is faded against the sky. Eligible WorldBackground planes now receive an additional configurable `#c2c6d0` peak-night multiplier, leaving Castle lighting unchanged; MountainLayer receives a second cooler `#8f98a8` multiplier for a distinctly darker distant silhouette. - Loading-screen hints were reviewed and left unchanged because the existing after-dark lighting hint remains accurate and the new work is environmental presentation rather than a new player-facing rule. - Files: `Autoload/LightingSystem.gd`, `Scripts/WorldBackground.gd`, `Scripts/WorldBackgroundSkyLayer.gd`, `Scripts/WorldBackgroundCelestialLayer.gd` (new), `Scenes/Enviroment/WorldBackgrounds/WorldBackground.tscn`, `Data/lighting.json`, `Data/world_background_profiles.json`, `Art/Backgrounds/World/NightSky.jpg`, `Art/Backgrounds/World/Sun.png`, `Art/Backgrounds/World/Moon.png`, `DeveloperFiles/current-game-setup.txt`, `DeveloperFiles/mod-guide.txt`, `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