1.5 KiB
1.5 KiB
tags, updated, permalink
| tags | updated | permalink | ||
|---|---|---|---|---|
|
2026-05-29 | gamevault/02-game-design/systems-index |
Systems Design — Index
One design doc per gameplay system, linked here. Each should state: purpose, components (IComponentData), systems (ISystem), netcode shape (ghost? predicted vs interpolated? inputs / RPCs), and open questions.
Systems
M1 — Player (twin-stick predicted movement) · 2026-05-30_M1_Player_Slice
- Components (
ProjectM.Simulation):PlayerTag;PlayerInput(IInputComponentData —float2Move/Aim,[GhostField], flows via AutoCommandTarget);PlayerMoveStats(baked tunables);PlayerFacing([GhostField]Direction);PlayerSpawner(baked prefab singleton);GoInGameRequest(IRpcCommand). - Systems:
PlayerMoveSystem,PlayerAimSystem(PredictedSimulationSystemGroup,.WithAll<Simulate>(), deterministic —SystemAPI.Time.DeltaTimeonly);PlayerInputGatherSystem(client,GhostInputSystemGroup);GoInGameClientSystem(client) /GoInGameServerSystem(server — spawns the owner-predicted ghost, stampsGhostOwner,LinkedEntityGroupauto-despawn). - Netcode shape: player = owner-predicted ghost; client sends input only; server is authoritative. Status: code-complete + EditMode-verified; live runtime blocked by DR-002_Unity66_Alpha_Netcode_Transport.
Conventions
DOTS/ECS conventions live in repo CLAUDE.md and the dots-dev skill's dots-conventions.md. Don't duplicate volatile API details here — link to context7-derived notes instead.