No description
  • C# 97.3%
  • ShaderLab 1.8%
  • Mathematica 0.4%
  • GLSL 0.3%
Find a file
LuminaApps 1ff357205b
All checks were successful
Epochfall Build / Build macOS Client (push) Successful in 8m3s
Epochfall Build / Build Linux Client (push) Successful in 8m31s
Epochfall Build / Build macOS Server (push) Successful in 5m13s
Epochfall Build / Build Web Client (push) Successful in 0s
Epochfall Build / Build Windows Server (push) Successful in 5m13s
Epochfall Build / Build Linux Server (push) Successful in 5m38s
Epochfall Build / Build Windows Client (push) Successful in 7m7s
Epochfall Build / Deploy Dedicated Server (push) Successful in 12s
Epochfall Build / Deploy Web Client (push) Has been skipped
Epochfall Build / Discord Notification (push) Successful in 6s
Epochfall Build / Compile Check (push) Successful in 5m42s
Sparse wildlife lattice + single species per chunk; thin forests
Server-side host frame budget was dominated by wildlife AI ticks (every
loaded chunk could spawn many animals across multiple species) and
client GPU by forest density that also occluded the player.

ChunkWildlifeManager (server-authoritative spawn path):
- New `_chunkSpawnSpacing` (SerializeField, Min(1), default 3): wildlife
  now only spawns on a chunk lattice where (X mod N == 0 AND Z mod N == 0).
  Default leaves 2 empty chunks between spawning chunks -> ~1/9 of the
  world spawns wildlife. Non-spawning chunks cache an empty list so
  Activate/Deactivate/Despawn bookkeeping stays cheap.
- Negative-coord-safe lattice math: ((c % spacing) + spacing) % spacing.
- Replaced the 8-attempt multi-species weighted loop with a single
  weighted pick per spawning chunk -> one species per chunk, then a pack
  of `clamp(MinPackSize, 1, MaxPerChunk)` animals. Explicit last-entry
  fallback for the weighted pick so a zero-weight entry can never be a
  silent default.
- Added [Min] guards to the radius/interval fields to prevent a server
  misconfiguration from triggering quadratic chunk-set explosions.

ForestBiomePrefabs.asset:
- TreeSpacing 6 -> 9 (~44% fewer trees; Poisson density ~ 1/spacing^2).
  Reduces draw cost, NavMesh-bake collider rasterization cost, and
  player-camera occlusion. Secondary knobs (DensityNoiseThreshold,
  DensityNoiseContrast) remain unchanged; tune from the SO if more
  clearings are desired without further reducing TreeSpacing.

Compiles clean via local Unity batch (exit 0, no error CS).
/review PASS, /security-audit SECURE.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 17:51:05 +02:00
.claude Claude update 2026-05-18 22:41:31 +02:00
.forgejo/workflows Archive builds under EpochFall/ folder; use mirrored action 2026-05-19 00:09:37 +02:00
.vscode Initial Unity 6 project with Mirror Networking 2026-03-31 23:52:14 +02:00
Assets Sparse wildlife lattice + single species per chunk; thin forests 2026-05-25 17:51:05 +02:00
deploy Publishing workflow 2026-04-02 09:31:40 +02:00
Packages Update to Unity 6000.3.15f1 2026-05-18 22:51:58 +02:00
ProjectSettings Update to Unity 6000.3.15f1 2026-05-18 22:51:58 +02:00
.editorconfig Project setup 2026-04-01 00:10:53 +02:00
.gitattributes Update .gitattributes 2026-05-10 03:14:56 +02:00
.gitignore Move CI config to Forgejo variables/secrets; drop env files 2026-05-18 23:40:41 +02:00
.vsconfig Initial Unity 6 project with Mirror Networking 2026-03-31 23:52:14 +02:00
CICD.md Archive builds under EpochFall/ folder; use mirrored action 2026-05-19 00:09:37 +02:00
CLAUDE.md Claude update 2026-05-18 22:41:31 +02:00
DEVELOPMENT.md Online web client 2026-04-04 23:32:10 +02:00
EpochFall.md Refactor + extend CICD workflow 2026-04-03 23:54:10 +02:00
EpochFall.slnx Humanoid player character 2026-04-05 14:17:30 +02:00