World, Biomes, Menu Upgraded – Shogun Exodus Devlog #42

A samurai stands on a mountaintop, looking down at a vast valley of forests, mountains, and rivers under a stormy, ink-washed sky.
Updates 203 and 204 for Shogun Exodus introduce significant balance adjustments to world generation, an overhauled biome selection interface, and an audiovisual upgrade for the main menu. World generation rules now feature reduced ocean weights, capped ocean cluster sizes, and recalibrated land-neighbor bonuses to produce more cohesive landmasses on newly generated maps. In tandem with these generation changes, the biome selection screen has been rebuilt into an authored, mod-compatible layout featuring a compact three-by-six grid, unified brush typography, streamlined seed input controls, and dynamic opacity states for unavailable starting biomes.

The title screen has also transitioned to a dynamic presentation layer featuring three-plane cursor parallax, animated ink opening transitions, and menu-safe visual weather effects driven by rain, procedural fog, and wind dynamics. Furthermore, frontend music playback is now continuous across the main menu, biome picking, and character creation screens, resolving prior initialization delays and maintaining uninterrupted audio until the gameplay scene loads.


Raw Patch Notes

UPDATE 2026-09-20 #203 - World Generation Tuning and Editable Biome Selection
- Reduced Ocean baseline weight to 0.25, set its independent ocean.neighbour_bonus to 3, and capped connected Ocean areas at 20 tiles. Land matching-neighbour bonus is 1.5: two matches yield weight 4, one yields 2.5, and unmatched land stays at 1 before preference boosts. Both existing weighting modes use the candidate's correct bonus; hard climate/connectivity rules and wrapped seams remain enforced. Saved maps are retained; newly generated worlds use the new defaults.
- Rebuilt Scenes/BiomeSelection.tscn as an authored, visually editable layout. It now contains the title/background, all 18 base cards, information panel, seed input/button, preference rows, Back/Next, and status label. Runtime code binds mod-merged content to those nodes and only creates additional cards/rows for new mod entries. Layout sizes/positions/themes can be adjusted in the 2D editor; biome_id/axis metadata and node paths remain contracts.
- Unavailable starting biomes now display at 50% opacity while remaining clickable for information. Opacity derives from the generation/start flags and automatically returns to 100% when enabled; authored card previews match the current flags.
- Matched the Shogun title's brush font; reduced biome icons to 96px in a transparent 3x6 grid sized to fit all base biomes without scrolling. Moved right-side information and setup controls into the shared ink menu, increased World Seed to 30px, and made Generate Random Seed a compact 222x40 control next to the input. Preference pickers explicitly avoid the shared large-action-button sizing. An authored ink-frame style supplies the editor preview; runtime uses the existing mod-aware frame service.
- Added DeveloperFiles/World_Map_Explainer.txt as a short architecture, editor-tuning and future-agent handoff. Clarified that DeveloperFiles/world_map_validation.gd and its .uid are optional manual test tooling, not runtime dependencies; retained and updated the runner for the new weights. Reviewed the existing loading hint; its Flatlands-only starting guidance remains accurate.
- Files: Data/world_map.json; Scripts/World/WorldMapGenerator.gd; Scenes/BiomeSelection.tscn; Scripts/UI/BiomeSelection.gd; Scripts/UI/WorldMapSetupControls.gd; DeveloperFiles/world_map_validation.gd; DeveloperFiles/World_Map_Explainer.txt; DeveloperFiles/current-game-setup.txt; Mods/mod-guide.txt; DeveloperFiles/update-log.txt.
- Validation: changed GDScript grammar, JSON, scene-resource/node-path/biome bindings and default layout bounds checked statically. Godot visual/runtime checks remain with the user, particularly editor layout, selection and Back/Next persistence, seed controls, both generation modes and Ocean connectivity. No intentional save/schema breaks; new generation settings produce different worlds for the same seed, while existing saved maps do not change.

UPDATE 2026-09-20 #204 Start-screen animation, parallax, visual weather and continuous music
- Enabled a scene-entry-only ink opening followed by five non-overlapping 0.5-second button fades; honors disabled Ink Window Animations and prevents input during the reveal. Title/menu now center as one responsive composition.
- Replaced the imported single-image reference with three AssetDB-driven planes and mild smoothed cursor parallax, common cover scale, and safe overscan.
- Added a one-shot compatible weather sampler, stable throughout local menus. Reused the shared mixer and renderers through a read-only snapshot path and independent clock option; excluded Clouds/Snow/Temperature/solid Fog sheets, whitened procedural Fog, and retained Wind response. Menu tuning (2026-09-21) excludes Fireflies and visible Wind streaks (Wind still drives Rain/Fog motion), requires Rain or Fog (both allowed), and caps Wind at 50 km/h through moddable required_any_effects and scalar_ranges. Scalar limits intersect state ranges before sampling, excluding stronger states and limiting Strong Winds to 39-50. No gameplay weather mutation.
- Added persistent native-looping setup music through biome/character creation and Back navigation; stops on gameplay scene entry before gameplay music begins. Presentation, effect eligibility/weights/overrides and asset/music choices are mod-configured.
- Startup audio fix (2026-09-21): FrontendMusic now defers one current-scene refresh after connecting its signals, covering initial scene entry that occurred before the listener was ready. The existing same-track playback guard prevents a duplicate start. Statically checked the callback and guard; cold-start playback and uninterrupted setup navigation still require a Godot audio check.
- Files: Scenes/StartScreen.tscn; Scripts/UI/StartScreenMenu.gd, StartScreenPresentation.gd, StartScreenWeather.gd; Autoload/FrontendMusic.gd, WeatherSystem.gd; Scripts/Weather_Systems/WeatherEffectBase.gd, WeatherEffectsBinder.gd and nine built-in renderer scripts (clock opt-out); Data/ui_config.json, assets.json; project.godot; current-game-setup.txt, Weather_System_Explainer.txt, Mods/mod-guide.txt and this log.
- Validation: JSON parsing, asset/effect/scene resource references, base weather compatibility enumeration (123 legal Rain/Fog tuples after the menu-only Wind cap; no Fireflies or Wind-only selections), snapshot isolation paths, and diff whitespace checks. Reviewed loading hints; presentation-only scope requires no hint change. Godot runtime/visual/audio checks remain manual: opening order/disabled setting/re-entry, resize/parallax edges, weather combinations and paused-game return, new/load music transitions and audible loop seam. No intentional breaking changes.

*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 *