For example, in chess (or any online game), you broadcast the game state to other players at certain times (every n-milliseconds or after a move is made). Thereupon, a player's game client renders the game state in a format suitable for human interaction.

I want to do additional research on the design/transmission of multiplayer video game states, but my ignorance of the terminology is frustrating my research efforts.

What role or documented theoretical problem describes this specific piece of game system architecture?

  • 1
    $\begingroup$ I'm not sure this is on-topic, so just a comment: look into "serialization", sometimes called "pickling". $\endgroup$
    – Draconis
    Commented Feb 24, 2019 at 23:36

1 Answer 1


I'm not sure there is a single "name" for this non-trivial situation -- not every situation you will run into will have a single "name" or terminology for that situation -- but there are multiple topics and concepts that seem relevant:

  • As Draconis mentions, serialization or pickling are relevant for how to convert a complex data structure in memory into a sequence of bits that can be sent to another party.

  • Data synchronization and file synchronization may also be relevant; there are techniques that may be useful if the data structure representing game state changes slowly, as then it may be more efficient to send only the changes to the other parties without having to repeatedly send the current state. You might enjoy reading about rsync and mosh.

  • Video games may use various methods for lag compensation that are worth knowing about.

Stack Exchange has an entire site for game development. I suggest spending some quality time there perusing questions that seem related, to get a taste of some of the methods, concepts, and techniques that are relevant.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.