Commit Graph
23 Commits
Author SHA1 Message Date
Leonid PershinandClaude Opus 4.8 1030f27c50 Bring plants back as data-driven growth stages over the calendar
Bump the engine submodule to f791ee6 (Calendar) and use it to drive plant
growth. PlantDef gains a Stages list (texture/size/growDays per stage,
inheritable via abstract parents in plants.json); a resolved PlantSet
table turns those into atlas regions and day thresholds at scene load.

New PlantGrowth component plus PlantGrowthSystem advance each plant by
in-game days from the Calendar and swap its sprite/scale at stage borders.
WorldScene scatters plants again with a seed-deterministic, varied initial
maturity, registers the calendar and growth system, and the HUD now shows
the current day. Stage durations and visuals are pure data in plants.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 09:47:18 +03:00
Leonid PershinandClaude Opus 4.8 923644dd19 Rework world scene into a textured tile terrain on engine WorldGen
Bump the engine submodule to 5365945 (MrGameEng.WorldGen) and drive
terrain from it: WorldGenerator is now a thin adapter over the engine's
seed-based Perlin/fBm/island HeightmapGenerator instead of the old
random+smoothing pass.

Strip WorldScene down to terrain + camera: render the world as a single
Tilemap entity using per-biome surface textures from the atlas (water
falls back to a tinted tile), and remove pawns, plants, AI systems,
population and save-restore for now. Delete the TerrainScene demo (its
tile approach now lives in WorldScene) along with its console command
and the hud.terrain/population localization strings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 09:24:32 +03:00
Leonid Pershin 9433db6212 Update engine submodule to latest commit ef1111b, reflecting recent changes. 2026-06-12 08:41:46 +03:00
Leonid Pershin dc13b9b8c3 Enhance localization and world generation features
- Added new UI strings for menus, settings, and pause functionality in both English and Russian localization files.
- Introduced a new WorldPresetDef class to define world size and population settings, allowing for dynamic world creation.
- Updated world generation logic to support customizable terrain smoothing and population settings based on user-defined presets.
- Refactored WorldScene to utilize the new WorldConfig structure for improved world initialization and loading.

This commit improves the user experience by providing more options for world creation and enhancing the overall localization of the game.
2026-06-12 08:41:30 +03:00
Leonid Pershin 0d1b21ffeb Update engine submodule to latest commit 3f3c020, reflecting recent changes. 2026-06-12 07:47:19 +03:00
Leonid Pershin dd3e9e400d Update project references in LittleSim.sln and LittleSim.csproj to include new MrGameEng.Content and MrGameEng.Simulation modules, while removing obsolete references. Mark engine submodule as dirty to indicate uncommitted changes. 2026-06-12 07:43:41 +03:00
Leonid Pershin 47d47e0f63 Update engine submodule to a dirty state, indicating uncommitted changes. 2026-06-12 07:25:08 +03:00
Leonid Pershin 7e3344ab10 Bump engine submodule to latest commit fd6343b 2026-06-12 07:22:22 +03:00
Leonid Pershin 58de27248e Add pawn utility-AI brain; format code with CSharpier; enforce formatter
Wire the engine's new MrGameEng.AI module into a PawnBrain for world pawns,
plus surrounding content/scene tweaks. Apply CSharpier across the game and
document the convention in CLAUDE.md. Add .vscode/settings.json so the editor
formats on save with the CSharpier extension.
2026-06-12 07:20:03 +03:00
Leonid Pershin 8bc30e008e Bump engine: CI builds with the .NET 10 SDK 2026-06-11 22:21:10 +03:00
Leonid PershinandClaude Fable 5 8b531bcd7e Game as the Core mod: data-driven content and localization
The whole game is now described by Mods/Core — the first consumer of
the engine's new MrGameEng.Mods module:

- textures/ moved to Mods/Core/Textures; atlases are built at game
  start from the merged texture tree of all active mods into Cache/
  (gitignored, incremental) instead of being committed, and the
  GameAssets atlas handles are gone with them
- terrain, plants and pawns are JSON defs (Mods/Core/Defs) with parent
  inheritance; scenes read TerrainDef/PlantDef/PawnDef instead of
  hardcoded arrays, and the TerrainKind enum is retired
- HUD strings come from Mods/Core/Languages (ru default, en fallback)
  through LanguageManager; the language switches at runtime
- new console commands: mods, lang [code], defs [type]; atlas now
  inspects the runtime-built cache
- bump engine: MrGameEng.Mods module and the explicit-sources
  AtlasBuilder overload

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:51:46 +03:00
Leonid Pershin 218973ae60 Update engine submodule to latest commit a395e584583b979fd39c05038604f933204773a3-dirty 2026-06-11 21:20:23 +03:00
Leonid Pershin 0c335a9ffa Bump engine: Roslyn 5.3.0 for the asset generator 2026-06-11 15:37:33 +03:00
Leonid PershinandClaude Fable 5 631dd24ade Bump engine: sample project removed, LittleSim is the showcase
CLAUDE.md now states the dual role: every new engine feature gets
demonstrated in this game as part of landing the feature.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 15:26:17 +03:00
Leonid PershinandClaude Fable 5 bc95227e8c Terrain scene: atlas animals, surface tiles, grass and collisions
Creatures are now animals only (bear, deer, fox, hare, boar, timber
wolf, muffalo, squirrel) from things/pawn/animal, replacing humanlike
pawns and man-made props. Land tiles use proper terrain/surfaces
textures (sand, mossy for grass, soil under forest, rough-hewn rock
for mountains); grass cells get grassa tufts and occasional bushes.

Collisions via the new engine module: animals carry circle colliders
(layer masks: animal vs animal+obstacle), trees get static trunk
colliders, and SeparationSystem resolves overlaps by pushing animals
apart and out of trees after CollisionSystem each tick.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 15:17:22 +03:00
Leonid PershinandClaude Fable 5 35781a21ca Bump engine: pathfinding and collision detection modules
MrGameEng.Pathfinding (A*/Dijkstra/BFS + flow fields for crowds) and
MrGameEng.Collisions (spatial hash, pairs/queries/raycast) are now in
LittleSim.sln. Flow fields are the planned steering tool for villagers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 13:40:09 +03:00
Leonid PershinandClaude Fable 5 e3ad22c4bd Regenerate atlases for the lowercase textures/ tree, fix region keys
New texture groups (ui, world, weather, damage, designations) packed into
31 atlases; directories are lowercase now, so scene code switches to the
new region keys (filenames keep their case).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 12:28:56 +03:00
Leonid PershinandClaude Fable 5 fa7f27642c Add TerrainScene: code-built tilemap terrain with pawns and props
Small seed-generated terrain rendered as a single Tilemap entity: water,
sand and mountains are tinted tiles, grass and forest use atlas textures.
Three wandering pawns and a few props (snowman, lamp, stool, trees) live
on the shared Y-sort layer (now in GameLayers, used by both scenes).
Console: 'terrain [seed]' from the world scene, 'regen'/'world' inside.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 10:36:27 +03:00
Leonid PershinandClaude Fable 5 56dd760a2c Bump engine: MrGameEng.Tilemaps module
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 10:24:48 +03:00
Leonid PershinandClaude Fable 5 3c777c53b8 Pack Textures/ into atlases and render the world from them
Engine bump brings MrGameEng.Atlases (atlas builder + runtime loader).
Textures/ (2747 images) is packed by MrGameEng.AtlasTool into 10 atlases
(93 pages) under Assets/Atlases, loaded through generated handles.
Beings now draw pawn bodies, forest cells grow trees (both Y-sorted),
and the dev console gains 'atlas [name] [filter]' for inspection.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 09:03:35 +03:00
Leonid Pershin 4159c3754a Update engine submodule to latest commit d6f19b9 2026-06-11 05:52:17 +03:00
Leonid Pershin e9e73f41ab add text 2026-06-11 05:49:20 +03:00
Leonid PershinandClaude Fable 5 beed114508 Initial LittleSim scaffold on the mrgameeng engine submodule
God-game: minimal graphics, deep simulation. The engine lives in the
engine/ git submodule and its sources plus test suites are part of
LittleSim.sln, so engine and game are developed in one editor window.

Playable skeleton: seed-deterministic terrain (smoothed height field ->
water/sand/grass/forest/mountain tinted cells), 80 wandering villagers
on a Y-sorted layer, god camera (WASD pan, wheel zoom, world-bounds
clamp), HUD and the dev console with a 'regen [seed]' command.

CLAUDE.md sets the game rules: simulation-first, one-seed determinism,
simulation/presentation split, a console command for every mechanic.
Design docs in Russian under docs/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 05:33:10 +03:00