DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
35 USC § 101
Examiner notes that a practical application is recited in at least paragraphs [0004]-[0006] for the function of the game as run by a machine, including in data required for transmission, and would address issues such as latency.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-2, 4-5, 12, 15-16, 22-23, 25, 33, and 36-37 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by "Comparing Dead Reckoning Algorithms for Distributed Car Simulations" by Youfu Chen and Elvis S. Liu. (2018)(hereinafter referred to as Chen).
As per claims 1 and 22, Chen teaches a computer-implemented method and system of updating a game state based on information provided by a game server (abstract method for dead-reckoning which involves estimating the location of an object for distributed virtual environments such as multiplayer online games), the method comprising: receiving, by a client computer system from a game server (See Introduction “The basic idea of DR is simple: instead of receiving entity updates at every time step, the participants use a kinematic model (referred to as dead reckoning model (DRM)) to predict the movement of remote entities based on their last known kinematic states” and See Conclusion which discloses the use of the system for MMORPG which one of ordinary skill in the art would understand as a game comprising a network setup including servers communicating data), game state data related to a first point in time in an online game (See 3.2 Path Mapping which maps the location of an object along a path for the purpose of the prediction); rendering, by the client computer system, a virtual scene within the online game based on the game state data related to the first point in time (See IMPLEMENTATION AND SIMULATION with Fig. 3 providing an example of the virtual environment including a virtual car); simulating, by the client computer system, game activity based on the game state data related to the first point in time, wherein the simulated game activity predicts a game state at one or more subsequent points in time (See 3.2 Path Mapping and 3.3 State Prediction wherein a path is predicted for a virtual object “The prediction process is described as follows. If the PADR algorithm determines that a participant-controlled entity is on a path and locates its nearest sampling point, in the next time step, PADR will estimate its new position based on its kinematic states as well as the path information.”); rendering, by the client computer system, a virtual scene within the online game based on the simulated game activity (See 4 IMPLEMENTATION AND SIMULATION with Fig. 3 providing an example of the virtual environment including a virtual car); receiving, by the client computer system from the game server, aggregated information related to the game state at the one or more subsequent points in time, wherein the aggregated information is derived from simulations performed on the game server (See 3.3 State Prediction “The algorithm first calculates the distance the entity could travel between two successive time steps. Since it is on a path, the algorithm would assume that it always moves along the path and towards the next sampling point. As discussed previously, this assumption may not be always true. The algorithm needs to regularly monitor the deviation between the entity’s actual and predicted positions. Once the deviation exceeds a threshold, the algorithm would issue a rollback, which essentially the entity’s position to the actual one.” actual location is received and if the actual location differs from the predicted than a rollback occurs); and reconciling, by the client computer system, the simulated game activity with the aggregated information received from the game (See Conclusion which discloses the use of the system for MMORPG which one of ordinary skill in the art would understand as a game comprising a network setup including servers communicating data) server (See 3.3 State Prediction “The algorithm first calculates the distance the entity could travel between two successive time steps. Since it is on a path, the algorithm would assume that it always moves along the path and towards the next sampling point. As discussed previously, this assumption may not be always true. The algorithm needs to regularly monitor the deviation between the entity’s actual and predicted positions. Once the deviation exceeds a threshold, the algorithm would issue a rollback, which essentially the entity’s position to the actual one.” actual location is received and if the actual location differs from the predicted than a rollback occurs).
As per claims 2 and 23, Chen teaches a method wherein the aggregated information comprises a hash of updated game state data generated based on the simulations performed on the game server (See 3.2 Path Mapping “In the initialisation stage of the algorithm, every grid in a detection zone is stored in a hash map as a key k, and its corresponding H value v is the sampling point. In a certain case, a grid may become a v neighbour of two sampling points, such that a key that belongs to k' a sampling point is identical to a key k that belongs to sampling v' point v, where= k. If this is the case, we need to map the grid to k' its nearest sampling point” a hash value is used for the mapping for determining the path and location of the object).
As per claims 4 and 25, Chen teaches a method wherein the hash comprises a hash of only a portion of the updated game state data (See 3.2 Path Mapping which focuses only on location and not the rest of the virtual environment as discussed in 4. IMPLEMENTATION AND SIMULATION).
As per claims 5 and 26, Chen teaches a method wherein the hash is calculated over a pre-defined number of digits or bits of fields representing the game state at the one or more subsequent points in time (See 3.2 Path Mapping wherein the data is associated with values and therefore would comprise integers which one of ordinary skill in the art would know have a fixed bit size for example 8-bit char, a 16-bit short int, a 32-bit int, or possibly, a 64-bit long long int).
As per claims 12 and 33, Chen teaches a method wherein game activity associated with the online game includes outcomes or developments, the method further comprising implementing, by the client computer system, decisions according to a type of outcome or development associated with each decision (Fig. 3, see driving a car wherein if a player inputs a control motion an outcome, such as change in direction, occurs).
As per claims 15 and 36, Chen teaches a method wherein the aggregated information relates to only a portion of the game state at the one or more subsequent points in time, wherein the portion is based on a pre-defined set of groupings of information making up the game state (See 3.2 Path Mapping which focuses only on location and not the rest of the virtual environment as discussed in 4. IMPLEMENTATION AND SIMULATION).
As per claims 16 and 37, Chen teaches a method wherein the aggregated information is related to a first grouping of information, wherein the method further comprises receiving, by the client computer system, aggregated information related to a second grouping of information, wherein the aggregated information related to the second grouping of information is received after the aggregated information related to the first grouping of information (See 3.2 Fig. 1 wherein the path is mapped out over time and 3.3 wherein further discussion of the points being the next point in time on the path with a comparison done with the actual position occurring to determine if a rollback has to occur. Therefore the groupings would be based on time as the game is updated on actual positions).
Allowable Subject Matter
Claims 3, 6-11, 13-14, 17-21, 24, 26-32, 34-35, and 38-42 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. The indicated claims as a whole include subject matter not disclosed by the prior art or made obvious as a combination with the known prior art.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Wu et al. (US Pat. No. 11,235,234 B2) teaches a method For Movement Synchronization Of Virtual Object wherein the update is sent from a server with a factor of a predetermined time for updating.
Odorovic et al. (US Pat. No. 11,146,662 B2) teaches a gaming method simulated input state at the client side by performing a comparison of the vector data currently received to a last known vector data and rendering output in response to the comparison.
Villalobos et al. (US Pub. No. 2020/0310884 A1) teaches a network method which uses a hash code octree implementation to calculate the location of the data object using a normalized range. Further "The spatial indexing manager 1402 may compute a hash for data objects by normalizing spatial location information associated with the data object to the normalized range. The computed hash may identify the node in the spatial index(es) 1408 that corresponds to a spatial sub-division of the world space that encompasses the location of the data object. For example, the spatial indexing manager 1402 may normalize positional dimensions associated with the data object to a floating-point number from 0 to 1.".
Twitchell, Jr. et al. (US Pub. No. 2019/0294454 A1) "traditional MMORPGs handle the majority of processing for a game world at conventional servers." (paragraph [0161]).
Aggarwal et al (US Pub. No. 2007/0220363 A1) teaches a game using dead-reckoning to predict future movement of an object.
Sunazuka et al. (US Pub. No. 2006/0154713 A1) teaches a game comprising predicting a location of an object in a race game comprising using coordinates.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JUSTIN L MYHR whose telephone number is (571)270-7847. The examiner can normally be reached 10AM-6PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Dmitry Suhol can be reached at (571) 272-4430. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/JUSTIN L MYHR/Primary Examiner, Art Unit 3715 3/11/2026