Files
Project-M/Docs/Vault/02_Game_Design/Systems_Index.md
T
2026-05-31 14:27:52 -07:00

1.5 KiB

tags, updated, permalink
tags updated permalink
design
index
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 — float2 Move/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.DeltaTime only); PlayerInputGatherSystem (client, GhostInputSystemGroup); GoInGameClientSystem (client) / GoInGameServerSystem (server — spawns the owner-predicted ghost, stamps GhostOwner, LinkedEntityGroup auto-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.