google / google/codeworld

Interpolation in reconciling collaboration state

Ouverte
#447 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
discussion
Langage dominant
Haskell
Étoiles
1.3k
Forks
201
Métriques de merge des PR
Aucune PR mergée en 30 j

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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Aucun fichier, test ou point d’entrée n’est nommé. Commencez par localiser la gestion des événements de l’état de collaboration et les chemins de mise à jour de l’état du jeu, puis déterminez comment est représenté le temps cible réel d’un événement distant. La tâche est terminée lorsque les événements distants peuvent être appliqués immédiatement et déplacés progressivement jusqu’à leur temps cible sur un court intervalle, par exemple 200 ms.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
haskell
Domaine
distributed-systems, game-dev, networking
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.