Skip to content

[Epic] Networking / multiplayer support #566

Description

@stormmuller

Goal

Add networking/multiplayer building blocks to the engine. There is currently no networking code anywhere in src — games needing multiplayer have to build this entirely themselves outside the engine.

Scope (suggested)

  • A transport abstraction (WebSocket at minimum; WebRTC data channels for peer-to-peer scenarios is a reasonable stretch goal).
  • State synchronization strategy for the ECS: likely a snapshot/delta-compression approach over EcsWorld component data, given the engine's sparse-set ECS design (src/ecs).
  • Client-side prediction / server reconciliation and interpolation are the hard, engine-specific parts worth designing carefully rather than bolting on generically — consider scoping an initial release to authoritative-server state sync without prediction, and layering prediction in later.
  • Clear separation so single-player games pay zero cost for this module (matches the engine's existing modular subpath-export pattern, e.g. @forge-game-engine/forge/networking).

Why this is a milestone, not a single issue

Networking touches ECS serialization, the game loop/timing model, and introduces a large new design space (authoritative vs. peer-to-peer, reconciliation strategy). This needs an initial design/RFC before implementation and will span multiple PRs.

Acceptance criteria (top-level)

  • A minimal transport + state-sync path exists and is demonstrated end-to-end (e.g. a simple multiplayer demo)
  • Documented in documentation-site/docs/docs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions