A computer-implemented method for caching anticipated motion vectors for player input motion compensation comprising: generating one or more sets of anticipated motion vectors and a corresponding invalidator for each set of anticipated motion vectors at a server, wherein the motion vectors comprise a motion vector for each macroblock and the anticipated motion vectors are generated based on predetermined criteria, wherein the predetermined criteria relate to a limited contextual or temporal scope in a video game; transmitting the generated anticipated motion vectors and one or more invalidators to a client in response to an event received during game runtime, wherein the sets of anticipated motion vectors and invalidators are cached in a look-up table at the client with an associated anticipated player input, wherein an invalidator is any data signal that triggers an invalidation update to the lookup table and wherein an invalidator is configured to be used on the client to prevent a generated set of anticipated motion vectors from being applied after the generated set of anticipated motion vectors is no longer valid in the limited contextual or temporal scope; instructing the client to compare a received player input to entries in the lookup table and if the player input matches a previously cached player input in the lookup table and the associated anticipated motion vectors have not yet been invalidated, to apply the anticipated motion vectors and if the player input matches a previously cached player input that will invalidate the associated anticipated motion vectors, to remove the associated anticipated motion vectors from the lookup table. generating one or more sets of anticipated motion vectors and a corresponding invalidator for each set of anticipated motion vectors at a server, wherein the motion vectors comprise a motion vector for each macroblock and the anticipated motion vectors are generated based on predetermined criteria, wherein the predetermined criteria relate to a limited contextual or temporal scope in a video game; transmitting the generated anticipated motion vectors and one or more invalidators to a client in response to an event received during game runtime, wherein the sets of anticipated motion vectors and invalidators are cached in a look-up table at the client with an associated anticipated player input, wherein an invalidator is any data signal that triggers an invalidation update to the lookup table and wherein an invalidator is configured to be used on the client to prevent a generated set of anticipated motion vectors from being applied after the generated set of anticipated motion vectors is no longer valid in the limited contextual or temporal scope; instructing the client to compare a received player input to entries in the lookup table and if the player input matches a previously cached player input in the lookup table and the associated anticipated motion vectors have not yet been invalidated, to apply the anticipated motion vectors and if the player input matches a previously cached player input that will invalidate the associated anticipated motion vectors, to remove the associated anticipated motion vectors from the lookup table.