EP-4347067-B1 - SYSTEMS AND METHODS FOR EMULATION OF USER INPUT DURING A PLAY OF A LEGACY GAME
Inventors
- CORVI, ERNESTO
- WEISING, GEORGE
- THACH, DAVID
Dates
- Publication Date
- 20260513
- Application Date
- 20220324
Claims (15)
- A computer-implemented method for using an updated hand-held controller (414) to play a legacy game, comprising: receiving a user input (419) from the updated hand-held controller during a play of the legacy game; parsing the user input to identify an updated input device of the updated hand-held controller; determining a functionality of the updated input device; determining, based on the identity of the updated input device, an identity of a legacy input device of a legacy hand-held controller (1306); identifying a functionality of the legacy input device corresponding to the functionality of the updated input device; determining whether one or more blocks of code for servicing the functionality of the legacy input device of the legacy hand-held controller are cached; accessing one or more instructions of a legacy game code of the legacy game upon determining that the one or more blocks of code are not cached; compiling the one or more instructions of the legacy game code to generate the one or more blocks of code; and executing the one or more blocks of code.
- The method of claim 1, further comprising executing the one or more blocks of code to modify a virtual environment of the legacy game in response to determining that the one or more blocks of code are cached.
- The method of claim 1, wherein the functionality of the legacy input device is a portion of a default mapping (1308) between functionalities of a plurality of legacy input devices of the legacy hand-held controller and functionalities of a plurality of updated input devices of the updated hand-held controller, wherein the legacy input device is one of the plurality of legacy input devices, the method further comprising: determining whether a user input for modifying the default mapping to a current mapping (1404) is received from the updated hand-held controller, wherein the default mapping is associated with a user account; associating the current mapping with the user account; receiving an additional user input from the updated hand-held controller during the play of the legacy game; parsing the additional user input to identify an additional updated input device of the updated hand-held controller; determining an additional functionality of the additional updated input device; determining, based on the identity of the additional updated input device, an identity of an additional legacy input device of the legacy hand-held controller; identifying an additional functionality of the additional legacy input device corresponding to the additional functionality of the updated input device; determining whether one or more blocks of code for servicing the additional functionality of the additional legacy input device are cached; accessing one or more instructions of the legacy game code of the legacy game upon determining that the one or more blocks of code for servicing the additional functionality are not cached; and compiling the one or more blocks of code for servicing the additional functionality from the one or more instructions of the legacy game code upon determining that the one or more blocks of code for servicing the additional functionality are not cached.
- The method of claim 3, further comprising: transferring the current mapping from a first computing device via a computer network to a server system, wherein the server system is configured to receive a request from a second computing device for the current mapping, wherein the server system is configured to send the current mapping via the computer network to the second computing device in response to the reception of the request.
- The method of claim 1, wherein said determining the functionality of the updated input device comprises: determining whether a direction of movement of the updated input device based on the user input matches a pre-determined direction; determining whether the movement of the updated input device exceeds a pre-determined threshold upon determining that the direction of movement of the updated input device matches the pre-determined direction, wherein the functionality of the updated input device is determined to be the movement of the updated input device exceeding the pre-determined threshold in the pre-determined direction, wherein said determining the functionality of the legacy input device includes determining that the functionality of the legacy input device achieves the same result as that achieved by the functionality of the updated input device.
- The method of claim 1, wherein the updated input device is a touchpad, wherein said parsing the user input includes determining whether a selection of the touchpad is received, wherein said determining the functionality of the updated input device includes identifying a location of the selection on the touchpad; and accessing a mapping, wherein said identifying the legacy input device includes identifying a button on the legacy hand-held controller based on the mapping, the method further comprising: executing the one or more blocks of code to generate a virtual object based on a functionality of the button, wherein the virtual object is generated at a location within an image, wherein the location of the virtual object within the image corresponds to the location of the selection on the touchpad.
- The method of claim 1, wherein the updated input device is one of a plurality of updated input devices of the updated hand-held controller, wherein the legacy input device is one of a plurality of legacy input devices of the legacy hand-held controller, the method further comprising: receiving a type of the updated hand-held controller; receiving a sub-type of the updated hand-held controller; identifying, from the type and the sub-type of the updated hand-held controller, a default mapping between the plurality of updated input devices and the plurality of legacy input devices of the legacy hand-held controller, wherein the legacy input device is identified based on the default mapping.
- A system for using an updated hand-held controller (414) to play a legacy game, comprising: one or more processors configured to: receive a user input (419) from the updated hand-held controller during a play of the legacy game; parse the user input to identify an updated input device of the updated hand-held controller; determine a functionality of the updated input device; determine, based on the identity of the updated input device, an identity of a legacy input device of a legacy hand-held controller (1306); identify a functionality of the legacy input device corresponding to the functionality of the updated input device; determine whether one or more blocks of code for servicing the functionality of the legacy input device of the legacy hand-held controller are cached; access one or more instructions of a legacy game code of the legacy game in response to the determination that the one or more blocks of code are not cached; compile the one or more instructions of the legacy game code to generate the one or more blocks of code; and execute the one or more blocks of code; and a memory device (1316) coupled to the one or more processors.
- The system of claim 8, further comprising a cache coupled to the one or more processors, wherein the cache is coupled to store the one or more blocks of code, wherein the one or more processors are configured to execute the one or more blocks of code to modify a virtual environment of the legacy game.
- The system of claim 8, wherein the functionality of the legacy input device is a portion of a default mapping between functionalities of a plurality of legacy input devices of the legacy hand-held controller and functionalities of a plurality of updated input devices of the updated hand-held controller, wherein the legacy input device is one of the plurality of legacy input devices, wherein the one or more processors are configured to: determine whether a user input for modifying the default mapping to a current mapping is received from the updated hand-held controller, wherein the default mapping is associated with a user account; associate the current mapping with the user account; receive an additional user input from the updated hand-held controller during the play of the legacy game; parse the additional user input to identify an additional updated input device of the updated hand-held controller; determine an additional functionality of the additional updated input device; determine, based on the identity of the additional updated input device, an identity of an additional legacy input device of the legacy hand-held controller; identify an additional functionality of the additional legacy input device corresponding to the additional functionality of the updated input device; determine whether one or more blocks of code for servicing the additional functionality of the additional legacy input device are cached; access one or more instructions of the legacy game code of the legacy game upon determining that the one or more blocks of code for servicing the additional functionality are not cached; and compile the one or more blocks of code for servicing the additional functionality from the one or more instructions of the legacy game code upon determining that the one or more blocks of code for servicing the additional functionality are not cached.
- The system of claim 8, wherein to determine the functionality of the updated input device, the one or more processors are configured to: determine whether a direction of movement of the updated input device based on the user input matches a pre-determined direction; determine whether the movement of the updated input device exceeds a pre-determined threshold upon determining that the direction of movement of the updated input device matches the pre-determined direction, wherein the functionality of the updated input device is identified to be the movement of the updated input device exceeding the pre-determined threshold in the pre-determined direction, wherein to determine the functionality of the legacy input device, the processor is configured to determine that the functionality of the legacy input device achieves the same result as that achieved by the functionality of the updated input device.
- The system of claim 8, wherein the updated input device is a touchpad, wherein to parse the user input, the one or more processors are configured to determine whether a selection of the touchpad is received, wherein to determine the functionality of the updated input device, the one or more processors are configured to identify a location of the selection on the touchpad, wherein the one or more processors are configured to access a mapping, wherein to identifying the legacy input device, the one or more processors are configured to identify a button on the legacy hand-held controller based on the mapping, wherein the button is the legacy input device, wherein the one or more processors are configured to execute the one or more blocks of code to generate a virtual object based on the functionality of the button, wherein the virtual object is generated at a location within an image, wherein the location of the virtual object within the image corresponds to the location of the selection on the touchpad.
- The system of claim 8, wherein the updated input device is one of a plurality of updated input devices of the updated hand-held controller, wherein the legacy input device is one of a plurality of legacy input devices of the legacy hand-held controller, wherein the one or more processors are further configured to: receive a type of the updated hand-held controller; receive a sub-type of the updated hand-held controller; identify, from the type and the sub-type of the updated hand-held controller, a default mapping between the plurality of updated input devices and the plurality of legacy input devices of the legacy hand-held controller, wherein the legacy input device is identified based on the default mapping.
- The system of claim 8, wherein the updated hand-held controller is configured generate a user input during a play of the legacy game.
- The system of claim 14, wherein the computing device comprises a cache, wherein the cache is configured to store the one or more blocks of code, wherein the computing device is configured to execute the one or more blocks of code to modify a virtual environment of the legacy game.
Description
FIELD The present disclosure relates to systems and methods for emulation of user input during a play of a legacy game. BACKGROUND Previously proposed arrangements are disclosed in WO 2018/044229 A1, US 2014/274380 A1 and US 2015/186170b A1. As electronic gaming and networking technologies have become more advanced, the complexity of games has increased accordingly. As a result, there may be more complex storylines, game play objectives, missions and tasks, capabilities associated with game play avatars, and scoring. Scoring may occur and be weighted in various ways and likewise be determined in various categories or on an individual or team basis. The significance of the aforementioned problems only increases as the complexity of electronic games increases. As such, some players may wish to play older games, which are less complicated. It is in this context that embodiments of the invention arise. SUMMARY Embodiments of the present disclosure provide systems and methods for emulation of user input during a play of a legacy game. In one embodiment, a method for facilitating a play of a legacy game is described. The method includes receiving a user input during the play of the legacy game, determining whether one or more blocks of code for servicing the user input are cached, and accessing one or more instructions of a legacy game code upon determining that the one or more blocks of code are not cached. The method further includes compiling the one or more blocks of code from the one or more instructions of the legacy game code, caching the one or more blocks of code, and executing the one or more blocks of code to display a virtual environment. In an embodiment, a computing device for facilitating a play of a legacy game is described. The computing device includes a processor configured to receive a user input during the play of the legacy game. The computing device further includes a cache coupled to the processor and a memory device coupled to the processor. The processor determines whether one or more blocks of code for servicing the user input are stored in the cache. The processor accesses, from the memory device, one or more instructions of a legacy game code upon determining that the one or more blocks of code are not stored in the cache. Also, the processor compiles the one or more blocks of code from the one or more instructions of the legacy game code. The processor stores the one or more blocks of code in the cache and executes the one or more blocks of code to display a virtual environment. In one embodiment, a method is described. The method includes generating a first validation result from one or more instructions of a legacy game code. The one or more instructions of the legacy game code are associated with one or more blocks of code. The method further includes examining one or more memory addresses associated with the one or more instructions to determine whether the one or more blocks of code are to be marked as invalid. The method includes determining whether the one or more blocks of code are to be executed, and determining whether the one or more blocks of code are marked as invalid upon determining that the one or more blocks of code are to be executed. The method includes examining the one or more memory addresses to generate a second validation result from the one or more instructions, comparing the first validation result with the second validation result to determine whether the one or more blocks of code are invalid, and recompiling one or more additional blocks of code associated with the one or more instructions upon determining that the one or more blocks of code are invalid. The method includes executing the one or more additional blocks of code to display a virtual environment. In an embodiment, a method for emulation of user input during a play of a legacy game is described. The method includes receiving a user input from the updated hand-held controller during a play of the legacy game, parsing the user input to identify an updated input device of the updated hand-held controller, and determining a functionality of the updated input device. The method further includes determining, based on the identity of the updated input device, an identity of a legacy input device of a legacy hand-held controller. The method includes identifying a functionality of the legacy input device corresponding to the functionality of the updated input device, determining whether one or more blocks of code for servicing the functionality of the legacy input device of the legacy hand-held controller are cached, and accessing one or more instructions of a legacy game code of the legacy game upon determining that the one or more blocks of code are not cached. The method includes compiling the one or more blocks of code from the one or more instructions of the legacy game code. In one embodiment, a system for using an updated hand-held controller to play a legacy game is described. The system include