U.S. Patent No. 10,891,125: Videogame patch data compilation system
Issued January 12, 2021, to Electronic Arts Inc.
Filing/Priority to March 28, 2019
U.S. Patent No. 10,891,125 (the ‘125 patent) relates to a data system for patching a video game during the runtime of the game application. The ‘125 patent details a method of executing a game application on a client device with function storage containing function assets of code, the first function asset having a first version identifier, which is executed during the runtime of the game application. During runtime, a data packet is received over a network which includes uncompiled code and a second version identifier. The storage is updated to include the second set of code, as one of the (one or more) function assets in the storage. The update occurs without recompiling the game application, and no restart. The first game function is executed and it identifies the first function asset as associated with that game function. It then selects the second function asset instead of the first, partially by comparing them. The ‘125 patent could allow some games to update and implement updates without a player having to restart the game.
The present disclosure provides a system and method for updating a game application during runtime of a game application. The game application is executed on a client computing device using application code that includes a function store. During runtime of the game application, a function asset is received and stored in the function store. The function asset includes either precompiled code or code written in a scripting language and includes a version identifier. To execute a particular game function of the game application, the function asset is identified from other function assets in the function store based at least in part on its version identifier, and the game function is executed using the function asset.
- A method for executing a game application, on a client computing device, the method comprising: by one or more processors configured with computer-readable instructions, executing a game application on a client computing device using application code comprising a function store, wherein the function store comprises one or more function assets, the one or more function assets including at least a first function asset associated with a first game function, wherein the first function asset is compiled machine code and includes a first version identifier; and during runtime of the game application: receiving, over a network, a data packet that includes a second function asset that is associated with the first game function, wherein the second function asset is non-compiled code and includes a second version identifier, updating the function store to include the second function asset as one of the one or more function assets of the function store, wherein said updating occurs without recompiling the game application, and executing the first game function, wherein said executing the first game function comprises: identifying the first function asset and the second function asset as being associated with the first game function, selecting the second function asset instead of the first function asset based, at least in part, on a comparison of the second version identifier to the first version identifier, and executing the first game function using the second function asset based, at least in part, on said selecting.