A game object pushing method and device, electronic equipment and storage medium

By determining client performance parameters and push priority, and selecting target game objects, the problem of client overload caused by traditional AOI push mechanisms is solved. This enables efficient game object push in dense and frequently moving scenarios, ensuring a good gaming experience.

CN116036594BActive Publication Date: 2026-08-25NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211557902.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-06
Publication Date
2026-08-25
Estimated Expiration
2042-12-06

AI Technical Summary

Technical Problem

Traditional AOI push mechanisms based on spatial straight-line distance cause player client overload and performance overhead in scenarios with high game object distribution density. In particular, when players or game objects move frequently, the frequent creation/destruction of game objects leads to serious performance problems.

Method used

By determining client performance parameters, setting the area of ​​interest for the player's virtual character, and selecting target game objects based on push priority discrimination parameters, the number of target game objects is ensured not to exceed the client performance limit. Parameters such as level, distance, angle, and distance adjustment are used to prioritize the push of important game objects.

Benefits of technology

In situations where game objects are densely distributed and frequently moved, reducing the number of game objects created by the client lowers performance overhead and ensures a good gaming experience for all client users, especially timely delivery of important game objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116036594B_ABST
    Figure CN116036594B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a game object pushing method and device, electronic equipment and a medium. The method comprises: determining a performance parameter of a client; wherein the client is used to control a virtual character of a player; determining a region of interest of the virtual character of the player and game objects contained in the region of interest; determining a pushing priority determination parameter of each game object, and determining a target game object to be pushed from the game objects based on the pushing priority determination parameter; and pushing the target game object to the client, so that the client displays the target game object in a game scene of the region of interest. According to the embodiments of the present disclosure, different upper limits of the number of game objects to be pushed can be corresponded based on different client performance parameters, and the overload of the client caused by a large number of game objects to be pushed can be avoided in a scene with a high distribution density of game objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a game object pushing method, a game object pushing device, an electronic device, and a computer-readable storage medium. Background Technology

[0002] A game scene may contain tens of thousands of game objects. However, considering that the device performance of a player's client is insufficient to support the creation of such a large number of game objects simultaneously, the common practice is to define an Area of ​​Interest (AOI) for the player. The server will only push the game object's data to the player's client and create a corresponding mirror entity on the client if and only if the game object appears within the player's AOI. The quality of the AOI push mechanism design largely determines the player's gaming experience; an excellent AOI push mechanism can further improve game smoothness while ensuring game effects.

[0003] Traditional AOI push mechanisms based on spatial straight-line distance can achieve good results in scenarios where game objects are evenly distributed and have low density. However, in scenarios where game objects have high density, this AOI push mechanism will cause the server to push a large number of game objects to the player's client, causing the player's client to be overloaded.

[0004] Furthermore, when players or other game objects move frequently, this AOI push mechanism may cause game objects to frequently enter and exit the AOI range, meaning that the player client will frequently create / destroy game objects, resulting in serious performance overhead. Summary of the Invention

[0005] In view of the above problems, embodiments of the present disclosure are proposed to provide a game object pushing method and a corresponding game object pushing device, an electronic device, and a computer-readable storage medium to overcome or at least partially solve the above problems.

[0006] This disclosure provides a method for pushing game objects, the method comprising:

[0007] Determine the performance parameters of the client; wherein, the player's virtual character is controlled through the client;

[0008] Determine the region of interest (ROI) of the player's virtual character and the game objects contained within the ROI;

[0009] Determine the push priority discrimination parameters for each game object, and determine the target game objects to be pushed from the game objects based on the push priority discrimination parameters; the number of target game objects is not greater than the upper limit of the number of game objects pushed corresponding to the performance parameters of the client; the push priority discrimination parameters are parameter information used to determine the push priority of game objects;

[0010] The target game object is pushed to the client so that the client displays the target game object in the game scene of the region of interest.

[0011] This disclosure also discloses a game object pushing device, the device comprising:

[0012] The first determining module is used to determine the performance parameters of the client; wherein the player's virtual character is controlled through the client.

[0013] The second determining module is used to determine the region of interest of the player's virtual character and the game objects contained in the region of interest;

[0014] The third determining module is used to determine the push priority discrimination parameters for each of the game objects, and to determine the target game objects to be pushed from the game objects based on the push priority discrimination parameters; the number of the target game objects is not greater than the upper limit of the number of game objects pushed corresponding to the performance parameters of the client; the push priority discrimination parameters are parameter information used to determine the push priority of game objects;

[0015] The push module is used to push the target game object to the client so that the client can display the target game object in the game scene of the region of interest.

[0016] This disclosure also discloses an electronic device, including: a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements a game object pushing method as described above.

[0017] This disclosure also discloses a computer-readable storage medium storing a computer program that, when executed by a processor, implements a game object pushing method as described above.

[0018] The embodiments disclosed herein have the following advantages:

[0019] In this embodiment, the client's performance parameters, the player's virtual character's region of interest, and the game objects contained within that region of interest can be determined. A push priority parameter for each game object can be determined, and the target game objects to be pushed can be identified from multiple game objects using this parameter. The number of target game objects does not exceed the upper limit for the number of game objects pushed corresponding to the client's performance parameters. The identified target game objects can then be pushed to the client, ensuring that the number of game objects created on the client does not exceed the set upper limit. By employing this method, different upper limits for the number of game objects pushed can be set based on different client performance parameters. This avoids client overload caused by pushing a large number of game objects in scenarios with high game object density. Higher upper limits can be set for high-performance clients, while lower upper limits can be set for clients with average performance, effectively ensuring a good gaming experience for all client users. Even when game objects are densely distributed, this solution can still prioritize pushing the most "important" game objects to the client based on push priority. Attached Figure Description

[0020] Figure 1 This is a flowchart of the steps of a game object push method provided in an embodiment of this disclosure;

[0021] Figure 2 This is a flowchart of another game object push method provided in this embodiment;

[0022] Figure 3 This is a schematic diagram of a game scene according to an embodiment of this disclosure;

[0023] Figure 4 This is a structural block diagram of a game object pushing device provided in an embodiment of this disclosure;

[0024] Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of the present disclosure. Detailed Implementation

[0025] To make the above-mentioned objects, features, and advantages of this disclosure more apparent and understandable, the disclosure will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art are within the scope of protection of this disclosure.

[0026] The Region of Interest (AOI) is commonly used in game development to represent the area of ​​perception of the player's client. The server will only push the data of the game object to the player's client and create a corresponding mirror entity on the client when game objects such as monsters, buildings, and NPCs (non-player characters) are within the player's AOI.

[0027] Traditional AOI push notifications are based on spatial distance. For example, if the spatial distance between a game object and the player's virtual character is not greater than a set distance threshold, it means that the game object is within the AOI range and can be pushed to the player's client. For game objects that have already been mirrored on the player's client, if the spatial distance between the game object and the player's virtual character is greater than a set distance threshold, it means that the game object is outside the AOI range and can be destroyed from the player's client.

[0028] Traditional AOI push mechanisms based on spatial straight-line distance can achieve good results in scenarios where game objects are evenly distributed and have low density. However, in scenarios where game objects have high density, this AOI push mechanism will cause the server to push a large number of game objects to the player's client, causing the player's client to be overloaded.

[0029] Furthermore, when players or other game objects move frequently, this AOI push mechanism may cause game objects to frequently enter and exit the AOI range, meaning that the player client will frequently create / destroy game objects, resulting in serious performance overhead.

[0030] Based on this, this disclosure relates to a solution that effectively reduces the number and frequency of game objects created on the player's client regardless of how game objects are distributed or moved in the scene, without significantly affecting the player's gaming experience.

[0031] This embodiment of the disclosure can determine the client's performance parameters, the region of interest of the player's virtual character and the game objects contained within that region of interest, and the push priority judgment parameters for each game object. Based on these parameters, the target game objects to be pushed can be identified from multiple game objects, wherein the number of target game objects does not exceed the upper limit for the number of game objects to be pushed corresponding to the client's performance parameters. The identified target game objects can then be pushed to the client, ensuring that the number of game objects created on the client does not exceed the set upper limit. By employing the above method, different upper limits for the number of game objects to be pushed can be set based on different client performance parameters. This avoids client overload caused by pushing a large number of game objects in scenarios with high game object distribution density. Higher upper limits can be set for clients with better performance, and lower upper limits can be set for clients with average performance, effectively ensuring the gaming experience for all client users. Even when game objects are densely distributed, this solution can still prioritize pushing the most "important" game objects to the client based on push priority.

[0032] Reference Figure 1 The diagram illustrates a flowchart of a game object push method provided in this embodiment, which may specifically include the following steps:

[0033] Step 101: Determine the client's performance parameters.

[0034] Players control their virtual characters through a client application.

[0035] The game object push method provided in this disclosure can be applied to a game server. The game server and the game client are connected in communication. The game client can be various terminal devices, such as smartphones, tablets, laptops, desktop computers, game consoles, smart speakers, smartwatches, etc., but is not limited to these.

[0036] In this embodiment of the disclosure, client performance parameters can be determined. These client performance parameters characterize the strength or weakness of the client's performance.

[0037] Step 102: Determine the region of interest of the player's virtual character and the game objects contained within the region of interest.

[0038] Every object in the game (from characters and collectibles to light sources, cameras, and effects) can be a game object.

[0039] In this embodiment, the region of interest of the player's virtual character can be determined, and the game objects contained within that region of interest can be identified. These game objects belong to corresponding types; specifically, the types of game objects can include player types, monster types, and NPC types. The types of game objects can be set according to actual needs, and this embodiment does not impose specific limitations on this.

[0040] Step 103: Determine the push priority discrimination parameter for each game object, and determine the target game object to be pushed from the game objects based on the push priority discrimination parameter.

[0041] The number of target game objects shall not exceed the upper limit of the number of game objects to be pushed corresponding to the client's performance parameters; the push priority discrimination parameter is the parameter information used to determine the push priority of game objects. The push priority is used to determine the order in which pushes are performed.

[0042] The maximum number of game objects that can be pushed is the upper limit. Different types of game objects may have corresponding maximum push limits. For example, for player types, the maximum push limit could be A; for monster types, it could be B; and for NPC types, it could be C. In other words, there is a mapping relationship between the type of game object and the maximum push limit.

[0043] In this embodiment of the disclosure, there is also a mapping relationship between the client performance parameters and the upper limit of the number of game objects to be pushed. Different upper limits of the number of game objects to be pushed can be set for different client performance parameters.

[0044] In this embodiment, a push priority judgment parameter can be determined for each game object, and the target game object to be pushed can be determined from multiple game objects based on the push priority judgment parameter. As an example, game objects can be sorted by push priority according to the push priority judgment parameter, and game objects with higher push priority can be preferentially determined as target game objects. The number of determined target game objects does not exceed the upper limit of the number of game objects pushed corresponding to the client performance parameters.

[0045] Step 104: Push the target game object to the client so that the client displays the target game object in the game scene of the region of interest.

[0046] In this embodiment of the disclosure, after the target game object is determined, its data can be pushed to the (game) client. The client can then display the target game object in the game scene within its region of interest based on the acquired data. The region of interest for the player's virtual character is typically consistent with the client's screen size, but in some cases may be larger.

[0047] In summary, in this embodiment, different upper limits for the number of game objects to be pushed can be set based on different client performance parameters. This avoids client overload caused by pushing a large number of game objects in scenarios with high game object distribution density. A higher upper limit can be set for clients with better performance, and a lower upper limit can be set for clients with average performance, effectively ensuring the gaming experience for all client users. When game objects are densely distributed, this solution can still prioritize pushing the most "important" game objects to the client based on push priority.

[0048] Reference Figure 2 The diagram illustrates a flowchart of another game object pushing method provided in this embodiment, which may specifically include the following steps:

[0049] Step 201: Determine the client's performance parameters.

[0050] Players control their virtual characters through a client application.

[0051] In one optional embodiment of this disclosure, the performance parameters include performance level. Step 201, determining the client's performance parameters, may specifically include the following sub-steps:

[0052] Sub-step S11: Determine the device parameters of the client.

[0053] Sub-step S12: Determine the performance level to which the client belongs based on the device parameters.

[0054] In this embodiment of the disclosure, the client can be various terminal devices, each with corresponding device parameters that can be used to measure the performance level of the terminal device. Therefore, the client's device parameters can be determined, and then the client's performance level can be determined based on these device parameters.

[0055] In one optional embodiment of this disclosure, the higher the performance level, the greater the upper limit of the number of game objects that can be pushed. This ensures an effective gaming experience for players with devices of varying performance levels (high, medium, and low).

[0056] In one optional embodiment of this disclosure, the performance parameters include a performance score. The performance score corresponding to the client can be determined based on the client's device parameters, and the performance level can be determined based on the performance score. For example, a weighted average calculation can be performed on various device parameters to obtain the performance score corresponding to the client.

[0057] In one optional embodiment of this disclosure, the device parameters include one or more of the device model, CPU model, and GPU model. Sub-step S12, which determines the performance level of the client based on the device parameters, may specifically include the following sub-steps:

[0058] Based on one or more of the device model, CPU model, and GPU model, as well as a pre-established mapping relationship between device parameters and performance levels, the performance level to which the client belongs is determined.

[0059] In this embodiment of the disclosure, a mapping relationship between device model and performance level, a mapping relationship between CPU model and performance level, and a mapping relationship between GPU model and performance level can be established in advance, and the performance level to which the client belongs can be determined based on the established mapping relationship.

[0060] In one specific implementation, the system first checks if a pre-established mapping between device models and performance levels exists for a specific client device model. If a client device model exists, the performance level corresponding to that model is determined as the client's performance level. If no client device model exists, the system checks if a client CPU model exists in the pre-established mapping between CPU models and performance levels. If a client CPU model exists, the performance level corresponding to that model is determined as the client's performance level. If no client CPU model exists, the system checks if a client GPU model exists in the pre-established mapping between GPU models and performance levels. If a client GPU model exists, the performance level corresponding to that model is determined as the client's performance level. If no client GPU model exists, a preset performance level is determined as the client's performance level.

[0061] In one optional embodiment of this disclosure, each game object belongs to a corresponding type, and may further include the following sub-steps:

[0062] Based on the pre-established mapping relationship between performance level and the upper limit of the number of game objects that can be pushed, the upper limit of the number of game objects that can be pushed by the client is determined for different types of game objects.

[0063] Since a mapping relationship between performance level and the maximum number of game objects that can be pushed has been pre-established, 0 can be based on a defined performance level and the mapping relationship between performance level and the maximum number of game objects that can be pushed.

[0064] The system determines the maximum number of game objects that can be pushed to the client for different types of game objects.

[0065] Terminal devices are categorized by performance, and different upper limits can be set for the number of game objects pushed to different performance levels. For example, for terminal devices of the first performance level, the upper limit for the number of game objects of type 5 (player) is A, and the upper limit for the number of game objects of type monster is...

[0066] The limit is B; for terminal devices of the second performance level, the maximum number of push notifications for game objects of the player type is A1, and the maximum number of push notifications for game objects of the monster type is B1.

[0067] Step 202: Determine the region of interest of the player's virtual character and the game objects contained in the region of interest.

[0068] 0 can determine the region of interest of the player's virtual character, and can determine the range within that region of interest.

[0069] The game objects within the enclosure.

[0070] Step 203: Determine the push priority discrimination parameters for each game object.

[0071] The push priority discrimination parameter is the parameter information used to determine the push priority of game objects.

[0072] 5. In this embodiment of the disclosure, the push priority discrimination parameter includes one or more of the following: level parameter, distance parameter, and angle parameter. The push priority discrimination parameter may also include a distance adjustment parameter, which can determine the push priority discrimination parameter of each game object respectively.

[0073] In one optional embodiment of this disclosure, step 203, which determines the push priority discrimination parameter for each game object, may specifically include the following sub-steps:

[0074] Sub-step S21: Calculate the spatial distance between the game object and the player's virtual character, and determine the spatial distance as the distance parameter corresponding to the game object.

[0075] Sub-step S22: Obtain the field of view of the player's virtual character, determine the angle between the game object and the center line of the field of view, and define the angle as the angle parameter corresponding to the game object.

[0076] Sub-step S23: Determine the time interval between the last time the game object left / entered the region of interest of the client and the current time, and determine the distance adjustment parameter to be assigned to the game object based on the time interval.

[0077] The level parameter is used to measure the level of game objects. In practice, the level parameter for the vast majority of game objects is 0 by default, while the level parameter for a few special game objects, such as boss monsters or other game objects that need to be displayed first, can be set to a value greater than 0.

[0078] The distance parameter is used to measure the spatial distance between a game object and the player's virtual character. The spatial distance between a game object and the player's virtual character can be calculated and defined as the distance parameter corresponding to that game object.

[0079] The angle parameter is used to measure the direction of a game object within the player's virtual character's field of view. It allows you to obtain the player's virtual character's field of view and determine the angle between the game object and the centerline of the field of view, defining this angle as the corresponding angle parameter for the game object.

[0080] The distance adjustment parameter is used to adjust the distance parameter during the calculation and determination of the priority parameter, thereby adjusting the push priority of the corresponding game object in the region of interest.

[0081] Distance adjustment parameters can include penalty and reward parameters. These are additional parameters assigned to game objects that frequently enter and exit the client's region of interest (ROI), used to reduce the performance overhead of frequent client-side creation and destruction of game objects. The penalty parameter penalizes game objects that frequently enter and exit the client's ROI, while the reward parameter rewards them. The time interval between a game object's last entry / exit from the client's ROI and the current moment can be determined, and the distance adjustment parameters assigned to that game object can be determined based on this time interval.

[0082] In an optional embodiment of this disclosure, the sub-step S23, which determines the distance adjustment parameter assigned to the game object based on the time interval, may specifically include the following sub-steps:

[0083] If the time interval between the last time the game object left the client's region of interest and the current time is less than a preset first time interval threshold, then the first distance value is determined as the penalty parameter corresponding to the game object, so as to reduce the push priority of the game object in the region of interest by adding the penalty parameter on the basis of the distance parameter.

[0084] If the time interval between the last time the game object left the client's region of interest and the current time is not less than the preset first time interval threshold, then the penalty parameter will not be added to the distance parameter.

[0085] If the time interval between the last time the game object entered the region of interest of the client and the current time is less than the preset first time interval threshold, then the second distance value is determined as the reward parameter corresponding to the game object, so as to improve the push priority of the game object in the region of interest by subtracting the reward parameter from the distance parameter.

[0086] If the time interval between the last time the game object entered the region of interest of the client and the current time is not less than the preset first time interval threshold, then the reward parameter will not be subtracted from the distance parameter.

[0087] In this embodiment, if the time interval between the last time a game object left the client's region of interest and the current time is less than a preset first time interval threshold, the first distance value can be determined as the penalty parameter corresponding to the game object. By adding the penalty parameter to the distance parameter, the push priority of the game object in the region of interest is reduced. If the time interval between the last time a game object left the client's region of interest and the current time is not less than the preset first time interval threshold, no penalty is imposed on the game object, and the penalty parameter does not need to be added to the distance parameter.

[0088] If the time interval between the last time a game object entered the client's region of interest and the current time is less than a preset first time interval threshold, then the second distance value can be determined as the reward parameter for the game object. By subtracting the reward parameter from the distance parameter, the push priority of the game object in the region of interest can be increased. If the time interval between the last time a game object entered the client's region of interest and the current time is not less than the preset first time interval threshold, then no reward is given to the game object, and the reward parameter does not need to be subtracted from the distance parameter.

[0089] In practice, if the time interval between the last time a game object left the player's region of interest (ROI) and the current time is relatively small, it's necessary to avoid immediately allowing the game object to re-enter the ROI. Therefore, a penalty parameter can be set to lower its push priority. Conversely, if the time interval between the last time a game object entered the ROI and the current time is relatively small, it's necessary to avoid immediately allowing the game object to leave the ROI. Therefore, a reward parameter can be set to increase its push priority. The goal is to minimize the frequency of game objects frequently entering and exiting the ROI at its boundaries.

[0090] Step 204: Compare the level parameters of each game object to obtain a first comparison result indicating the level, and prioritize the game object with the higher level in the first comparison result as the target game object.

[0091] In this embodiment of the disclosure, the level parameters of each game object can be compared to obtain the corresponding first comparison result. The game objects can be sorted according to the first comparison result, and the game objects with higher levels can be preferentially identified as target game objects.

[0092] Step 205: For game objects belonging to the same level, the distance parameter and the angle parameter corresponding to the game object are used to perform calculations to obtain the priority parameter corresponding to the game object. The priority parameters of each game object are compared to obtain a second comparison result indicating the priority. The game object with the higher priority in the second comparison result is preferentially determined as the target game object.

[0093] For game objects of the same level, a priority comparison method is designed. The distance and angle parameters corresponding to the game object are used to calculate the priority parameter of the game object. The priority parameters of each game object are compared to obtain the corresponding second comparison result. The game objects are sorted according to the second comparison result, and the game object with higher priority is determined as the target game object first.

[0094] The game scene establishes a corresponding coordinate system, which all game objects must uniformly adhere to. This coordinate system uniquely identifies the directional position of each game object within the game scene. Within this coordinate system, the corresponding distance and angle parameters of each game object can be determined.

[0095] The number of target game objects identified shall not exceed the upper limit of the number of game objects to be pushed corresponding to the client performance parameters.

[0096] In one optional embodiment of this disclosure, step 204 uses the distance parameter and the angle parameter corresponding to the game object to perform calculations to obtain the priority parameter corresponding to the game object, which may specifically include the following sub-steps:

[0097] The priority parameter corresponding to the game object is obtained by performing calculations using the distance parameter, the angle parameter, and / or the distance adjustment parameter corresponding to the game object.

[0098] In this embodiment of the disclosure, a distance adjustment parameter may also be introduced to determine the priority parameter corresponding to the game object.

[0099] The priority parameters of game objects are determined by setting distance adjustment parameters. The purpose of this is to minimize the frequency with which game objects frequently enter and exit the region of interest (ROI) at its boundaries, thereby reducing client-side performance overhead.

[0100] In one optional embodiment of this disclosure, the priority parameter corresponding to the game object is obtained by calculation using the distance parameter, the angle parameter, and / or the distance adjustment parameter corresponding to the game object. Specifically, this may include the following sub-steps:

[0101] If the angle parameter is not greater than the preset angle parameter threshold and the game object does not have the corresponding distance adjustment parameter, then the distance parameter is determined as the priority parameter corresponding to the game object.

[0102] If the angle parameter is not greater than the preset angle parameter threshold and the game object has the corresponding distance adjustment parameter, then the value obtained by superimposing or subtracting the distance parameter is determined as the priority parameter corresponding to the game object.

[0103] If the angle parameter is greater than the preset angle parameter threshold and the game object does not have the corresponding distance adjustment parameter, then the radian value corresponding to the angle parameter is exponentially calculated, and the distance parameter is exponentially calculated. The result of multiplying the two exponentially calculated results and summing them with the distance parameter is determined as the priority parameter corresponding to the game object.

[0104] If the angle parameter is greater than the preset angle parameter threshold and the game object has the corresponding distance adjustment parameter, then the radian value corresponding to the angle parameter is exponentially calculated, and the distance parameter is exponentially calculated. The two exponentially calculated results are multiplied and summed with the distance parameter. The sum obtained by superimposing or subtracting the distance adjustment parameter is determined as the priority parameter corresponding to the game object.

[0105] In this embodiment of the disclosure, if the angle parameter is not greater than a preset angle parameter threshold and the game object does not have a corresponding distance adjustment parameter, the distance parameter can be directly determined as the priority parameter corresponding to the game object; if the angle parameter is not greater than a preset angle parameter threshold and the game object has a corresponding distance adjustment parameter, the value obtained by superimposing or subtracting the distance adjustment parameter from the distance parameter can be determined as the priority parameter corresponding to the game object.

[0106] If the angle parameter is greater than the preset angle parameter threshold and the game object does not have a corresponding distance adjustment parameter, then the radian value corresponding to the angle parameter and the distance parameter can be exponentially calculated. The result of multiplying the two exponentiation results and summing them with the distance parameter is determined as the priority parameter corresponding to the game object.

[0107] The larger the value of the priority parameter, the lower the priority.

[0108] It is understandable that the priority parameter is determined by three factors: the first is the distance parameter; the second is the angle parameter; and the third is the distance adjustment parameter.

[0109] In practice, for first-person perspective games, when the game object is within the player's virtual character's field of view, that is, when the angle parameter corresponding to the game object is no greater than 45 degrees, the distance parameter can be directly determined as the priority parameter, or the value obtained by superimposing or subtracting the distance adjustment parameter from the distance parameter can be determined as the priority parameter.

[0110] When a game object is not within the player's virtual character's field of view (i.e., the angle parameter corresponding to the game object is greater than 45 degrees), the distance parameter and distance adjustment parameter need to be additionally superimposed with the square of the angle parameter in radians multiplied by the distance parameter raised to the power of 1.5. The specific formula is as follows:

[0111] Priority parameter = Distance parameter ± Distance adjustment parameter + rad (angle parameter) 2 *Distance parameters 1.5 ;

[0112] This formula allows game objects that are within the player's field of view or close to the player to have higher priority.

[0113] It is understood that in this embodiment of the disclosure, the push priority of game objects is determined by both the level parameter and the priority parameter.

[0114] Reference Figure 3The diagram illustrates a game scene according to an embodiment of this disclosure. The game can be a first-person perspective game. The circular area centered on the player's virtual character's location is the player's region of interest (ROI). Game objects in the diagram are represented by Ei (level parameter, angle parameter, distance parameter). As shown in the diagram, E3 is not within the ROI and is not considered. E1, E2, E4, and E10 are within the ROI and within the player's virtual character's field of vision. E5, E6, E7, E8, and E9 are within the ROI but not within the player's virtual character's field of vision. Assuming that the time since E10 last left the client's ROI has not exceeded a set value, a penalty parameter needs to be set for E10, assigned a first distance value, assumed to be 100.

[0115] According to the technical solution disclosed herein, the push priority for each game object can be determined as follows:

[0116] Within the field of view (within the area of ​​the two dotted lines), game objects, meaning game objects with an angle parameter not exceeding 45 degrees, have the following specific level and priority parameters:

[0117] Priority(E1)=(0,950+0)=(0,950);

[0118] Priority(E2)=(0,500+0)=(0,500);

[0119] Priority(E4)=(0,800+0)=(0,800);

[0120] Priority(E10)=(0,900+100)=(0,1000).

[0121] Game objects not within the field of view, i.e., game objects with an angle parameter greater than 45 degrees, have the following specific level and priority parameters:

[0122] Priority(E5) = (0, 200 + 0 + 1.31) 2 *200 1.5 ) = (0, 5053);

[0123] Priority(E6) = (1, 450 + 0 + 1.88) 2 *450 1.5 ) = (1,34189);

[0124] Priority(E7) = (0, 750 + 0 + 2.36) 2 *750 1.5 ) = (0, 115147);

[0125] Priority(E8) = (0, 20 + 0 + 3.14) 2 *20 1.5 ) = (0, 902);

[0126] Priority(E9) = (0, 200 + 0 + 2.36) 2 *200 1.5 ) = (0, 15953).

[0127] The game objects within the region of interest are sorted to obtain:

[0128] E6, E2, E4, E8, E1, E10, E5, E9, and E7. Assuming that all the above game objects are of the monster type, and the maximum number of game objects pushed is 5, then E6, E2, E4, E8, and E1 will eventually be pushed to the player's client.

[0129] In one optional embodiment of this disclosure, in order to improve algorithm efficiency, the push priority is not calculated for all game objects within the region of interest. Instead, a certain number (greater than the upper limit of the number of game objects to be pushed) of game objects that are closest to the player's virtual character are selected in advance using a pruning strategy. When selecting candidates, game objects within a cylindrical range with a base radius of r1, r2, r3, r4, and r5 centered on the player's virtual character can be tried in turn until the number exceeds the threshold or the range exceeds the region of interest. This existing algorithm for obtaining specific types of game objects within the cylindrical range is very efficient. This pruning strategy can avoid a lot of unnecessary calculations.

[0130] Step 206: Push the target game object to the client so that the client displays the target game object in the game scene of the region of interest.

[0131] In this embodiment of the disclosure, after the target game object is determined, the data of the target game object can be pushed to the (game) client, and the client can then display the target game object in the game scene of the area of ​​interest based on the acquired data.

[0132] In summary, in this embodiment, different upper limits for the number of game objects to be pushed can be set based on different client performance parameters. This avoids client overload caused by pushing a large number of game objects in scenarios with high game object distribution density. A higher upper limit can be set for clients with better performance, and a lower upper limit can be set for clients with average performance, effectively ensuring the gaming experience for all client users. When game objects are densely distributed, this solution can still prioritize pushing the most "important" game objects to the client based on push priority.

[0133] Furthermore, in this disclosure, since the upper limit of the number of game objects to be pushed is different for different types, the pushing of game objects between different types does not affect each other.

[0134] In this disclosure, the terminal devices of the player client are classified by performance, and the upper limit of the number of game objects such as players, monsters, and NPCs is set for different performance levels. The higher the device performance level, the larger the upper limit of the number of game objects to be pushed.

[0135] Push notifications for different types of game objects do not affect each other; for example, push notifications for players and monsters do not affect each other. Game objects of the same type are sorted according to their push priority, with higher priority game objects being pushed first until the push limit for the corresponding game object is reached.

[0136] Push notification priority is defined as (level parameter, priority parameter). First, the levels are compared; higher levels have higher priority. For items of the same level, the priority parameter is compared; lower priority parameters have higher priority. The specific value of the priority parameter is related to three variables: the angle between the game object and the center line of the player's field of view, the spatial distance between the game object and the player, and the time interval since the last time the game object left / entered the client's region of interest (specifically, the time interval since the last time it was added / left the push notification list). The closer the game object is to the center line of the player's field of view, the closer the spatial distance to the player, and the longer the time elapsed since the last time it was added / left the push notification list, the smaller the custom priority parameter should be.

[0137] The beneficial effects of this solution are: it greatly reduces the number of game objects created on the client when game objects are densely distributed, thus significantly reducing overhead; it effectively reduces the frequency of game object creation / destruction on the client when players / game objects move frequently; and it effectively guarantees the gaming experience for players on high, medium, and low-end devices while significantly optimizing client performance.

[0138] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of this disclosure are not limited to the described order of actions, because according to the embodiments of this disclosure, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of this disclosure.

[0139] Reference Figure 4 The diagram illustrates a structural block diagram of a game object pushing device provided in an embodiment of this disclosure, which may specifically include the following modules:

[0140] The first determining module 401 is used to determine the performance parameters of the client; wherein the player's virtual character is controlled through the client.

[0141] The second determining module 402 is used to determine the region of interest of the player's virtual character and the game objects contained in the region of interest;

[0142] The third determining module 403 is used to determine the push priority discrimination parameters of each game object, and to determine the target game object to be pushed from the game objects based on the push priority discrimination parameters; the number of the target game objects is not greater than the upper limit of the number of game objects pushed corresponding to the performance parameters of the client; the push priority discrimination parameters are parameter information used to determine the push priority of game objects;

[0143] The push module 404 is used to push the target game object to the client so that the client can display the target game object in the game scene of the region of interest.

[0144] In this embodiment of the disclosure, the push priority discrimination parameter includes one or more of the following: level parameter, distance parameter, and angle parameter; the third determining module includes:

[0145] The comparison submodule is used to compare the level parameters of each game object, obtain a first comparison result representing the level, and prioritize the game object with the higher level in the first comparison result as the target game object.

[0146] The calculation and comparison submodule is used to perform calculations on the game objects belonging to the same level using the distance parameter and the angle parameter corresponding to the game object to obtain the priority parameter corresponding to the game object, compare the priority parameters of each game object to obtain a second comparison result indicating the priority, and prioritize the game object with the higher priority in the second comparison result as the target game object.

[0147] In this embodiment of the disclosure, the push priority discrimination parameter further includes a distance adjustment parameter, and the calculation and comparison submodule includes:

[0148] The calculation and comparison unit is used to perform calculations using the distance parameter, the angle parameter, and / or the distance adjustment parameter corresponding to the game object to obtain the priority parameter corresponding to the game object.

[0149] In this embodiment of the disclosure, the third determining module includes:

[0150] The calculation submodule is used to calculate the spatial distance between the game object and the player's virtual character, and to determine the spatial distance as the distance parameter corresponding to the game object;

[0151] The acquisition and determination submodule is used to acquire the field of view of the player's virtual character, determine the angle between the game object and the center line of the field of view, and determine the angle as the angle parameter corresponding to the game object;

[0152] The first determining submodule is used to determine the time interval between the last time the game object left / entered the region of interest of the client and the current time, and to determine the distance adjustment parameter to be assigned to the game object based on the time interval.

[0153] In this embodiment of the disclosure, the distance adjustment parameters include penalty parameters and reward parameters, and the first determining submodule includes:

[0154] The first determining unit is configured to determine the first distance value as the penalty parameter corresponding to the game object if the time interval between the last time the game object left the region of interest of the client and the current time is less than a preset first time interval threshold, so as to reduce the push priority of the game object in the region of interest by adding the penalty parameter on the basis of the distance parameter.

[0155] The second determining unit is configured to not add the penalty parameter to the distance parameter if the time interval between the last time the game object left the client's region of interest and the current time is not less than the preset first time interval threshold.

[0156] The third determining unit is used to determine the second distance value as the reward parameter corresponding to the game object if the time interval between the last time the game object entered the region of interest of the client and the current time is less than the preset first time interval threshold, so as to improve the push priority of the game object in the region of interest by subtracting the reward parameter from the distance parameter.

[0157] The fourth determining unit is configured to not subtract the reward parameter from the distance parameter if the time interval between the last time the game object entered the region of interest of the client and the current time is not less than the preset first time interval threshold.

[0158] In this embodiment of the disclosure, the calculation and comparison unit includes:

[0159] The first determining subunit is configured to determine the distance parameter as the priority parameter corresponding to the game object if the angle parameter is not greater than a preset angle parameter threshold and the game object does not have the corresponding distance adjustment parameter.

[0160] The second determining subunit is used to determine the value obtained by superimposing or subtracting the distance adjustment parameter from the distance parameter as the priority parameter corresponding to the game object if the angle parameter is not greater than the preset angle parameter threshold and the game object has the corresponding distance adjustment parameter.

[0161] The first calculation and determination unit is used to perform a power operation on the radian value corresponding to the angle parameter and a power operation on the distance parameter if the angle parameter is greater than the preset angle parameter threshold and the game object does not have the corresponding distance adjustment parameter. The value obtained by multiplying the two power operation results and summing them with the distance parameter is determined as the priority parameter corresponding to the game object.

[0162] The second calculation and determination unit is used to perform a power operation on the radian value corresponding to the angle parameter and a power operation on the distance parameter if the angle parameter is greater than the preset angle parameter threshold and the game object has the corresponding distance adjustment parameter. The two power operation results are multiplied and summed with the distance parameter. The sum obtained is then superimposed or subtracted from the distance adjustment parameter to determine the value as the priority parameter corresponding to the game object.

[0163] In this embodiment of the disclosure, the performance parameters include performance levels, and the first determining module includes:

[0164] The second determining submodule is used to determine the device parameters of the client;

[0165] The third determining submodule is used to determine the performance level to which the client belongs based on the device parameters.

[0166] In this embodiment of the disclosure, the device parameters include one or more of the device model, CPU model, and GPU model, and the third determining submodule includes:

[0167] The fifth determining unit is used to determine the performance level to which the client belongs based on one or more of the device model, the CPU model, and the GPU model, as well as a pre-established mapping relationship between device parameters and performance levels.

[0168] In this embodiment of the disclosure, each of the game objects belongs to a corresponding type, and the device further includes:

[0169] The fourth determining module is used to determine, based on a pre-established mapping relationship between performance level and the upper limit of the number of game objects that can be pushed, the upper limit of the number of game objects that the client can push for different types of game objects.

[0170] In summary, in this embodiment, different upper limits for the number of game objects to be pushed can be set based on different client performance parameters. This avoids client overload caused by pushing a large number of game objects in scenarios with high game object distribution density. A higher upper limit can be set for clients with better performance, and a lower upper limit can be set for clients with average performance, effectively ensuring the gaming experience for all client users. When game objects are densely distributed, this solution can still prioritize pushing the most "important" game objects to the client based on push priority.

[0171] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0172] This disclosure also provides an electronic device, such as... Figure 5 As shown, it includes: a processor 501, a memory 502, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the various processes of the above-described embodiment of the game object push method and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0173] This disclosure also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described game object push method embodiment and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0174] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0175] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, apparatus, or computer program products. Therefore, embodiments of this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0176] This disclosure describes embodiments of methods, terminal devices (systems), and computer program products according to embodiments of this disclosure with reference to flowchart illustrations and / or block diagrams. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0177] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0178] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0179] While preferred embodiments of the present disclosure have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the present disclosure.

[0180] Finally, it should be noted that in this paper, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require...

[0181] Or it may imply any actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements, but also...

[0182] This also includes other elements not explicitly listed, or elements inherent to such a process, method, article, or terminal device. Unless otherwise specified, the phrase "including a..."

[0183] The definition of a specific element does not preclude the presence of other identical elements in the process, method, article, or terminal device that includes the element.

[0184] The foregoing has provided a detailed description of a game object pushing method, a game object pushing device, an electronic device, and a computer-readable storage medium provided by this disclosure. Five specific examples have been used to illustrate the principles and implementation methods of this disclosure. The descriptions of the above embodiments are merely illustrative.

[0185] This specification aims to help understand the methods and core ideas of this disclosure. However, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this disclosure. Therefore, the content of this specification should not be construed as a limitation of this disclosure.

Claims

1. A method for pushing game objects, characterized in that, The method includes: Determine the performance parameters of the client; wherein, the player's virtual character is controlled through the client; Determine the region of interest (ROI) of the player's virtual character and the game objects contained within the ROI; Determine the push priority discrimination parameters for each game object, and determine the target game objects to be pushed from the game objects based on the push priority discrimination parameters; the number of target game objects is not greater than the upper limit of the number of game objects pushed corresponding to the performance parameters of the client; the push priority discrimination parameters are parameter information used to determine the push priority of game objects; The target game object is pushed to the client so that the client displays the target game object in the game scene of the region of interest. The push priority determination parameters include one or more of the following: level parameters, distance parameters, and angle parameters. The step of determining the target game object to be pushed from the game object based on the push priority determination parameters includes: Compare the level parameters of each game object to obtain a first comparison result representing the level, and prioritize the game object with the higher level in the first comparison result as the target game object; For game objects belonging to the same level, the distance parameter and the angle parameter corresponding to the game object are used to calculate the priority parameter corresponding to the game object. The priority parameters of each game object are compared to obtain a second comparison result indicating the priority. The game object with the higher priority in the second comparison result is preferentially determined as the target game object.

2. The method according to claim 1, characterized in that, The push priority determination parameter also includes a distance adjustment parameter. The step of calculating the priority parameter corresponding to the game object using the distance parameter and the angle parameter corresponding to the game object includes: The priority parameter corresponding to the game object is obtained by performing calculations using the distance parameter, the angle parameter, and / or the distance adjustment parameter corresponding to the game object.

3. The method according to claim 2, characterized in that, The parameters for determining the push priority of each game object include: Calculate the spatial distance between the game object and the player's virtual character, and determine the spatial distance as the distance parameter corresponding to the game object; Obtain the field of view of the player's virtual character, and determine the angle between the game object and the center line of the field of view, and define the angle as the angle parameter corresponding to the game object; Determine the time interval between the last time the game object left / entered the region of interest of the client and the current time, and determine the distance adjustment parameter to be assigned to the game object based on the time interval.

4. The method according to claim 3, characterized in that, The distance adjustment parameters include penalty parameters and reward parameters. Determining the distance adjustment parameters assigned to the game object based on the time interval includes: If the time interval between the last time the game object left the client's region of interest and the current time is less than a preset first time interval threshold, then the first distance value is determined as the penalty parameter corresponding to the game object, so as to reduce the push priority of the game object in the region of interest by adding the penalty parameter on the basis of the distance parameter; If the time interval between the last time the game object left the client's region of interest and the current time is not less than the preset first time interval threshold, then the penalty parameter will not be added to the distance parameter; If the time interval between the last time the game object entered the region of interest of the client and the current time is less than the preset first time interval threshold, then the second distance value is determined as the reward parameter corresponding to the game object, so as to improve the push priority of the game object in the region of interest by subtracting the reward parameter from the distance parameter; If the time interval between the last time the game object entered the region of interest of the client and the current time is not less than the preset first time interval threshold, then the reward parameter will not be subtracted from the distance parameter.

5. The method according to claim 4, characterized in that, The step of calculating the priority parameter corresponding to the game object using the distance parameter, the angle parameter, and / or the distance adjustment parameter corresponding to the game object includes: If the angle parameter is not greater than the preset angle parameter threshold and the game object does not have the corresponding distance adjustment parameter, then the distance parameter is determined as the priority parameter corresponding to the game object; If the angle parameter is not greater than the preset angle parameter threshold and the game object has the corresponding distance adjustment parameter, then the value obtained by superimposing or subtracting the distance parameter is determined as the priority parameter corresponding to the game object; If the angle parameter is greater than the preset angle parameter threshold and the game object does not have the corresponding distance adjustment parameter, then the radian value corresponding to the angle parameter is exponentially calculated, and the distance parameter is exponentially calculated. The value obtained by multiplying the two exponentially calculated results and summing them with the distance parameter is determined as the priority parameter corresponding to the game object. If the angle parameter is greater than the preset angle parameter threshold and the game object has the corresponding distance adjustment parameter, then the radian value corresponding to the angle parameter is exponentially calculated, and the distance parameter is exponentially calculated. The two exponentially calculated results are multiplied and summed with the distance parameter. The sum obtained by superimposing or subtracting the distance adjustment parameter is determined as the priority parameter corresponding to the game object.

6. The method according to claim 1, characterized in that, The performance parameters include performance levels, and determining the client's performance parameters includes: Determine the device parameters of the client; The performance level to which the client belongs is determined based on the device parameters.

7. The method according to claim 6, characterized in that, The device parameters include one or more of the following: device model, CPU model, and GPU model. Determining the performance level of the client based on the device parameters includes: Based on one or more of the device model, CPU model, and GPU model, as well as a pre-established mapping relationship between device parameters and performance levels, the performance level to which the client belongs is determined.

8. The method according to claim 6, characterized in that, Each of the game objects belongs to a corresponding type, and the method further includes: Based on the pre-established mapping relationship between performance level and the upper limit of the number of game objects that can be pushed, the upper limit of the number of game objects that can be pushed by the client is determined for different types of game objects.

9. A game object pushing device, characterized in that, The device includes: The first determining module is used to determine the performance parameters of the client; wherein the player's virtual character is controlled through the client. The second determining module is used to determine the region of interest of the player's virtual character and the game objects contained in the region of interest; The third determining module is used to determine the push priority discrimination parameters for each of the game objects, and to determine the target game objects to be pushed from the game objects based on the push priority discrimination parameters; the number of the target game objects is not greater than the upper limit of the number of game objects pushed corresponding to the performance parameters of the client; the push priority discrimination parameters are parameter information used to determine the push priority of game objects; The push module is used to push the target game object to the client, so that the client can display the target game object in the game scene of the region of interest; The push priority determination parameters include one or more of the following: level parameters, distance parameters, and angle parameters. The third determination module includes: The comparison submodule is used to compare the level parameters of each game object, obtain a first comparison result representing the level, and prioritize the game object with the higher level in the first comparison result as the target game object. The calculation and comparison submodule is used to perform calculations on the game objects belonging to the same level using the distance parameter and the angle parameter corresponding to the game object to obtain the priority parameter corresponding to the game object, compare the priority parameters of each game object to obtain a second comparison result indicating the priority, and prioritize the game object with the higher priority in the second comparison result as the target game object.

10. An electronic device, characterized in that, include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements a game object pushing method as described in any one of claims 1-8.

11. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when executed by a processor, the computer program implements a game object pushing method as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Method and device for pushing data to client by server

    CN110324370A