US 12,001,655 B2
Synchronizing user actions to account for data delay
Markus Pasula, Helsinki (FI); and Jaakko Iisalo, Helsinki (FI)
Assigned to Supercell Oy, Helsinki (FI)
Filed by Supercell Oy, Helsinki (FI)
Filed on May 11, 2022, as Appl. No. 17/741,946.
Prior Publication US 2023/0367457 A1, Nov. 16, 2023
Int. Cl. G06F 3/0487 (2013.01); G06F 3/0484 (2022.01); G06F 9/54 (2006.01); G06F 9/52 (2006.01)
CPC G06F 3/0484 (2013.01) [G06F 9/547 (2013.01); G06F 9/52 (2013.01)] 18 Claims
OG exemplary drawing
 
1. An apparatus comprising:
a display screen; and
a processor configured to:
generate and display a graphical user interface on the display screen;
receive a user request to execute a requested action on the graphical user interface, the requested action being to move a user-controllable object on the user interface from a given location to a target location;
send the user request to a server, the server configured to create and provide instructions pertaining to the user request;
execute an intermediate action on the graphical user interface, the intermediate action indicating a movement of the user-controllable object toward the target location with a first speed, while waiting for the server to create and provide the instructions pertaining to the user request, the processor being configured to determine a time period for which the intermediate action is to be executed based on at least one of: a network delay between the apparatus and the server, a processing delay at the server, a processing delay at the apparatus;
receive the instructions pertaining to the user request from the server, the instructions including a time period within which the action to move the user-controllable object is to be completed;
terminate execution of the intermediate action prior to execution of the received intructions; and
execute the received instructions pertaining to the user request on the graphical user interface by increasing or decreasing the first speed to a second speed to complete the movement of the user-controllable object to the target location by the indicated time period, wherein a determination to increase or decrease the first speed to the second speed is based on a distance between the user-controllable object and the target location and the network delay between the apparatus and the server.