e362aaeb43
Add BefourStudios SciFi environment packs, Gabriel Aguiar VFX, and the ShaderCrew Toon Shader embedded packages, plus combat/enemy/wave/death gameplay systems and supporting vault docs/screenshots. Rename 11 vendor textures from uppercase .PNG/.HDR to lowercase so the case-sensitive Git LFS filters (*.png/*.hdr) match on case-sensitive filesystems (Linux CI, case-sensitive macOS), not just locally where core.ignorecase=true masks the gap. Each .meta moved with its asset so GUID references are preserved. All ~1000 binaries tracked via LFS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.7 KiB
5.7 KiB
tags, updated, permalink
| tags | updated | permalink | ||
|---|---|---|---|---|
|
2026-06-01 | gamevault/06-roadmap/milestones |
Milestones
| Milestone | Goal | Status |
|---|---|---|
| M0 — Foundation | DOTS + Netcode stack, asmdef split, bootstrap, smoke test green | ✅ Done 2026-05-29 — 2026-05-29_Project_Setup |
| M1 — Player slice | Server-spawned owner-predicted player; twin-stick WASD + directional aim | ✅ Done 2026-05-31 — runtime-validated on Unity 6.4.7 (connect→spawn→owner-predicted ghost→replication; EditMode 3/3). The 6.6 failure was environment-specific, see DR-002_Unity66_Alpha_Netcode_Transport — 2026-05-30_M1_Player_Slice |
| M2 — Combat | Directional ability fire + deterministic soft auto-target; server-authoritative damage/health | ✅ Done 2026-05-31 — runtime-validated on 6.4.7: input→fire→predicted projectile→swept hit→server damage→Health [GhostField] replicated server→client; movement + fire confirmed live; EditMode 22/22. Predicted-projectile + server auto-target + non-Burst classifier — DR-003_M2_Combat_Netcode_Architecture, 2026-05-31_M2_Combat. (Projectile ghost-map errors were later root-caused to a [ReadOnly]-write in ProjectileClassificationSystem — fixed 2026-06-01, see 2026-06-01_M4_LAN_CoOp_And_Classification_Fix — NOT two-editor tick-batching as first thought.) |
| M3 — Data-driven abilities & modifiers | Ability and character stats authored in ScriptableObjects, baked to DOTS blob assets; runtime flat + % modifier stacks (upgrades/buffs) → effective stats, server-authoritative + prediction-correct. Pattern slice: refactor the current projectile ability + 1–2 sample abilities onto the data model. | ✅ Done 2026-05-31 — runtime-validated on 6.4.7: blob DB baked into both worlds; data-driven base + replicated StatModifier ghost buffer → identical effective stats on server & owner-predicted client (held under tick-batching); data-only ability swap; real pickup grant; EditMode 38/38. Blob DB + replicated modifier buffer + every-tick effective recompute — DR-004_M3_DataDriven_Abilities_Modifiers, 2026-05-31_M3_Data_Driven_Abilities. |
| M4 — Co-op | 2–4 players; client-hosted listen-server (Direct IP/LAN now, Unity Relay later) | ✅ Done 2026-06-02 — LAN slice + multi-client validated: no-auto-connect ConnectionConfig + request-component host/join, editor auto-host + thin clients, deterministic ring spawn; 3 clients (1 real + 2 thin) connect→spawn (distinct slots)→replicate→clean disconnect; ConnectionUI for builds; EditMode 45/45. Two controllable characters in-game confirmed 2026-06-02 via Unity Multiplayer Play Mode (extra virtual player; full connection handshake not exercised end-to-end, but in-scene co-op looks good). Unity Relay + real two-build LAN join deferred — DR-005_M4_Connection_Model_Direct_IP, 2026-06-01_M4_LAN_CoOp_And_Classification_Fix. |
| M5 — Home base + physics | Persistent base subscene streaming + Unity Physics in the predicted loop | 🚧 In progress 2026-06-01 — physics-in-prediction slice done + runtime-validated on 6.4.7: player is a velocity-driven dynamic Unity Physics body in the predicted loop (built-in CapsuleCollider+Rigidbody bake; PhysicsVelocity auto-replicated), collides with baked static walls (stops at the surface, no tunnel/climb-over), planar-pinned, server == client with no desync; EditMode 51/51. Base subscene streaming deferred to a later pass — DR-006_M5_Physics_In_Prediction, 2026-06-01_M5_Physics_In_Prediction. M5b (same day): player movement re-founded on the Unity Character Controller package (com.unity.charactercontroller 1.4.2) — kinematic collide-and-slide, owner-predicted, data-driven speed; replaces the dynamic-Rigidbody mover (keeps the DR-006 predicted-physics infra). Runtime-validated (collide-and-slide, planar, server==client, CharacterInterpolation predicted-only); EditMode 47/47 — DR-007_M5b_Character_Controller_Package, 2026-06-01_M5b_Character_Controller. Base-layer done 2026-06-02 + runtime-validated: home base = baked ghost-free BaseAnchor + locked deterministic planar build-grid (BaseGridMath, 1.0u × 32²; M6 builds on it) + player spawn re-rooted onto the anchor + one shared-storage ghost (ownerless interpolated; deposit/withdraw via server-authoritative IRpcCommand; server == client buffer). EditMode 62/62. Subscene split (base/expedition) + disk persistence still deferred — DR-008_M5_HomeBase_BaseLayer_Storage, 2026-06-02_M5_HomeBase_BaseLayer. |
| M5.5 — Game feel & identity | Bridge "tech-demo → game": the Husk enemy (server AI, interpolated ghost), player death/respawn, combat juice (damage numbers/VFX/SFX/camera shake), a core HUD, and a sci-fi look pass — under the new fiction (Identity, sci-fi frontier colony) | ✅ Done 2026-06-02 — runtime-validated on 6.4.7: Husks spawn(6)+replicate+chase+strike; death→respawn loop; HUD (health/cooldown/threat/downed); emissive dark-sci-fi look. EditMode 74/74. ctx7-verified APIs. Deepened same day: auto-target on Husks, replicated respawn-invulnerability, and a WaveSystem threat director (escalating waves of 3 Husk variants — Grunt/Swarmer/Brute) replacing the flat sustain — runtime-validated (wave 1→2 escalation 4→6, distinct maxHP 30/15/80). DR-009_GameFeel_Identity_FirstBlood, 2026-06-02_GameFeel_Identity, 2026-06-02_GameFeel_Deepening |
| M6 — Build/placement | Server-authoritative grid build placement via RPC | ⬜ |
| M7 — Automation | Self-running tick-based production chains (deterministic offline catch-up) | ⬜ |
Promote items from Backlog here when committed.