And with regards to whether it would be lesbian friendly , JK Rowling herself said that if Harry Potter taught us anything , it ' s that no one should live in a closet . r o w linglgbtstudentshogwartsn 6341012 . html <| sep |> Wouldn ' t this be fixed by using a time interval instead of a frame interval and interpolating between them based on frame rate ? What matters is that the server and the client simulate the same amount of time , but yes this probably means that your tick rate to use the terminology from Valve ' s Source engine is decoupled from your frame rate , and your rendering will need to do its own interpolation between game states . Doesn ' t sending location delta have the same issue ? No . In the case of the location delta , you ' re using the reference state to calculate and then send where the object should be . If you mean that you ' re just sending a direction and a magnitude that the client should multiply out by some deterministic quantity of time to determine the destination location , then you ' re sending a location delta , even if you ' re calling it a velocity . If you ' re actually sending the object ' s velocity , or something that should be treated as the object ' s velocity , then it doesn ' t matter how you slice it the client must receive every state update , and must simulate the same time intervals as the server , or it diverges and almost never reconverges . The math simply doesn ' t work out . How so ? assuming as the player I ' m pressing forward wouldn ' t it be a simple assumption that I ' d go forward by the standard forward speed modified by buffs and physics ? Where stopping the player from being able to move would apply a debuff of speed 100 %. Remember , in the context of that example , we ' re synchronizing inputs and hoping the simulation replicates it correctly . We ' re not synchronizing the resultant state . Now , suppose players can collide with each other . Boom , you ' ve just diverged from the server by forcing yourself andor another player on your machine to move differently due to the collision . And you ' ll never be told that you were wrong , because we ' re syncing inputs , not results . Suppose players can collide with anything else that moves . This is just the more general case as above . Suppose player actions can place speed buffs and debuffs , like a sticky webbed net or something . Boom , you ' ve just diverged from the server by allowing yourself to move further than you knew you could before the webbing went down . And you ' ll never be told that you were wrong , because we ' re syncing inputs , not results . Could this also not be done using direction and time ? As from the top , if you ' re sending something that the client is ultimately using to calculate their end position , then moving towards that position , then you ' ve sent a position delta , not a velocity . But if you ' re sending velocity , you ' re making things a lot more fragile and will have to make a lot more compromises as a result .