Controller state management for client-server networking
Described herein are techniques for transmitting state data between a controller and another electronic device. In embodiments, such techniques may comprise receiving, at a user device, input that relates to a first action to be performed by an avatar; providing, to a second electronic device, a first set of state data generated from the received input over a first communication channel; and determining a user intent that relates to a second action to be performed by the avatar. Based on the user intent, a second set of state data can be generated that is different from the first set of state data and includes less than all available state data. The second set of state data can be provided to the second device over a second communication channel, causing the avatar to perform a modified action.
1 . A method for controlling a server, the method comprising:
receiving, through a first communication channel between the server and a controller device, a first set of state data representing touch input received by the controller device;
determining a first type of action to be performed by an avatar based on the touch input, wherein determining the first type of action comprises using the first set of state data to select the first type of action from a set of actions available to be performed by the avatar;
receiving, through a second communication channel between the server and the controller device, a second set of state data representing an action intent that relates to a second type of action to be performed by the avatar, wherein the action intent is generated by a prediction model based on the touch input, wherein the prediction model is trained on historic gameplay action data;
and
modifying the first type of action based on the second set of state data, wherein the modifying the first type of action comprises replacing the first type of action with the second type of action when a movement associated with the second set of state data indicates a change from a movement associated with the first set of state data.
2 . The method of claim 1 , wherein the first type of action is modified in accordance with an interrupt that prevents the first type of action from being performed by the avatar.
3 . The method of claim 1 , wherein modifying the first type of action includes causing the avatar to perform the second type of action after the first type of action.
4 . The method of claim 1 , wherein the first set of state data includes a predetermined set of data values.
5 . The method of claim 1 , wherein the second set of state data includes a set of data values selected based on the action intent.
6 . The method of claim 5 , wherein modifying the first type of action is based on the set of data values.
7 . The method of claim 1 , wherein the second set of state data includes at least one of an input vector, an input deflection, or an input change.
8 . The method of claim 1 , wherein the historic gameplay action data is associated with a user of the controller device.
9 . The method of claim 1 , wherein the prediction model is trained by machine learning to correlate gameplay input to gameplay action for the avatar.
10 . A server comprising:
a processor that executes instructions stored in memory, wherein the processor executes the instructions to:
receiving, through a first communication channel between the server and a controller device, a first set of state data representing touch input received by the controller device;
determining a first type of action to be performed by an avatar based on the touch input, wherein determining the first type of action comprises using the first set of state data to select the first type of action from a set of actions available to be performed by the avatar;
receiving, through a second communication channel between the server and the controller device, a second set of state data representing an action intent that relates to a second type of action to be performed by the avatar, wherein the action intent is by a prediction model based on the touch input, wherein the prediction model is trained on historic gameplay action data;
and
modify the first type of action based on the second set of state data, wherein the modifying the first type of action comprises replacing the first type of action with the second type of action when a movement associated with the second set of state data indicates a change from a movement associated with the first set of state data.
11 . The server of claim 10 , wherein the controller device is configured to control the avatar during gameplay of a video game.
12 . The server of claim 11 , wherein the controller device includes a virtual controller presented within a touchscreen display.
13 . The server of claim 11 , wherein the touch input is associated with one or more input mechanisms implemented on the controller device.
14 . The server of claim 10 , wherein the server includes a gaming console.
15 . The server of claim 10 , wherein the server includes a game server computing device.
16 . The server of claim 10 , wherein the second set of state data is used by the server to cause the avatar to perform the second type of action after performing the first type of action.
17 . The server of claim 10 , wherein the second set of state data is used by the server to modify the first type of action based on a set of data values selected in accordance with the action intent.
18 . A non-transitory computer-readable storage media storing computer-executable instructions that upon execution by one or more processors cause a server to perform operations comprising:
receiving, through a first communication channel between the server and a controller device, a first set of state data representing touch input received by the controller device;
determining a first type of action to be performed by an avatar based on the touch input, wherein determining the first type of action comprises using the first set of state data to select the first type of action from a set of actions available to be performed by the avatar;
receiving, through a second communication channel between the server and the controller device, a second set of state data representing an action intent that relates to a second type of action to be performed by the avatar, wherein the action intent is generated by a prediction model based on the touch input, wherein the prediction model is trained on historic gameplay action data;
and
modifying the first type of action based on the second set of state data, wherein the modifying the first type of action comprises replacing the first type of action with the second type of action when a movement associated with the second set of state data indicates a change from a movement associated with the first set of state data.
19 . The non-transitory computer-readable storage media of claim 18 , wherein modifying the first type of action includes one or more of: an interrupt that prevents the first type of action being performed by the avatar, based on a set of data values selected in accordance with the action intent, or a second type of action to be performed subsequent to the first type of action.
20 . The non-transitory computer-readable storage media of claim 18 , wherein the first set of state data includes a predetermined set of data values and the second set of state data includes a set of data values selected based on the action intent.