Interpolation in reconciling collaboration state
- Dominant language
- Haskell
- Stars
- 1.3k
- Forks
- 201
- PR merge metrics
- No merged PRs in 30d
Description
We'd like to try adding interpolation to collaboration state. The idea is that when an event is received in the past from a remote player, we should initially apply it in the present, and then slide it back in time over some short interval (maybe 200 ms), to its actual target time.
This is equivalent to smoothly interpolating the resulting game state, if we assume: (1) that the step function is continuous with respect to `dt`, and (2) that events commute. When these assumptions fail, we get different artifacts from what we'd get when interpolating the game state; e.g., instead of walking through a wall, the player jumps from one side to the other. But the idea of interpolating is that these assumptions succeed most of the time.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by locating the collaboration-state event handling and game-state update paths, then determine how a remote event's actual target time is represented. Done means remote events can be applied immediately and smoothly moved to their target time over a short interval such as 200 ms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- distributed-systems, game-dev, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100