Game State Variable Compression for Faster FPS Frame Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network games, especially FPS games, data processing efficiency is low due to large amounts of data being processed by the server, leading to laggy gameplay and network latency issues, which are exacerbated by bandwidth limitations and the need to compare numerous game objects, resulting in high overhead and delayed updates.
Innovation Solution
A data processing method that classifies character variables into high-frequency (first-type) and low-frequency (second-type) variables, compresses the high-frequency variables, and transmits only the compressed data to clients, reducing the data processing load on the server and improving update efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If data comparison and change record arrangement is performed for all game objects, then data synchronization accuracy is improved, but data processing time increases beyond server performance limits
Solution Approach 1:
The patent segments the data processing task by dividing game objects into different update categories (first update frequency type and second update frequency type). This segmentation allows the server to process high-frequency update objects (such as player positions) more efficiently by only transmitting changed attributes, while low-frequency objects can use less frequent update intervals, thereby reducing overall processing time while maintaining necessary synchronization accuracy.
Solution Approach 2:
The patent extracts only the changed attributes of game objects rather than processing and transmitting all attributes. By identifying and extracting only the modified data elements (such as position, velocity, or health changes), the system reduces the amount of data processing required while preserving complete synchronization information for updated elements.
2Quantity of substance
If all character variables are transmitted to clients, then data completeness is improved, but network bandwidth consumption increases
Solution Approach 1:
The patent extracts and transmits only the changed attributes of game objects rather than all attributes. This selective extraction ensures that clients receive complete information about what has changed while avoiding transmission of unchanged data, thus maintaining data completeness for updated elements while significantly reducing network bandwidth consumption.
Solution Approach 2:
The patent applies partial action by transmitting a subset of character variables (only those that have changed) rather than all variables. This partial transmission approach provides sufficient data for clients to update their local game state accurately without the excessive bandwidth consumption of transmitting complete object data sets.
3Speed
If update frequency is increased for all objects, then data freshness is improved, but server processing load increases
Solution Approach 1:
The patent applies local quality by assigning different update frequencies to different game objects based on their importance and characteristics. High-frequency updates are applied only to critical objects (such as player characters and nearby entities), while less critical objects use lower update frequencies. This localized optimization maintains data freshness for important elements while preserving server processing throughput.
Solution Approach 2:
The patent implements dynamic update frequency adjustment where the update rate for each game object can vary based on its current state, importance, and distance from the player. This dynamic approach allows the system to increase update speed for critical real-time elements while automatically reducing update frequency for less important objects, thereby maintaining overall server productivity.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A data processing method, executed by a computer device and comprising: obtaining an associated virtual object associated with a main virtual object, and obtaining a first type variable from among role variables of the associated virtual object as a first type variable (201); performing compression processing on the first type variable to obtain compressed data, and encapsulating the compressed data into first change data of the main virtual object (202); and sending the first change data of the main virtual object to a target client where the main virtual object is located (203) to enable the target client to update and display a image frame on the basis of the first change data.