Skip to content

refactor: use BedSim as the movement physics oracle #154

Description

@HashimTheArab

Goal

Make BedSim the single deterministic player-physics oracle used by Oomph's authoritative movement path.

Keep in Oomph

  • PlayerAuthInput decoding and per-tick ordering.
  • Simulation-frame, latency, deduplication, and acknowledgement handling.
  • Correction policy, CorrectPlayerMovePrediction, teleport handling, and rewind/replay.
  • Server event ingestion: attributes, effects, equipment, SetActorMotion, knockback, vehicles, and world updates.
  • Adapter logic that converts Oomph state into BedSim inputs and applies the result back to the player.

Work

  • Build an adapter for the complete BedSim input/state contract.
  • Feed consistent world snapshots, liquid layers, dynamic collision shapes, and entity shapes.
  • Move any remaining pure movement formulas out of Oomph's duplicate simulator.
  • Preserve Oomph's authority, latency, correction, and anti-cheat policy outside BedSim.
  • Add replay/correction tests proving the adapter produces the same result as direct BedSim simulation.
  • Remove or quarantine duplicate physics paths once the adapter is authoritative.

Boundary

BedSim owns physics. Oomph owns packets, authority, history, corrections, and policy.

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