Skip to content

feat(TASK-053): implement lockstep netcode over ns_step - #41

Merged
pythoninthegrass merged 1 commit into
mainfrom
task-053
Sep 14, 2026
Merged

pythoninthegrass merged 1 commit into
mainfrom
task-053

Conversation

@pythoninthegrass

Copy link
Copy Markdown
Contributor

Summary

  • Add LockstepLink/LockstepPeer/LockstepSession under game/simulation/, driving ns_step directly with a fixed INPUT_DELAY of 3 ticks and a checksum comparison every 30 ticks.
  • Record the new (non-parity) design decisions in backlog/decisions/decision-036 and spec the implementation in docs/netcode.md.
  • Four new gdUnit4 tests cover AC#1-feat: add oracle corpus generator (TASK-014) #3, including a corrupted-remote-input fixture that proves the checksum-mismatch path (desync_detected) actually fires on real divergence.

Test plan

  • task game:test — 127/127 test cases pass
  • task check — full gating pipeline green

Add LockstepLink/LockstepPeer/LockstepSession under game/simulation/,
driving ns_step directly with a fixed INPUT_DELAY of 3 ticks to hide
network latency and a checksum comparison every 30 ticks to catch
desyncs quickly. Delayed-input over rollback, decoupled send/simulate
scheduling, heartbeat-every-tick protocol, bootstrap seeding, and
boundary-crossing checksum cadence are recorded in decision-036 and
specced in docs/netcode.md.
@pythoninthegrass
pythoninthegrass merged commit 1622211 into main Sep 14, 2026
3 checks passed
@pythoninthegrass
pythoninthegrass deleted the task-053 branch September 14, 2026 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant