nishi code wiki / research / world simulation
World simulation: weather, soil, plants, animals and the farming-life loop
SOTA census · compiled 2026-08-01 · 6 axes · ~55 sourced claims · 11 declared gaps
lineage: forked from research_rtrender parent domain: worldsim corpus slug: reference-worldsim-weather-vegetation-animals-2026-08-01
Claims are labelled SHIPPING / RESEARCH / ANNOUNCED / DEPRECATED. [INF] marks the author's own engineering inference — not a sourced claim, and it is kept visibly distinct everywhere it appears. Gaps are declared UNVERIFIED rather than guessed. All URLs accessed 2026-08-01.
p = 1/(floor(25/speed)+1), evaluated over a 3×3 hydration stencil — no shader work, no floats, no per-frame cost. Against that, the AAA weather reference (Guerrilla's Nubis³) is priced at 4–6 ms per cloud type at full quality and is built on signed-distance-field acceleration and dense voxel up-rez, both of which want compute shaders that WebGL2 does not have. [INF] The correct read is not "clouds later" but "clouds differently": ship Hillaire-2020 sky from two small 2D LUTs, and spend the saved budget on soil state, which is 3–4 bytes per farmland voxel in a record the voxel engine already stores.1. Weather and atmosphere
| Thing | Status | Source (date) |
|---|---|---|
| Nubis³ — fully voxel cloud renderer (Decima) | SHIPPING | Guerrilla, SIGGRAPH 2023 Advances in Real-Time Rendering — guerrilla-games.com/read/nubis-cubed · slides d3d3g8mu99pzk9.cloudfront.net/AndrewSchneider/Nubis%20Cubed.pdf (2023) |
| Nubis Evolved — tornadic superstorms, Horizon Forbidden West | SHIPPING | GDC 2022 — gdcvault.com/play/1027688/The-Real-Time-Volumetric-Superstorms · guerrilla-games.com/read/nubis-evolved (2022) |
| Cloud cost datapoint: 4–6 ms per cloud type | SHIPPING (secondary source) | app.cinevva.com/blog/2026-05-04-volumetric-clouds-and-weather (2026-05-04) |
| Schneider/Vos cloudscape optimisations — the practical basis | SHIPPING | arxiv.org/pdf/1609.05344 (2016) |
| MSFS 2024 volumetric weather on Meteoblue grids | SHIPPING | msfsaddons.com/2024/09/21/heres-everything-you-need-to-know-about-weather-in-microsoft-flight-simulator-2024/ · flightsimulator.blog/microsoft-flight-simulator-live-weather/ (2024-09-21) |
| Hillaire 2020 scalable sky/atmosphere | SHIPPING | onlinelibrary.wiley.com/doi/abs/10.1111/cgf.14050 (2020) · reference impl shadertoy.com/view/slSXRW |
| Interactive snow deformation, >30 fps with up to 100 agents | RESEARCH | FDG 2020 — dl.acm.org/doi/10.1145/3402942.3402995 (2020) |
| WebGL2 has no compute; GPGPU is ping-pong textures / transform feedback | SHIPPING (spec reality) | webgl2fundamentals.org/webgl/lessons/webgl-gpgpu.html · tsherif.github.io/luma.gl/docs/developer-guide/transform-feedback.html |
The AAA line, and what it costs
Nubis³ abandoned the 2.5D approach of Guerrilla's 2015/2017 talks for a fully voxel-based cloud renderer, built in under 6 months. Its techniques are: ray-march acceleration via compressed signed distance fields; fluid-simulation-based cloud modeling (offline authoring, not runtime simulation); a dense-voxel up-rez method that avoids memory-access bottlenecks; light-sampling acceleration; and cheap approximations for dark edges and inner glow. Its predecessor Nubis Evolved shipped tornadic superstorms with internal lighting and lightning flashes, using temporal upscaling for fast-moving clouds and explicitly no runtime simulation and no expensive lighting so the same content scaled PS4→PS5.
The price: a single cloud type at full quality costs 4–6 ms; layering different qualities per altitude band reportedly reaches the same look at roughly half that. Measurement context is not stated in the source — no GPU, no resolution, no frame budget accompanies the figure, and it comes from a secondary 2026 blog rather than Guerrilla's own slides. Treat 4–6 ms as an order-of-magnitude console-class number, not a spec.
Data-driven weather, fronts, accumulation, wind
MSFS 2024 feeds a proprietary volumetric weather engine from Meteoblue forecast grids: temperature, pressure, humidity, wind vectors, and cloud fraction plus liquid/ice content at multiple altitude levels, interpolated between stations. Cumuliform and stratiform are distinct classes, and precipitation emerges from clouds with sufficient moisture and vertical development rather than being a separate toggle. That emergence property is the transferable idea, independent of the data feed.
Fronts. The standard architecture is a coarse 2D grid of cells each carrying temperature / pressure / humidity / wind, advected with a semi-Lagrangian scheme on a staggered (MAC) grid — velocities on cell borders, pressure at centers — so cold fronts propagate across the map over game-days. Open reference implementation: 2D Weather Sandbox, a real-time interactive troposphere sim (github.com/niels747/2D-Weather-Sandbox); the grid-per-cell approach is also patent-documented (image-ppubs.uspto.gov/dirsearch-public/print/downloadPdf/7349830).
Accumulation and wetness. Production pattern is a top-down sky-visibility accumulation texture that builds snow over time, with the terrain shader blending snow material and displacement where exposed. Footprints and tracks render into a sliding deformation map centered on the player, and the shader pushes vertices down where written. Compute-shader interactive snow achieves over 30 fps with up to 100 agents (FDG 2020).
Wind. Production consensus is one global wind vector read by every dynamic system in its vertex shader — grass, trees, cloth, leaves, rain, smoke and clouds all consume the same uniform. Vegetation motion follows the Crysis lineage: vertex-color channels as per-part stiffness masks, panned Perlin noise sampled by world position for traveling gusts, and sine oscillation (developer.nvidia.com/gpugems/gpugems3/part-iii-rendering/chapter-16-vegetation-procedural-animation-and-shading-crysis).
What is actually implementable in WebGL2
Yes, directly. WebGL2 has 3D textures, so the 2015-era 2.5D cloud pipeline (weather map plus tiled 3D Worley/Perlin) is a pure fragment-shader port (willusher.io/webgl/2019/01/13/volume-rendering-with-webgl/ · blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching/). Blue-noise dithered step offsets are the standard fix for low step counts — they kill banding and let the step count drop hard — and shader cost is dominated by texture reads and the sky's screen coverage, not by arithmetic.
Sky is the bargain of this entire brief. Hillaire 2020 uses small 2D LUTs only (transmittance plus multiscattering), computed once per planet even with a moving sun, with no high-dimensional LUTs; it scales from mobile to high-end, and atmosphere composition can change dynamically for weather without a heavy LUT rebuild. A Shadertoy reference implementation exists, so the port is a reading exercise, not a research project.
The hard constraint. WebGL2 has no compute shaders. All simulation must be ping-pong float-texture render-to-texture or transform feedback. [INF] Nubis³'s SDF acceleration and voxel up-rez are therefore not WebGL2-viable at full fidelity — they want compute and heavy memory traffic. Adopt instead: half-res raymarch + blue-noise dithered step offsets + temporal reprojection + Hillaire sky. [INF] On integer math: the raymarch itself must be float in-shader, but the simulation state (weather grid, accumulation counters) can stay integer or fixed-point on the CPU side and be uploaded as textures.
2. Vegetation and crop growth
| Thing | Status | Source (date) |
|---|---|---|
| FSPMs are L-system-based; L-Py the canonical framework | RESEARCH | pmc.ncbi.nlm.nih.gov/articles/PMC4156128/ · frontiersin.org/journals/plant-science/articles/10.3389/fpls.2012.00076/full · review arxiv.org/pdf/2412.10538 |
| GroIMP 2.1.7 — point-cloud graphing, refined light model | RESEARCH | sciencedirect.com/science/article/pii/S2468014126001238 (2025) |
| Autoregressive Generation of Static and Growing Trees | RESEARCH | arxiv.org/pdf/2502.04762 (2025) |
| Deussen et al., Realistic Modeling and Rendering of Plant Ecosystems | RESEARCH | algorithmicbotany.org/papers/ecosys.sig98.pdf (SIGGRAPH 1998) |
| Minecraft crop growth — exact integer formula | SHIPPING | minecraft.wiki/w/Tutorial:Crop_farming · pernsteiner.org/minecraft/cropgrowth/algo.html |
| Vintage Story — N/P/K, 5 fertility tiers, 4-field rotation | SHIPPING | wiki.vintagestory.at/Farming · supercraft.host/wiki/vintage-story/agriculture_guide/ |
| Farthest Frontier — field as stateful entity | SHIPPING | farthestfrontier.com/guide/gameplay/farming/ · pcgamer.com/farthest-frontier-crop-rotation-guide/ |
| Farming Simulator 25 — compaction, stones, rolling, mulching | SHIPPING | farmingsimulator.wiki.gg/wiki/Soil_Cultivation/Farming_Simulator_25 · gamepressure.com/farming-simulator-25/stone-picking-and-soil-rolling/zc116d0 (2024) |
| Stardew Valley 1.6 — Speed-Gro, giant crops | SHIPPING | stardewvalleywiki.com/Speed-Gro · stardewvalleywiki.com/Crops (2024) |
| Assassin's Creed Shadows — seasons change gameplay, not just looks | SHIPPING | pcgamesn.com/assassins-creed-shadows/seasons · gamesradar.com/games/assassin-s-creed/how-assassins-creed-shadows-is-using-changing-seasons-and-dynamic-weather-to-be-the-series-most-advanced-game-yet/ (2025) |
Why the research models are not the answer
Functional-structural plant models are the research state of the art and are overwhelmingly L-system-based; L-Py is the canonical simulation framework, and GroIMP 2.1.7 (2025) added point-cloud graphing for validation plus a refined light model, applied to crop growth. The graphics side is also active: Autoregressive Generation of Static and Growing Trees (2025), Stressful Tree Modeling: Breaking Branches with Strands (2025), and Research on Vegetation Generation Technology for 3D Scenes Based on Multi-physics Field Coupling (2026, link.springer.com/chapter/10.1007/978-981-95-3480-7_25).
[INF] None of these are adoptable as runtime systems. For a voxel farm, crops should be N discrete stage meshes, not L-systems. L-systems and FSPMs are authoring and research tools; treating them as a runtime growth model imports a simulation cost the game never converts into visible fidelity at voxel resolution.
The one research idea worth stealing is from the ecosystem literature, not the plant literature. Deussen et al. established that ecological-process simulation produces the plant distribution layout — not noise scattering. An interactive successor supports global and local editing operators over a live simulation, resolving ~140 trees in under 2 minutes while modeling competition for space (dl.acm.org/doi/10.5555/2381692.2381694). The mechanic that transfers is succession: fast-growing shrubs colonize first, slower trees overshadow them at low elevation, and a mixed, age-structured forest with a tree line emerges. Synthetic Silviculture (SIGGRAPH 2019) is the multi-scale version.
The shipped models with real numbers
Minecraft is the cleanest voxel crop model in existence and the single most directly portable artifact in this brief. Growth is driven by random ticks, averaging 1 per block per 68.27 s (Java) or 204.8 s (Bedrock). Growth probability is:
p = 1 / (floor(25 / speed) + 1)Farmland contributes speed 2 dry, 4 hydrated. Each of the 8 neighbours adds 0.25 dry, 0.75 hydrated. So the center of a fully hydrated 3×3 reaches speed 10 → p = 1/3, against p = 1/13 unhydrated — a ~3.9× spread driven entirely by a hydration stencil. Hydration = water within 4 blocks horizontally, at the same level or one above. Growth additionally requires light level ≥ 9.
Vintage Story is the best voxel farming-depth reference: three independent soil nutrients N/P/K, where leafy crops consume N, root crops P, and grains and flax K; 5 fertility tiers (barren / low / medium / high / terra preta, with terra preta at roughly 2× growth speed); 4-field rotation (N-crop, P-crop, K-crop, fallow) motivated by the fact that nutrients replenish fastest in fallow soil; a greenhouse giving a +5 °C buffer that extends the season at both ends; and crops that must reach maturity before winter frost.
Farthest Frontier is the best "field as a stateful entity" model. Per-field tracked state is Fertility, Weed Level, Rockiness, Soil Mixture, and projected yield, driving 3-year rotation plans. Heavy feeders (wheat, rye, leek, cabbage) drain fertility; clover, beans and peas restore it; buckwheat suppresses weeds; compost tops up. Repeating a crop family invites disease. The calendar gives 9 usable months per year, with the last 3 frost-locked, and crops take damage from heat waves and freezes.
Farming Simulator 25 models granular ground state: soil compaction and ruts, stone picking (medium and large stones must be removed), soil rolling for +2.5 % yield (which also pushes small stones down), and mulching for +2.5 % yield on the next harvest. It adds spinach, peas, green beans, rice and long-grain rice, and extreme weather events — tornadoes, hailstorms, thick fog — that can destroy a portion of fields and forests.
Stardew Valley 1.6 is the shallow-but-beloved baseline, and it contains a useful warning. Speed-Gro advertises 10 % faster growth (20 % with Agriculturist), but is implemented as a fixed day-reduction per stage, weighted toward early stages, so the realized speedup is less than advertised and it does not shorten regrowth intervals at all. Retaining Soil gives a chance to stay watered overnight; quality fertilizers shift the silver/gold/iridium ratio; and giant crops occur when every 3×3 grid has a 1 % daily chance, given all 9 tiles are the same type, fully grown and watered.
Seasonal foliage
Shipped practice is per-season material and texture sets with color and density modulation, plus shader-driven foliage color transition with leaf-fall triggered on the transition. Assassin's Creed Shadows (2025) is the AAA benchmark for making seasons gameplay: seasons change grass physics, surface reflections, NPC behavior and enemy detection ranges; bushes and vegetation disappear in winter, removing stealth cover; water bodies freeze over; cold slows movement and icicles form; rain drives higher social classes under rooftops and alters patrol patterns; and winter enemies cluster around fires. Each season runs roughly 2 hours of play and is subdivided into states so transitions are not jarring — the subdivision is the implementation detail worth copying.
3. Animals
| Thing | Status | Source (date) |
|---|---|---|
| Reynolds boids — separation / alignment / cohesion | SHIPPING | red3d.com/cwr/boids/ (1986) |
| GPU boids are density-limited, not agent-count-limited | RESEARCH | vojtatom.github.io/flocking.cpp/ |
| RDR2 — 200+ species, simulated food chain | SHIPPING | rockstargames.com/reddeadredemption2/features/wildlife · variety.com/2018/gaming/news/red-dead-redemption-2-200-species-1202954813/ (2018) |
| Dwarf Fortress vs RimWorld — simulation vs storyteller | SHIPPING | gamedeveloper.com/design/dwarf-fortress-and-rimworld-tell-very-different-stories |
| Stardew husbandry — fully published numbers | SHIPPING | stardewvalleywiki.com/Animals |
| Medieval Dynasty — manure-gated fertilizer economy | SHIPPING | thegamer.com/medieval-dynasty-animal-husbandry-guide/ · citybuilder.tools/tools/medieval-dynasty/farming-planner |
| Coral Island 1.2 co-op / marriage | SHIPPING | steamcommunity.com/games/1158160/announcements/detail/497203291915027597 (2025-08) |
| Coral Island 1.3 — color variants, Starlet products, ocean ranching | ANNOUNCED (beta) | coralisland.wiki/wiki/Ranching · spawningpoint.com/article/coral-island-review-2026 (2026-05-04) |
Flocking is still Reynolds 1986: separation, alignment, cohesion. The performance note that matters is that GPU grid-based boids are density-sensitive — throughput is limited by spatial density, not by agent count. [INF] For a farm this is a non-issue: herds are 20 animals or fewer in a pen, so boids are effectively free and the real cost is pathing.
RDR2 is the ambient-wildlife ceiling: 200+ species with a simulated food chain. Coyotes hunt but flee larger animals; carcasses decay and are scavenged by vultures; deer react to unseen predators, cueing the player to hidden cougars; horses bolt at bears and rattlesnakes; wolves surround prey; geese fly fixed formations; alligators ambush from water. The transferable principle is that the animals' reactions carry information to the player — the deer is a sensor, not decoration.
On depth philosophy, Dwarf Fortress simulates per-creature history, material physics and emotion interactions (the drunken-cat bug came from grooming crossed with ethanol toxicity), and notably only creatures flagged as grazers need food. RimWorld deliberately trades microscopic simulation for AI storytellers pushing intentional events, and requires food for every animal. Two shipped, opposite, defensible answers to the same question.
Husbandry: the numbers are already published
Friendship 0–1000, where half a heart = 100. Petting +15 (+30 with Shepherd/Coopmaster). Milking or shearing +5. Eating grass outside +8. Not fed −20. Left outside overnight −20. Not petted −(10 − friendship/200). Every one of these resolves at the day boundary, not continuously.
Mood 0–255, computed at day start: 0–29 sad, 30–199 fine, 200–255 really happy. Mood ≥ 150 raises product-quality odds; maximum friendship raises deluxe and large-product odds. Winter requires a heater.
Medieval Dynasty is the closest first-person analogue and contributes the economic coupling Stardew lacks: livestock in the Fold, Hen House and Cowshed produce eggs, milk and wool, and manure is the primary fertilizer ingredient — so herd size caps the number of fertilizable tiles. A 6×6 onion field needs 36 seeds plus 36 fertilizer staged in storage before an assigned worker will farm it. Its calendar is 4 seasons at roughly 3 days each in the default config, with a fertilize/plow day then a plant day.
Coral Island shows where the genre is going: 1.2 (Aug 2025) shipped 4-player co-op, player-player marriage, and ranch animals that emote hearts on interaction. 1.3 beta (2026-05-04) adds color variants for cows, chickens and horses unlocked randomly by Town Rank, Starlet Milk and Eggs as location-gated special products, an auto-feeder placeable from anywhere in the barn, and sellable horses — plus ocean ranching (an underwater barn whose animals are gated behind ocean-diversity progress) and reef restoration that feeds back into surface weather.
4. The farming-life genre floor, and Farming Life in Another World specifically
| Thing | Status | Source (date) |
|---|---|---|
| Stardew Valley 1.6 — benchmark all-rounder | SHIPPING | stardewvalleywiki.com (2024) |
| Fields of Mistria 1.0 — marriage, children, hearts 8→10 | ANNOUNCED for 2026-08-05 | fieldsofmistria.com/post/fields-of-mistria-1-0-release-date-announcement · rpgamer.com/2026/06/fields-of-mistria-fully-releasing-in-august/ (2026-06) |
| Lightyear Frontier — first-person mech farming, EA exit overhaul | ANNOUNCED for 2026 | pcgamer.com — mech-farming-sim-lightyear-frontier-is-getting-a-complete-overhaul-adding-a-bigger-map-massive-tornados-and-an-interplanetary-delivery-cannon |
| Palworld: Palfarm — multiplayer creature-collecting farm sim | ANNOUNCED | store.steampowered.com/app/4031890/Palworld_Palfarm/ |
| FLIAW mechanics — Almighty Farming Tool, Taiju Village | SHIPPING (fan-wiki sourced) | farming-life-in-another-world.fandom.com/wiki/Episode_1 · .../wiki/Taiju_Village · en.wikipedia.org/wiki/Farming_Life_in_Another_World · tvtropes.org/pmwiki/pmwiki.php/Characters/FarmingLifeInAnotherWorld |
Genre state. Stardew 1.6 (2024) remains the benchmark all-rounder. Coral Island is the closest 1:1 successor (1.0 late 2024, 1.2 co-op Aug 2025, 1.3 in beta 2026). Fields of Mistria hits 1.0 on 2026-08-05 after two years in Early Access, adding marriage and children, an NPC heart cap raised 8→10, completion of the Town Repair storyline, dungeons, museum sets, skill perks, mount skins, magic that assists farming, and animal color variants. The first-person corner is small but moving: Lightyear Frontier targets an EA exit in 2026 with a bigger map, tornados and a delivery cannon.
[INF] The canonical 2026 feature floor, inferred from the above rather than sourced as a list: 4-season crop calendar · quality tiers · fertilizer/soil state · barn and coop with friendship/mood driving product quality · fishing · mining or dungeon · cooking · crafting and automation · museum/collection · festivals · NPC hearts → romance → marriage → children · town-repair or restoration meta-progression · 4-player co-op · decoration and building · mounts.
Farming Life in Another World — the canonical mechanic list
The Almighty Farming Tool is formless, stored inside the body and summoned at will, morphing into hoe, shovel, axe, scythe, rake, spatula, and a spear (the weapon form). The hoe pulverizes everything in front of the swing into fertilizer; tilled land becomes blessed and fertile, and praying makes crops sprout in about a day and a night, with no seeds. The shovel digs, including locating underground water. The axe fells any tree in one blow, and the output is usable immediately as firewood or lumber with no drying and no tar removal.
Crops: any crop imaginable, including species alien to that world, grown by imagining it while tilling — crops do not fail. Village: Great Tree / Taiju Village, named for the great tree at its center; Hiraku is first settler, then mayor; it starts as one farm carved out of the Forest of Death (deadly animals, ungrowable soil). Residents: vampires, elves, angels, dragons, dwarves, beastfolk — beastfolk handle field labor, threshing, milling, oil pressing, sugar production and animal husbandry; dwarves led by Donovan are the resident brewers; other roles include cooks, builders, guards and childminders, with tasks distributed by ability and expertise. Livestock: horses and goats, purchased, expanding the culinary range. Secondary production: oil and alcohol from crops, soy sauce and miso (made by Flora), salt from the Forest of Death, cloth from demon-spider thread, honey from bees. Buildings: houses, storage, workshops and meeting areas, built incrementally.
5. What a voxel world uniquely buys
Vintage Story is the existence proof. A voxel engine already simulates, simultaneously: seasons, soil fertility, rock strata, localized weather, rain, snowfall and snow accumulation, hail, realistic climate distribution, food spoilage, body temperature, animal husbandry, farming, block physics, mineralogy and metallurgy. Regions carry weather parameter sets, and winter conditions derive from latitude, altitude and precipitation, with later snowmelt at northern latitudes and higher elevation. Current release 1.22.1 (2026-04-29) (wiki.vintagestory.at/Version_history · wiki.vintagestory.at/Special:MyLanguage/World_Generation).
Voxel water: cellular-automaton fluid is the established approach — cells fall when the cell below is empty, connected vessels equalize levels — and peer-reviewed integration of real-time fluid simulation into a Minecraft-style voxel engine exists (link.springer.com/article/10.1007/s40869-016-0020-5 · gamedeveloper.com/programming/how-water-works-in-dwarfcorp · GPU CA reference github.com/luciopaiva/water). Soil moisture per voxel: CA algorithms for lateral flow and vertical percolation across soil layers are published and map directly onto a voxel column.
6. Ranked ladder — adoptable systems by payoff over cost
Constraint filter: WebGL2 fragment/vertex only, no compute, integer math preferred, no third-party libraries, 128×48×128 streaming window. Ranking and [INF] exit criteria are the author's engineering judgment; the payoff evidence behind each row is sourced above.
| # | System | Payoff / cost | Exit criterion [INF] |
|---|---|---|---|
| 1 | Day/night + seasonal clock (integer tick calendar) | Very high / trivial | A deterministic integer tick maps to (day, season, hour) and survives save/reload bit-exactly; sun azimuth is a pure function of tick; seasons subdivide into states so no transition is visible in a single frame (the AC Shadows pattern). Nothing else on this list can be built until time exists. |
| 2 | Crop growth on the Minecraft stencil model | Very high / very low | p = 1/(floor(25/speed)+1) reproduces the published table exactly: speed 10 → p = 1/3 at the center of a hydrated 3×3, p = 1/13 unhydrated. Runs on a sparse active-voxel list with zero per-frame cost and zero shader work. Develop as one unit with #4. |
| 3 | Sky = Hillaire 2020 (transmittance + multiscattering 2D LUTs) | Very high / low | Two small 2D LUTs built once at load; the sun moves through a full day with no LUT rebuild and no visible banding; total added cost is one fragment shader plus ~2 textures. Transforms the look of the entire world for the least code on this list. |
| 4 | Soil state per farmland voxel (hydration + N/P/K + fertility tier) | High / low | Fits in 3–4 bytes per farmland voxel; a 4-field rotation measurably outyields monoculture over a simulated year; rain visibly raises hydration and sun visibly lowers it. This is the cheapest way to make weather matter to gameplay. |
| 5 | Global wind vector + vertex-color foliage sway | High / low | One uniform consumed by grass, crops, trees, rain, smoke and clouds, with no per-instance CPU work; gusts travel across the field via world-position-sampled panned noise. Highest perceived-life-per-instruction on the whole list; ship alongside #6. |
| 6 | Seasonal foliage + snow accumulation mask | High / low-medium | Per-season palette and density modulation plus a top-down sky-visibility accumulation texture the terrain shader blends; snow appears only where sky is visible, and melts on the season-state boundary rather than instantly. Footprint deformation maps are a cheap later add-on, not part of the exit bar. |
| 7 | Animal husbandry: friendship + mood → product quality | High / medium | Stardew's published numbers reproduce exactly (friendship 0–1000, mood 0–255, mood ≥ 150 raises quality odds) with all state resolved at the day boundary, never per-frame. Add Medieval Dynasty's manure → fertilizer → herd size caps fertilizable area to close a real economic loop back into #4. Boids for herd movement are near-free at ≤ 20 agents. |
| 8 | Village NPC daily routines (utility scoring + interrupts) | High / medium-high | Utility AI scores actions per tick and picks the max; GOAP-style interrupts let a spiking need preempt a long task and resume it. This is the FLIAW fantasy's core, but it needs pathfinding, schedules and job assignment first, which is why it lands last of the eight. |
Build order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8, with #2 and #4 developed as a single unit and #5 shipped alongside #6.
Deferred, with the reason stated
Volumetric clouds — 4–6 ms per cloud type at full quality. Do a half-res, blue-noise-dithered, temporally-reprojected 2.5D weather-map version only after #3 ships, and never the Nubis³ SDF/voxel path: it needs compute shaders WebGL2 lacks. Voxel water CA — correctness-heavy, easy to make accidentally quadratic, and irrigation is already served by #4's hydration bit. L-system / FSPM crop geometry — use N discrete stage meshes; GroIMP and L-Py are research tools, not runtime. Pressure-front weather grid — a coarse advected MAC grid is elegant, but [INF] a scripted Markov weather-state machine keyed to season gives about 90 % of the felt result for about 5 % of the work. Succession-based procedural ecosystems — Deussen-class simulation is a worldgen-time offline pass; schedule it as an authoring tool, not a runtime system.
Declared UNVERIFIED — do not treat as measured
- The 4–6 ms cloud figure has no measurement context. No GPU, no resolution, no frame budget, and it comes from a secondary blog (2026-05-04), not Guerrilla's own SIGGRAPH slides. The ordering conclusion survives either way, but do not quote it as a spec.
- No WebGL2 performance number appears anywhere in this brief. There is no measured cost, on any GPU, for a half-res blue-noise raymarch, a Hillaire sky, or a ping-pong weather grid in WebGL2. Every WebGL2 feasibility claim here is a capability claim (the API supports it), never a performance claim.
- Minecraft's growth formula is wiki-sourced, not source-sourced. minecraft.wiki plus a personal algorithm writeup; it has not been checked against decompiled game code, and Java/Bedrock divergence beyond the stated tick rates is unconfirmed.
- FLIAW mechanics come from fan wikis, TVTropes and Wikipedia — not from a design document, the light novels, or any developer statement. Treat the mechanic list as a fan-consensus reading of the anime, accurate in spirit, unverified in detail.
- MSFS 2024's weather internals are secondary-sourced (msfsaddons, flightsimulator.blog), not from Microsoft or Asobo directly. The Meteoblue relationship and the variable list should be re-checked before being quoted externally.
- One source URL in the primary report is unusable: the soil-moisture cellular-automaton claim cites a bare
sciencedirect.comdomain with a SlideShare poster as the only reachable artifact. The lateral-flow / vertical-percolation CA claim is therefore effectively uncited. - Two claims carry no URL at all: Stressful Tree Modeling: Breaking Branches with Strands (2025), and the "Unity DOTS demos hit 1000+ agents with utility AI" figure behind ladder row 8. The latter is a load-bearing feasibility number for NPC routines and should be re-sourced before #8 is scheduled.
- Fields of Mistria 1.0 (2026-08-05), Lightyear Frontier's EA exit, Palworld: Palfarm, and Coral Island 1.3 are all ANNOUNCED, not shipped. The "2026 feature floor" therefore partly describes a floor that does not exist yet.
- The exit criteria in section 6 are authored, not sourced. The primary report supplied payoff, cost and rationale per rung; the testable exit bars were written for this brief and have not been validated against an implementation.
- No integer-math port has been attempted for any of this. The claim that simulation state can stay integer/fixed-point while only the raymarch is float is an inference, untested against the engine's actual shader pipeline.
- Snow-accumulation and deformation-map numbers are from a compute-shader implementation (FDG 2020, >30 fps with up to 100 agents). WebGL2 must do this with ping-pong textures instead; the 100-agent figure does not transfer.
Method. Single research sweep run 2026-08-01, covering weather/atmosphere, vegetation and crop growth, animals, the farming-life genre, and voxel-specific world simulation, with sources read directly and URLs recorded per claim. This brief is a compression of that report: numbers, formulas and URLs are carried over verbatim, and every point the original marked as the author's own inference rather than a sourced claim is preserved here as [INF] rather than being silently promoted to fact. Recovery note: the source agent's task-output file was 0 bytes; the report was recovered intact (24,966 characters) from the agent's own JSONL transcript. An empty output file is not an absent report — check the transcript before re-running the work. What would change the conclusions: any measured WebGL2 frame-time for a half-res volumetric raymarch, or a decompiled-source confirmation that Minecraft's published growth formula differs from the wiki's.