Cloud game information synchronization method, apparatus, device, and readable storage medium

By receiving client information to determine the predicted latency and environmental status, and switching game modes, the problem of lag in cloud gaming under weak network conditions is solved, and the smoothness and clarity of the game screen are achieved.

CN114053691BActive Publication Date: 2026-01-06MIGU INTERACTIVE ENTERTAINMENT CO LTD +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111410393.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-24
Publication Date
2026-01-06
Estimated Expiration
2041-11-24

AI Technical Summary

Technical Problem

Existing cloud gaming systems are prone to stuttering and disconnections in weak network environments, failing to meet users' demands for high-definition gaming.

Method used

By receiving network and terminal information sent by the client, the predicted latency value and environmental status are determined, and the game mode is switched to ensure the smoothness and clarity of the game.

Benefits of technology

It improves the accuracy of game mode switching, avoids lag and stuttering in weak network scenarios, and ensures the smoothness and clarity of game graphics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114053691B_ABST
    Figure CN114053691B_ABST
Patent Text Reader

Abstract

The application discloses a cloud game information synchronization method and device, equipment and a readable storage medium, the method comprises the following steps: through receiving network information and terminal information sent by a client, determining the current application scene related information of a cloud game player, improving the accuracy of actual scene judgment; so as to determine the predicted time delay value according to the received network information, predict the network time delay situation that the client may appear, provide effective judgment basis for whether to carry out client game mode switching; and determine the environment state according to the terminal information, judge the actual scene of the current client, and then switch the game mode according to the predicted time delay value and the environment state, improve the accuracy of game mode switching, so as to avoid the phenomenon of game delay and lag caused by network conditions in a weak network scene, and ensure the smoothness and clarity of the game picture.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of cloud gaming technology, and in particular to a cloud gaming information synchronization method, apparatus, device, and readable storage medium. Background Technology

[0002] Cloud gaming technology enables lightweight devices with relatively limited graphics processing and data processing capabilities to run high-quality games. In cloud gaming, the game doesn't reside on the player's device but runs on a cloud server. The cloud server renders the game scene as video and audio streams, which are then transmitted to the player's device via the network. However, because current cloud gaming transmits video / audio / command streams to the mobile device entirely over the network, weak or disconnected networks can cause stuttering or even disconnection. While lowering the screen resolution can alleviate stuttering, it doesn't meet users' demands for high-definition gaming. Summary of the Invention

[0003] The main objective of this invention is to provide a cloud gaming information synchronization method, apparatus, device, and readable storage medium. It aims to solve the problem of ensuring smoothness and clarity of gameplay in weak network environments.

[0004] To achieve the above objectives, the present invention provides a cloud gaming information synchronization method, characterized by comprising the following steps:

[0005] Receive network and terminal information sent by the client;

[0006] The predicted latency value is determined based on the network information, and the environmental state is determined based on the terminal information;

[0007] Based on the predicted latency value and the environmental state, switch the game mode.

[0008] Optionally, the step of determining the predicted delay value based on the network information includes:

[0009] Obtain latency data within a preset calculation period from the network information, and determine the latency value in the latency data;

[0010] The dynamic coefficient of the gradient factor is calculated based on the aforementioned time delay value;

[0011] The predicted time delay value is calculated based on the time delay value and the dynamic coefficient of the gradient factor.

[0012] Optionally, the step of calculating the dynamic coefficient of the gradient factor based on the time delay value includes:

[0013] Determine the previous preset calculation cycle adjacent to the preset calculation cycle, and determine the historical delay value corresponding to the previous preset calculation cycle;

[0014] Calculate the ratio between the latency value and the historical latency value, and use the ratio as the gradient factor corresponding to the preset calculation period;

[0015] Calculate the dynamic coefficient of the gradient factor based on each of the gradient factors.

[0016] Optionally, the step of switching the game mode based on the predicted latency value and the environmental state includes:

[0017] Determine whether the predicted delay value is greater than a preset weak network threshold and whether the environmental state is static.

[0018] If the predicted latency value is greater than the preset weak network threshold and the environment is in a static state, then switch the game mode.

[0019] Optionally, the step of determining the environmental state based on the terminal information includes:

[0020] Obtain the coordinate information within a preset calculation period from the terminal information;

[0021] Calculate the velocity state change trend of the client based on the coordinate information provided.

[0022] And calculate the velocity state change trend of the client based on the angular velocity information.

[0023] The environmental state is determined based on the trends of the coordinate state changes and the trends of the velocity state changes.

[0024] Optionally, the step of determining the environmental state based on the coordinate state change trend and the velocity state change trend includes:

[0025] If the trend of the coordinate state change matches the preset static coordinate interval, and the trend of the velocity state change matches the preset static velocity interval, then the environmental state corresponding to the client is determined to be a stationary state.

[0026] Optionally, the step of switching game modes includes:

[0027] Obtain game system files;

[0028] An image file is generated based on the game system files, and the storage address of the image file is determined. The storage address is then sent to the client.

[0029] If the client receives information based on the storage address, the current game mode is switched to the local game mode.

[0030] Furthermore, the present invention also provides a cloud gaming information synchronization device, the cloud gaming information synchronization device comprising:

[0031] The information acquisition module is used to receive network information and terminal information sent by the client;

[0032] The data analysis module is used to determine the predicted latency value based on the network information and to determine the environmental status based on the terminal information.

[0033] The mode switching module is used to switch the game mode based on the predicted latency value and the environmental state.

[0034] In addition, to achieve the above objectives, the present invention also provides a cloud gaming information synchronization device, which includes a memory, a processor, and a cloud gaming information synchronization program stored in the memory and executable on the processor, wherein: when the cloud gaming information synchronization program is executed by the processor, it implements the steps of the cloud gaming information synchronization method as described above.

[0035] In addition, to achieve the above objectives, the present invention also provides a readable storage medium storing a cloud gaming information synchronization program, which, when executed by a processor, implements the steps of the cloud gaming information synchronization method described above.

[0036] This invention proposes a cloud gaming information synchronization method, apparatus, device, and readable storage medium. By receiving network information and terminal information sent by the client, it determines information related to the current application scenario of the cloud gaming player, improving the accuracy of actual scenario judgment. Based on the received network information, it determines a predicted latency value, predicting potential network latency for the client and providing an effective basis for deciding whether to switch the client's game mode. Furthermore, based on the terminal information, it determines the environmental state, assesses the current client's actual scenario, and then switches the game mode according to the predicted latency value and environmental state, improving the accuracy of game mode switching. This avoids game lag and stuttering caused by network conditions in weak network scenarios, ensuring smooth and clear game visuals. Attached Figure Description

[0037] Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of the present invention;

[0038] Figure 2 This is a flowchart illustrating the first embodiment of the cloud gaming information synchronization method of the present invention;

[0039] Figure 3 This is a schematic diagram of client data reporting according to an embodiment of the present invention;

[0040] Figure 4 This is a schematic diagram illustrating the generation of an image file according to an embodiment of the present invention;

[0041] Figure 5 This is a schematic diagram illustrating the client image file retrieval process according to an embodiment of the present invention;

[0042] Figure 6 This is a schematic diagram illustrating client-side image file loading according to an embodiment of the present invention;

[0043] Figure 7 This is a schematic diagram of a game directory mapping according to an embodiment of the present invention;

[0044] Figure 8 This is a schematic diagram of game mode switching according to an embodiment of the present invention;

[0045] Figure 9 This is a schematic diagram of a cloud gaming information synchronization device according to an embodiment of the present invention.

[0046] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0047] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0048] like Figure 1 As shown, Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of the present invention.

[0049] like Figure 1 As shown, the device may include: a processor 1001, such as a CPU; a communication bus 1002; a user interface 1003; a network interface 1004; and a memory 1005. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0050] Those skilled in the art will understand that Figure 1The structure of the device shown does not constitute a limitation on the device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0051] like Figure 1 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a cloud gaming information synchronization program.

[0052] exist Figure 1 In the terminal shown, network interface 1004 is mainly used to connect to the backend server and communicate data with it; user interface 1003 is mainly used to connect to the client (user terminal) and communicate data with it; while processor 1001 can be used to call the cloud game information synchronization program stored in memory 1005 and perform the following operations:

[0053] Receive network and terminal information sent by the client;

[0054] The predicted latency value is determined based on the network information, and the environmental state is determined based on the terminal information;

[0055] Based on the predicted latency value and the environmental state, switch the game mode.

[0056] The specific embodiments of the present invention applied to the device are basically the same as the embodiments of the cloud gaming information synchronization method described below, and will not be repeated here.

[0057] Please refer to Figure 2 , Figure 2 This is a flowchart illustrating the first embodiment of the cloud gaming information synchronization method of the present invention, wherein the cloud gaming information synchronization method includes the following steps:

[0058] Step S100: Receive network information and terminal information sent by the client;

[0059] Cloud gaming is a gaming method based on cloud computing. In cloud gaming, all games run on the server side, and the rendered game screen is compressed and transmitted to the user terminal via the network. The user terminal can be a gaming device such as a mobile phone, tablet, or laptop. The user terminal receives user input and sends the input command stream via the internet to a game instance machine running the game in the cloud gaming room. This game instance machine then sends the corresponding video and audio streams to the user terminal via the internet, allowing the user to view the game screen. In this embodiment, it should be noted that the client refers to the client program on the user terminal, which is used to collect client-related information in real time; see reference... Figure 3The client-related information includes network information and terminal information. Network information refers to information related to the current network environment, such as network latency information, including latency data. Terminal information refers to information related to the user terminal. In this embodiment, a mobile phone is used as an example. Terminal information includes GPS (Global Positioning System) location and altitude information, gyroscope information, player input operation information, and other terminal information.

[0060] Specifically, the cloud gaming client program on the user terminal collects information related to the current network environment and user terminal in real time, and reports it all to the big data analysis platform of the cloud gaming information synchronization device. The big data analysis platform receives the network information and terminal information sent by the client.

[0061] Step S200: Determine the predicted latency value based on the network information, and determine the environmental state based on the terminal information;

[0062] In this embodiment, it should be noted that the predicted latency value refers to a reference value used to predict network latency for the closest possible future time period. This predicted latency value can foreshadow the future network environment trend; for example, the network latency value within 3 seconds after the current time point. Specifically, after receiving network information, the big data analysis platform analyzes the network information to determine the predicted latency value based on it. Determining the predicted latency value based on network information can be achieved by dividing the received network information into time periods, determining the latency value corresponding to each time period, and determining a gradient factor dynamic coefficient based on the ratio of the latency values ​​between each pair of these multiple time periods. The predicted latency value is then obtained using the latency value corresponding to the closest time period and the gradient factor dynamic coefficient. The ratio of the latency values ​​between each pair of multiple time periods can be determined based on the latency values ​​between each pair of adjacent time periods, or it can be determined based on the latency values ​​between each pair of two time periods spaced F time periods apart, where F is a preset empirical value that can be changed as needed. It is understandable that determining the predicted latency value based on network information can also involve dividing the received network information into time periods, calculating the latency value for each time period, sorting the latency values ​​corresponding to each time period from front to back according to time order, determining the fluctuation range of the latency values ​​corresponding to multiple time periods based on the difference between the latency values ​​corresponding to each adjacent time period, thereby judging the current network change trend, and determining the predicted latency value based on the current network change trend and the latency value corresponding to the closest time period.

[0063] In this embodiment, it should be noted that the environmental state refers to the actual scene state information of the current user terminal itself, representing the current activity state of the user terminal. This environmental state can be used to determine whether the player can continue playing the game. The environmental state can include terminal states such as stationary, moving, and rotating states. Among these, the optimal state for continuing the game is when the user terminal's environmental state is stationary. Specifically, the terminal information reported by the client program is acquired in real time, and the environmental state is determined based on this terminal information.

[0064] Step S300: Switch the game mode based on the predicted latency value and the environmental state.

[0065] In this embodiment, it should be noted that "game mode" refers to different modes determined based on varying network quality when a user engages in cloud gaming. The machine address on which the game runs differs in each mode. For example, under good network conditions, a cloud gaming mode is set, and the game runs on the cloud. Under poor network conditions, a local gaming mode is set, and the game runs on the virtual machine plugin within the client program. It is understood that this game mode can be further categorized based on network conditions, and the game running address corresponding to each game mode can be any address other than the cloud or virtual machine plugin that allows the game to run; no restrictions are placed here.

[0066] Specifically, after determining the predicted latency value and acquiring the environmental status, the predicted latency value and terminal information are analyzed and judged. If the pre-set game mode switching conditions are met, the game mode is switched. The judgment of whether the game mode switching conditions are met uses different reference standards for the predicted latency value analysis and the environmental status analysis. The game mode is switched when both the predicted latency value analysis result and the environmental status analysis result meet the game mode switching conditions. It can be understood that the analysis of the predicted latency value and the analysis of the environmental status can be performed simultaneously, or the predicted latency value analysis can be performed first, and if the predicted latency value analysis result meets the game mode switching conditions, then the environmental status analysis can be performed, and if the environmental status analysis also meets the game mode switching conditions, then the game mode is switched; or the environmental status analysis can be performed first, followed by the predicted latency value analysis. The order of these analyses is not restricted. In addition, in one embodiment, the condition for switching the game mode may be that the game mode is switched when the analysis result of the predicted latency value meets the game switching condition; or the game mode is switched when only the analysis result of the environmental state meets the game switching condition.

[0067] In this embodiment of the invention, by receiving network information and terminal information sent by the client, the relevant information of the current application scenario of the cloud gaming player is determined, improving the accuracy of the actual scenario judgment; thereby, the predicted latency value is determined based on the received network information; and the environmental state is determined based on the terminal information, judging the actual scenario of the current client and predicting the network latency situation that the client may experience, providing an effective basis for judging whether to switch the client's game mode. Then, based on the predicted latency value and the environmental state, the game mode is switched, improving the accuracy of game mode switching, thereby avoiding the occurrence of game lag and stuttering caused by network conditions in weak network scenarios, and ensuring the smoothness and clarity of the game screen.

[0068] Furthermore, based on the first embodiment of the cloud gaming information synchronization method, a second embodiment of the cloud gaming information synchronization method of the present invention is proposed. Step S200, the step of determining the predicted latency value based on the network information, includes:

[0069] Step a: Obtain latency data within a preset calculation period from the network information, and determine the latency value in the latency data;

[0070] In this embodiment, it should be noted that latency data refers to the time required for a message or packet to be transmitted from one end of a network to another; the preset calculation period refers to a time range pre-set based on experience gained from numerous experiments; the latency value in the latency period refers to the latency value corresponding to the preset calculation period, where the latency value refers to the latency data used to represent the preset calculation period. In this embodiment, the TP90 value (Top Percentile 90, the first 90%) of each latency data within the preset calculation period is taken. For example, if the preset calculation period is 3 seconds, the latency data within these 3 seconds are: N1, N2, N3...NZ. The latency value within the preset calculation period is the latency value corresponding to the 90th position after all the latency data within the preset calculation period are arranged in ascending order from smallest to largest. Assuming the ascending order after sorting is N3, N1, N8, N6, N2, N4...Nz, and the latency data corresponding to the 90th position is Nm, then the TP90 of the preset calculation period = Nm. That is, the latency value corresponding to the preset calculation period is Nm. It is understandable that TP90 can be modified based on actual conditions and experience analysis, such as TP95, TP99, or other values. In another embodiment, the delay value can also be determined by taking the average value of each delay data within the preset calculation period after removing the values ​​with large deviations from all delay data.

[0071] Specifically, after receiving network information sent by the client, the big data analysis platform of the cloud gaming information synchronization device will analyze the latency data in the network information. Specifically, it will divide the network according to a preset calculation period, obtain the latency data within the preset calculation period, and determine the latency value corresponding to the preset period based on the latency data.

[0072] Step b: Calculate the dynamic coefficient of the gradient factor based on the time delay value;

[0073] In this embodiment, it should be noted that the gradient factor dynamic coefficient represents the possible trend of future network quality changes, and this gradient factor dynamic coefficient is updated in real time as the historical latency value changes. Specifically, when calculating the gradient factor dynamic coefficient, the latency values ​​corresponding to multiple preset calculation periods are obtained, and the gradient factor dynamic coefficient is determined based on the changes in the latency values ​​corresponding to these multiple periods.

[0074] Step c: Calculate the predicted time delay value based on the time delay value and the dynamic coefficient of the gradient factor.

[0075] In this embodiment, it should be noted that the predicted delay value refers to the delay value corresponding to the next period range in the range corresponding to the current preset calculation period, according to the preset period division. Specifically, the delay value corresponding to the current preset calculation period is multiplied by the latest gradient factor dynamic coefficient, and the result is used as the predicted delay value for the next preset calculation period.

[0076] The predicted latency value is obtained by combining the latency value corresponding to the closest preset calculation cycle with the latest gradient factor dynamic coefficient, ensuring the accuracy and real-time performance of the latency value corresponding to the next preset calculation cycle, thereby providing effective judgment parameters for game mode switching.

[0077] Further, the step of calculating the dynamic coefficient of the gradient factor based on the time delay value includes:

[0078] Step d: Determine the previous preset calculation cycle adjacent to the preset calculation cycle, and determine the historical delay value corresponding to the previous preset calculation cycle;

[0079] In this embodiment, it should be noted that the preset calculation period is the current calculation period, that is, the prediction latency value of the next preset calculation period is determined based on the current calculation period. The previous preset calculation period refers to the calculation period adjacent to the current calculation period after dividing the calculation period according to a preset period division range through continuous division. In this embodiment, the previous preset calculation period refers to the calculation period that precedes the preset calculation period among the calculation periods adjacent to the preset calculation period, and the historical latency value is the latency value corresponding to the previous preset calculation period. Specifically, the latency value corresponding to the preset calculation period and the historical latency value of the previous preset calculation period adjacent to the preset calculation period are obtained. For example, the latency value corresponding to the preset calculation period n is TP90(n), and the historical latency value of the previous preset calculation period n-1 is TP90(n-1), where TP90 represents the value corresponding to the 90th position after the data is arranged in ascending order from smallest to largest.

[0080] Step e: Calculate the ratio between the delay value and the historical delay value, and use the ratio as the gradient factor corresponding to the preset calculation period;

[0081] In this embodiment, it should be noted that the gradient factor refers to the ratio between the latency values ​​corresponding to two preset calculation cycles, which can represent the network quality change between the two preset calculation cycles. Specifically, after obtaining the latency value and the historical latency value, the ratio of the latency value to the historical latency value is calculated, and this ratio is used as the gradient factor corresponding to the preset calculation cycle. For example, the gradient factor ε corresponding to the nth preset calculation cycle is calculated using the formula: ε = TP90(n) / TP90(n-1), where TP90 represents the value corresponding to the 90th position after the data is arranged in ascending order from smallest to largest.

[0082] It is understandable that, when calculating the gradient factor, one can also obtain the ratio between the average of the delay values ​​corresponding to the current two or more preset calculation cycles and the average of the delay values ​​corresponding to the previous preset calculation cycle of the corresponding number, and use this ratio as the gradient factor; or, when calculating the gradient factor, one can obtain the delay values ​​corresponding to two calculation cycles that are separated by multiple calculation cycles, calculate the ratio between the two calculation cycles, and use this ratio as the gradient factor.

[0083] In this embodiment, it should be noted that the gradient factor dynamic coefficient is a reference coefficient used for delay value prediction, derived from the gradient factor. After determining the delay value, combining this delay value with the gradient factor dynamic coefficient allows for the prediction of the next delay value. Specifically, after determining the gradient factor, the gradient factor dynamic coefficient is derived based on it. This can be achieved by obtaining the gradient factors corresponding to multiple recent calculation cycles and deriving the dynamic coefficient from these multiple gradient factors; or by directly determining the dynamic coefficient from a single gradient factor corresponding to the most recent calculation cycle. When obtaining multiple gradient factors, the average value of these multiple gradient factors can be used as the dynamic coefficient, or the median value of these multiple gradient factors can be used as the dynamic coefficient, etc., depending on the actual situation, to determine the dynamic coefficient from the gradient factor. By using the ratio of historical delay values ​​to the current delay value, the gradient factor is derived, and then the dynamic coefficient is derived from this gradient factor, ensuring the real-time nature of the dynamic coefficient and improving the accuracy of network condition prediction.

[0084] Specifically, the steps for determining the dynamic coefficient of the gradient factor based on the gradient factor include:

[0085] Step f: Calculate the dynamic coefficient of the gradient factor based on each of the gradient factors.

[0086] In this embodiment, if multiple preset calculation cycles exist, the gradient factor corresponding to each preset calculation cycle is obtained. When multiple preset calculation cycles exist, the gradient factor can be obtained according to a pre-set preset number. The preset number refers to the number of gradient factors used to calculate the average gradient factor. This preset number can be the number of gradient factors obtained after calculating the gradient factor based on a pre-set number of preset calculation cycles used to calculate the average gradient factor. After determining that multiple gradient factors exist, the preset number of gradient factors is obtained, and the average value of these multiple gradient factors is calculated. For example, when the preset number is n, i.e., there are n calculation cycles, the formula for calculating the average gradient factor is: That is: Where i represents the calculation cycle in progress, and TP90 represents the value corresponding to the 90th position after the data is arranged in ascending order. After calculating the average value of the gradient factor, this average value is used as the dynamic coefficient of the gradient factor. After determining the dynamic coefficient of the gradient factor, the prediction delay value can be calculated. For example, when the preset quantity is n, the dynamic coefficient of the gradient factor is λ; the prediction delay value is futureDelay, and the prediction delay value can be calculated as: futureDelay = TP90 n *λ; that is Where i represents the current calculation cycle, and TP90 represents the value at the 90th position after the data is arranged in ascending order. It can be understood that when only the gradient factor corresponding to the current preset calculation cycle is obtained, i.e., when only one gradient factor exists, this gradient factor is directly used as the dynamic coefficient of the gradient factor, and the predicted time delay value is calculated based on this dynamic coefficient.

[0087] The dynamic coefficient of the gradient factor is determined by the average value of the gradient factor, which ensures that the prediction of the predicted delay value for the next preset calculation cycle is based on the actual network environment, thereby improving the accuracy of the predicted delay value.

[0088] Furthermore, the step of switching game modes based on the predicted latency value and the environmental state includes:

[0089] Step g: Determine whether the predicted delay value is greater than the preset weak network threshold and whether the environmental state is static.

[0090] In this embodiment, it should be noted that the preset weak network threshold refers to a pre-set weak network definition value used for judging weak network environments. That is, if the latency value is greater than the preset weak network threshold, the network is considered to be in a weak network condition. This preset weak network threshold is determined by setting a latency threshold starting point. For example, if the preset weak network threshold is set to N1ms, then when the latency value is greater than or equal to N1ms, it can be considered that the latency is greater than the preset weak network threshold. In this embodiment, the latency values ​​corresponding to multiple preset calculation cycles are used as the basis for determining the preset weak network threshold. These latency values ​​are sorted in ascending order, and the latency value corresponding to the last E% position is taken as the preset weak network threshold. Here, E in the E% position is an empirical value, which can be adjusted as needed according to the actual application scenario. For example, E is initially set to E1 by default. If the latency value corresponding to the E1% position in the first calculation is N1ms, then N1ms is taken as the preset weak network threshold.

[0091] In this embodiment, it should be noted that the environmental state refers to the actual scene state of the current user terminal itself, representing the current activity state of the user terminal. This environmental state can be used to determine whether the player can continue playing the game. The environmental state can include terminal states such as stationary, moving, and rotating states. Among these, a stationary environmental state is the optimal state for continuing the game. When determining the environmental state based on terminal information, the result is the state of the user terminal itself relative to the player. For example, on a moving subway, the player holds the user terminal to play the game. Both the user terminal and the player's geographical location change simultaneously with the subway's movement, but the user terminal remains stationary relative to the player. In this case, the user terminal's environmental state is considered stationary. The specific method for determining the environmental state can be based on calculating the trend of coordinate state changes and / or the trend of velocity state changes. For example, by acquiring the user terminal's GPS information and gyroscope information, further analysis can be performed on the changes in the user terminal's direction, displacement, and angular velocity to determine the change in the user terminal's current position compared to the previous position, thereby determining the current environmental state. Specifically, the terminal information reported by the client program is obtained in real time, and the environmental status is analyzed based on the terminal information. After obtaining the corresponding environmental status in the terminal information, it is determined whether the environmental status corresponding to the terminal information is a static state.

[0092] Specifically, after determining the predicted latency value, it is compared with a preset weak network threshold to determine whether the predicted latency value is greater than the preset weak network threshold. If the predicted latency value is greater than the preset weak network threshold, it can be determined that the current network is about to enter a weak network state. When it is about to enter a weak network state, it is determined whether the environmental state is static, thus determining whether the player on the user terminal is in a suitable state to continue the game.

[0093] It is understood that, in another embodiment, there is no order restriction between determining whether the predicted latency value is greater than the preset weak network threshold and determining whether the environmental state corresponding to the terminal information is static; the two can be performed independently.

[0094] Step h: If the predicted latency value is greater than the preset weak network threshold and the environment is in a static state, then switch the game mode.

[0095] When the predicted latency value is greater than the preset weak network threshold, it can be determined that the current network is about to enter a weak network state; and if the environment is static, it can be determined that the player on the user terminal is in a state suitable for continuing the game. When the network is about to enter a weak network environment and the player on the user terminal can continue the game, the game mode is switched.

[0096] In this embodiment, a preset network disconnection threshold is also set. This preset network disconnection threshold refers to a pre-set initial latency threshold used to determine a network disconnection environment. If the latency value is greater than this preset threshold, it can be considered that a network disconnection is imminent. This preset network disconnection threshold is determined by setting a latency threshold starting point. For example, a preset weak network threshold of C1 can be set. When the latency value is greater than or equal to C1, it indicates that the player is about to enter a network disconnection environment. When a player is about to enter a weak network environment and / or a network disconnection environment, the environmental state is determined based on the terminal information, and it is detected whether the environmental state is a static state.

[0097] When the predicted latency value is greater than the preset weak network threshold, it can be determined that the current network is about to enter a weak network state; and if the environment is static, it can be determined that the player on the user terminal is in a state suitable for continuing the game. When the network is about to enter a weak network environment and / or a network outage environment and the player on the user terminal can continue the game, the game mode is switched.

[0098] In this embodiment, both the preset weak network environment threshold and the preset network outage environment threshold can be adjusted based on current latency data. For example, if the number of players entering a weak network or experiencing a network outage has increased significantly recently, the preset weak network environment threshold or the preset network outage environment threshold can be automatically lowered; conversely, they can be raised. Lowering the threshold when the number of players increases allows for earlier determination of weak network / network outage conditions when latency is lower, enabling earlier game mode switching. Conversely, when the number of players increases and the overall network quality in the area deteriorates, earlier game mode switching ensures clear and smooth game visuals on the user's terminal, improving the player's gaming experience.

[0099] By simultaneously assessing both the preset weak network threshold and environmental conditions, the system determines whether to switch game modes. This ensures smooth and clear gameplay while minimizing the use of network resources, meeting players' actual needs and enhancing their gaming experience.

[0100] Furthermore, the step of determining the environmental state based on the terminal information includes:

[0101] Step i: Obtain the coordinate information and angular velocity information within a preset calculation period from the terminal information;

[0102] In this embodiment, it should be noted that the coordinate information refers to the GPS coordinate information corresponding to the user terminal used by the player when playing cloud gaming. Specifically, the client program in the user terminal continuously collects the current GPS coordinate information and reports it to the big data analysis platform. The big data analysis platform obtains a set of GPS coordinate information within each preset calculation period. For example, when there are D GPS information within a preset calculation period, they include: GPS1, GPS2, GPS3...GPSn, where GPS1 = (x1, y1, z1), GPS2 = (x2, y2, z2), GPS3 = (x3, y3, z3), GPS4 = (x4, y4, z4)...GPSn = (xD, yD, zD).

[0103] In this embodiment, it should be noted that the angular velocity information refers to the angular velocity information corresponding to the user terminal used by the player during cloud gaming, for example, the angular velocity is d degrees / second. Specifically, the client program in the user terminal continuously collects the current gyroscope information of the user terminal and reports the gyroscope information to the big data analysis platform. The big data analysis platform derives the angular velocity information within a preset calculation period based on the gyroscope information within that preset calculation period. For example, the angular velocities within a certain preset calculation period are (x1, y1, h1), (x2, y2, h2)...(xγ, yγ, hγ). Where x, y, and h are the angular velocities in the x, y, and h axes, respectively.

[0104] Step j: Calculate the coordinate state change trend of the client based on the coordinate information provided.

[0105] In this embodiment, it should be noted that the coordinate state change trend includes the angle change trend and the difference vector membrane change trend. The coordinate state change trend represents the direction of the user terminal and the displacement change trend of the user terminal. Specifically, a three-dimensional vector is determined for each pair of adjacent points in a preset calculation period, for example, v1 = (x2-x1, y2-y1, z2-z1); v2 = (x3-x2, y3-y2, z3-z2); v3 = (x4-x3, y4-y3, z4-z3)...vi = (xi+1-xi, yi+1-yi, zi+1-zi). Calculate the angle between any two adjacent vectors. When the angle is θ, the angle between any two adjacent vectors is cos(θ) = v1·v2 / (|v1|*|v2|), then the angle θ is θ = arccos(v1·v2 / (|v1|*|v2|)). At this point, we know that the angle θ between any two adjacent vectors within the preset calculation period is arccos(θ)1, arccos(θ)2, ..., arccos(θ). δThe trend of angle change is calculated based on the angle of each adjacent vector within a preset calculation period. When the angle is θ, the trend of angle θ change α is α=(arccos(θ)2 / arccos(θ)1+…+arccos(θ)). δ / arccos(θ) δ-1 ) / δ, that is Where δ is the number of angles between adjacent vectors, and i represents the angle of the adjacent vector being calculated. The difference r between any two adjacent vectors is r = v j -v j-1 The magnitude of the vector is When there are δ difference vector magnitudes, each difference vector magnitude is |r1|,|r2|,...|r δ The formula for calculating the trend of the difference vector magnitude β is as follows: The coordinate state change trend includes the angle change trend and the difference vector magnitude change trend. Specifically, the angle change trend and the difference vector magnitude change trend are calculated based on the coordinate information obtained within a preset calculation period, thereby determining the coordinate state change trend.

[0106] Step k, and calculate the velocity state change trend of the client based on the angular velocity information;

[0107] In this embodiment, it should be noted that the velocity state change trend includes the three-axis angular velocity change trend, such as the X-axis angular velocity change trend, the Y-axis angular velocity change trend, and the Z-axis angular velocity change trend. The velocity state change trend represents the angular velocity change trend of the user terminal in multiple directions, that is, it represents the motion state of the user terminal in each direction. When there are γ angular velocities obtained within the preset calculation period, the X-axis angular velocity change trend ρ x for Y-axis angular velocity variation trend ρ y for Z-axis angular velocity variation trend ρ z for Specifically, the X-axis angular velocity change trend, Y-axis angular velocity change trend, and Z-axis angular velocity change trend are calculated based on the angular velocity information obtained within the preset calculation period, thereby determining the velocity state change trend.

[0108] Step 1: Determine the environmental state based on the coordinate state change trend and the velocity state change trend.

[0109] After obtaining the change trends of the coordinate state and the speed state, the change of the current position of the user terminal compared with the previous position can be analyzed based on these change trends. For example, when a player is sitting on a moving subway, the direction and displacement of the change of the user terminal can be obtained according to the change trend of the coordinate state. When the displacement is large during the rapid movement of the subway, the change of the current position of the user terminal compared with the previous position can be further determined based on the change trend of the speed state, and the final environmental state of the user terminal can be determined.

[0110] Using GPS coordinate information and angular velocity information as the basis for judging the environmental state corresponding to the user terminal improves the accuracy of environmental state judgment.

[0111] Further, the steps of determining the environmental state according to the change trend of the coordinate state and the change trend of the speed state include:

[0112] Step m, if the change trend of the coordinate state matches the preset coordinate static interval, and the change trend of the speed state matches the preset speed static interval, it is determined that the environmental state corresponding to the client is a static state.

[0113] In this embodiment, it should be noted that the preset coordinate static interval includes two coordinate sub-thresholds, which are determined in advance according to empirical values and a large number of experiments, and the two of them constitute a coordinate state change floating range. For example, the coordinate sub-thresholds are G and H respectively, where G < H, then the coordinate static interval is the closed interval from G to H. As can be seen from the above calculation formula, the change trend of the coordinate state can be a specific value. When the change trend of the coordinate state is within the coordinate state change floating range coordinate static threshold formed by the coordinate sub-thresholds, it can be considered that the change trend of the coordinate state matches the preset coordinate static interval, that is, the current user terminal is in a static state, that is, a state suitable for continuing the game. Among them, the coordinate static interval includes the angle static interval corresponding to the angle change trend and the difference modulus static interval corresponding to the difference vector modulus change trend. The environmental state refers to the possible state information of the player using the user terminal at present, and also refers to the current state information of the user terminal. For example, when the player sits still, the mobile phone running the game is in a static state; when the player is running, the mobile phone running the game is in a moving state.

[0114] Specifically, when the angle change trend in the coordinate state change trend matches the static angle interval and the difference vector magnitude change trend matches the static difference vector interval, the environmental state corresponding to the terminal can be determined to be a static state. The coordinate state change trend indicates whether the coordinate state is fluctuating, and the fluctuation range is limited to a certain proportion A by the static coordinate interval. That is, if the possible fluctuation range of the coordinate state change trend is within this certain proportion, the player is considered to be in a static environment, suitable for continuing to play the game; if the possible value of the coordinate state change trend exceeds this certain proportion A, the player is considered to be in a moving environment, unsuitable for continuing to play cloud gaming. It can be understood that this certain proportion A serves as an empirical value during system operation, and this value is continuously adjusted as the system continues to run.

[0115] In this embodiment, it should be noted that the preset static speed range refers to a speed range determined in advance based on empirical values ​​and a large number of experiments. Starting from 0, this range constitutes a fluctuating range of speed state changes. The speed state change trend, as shown in the above calculation formula, can be a specific value. When the speed state change trend is within this fluctuating range, it can be considered that the speed state change trend matches the preset static speed range, meaning the current user terminal is in a stationary state, suitable for continuing the game. When the static speed range is 0, it represents an absolutely stationary state. In a suitable state for gaming, there can be some angular velocity fluctuations, such as the player slowly moving the user terminal. Therefore, a fluctuating speed state change range is set, and the speed state change trend within this range is considered to indicate a stationary environmental state. The static speed range includes the X-axis static range corresponding to the X-axis angular velocity change trend, the Y-axis static range corresponding to the Y-axis angular velocity change trend, and the Z-axis static range corresponding to the Z-axis angular velocity change trend. Environmental state refers to the possible current state information of the player using the user terminal, and also to the current state information of the user terminal. For example, when the player is sitting still, the mobile phone running the game is in a stationary state; when the player is running, the mobile phone running the game is in a moving state.

[0116] Specifically, when the X-axis angular velocity change trend matches the X-axis static range, the Y-axis angular velocity change trend matches the Y-axis static range, and the Z-axis angular velocity change trend matches the Z-axis static threshold range—that is, when the angular velocity change trends in all three directions are within the corresponding velocity state change fluctuation range—the user terminal's environmental state can be determined to be static. Here, the velocity state change trend indicates whether the angular velocity state in each direction fluctuates, and the fluctuation range is limited to a certain proportion B by the velocity static range. That is, when the angular velocity state fluctuation range is within this certain proportion B, the player is considered to be in a static environment, suitable for continuing to play the game; when the angular velocity state fluctuation range exceeds this certain proportion B, the player is considered to be in motion in at least one direction, unsuitable for continuing to play cloud gaming. It is understandable that this certain proportion B serves as an empirical value during system operation, and this value is continuously adjusted as the system continues to run.

[0117] Based on the trends in coordinate and velocity changes, we can further determine whether the user terminal's environment is stationary, thereby improving the accuracy of real-world scenario judgments and providing an effective basis for deciding whether to switch the player's game mode.

[0118] Furthermore, in this embodiment, the determination of whether the environmental state is static is based on whether the velocity state change trend matches the coordinate static interval and whether the velocity state change trend matches the velocity static interval. In a real-time example, the environmental state corresponding to the current user terminal can also be determined to be static only when the velocity state change trend matches the coordinate static interval or when the velocity state change trend matches the velocity static interval.

[0119] Furthermore, the steps to switch game modes include:

[0120] Step n: Obtain the game system files;

[0121] In this embodiment, it should be noted that when it is determined that the player is about to be in a weak or disconnected network environment and that the player's current state is suitable for continuing to play the game, the cloud gaming server begins to transmit the current state of the cloud game instance to the client application via a mirror. The client program, through the virtual machine plugin integrated into the application, starts the image in a virtual machine, achieving the effect of converting the currently running cloud game into a local game, thus no longer being affected by weak or disconnected networks. The cloud game running machine refers to the instance machine where the cloud game runs in the cloud; that is, the implementation machine stores the game data for the game's runtime. Game system files refer to relevant information in the cloud game running instance machine, such as real-time game process data, current system memory data, and computer device operating status. Specifically, when it is determined that the player is about to be in a weak or disconnected network environment and that the player's current state is suitable for continuing to play the game, the cloud gaming server locates the instance machine where the user is currently running the game, begins to obtain the relevant game system files from the game instance system, and saves them to a storage device such as a hard drive.

[0122] Step o: Generate an image file based on the game system files, determine the storage address of the image file, and send the storage address to the client;

[0123] In this embodiment, it should be noted that the cloud gaming server finds the instance machine where the current user is running the game, copies the game system files of the machine and generates an image file, stores the image file in the file resource server, generates the file address corresponding to the image file, and sends a message to the client program to notify that the user's cloud gaming mode is about to be switched to local gaming mode, and sends the corresponding image file address.

[0124] Specifically, generating an image file from the game system files can be achieved as follows: After saving the game system files, the cloud gaming server uses the system backup function to package the entire system files into an image file. This can be achieved using virtual machine technologies, such as the `qemu-img` command (`qemu-img create cloudgame.iso`) in QEMU virtualization technology, or other virtual machine technologies like VMware and VirtualBox. After generating the image file, it is stored on a static file resource server for download. (Reference) Figure 4 When a player is in the game, the cloud gaming instance management service module in the cloud corresponding to the game will copy the current system files in the cloud gaming instance machine to generate an image file, and then store the image file on the static file resource server.

[0125] Specifically, generating an image file based on game system files can also involve copying only the process and memory information of the current game from the cloud gaming instance to the user's local terminal for execution. This involves finding the process ID (ID) of the currently running game on the game instance; locating its associated memory address based on the process ID; copying the information from memory one by one using these memory addresses; preparing a public, clean cloud gaming system image file; writing the game's process and memory information into the memory storage unit of this cloud gaming system image file, thereby generating the corresponding game image file; and storing this game image file on a static file resource server. Further packaging only the game-related process and memory information can further improve the efficiency of image file generation.

[0126] Specifically, the file address corresponding to the image file is sent to the client. Based on the image file corresponding to the current game after packaging, a corresponding image file address is generated. The cloud gaming server then sends this image file address to the client program. Upon receiving the message, the client program downloads the corresponding system image file in the background based on the image file address. (Reference) Figure 5 The cloud gaming service program sends a notification to the client program that it is about to switch to local game mode. Upon receiving this notification, the client program pulls the image file from the cloud gaming file resource server. (Reference) Figure 6 After the client program downloads the image file, it loads the image file into the virtual machine and launches the game through the virtual machine plugin integrated into the application. After the game is launched in the local virtual machine, the user terminal continues to display the current progress screen of the cloud game instance, and the player can continue the game according to the current progress screen.

[0127] Furthermore, when the game installation folder for cloud gaming is not located on the machine running the game instance, but rather on a unified game installation server in a data center, to ensure that some games require loading certain static resource files from the game installation folder during gameplay, such as sound files, icons, and map files, please refer to [reference needed]. Figure 7 This embodiment achieves normal loading of relevant resource files during local game operation by mapping the virtual machine plugin in the client to the server where the game package is installed in the data center.

[0128] Specifically, before downloading the client program's image file, it can be determined whether to send a notification to the customer based on actual product needs. For example, if the image file is large and the user is using mobile data for the game experience, a notification can be sent before the game image file download, asking if the user wants to switch game modes. The user's choice determines whether to switch game modes, thus fulfilling the customer's true intentions and needs. Alternatively, after the image file is generated, the client program can automatically download it and run the game in a virtual machine plugin, providing the user with a seamless game mode switching experience. This ensures the clarity and smoothness of the game graphics without interrupting the user's gameplay.

[0129] Step p: If the client sends back information based on the storage address, switch the current game mode to the local game mode.

[0130] In this embodiment, it should be noted that the local game mode refers to the game mode running in the virtual machine plugin within the client program on the user's terminal. Specifically, after the virtual machine plugin in the client program launches the game, the cloud server will shut down the game running in the cloud and release cloud resources. The game will continue to run within this virtual machine plugin. When the player restarts the game, they can continue to enter the cloud game mode.

[0131] In one embodiment, when it is determined that a weak or disconnected network is imminent, the need to switch game modes can be determined based on user input information. Specifically, user input information, such as click and swipe events, is acquired over a set time period. Input information for multiple time periods is acquired, the frequency of user actions within each period is determined, and the trend of this frequency is calculated. When the frequency trend approaches zero, it is considered that the user may be keeping the device idle, meaning their attention may not be on the current game page, and therefore, switching game modes is unnecessary. This determination of whether to switch game modes when network quality is poor based on actual user actions conserves network resources and improves user experience.

[0132] refer to Figure 8 After the client loads the image file in the virtual machine plugin, the server-side data center will stop the cloud game from running on the cloud game instance machine, that is, shut down the game in the cloud.

[0133] By switching the game mode to local game mode, the poor user experience caused by network quality issues such as network latency or disconnection is avoided. This enables virtual machine plugins to run cloud games, ensuring the clarity and smoothness of cloud game graphics. This guarantees the quality of game operation and display even when network quality is poor.

[0134] In addition, refer to Figure 9 The present invention also provides a cloud gaming information synchronization device, characterized in that the cloud gaming information synchronization device comprises:

[0135] Information acquisition module 2001 is used to receive network information and terminal information sent by the client;

[0136] The data analysis module 2002 is used to determine the predicted latency value based on the network information and to determine the environmental status based on the terminal information;

[0137] The mode switching module 2003 is used to switch the game mode based on the predicted latency value and the environmental state.

[0138] Optionally, the data analysis module 2002 is further used for:

[0139] Obtain latency data within a preset calculation period from the network information, and determine the latency value in the latency data;

[0140] The dynamic coefficient of the gradient factor is calculated based on the aforementioned time delay value;

[0141] The predicted time delay value is calculated based on the time delay value and the dynamic coefficient of the gradient factor.

[0142] Optionally, the data analysis module 2002 is further used for:

[0143] Determine the previous preset calculation cycle adjacent to the preset calculation cycle, and determine the historical delay value corresponding to the previous preset calculation cycle;

[0144] Calculate the ratio between the latency value and the historical latency value, and use the ratio as the gradient factor corresponding to the preset calculation period;

[0145] Calculate the dynamic coefficient of the gradient factor based on each of the gradient factors.

[0146] Optionally, the mode switching module 2003 is further configured to:

[0147] Determine whether the predicted delay value is greater than a preset weak network threshold and whether the environmental state is static.

[0148] If the predicted latency value is greater than the preset weak network threshold and the environment is in a static state, then switch the game mode.

[0149] Optionally, the data analysis module 2002 is further used for:

[0150] Obtain the coordinate information and angular velocity information within a preset calculation period from the terminal information;

[0151] Calculate the coordinate state change trend and speed state change trend of the client based on the coordinate information provided.

[0152] And calculate the velocity state change trend of the client based on the angular velocity information.

[0153] The environmental state is determined based on the trends of the coordinate state changes and the trends of the velocity state changes.

[0154] Optionally, the data analysis module 2002 is further used for:

[0155] Obtain the angular velocity information within a preset calculation period from the terminal information;

[0156] If the trend of the coordinate state change matches the preset static coordinate interval, and the trend of the velocity state change matches the preset static velocity interval, then the environmental state corresponding to the client is determined to be a stationary state.

[0157] Optionally, the mode switching module 2003 is further configured to:

[0158] Obtain game system files;

[0159] An image file is generated based on the game system files, and the storage address of the image file is determined. The storage address is then sent to the client.

[0160] If the client sends information based on the storage address, switch the current game mode to the local game mode.

[0161] The specific implementation of the cloud gaming information synchronization device in this application is basically the same as the embodiments of the cloud gaming information synchronization method described above, and will not be repeated here.

[0162] Furthermore, the present invention also proposes a cloud gaming information synchronization device, characterized in that the cloud gaming information synchronization device includes a memory, a processor, and a cloud gaming information synchronization program stored in the memory and executable on the processor, wherein: when the cloud gaming information synchronization program is executed by the processor, it implements the cloud gaming information synchronization method described in various embodiments of the present invention.

[0163] The specific implementation of the cloud gaming information synchronization device in this application is basically the same as the embodiments of the cloud gaming information synchronization method described above, and will not be repeated here.

[0164] Furthermore, this invention also proposes a readable storage medium, which includes a computer-readable storage medium storing a cloud gaming information synchronization program thereon. The readable storage medium may be... Figure 1The memory 1005 in the terminal can also be at least one of ROM (Read-Only Memory) / RAM (Random Access Memory), magnetic disk, optical disk, etc. The readable storage medium includes several instructions to cause a cloud gaming information synchronization device with a processor to execute the cloud gaming information synchronization method described in various embodiments of the present invention.

[0165] The specific implementation of the cloud gaming information synchronization program in the readable storage medium of this application is basically the same as the embodiments of the cloud gaming information synchronization method described above, and will not be repeated here.

[0166] It is understood that in the description of this specification, references to terms such as "one embodiment," "another embodiment," "other embodiments," or "first embodiment to Nth embodiment," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0167] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0168] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0169] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0170] The above are merely preferred embodiments of the present invention and do not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A cloud game information synchronization method, characterized by, The method comprises the following steps: receiving network information and terminal information sent by a client; determining a predicted delay value according to the network information and determining an environment state according to the terminal information, the predicted delay value being a reference value for predicting network delay in the nearest future period of time, and the environment state being actual scene state information of the current user terminal, representing the current activity state of the user terminal, and the client being a client program on the user terminal; switching a game mode according to the predicted delay value and the environment state; the step of switching the game mode according to the predicted delay value and the environment state comprises: determining whether the predicted delay value is greater than a preset weak network threshold value and whether the environment state is a static state; if the predicted delay value is greater than the preset weak network threshold value and the environment state is a static state, switching the current game mode to a local game mode.

2. The cloud gaming information synchronization method of claim 1, wherein, The step of determining the predicted delay value according to the network information comprises: obtaining delay data in a preset calculation period in the network information and determining a delay value in the delay data; calculating a gradual factor dynamic coefficient according to the delay value; calculating the predicted delay value according to the delay value and the gradual factor dynamic coefficient.

3. The cloud gaming information synchronization method of claim 2, wherein, The step of calculating the gradual factor dynamic coefficient according to the delay value comprises: determining a previous preset calculation period adjacent to the preset calculation period and determining a historical delay value corresponding to the previous preset calculation period; calculating a ratio between the delay value and the historical delay value, and taking the ratio as a gradual factor corresponding to the preset calculation period; calculating a gradual factor dynamic coefficient according to each gradual factor.

4. The cloud gaming information synchronization method of claim 1, wherein, The step of determining the environment state according to the terminal information comprises: obtaining coordinate information and angular velocity information in a preset calculation period in the terminal information; calculating a coordinate state change trend corresponding to the client according to each coordinate information; calculating a speed state change trend corresponding to the client according to each angular velocity information; determining an environment state according to the coordinate state change trend and the speed state change trend.

5. The cloud gaming information synchronization method of claim 4, wherein, The step of determining the environment state according to the coordinate state change trend and the speed state change trend comprises: if the coordinate state change trend matches a preset coordinate static interval and the speed state change trend matches a preset speed static interval, determining that the environment state corresponding to the client is a static state.

6. The cloud gaming information synchronization method of claim 1, wherein, The step of switching the game mode comprises: obtaining a game system file; generating an image file according to the game system file and determining a storage address of the image file, and sending the storage address to the client; if information fed back by the client based on the storage address is received, switching the current game mode to a local game mode.

7. A cloud game information synchronization apparatus characterized by comprising: The cloud game information synchronization device comprises: an information acquisition module configured to receive network information and terminal information sent by a client; The data analysis module is configured to determine a predicted latency value according to the network information and determine an environment state according to the terminal information, the predicted latency value being a reference value for predicting a network delay in a nearest future time period, and the environment state being actual scene state information of the user terminal itself, representing an activity state of the user terminal at present, and the client being a client program on the user terminal. The mode switching module is configured to switch a game mode according to the predicted latency value and the environment state. The mode switching module is further configured to determine whether the predicted latency value is greater than a preset weak network threshold and whether the environment state is a static state. If the predicted latency value is greater than the preset weak network threshold and the environment state is the static state, the current game mode is switched to a local game mode.

8. A cloud game information synchronization device, characterized by, The cloud game information synchronization device comprises a memory, a processor, and a cloud game information synchronization program stored in the memory and executable on the processor, wherein the cloud game information synchronization program, when executed by the processor, implements the steps of the cloud game information synchronization method according to any one of claims 1 to 6.

9. A readable storage medium, characterized by, The readable storage medium stores a cloud game information synchronization program, and the cloud game information synchronization program, when executed by a processor, implements the steps of the cloud game information synchronization method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Game running method, device, equipment and system and storage medium

    CN112023398A