google / google/codeworld

Interpolation in reconciling collaboration state

Open
#447 3 comments 0 reactions 0 assignees View on GitHub
discussion
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.