A method, device, equipment and storage medium for battle matching in a game
By obtaining a general configuration sample table and a configuration dedicated game configuration table, combining online and offline matching models, the problem of customization of battle matching solutions in the existing technology is solved, and the standardization and generalization of game development is realized, and the cost and complexity are reduced.
Patent Information
- Application Number
- CN202210501192.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-09
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2042-05-09
AI Technical Summary
The existing battle matching solutions are highly customized under a single game framework, which leads to the inability to generalize and standardize, which increases migration and development costs, and is highly complex, making it difficult to implement through logical code, affecting development efficiency and matching effects.
By obtaining a general configuration sample table, configuring a dedicated game configuration table according to the target game needs, using online and offline matching models to match players, and determining the battle matching results, including faction division and player composition.
The standardization and generalization of the battle matching logic is realized, reducing migration and development costs, so that game developers do not need to implement complex logic, and meet the matching needs of different games.
Smart Images

Figure CN114870403B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of game technologies, and in particular, to a battle matching method, device, equipment, and storage medium in a game. Background Art
[0002] Battle matching in a game refers to the process in which a game system groups together players waiting for a game to compete. There are a large number of battle scenarios in SPG (Sports Competitive Game), MOBA (Multiplayer Online Battle Arena), and MMORPG (Massively Multiplayer Online Role-Playing Game). In these battle scenarios, the system needs to match the players on both sides of the battle, form game camps of a certain number of people respectively, and let the game camps compete with each other.
[0003] Currently, existing battle matching solutions are generally customized rule matching solutions for their own game play characteristics under a single specific game framework. Here, on the one hand, existing battle matching solutions: due to the high degree of customization, they do not achieve generalization and standardization, resulting in the inability to reuse the matching system, and high migration and development costs; on the other hand: since the customized rules are often of high complexity, the development efficiency is low, and it is difficult to implement the matching rules through logical code in some game scenarios, and it is difficult to guarantee the implementation effect of the matching rules. Summary of the Invention
[0004] In view of this, the purpose of this application is to provide a battle matching method, device, equipment, and storage medium in a game, so as to standardize and generalize complex matching logics with a high degree of customization, reduce the migration and development costs of the matching system, and enable game developers to implement the battle matching requirements under different games without implementing complex matching logics, but only through simple configuration.
[0005] In a first aspect, an embodiment of this application provides a battle matching method in a game, and the battle matching method includes:
[0006] Obtain a general configuration sample table for game battle matching; wherein, the general configuration sample table includes configuration parameter information for implementing different matching business logics;
[0007] Under the game configuration requirements of a target game, in response to a parameter configuration operation for a target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; wherein, the target configuration parameter information represents the configuration parameter information for implementing the target matching business logic;
[0008] In response to a game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched; wherein, the battle matching result at least includes: a target game session that matches the player configuration information of the player to be matched and the player composition information of different game camps in the target game session.
[0009] In an alternative embodiment, the configuration parameter information includes: first configuration parameter information, second configuration parameter information, and third configuration parameter information; wherein, the first configuration parameter information is used to constrain the configuration of camp information of game camps in the same game session; the second configuration parameter information is used to constrain the configuration of player information that can play games in the same game session; the third configuration parameter information is used to constrain the game battle matching rules based on the determined game camps and players in the same game session.
[0010] In an alternative embodiment, the performing battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table includes:
[0011] Group the multiple players to be matched in the game matching request according to the second configuration parameter information recorded in the dedicated game configuration table to obtain multiple groups of player matching pools;
[0012] For each group of player matching pools, determine a first game session that matches the target game mode represented by the group of player matching pools from the game sessions of various different game modes included in the target game; wherein, the target game mode is determined according to the player configuration information of each player to be matched in the group of player matching pools.
[0013] Divide the players to be matched in the group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the final player composition plan for each of the first game sessions.
[0014] In an alternative embodiment, the dividing the players to be matched in the group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the player composition information for each of the first game sessions includes:
[0015] For multiple players to be matched included in the matching pool of this group of players, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, plan the players to be matched in the matching pool of this group of players to obtain multiple player division plans that meet the constraint conditions; wherein, each player division plan is used to represent a group of player composition plans under the same first game session;
[0016] Obtain multiple first optimization objectives matching the first game session from the game configuration requirements;
[0017] Determine, from the multiple player division plans, the player division plan with the highest weighted sum result of the multiple first optimization objectives as the final player composition plan under the same first game session.
[0018] In an alternative implementation manner, after obtaining the final player composition plan for each first game session, the battle matching method further includes:
[0019] For each final player composition plan, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, and taking the goal that all participating players in this final player composition plan can be evenly grouped according to the target game camp quantity as the planning goal, plan all participating players in this final player composition plan to obtain multiple camp division plans that meet the constraint conditions and the planning goal; wherein, the target game camp quantity is determined according to the first configuration parameter information recorded in the dedicated game configuration table; each camp division plan is used to represent a group of game camp division plans of all participating players under the first game session;
[0020] Obtain multiple second optimization objectives matching the target game session from the game configuration requirements;
[0021] Determine, from the multiple camp division plans, the camp division plan with the highest weighted sum result of the multiple second optimization objectives as the final camp division plan under the same first game session.
[0022] In an alternative implementation manner, after obtaining the multiple camp division plans that meet the constraint conditions and the planning goal, the battle matching method further includes:
[0023] Input the player characteristic information of all participating players in the final player composition plan into a pre-trained online matching model. Through the online matching model, select the faction division plan that performs best in the target optimization dimension from the multiple groups of faction division plans as the final faction division plan for the same first game session. Among them, the player characteristic information includes: player relationship characteristics and / or character attribute characteristics. The player relationship characteristics are used to represent the familiarity between different participating players. The character attribute characteristics are used to represent the attribute generation / restraint characteristics between different game characters used by different participating players. The target optimization dimension is determined according to the model training requirements of the online matching model.
[0024] In an alternative embodiment, the online matching model includes at least the following three layers of neural networks: a team representation layer, a team comparison layer, and a prediction output layer. The step of selecting the faction division plan that performs best in the target optimization dimension from the multiple groups of faction division plans as the final faction division plan for the same first game session through the online matching model includes:
[0025] Input the player characteristic information of all participating players in the final player composition plan into the team representation layer, and output the team representation vector corresponding to each faction division plan through the team representation layer. Among them, each team representation vector is used to represent the mutual influence relationship between different participating players within each game faction.
[0026] Input the team representation vector corresponding to each faction division plan into the team comparison layer, and output the faction representation vector corresponding to each faction division plan through the team comparison layer. Among them, each faction representation vector is used to represent the mutual influence relationship between two different game factions.
[0027] Input the faction representation vector and the team representation vector corresponding to each faction division plan into the prediction output layer, and output the faction division plan that performs best in the target optimization dimension as the final faction division plan for the same first game session through the prediction output layer.
[0028] In an alternative embodiment, the step of selecting the faction division plan that performs best in the target optimization dimension from the multiple groups of faction division plans as the final faction division plan for the same first game session through the online matching model includes:
[0029] When the target optimization dimension is the win rate, the online matching model is used to predict the win rates of the game camps of both sides in each camp division plan, so as to output, from the multiple camp division plans, the camp division plan in which the win rates of the game camps of both sides are closest as the final camp division plan;
[0030] When the target optimization dimension is the game participation rate, the online matching model is used to predict the target game participation rate of each participating player in each camp division plan for the first game session, so as to output, from the multiple camp division plans, the camp division plan with the highest target game participation rate as the final camp division plan; wherein, the target game participation rate is used to characterize the probability that the participating player continuously participates in the first game session within the first prediction period after the end of the first game session;
[0031] When the target optimization dimension is the game churn rate, the online matching model is used to predict the target game churn rate of each participating player in each camp division plan for the first game session, so as to output, from the multiple camp division plans, the camp division plan with the lowest target game churn rate as the final camp division plan; wherein, the target game churn rate is used to characterize the probability that the participating player continuously does not participate in the first game session within the second prediction period after the end of the first game session.
[0032] In an optional implementation manner, the battle matching method further includes:
[0033] In response to the end of each first game session, according to a preset game data list, game information matching each game parameter in the game data list is extracted from the full-game data of the ended first game session, and the extracted game information is used to fill the game data list to obtain training sample data corresponding to the first game session;
[0034] According to a preset player portrait feature processing strategy, the player information in the training sample data is processed to obtain training player feature information matching the player feature information;
[0035] The training player feature information is input into an offline matching model, and the offline matching model is trained with the goal of learning the camp division plan in which all participating players in the first game session perform optimally in the target optimization dimension, so as to obtain a trained offline matching model.
[0036] In an optional implementation manner, after obtaining the trained offline matching model, the battle matching method further includes:
[0037] On the same test data set, obtain the model test results of the online matching model and the offline matching model for the test data set respectively, to obtain the online model test results output by the online matching model and the offline model test results output by the offline matching model;
[0038] Obtain at least one model evaluation index that matches the target optimization dimension from the model evaluation index library;
[0039] When it is detected that the performance of the offline model test results under the model evaluation index is better than that of the online model test results, replace the online matching model with the offline matching model.
[0040] In a second aspect, an embodiment of the present application provides a battle matching device in a game. The battle matching device includes:
[0041] An acquisition module, configured to acquire a general configuration sample table for game battle matching; wherein, the general configuration sample table includes configuration parameter information for implementing different matching service logics;
[0042] A configuration module, configured to, under the game configuration requirements of a target game, in response to a parameter configuration operation for a target matching service logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; wherein, the target configuration parameter information represents the configuration parameter information for implementing the target matching service logic;
[0043] A matching module, configured to, in response to a game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched; wherein, the battle matching result at least includes: a target game session that matches the player configuration information of the player to be matched and the player composition information of different game camps in the target game session.
[0044] In a third aspect, an embodiment of the present application provides a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the steps of the above-mentioned battle matching method in the game are implemented.
[0045] [[ID=??]]
[0046] The technical solutions provided by the embodiments of the present application may include the following beneficial effects:
[0047] The embodiments of the present application provide a method, device, equipment and storage medium for battle matching in a game. By obtaining a general configuration sample table for game battle matching; under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, configuring the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; in response to the game matching request for the target game, performing battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determining the battle matching result corresponding to each player to be matched.
[0048] In this way, the present application can standardize and generalize complex matching logics with a high degree of customization, reduce the migration and development costs of the matching system, and enable game developers to implement the battle matching requirements under different games with simple configurations without implementing complex matching logics.
[0049] To make the above objects, features and advantages of the present application more obvious and understandable, the following specific embodiments are given and described in detail in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] To more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present application and should not be regarded as limiting the scope. For those of ordinary skill in the art, other relevant drawings can be obtained based on these drawings without creative efforts.
[0051] Figure 1 The flowchart of a method for battle matching in a game provided by the embodiments of the present application is shown;
[0052] Figure 2 The flowchart of a method for performing battle matching on multiple players to be matched in the current game matching request according to a dedicated game configuration table provided by the embodiments of the present application is shown;
[0053] Figure 3 The flowchart of a method for dividing players to be matched in the player matching pool of the same group of players by means of integer programming provided by the embodiments of the present application is shown;
[0054] Figure 4 The flowchart of a method for dividing the game camps of all participating players in the final player composition plan by means of integer programming provided by the embodiments of the present application is shown;
[0055] Figure 5a Shows a schematic flowchart of a method for re - dividing the game camps of all participating players in the final player composition plan based on a trained online matching model provided by an embodiment of the present application;
[0056] Figure 5b Shows a collaborative relationship diagram in player feature information provided by an embodiment of the present application;
[0057] Figure 5c Shows a suppression relationship diagram in player feature information provided by an embodiment of the present application;
[0058] Figure 6 Shows a schematic flowchart of a method for predicting an output result by an online matching model provided by an embodiment of the present application;
[0059] Figure 7 Shows a schematic flowchart of a method for predicting an output result by an online matching model under different target optimization dimensions provided by an embodiment of the present application;
[0060] Figure 8 Shows a schematic flowchart of a method for training an offline matching model provided by an embodiment of the present application;
[0061] Figure 9 Shows a schematic flowchart of a method for mutually replacing an offline matching model and an online matching model provided by an embodiment of the present application;
[0062] Figure 10 Shows a schematic structural diagram of a battle matching device in a game provided by an embodiment of the present application;
[0063] Figure 11 Is a schematic structural diagram of an electronic device 1100 provided by an embodiment of the present application. Detailed implementation manners
[0064] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. It should be understood that the accompanying drawings in the present application are only for the purposes of illustration and description, and are not used to limit the protection scope of the present application. Additionally, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in the present application show the operations implemented according to some embodiments of the present application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical context relationships may be reversed or implemented simultaneously. In addition, those skilled in the art can add one or more other operations to the flowchart or remove one or more operations from the flowchart under the guidance of the content of the present application.
[0065] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all embodiments. Generally, the components of the embodiments of the present application described and illustrated in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the present application claimed, but only represents the selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative efforts belong to the scope of protection of the present application.
[0066] It should be noted that the term "including" will be used in the embodiments of the present application to indicate the existence of the features stated thereafter, but does not exclude adding other features.
[0067] Currently, the existing battle matching solutions are generally customized rule matching solutions for their own gameplay characteristics under a single specific game framework. Here, on the one hand, for the existing battle matching solutions: due to the high degree of customization, they do not achieve generalization and standardization, resulting in the inability to reuse the matching system, and high migration and development costs; on the other hand: since the customized rules are often of high complexity, therefore, the development efficiency is low, and it is difficult to implement the matching rules in some game scenarios through logical code, and it is difficult to guarantee the implementation effect of the matching rules.
[0068] Based on this, the embodiments of the present application provide a battle matching method, device, electronic device and storage medium in a game. By obtaining a general configuration sample table for game battle matching; under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; in response to the game matching request of the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched.
[0069] In this way, the present application can standardize and generalize the complex matching logic with a high degree of customization, reduce the migration and development costs of the matching system, so that game developers do not need to implement complex matching logic, and only need to perform simple configuration to achieve the battle matching requirements under different games.
[0070] In one of the embodiments of the present application, a battle matching method in a game can run on a server. Among them, when the battle matching method in the game runs on the server, the battle matching method can be implemented and executed based on a cloud interaction system, where the cloud interaction system includes a server and a client device (i.e., a terminal device).
[0071] In an alternative embodiment, various cloud applications can run under the cloud interaction system, such as cloud games. Taking cloud games as an example, cloud games refer to a game mode based on cloud computing. In the operation mode of cloud games, the running entity of the game program and the presenting entity of the game screen are separated. The storage and operation of the battle matching method in the game are completed on the cloud game server, and the role of the client device is to receive and send data and present the game screen. For example, the client device can be a display device with data transmission function near the user side, such as a mobile terminal, a television, a computer, a personal digital assistant, etc.; however, the terminal device for information processing is the cloud game server in the cloud. When playing the game, the player operates the client device to send an operation instruction to the cloud game server. The cloud game server runs the game according to the operation instruction, encodes and compresses data such as the game screen, returns it to the client device through the network, and finally, decodes and outputs the game screen through the client device.
[0072] To facilitate the understanding of this embodiment, a battle matching method in a game provided by the embodiment of the present application will be introduced in detail below.
[0073] Refer to Figure 1 As shown in Figure 1 FIG. shows a schematic flowchart of a battle matching method in a game provided by the embodiment of the present application. The battle matching method includes steps S101 - S103; specifically:
[0074] S101, obtain a general configuration sample table for game battle matching.
[0075] S102, under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements.
[0076] S103, in response to the game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched.
[0077] The above battle matching method in a game provided by the embodiment of the present application obtains a general configuration sample table for game battle matching; under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, configures the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; in response to the game matching request for the target game, performs battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determines the battle matching result corresponding to each player to be matched.
[0078] In this way, the present application can standardize and generalize complex matching logics with a high degree of customization, reducing the migration and development costs of the matching system, enabling game developers to implement different game battle matching requirements through simple configuration without implementing complex matching logics.
[0079] In one embodiment of the present application, the battle matching method in a game can also run in an artificial intelligence matching system. Among them, the artificial intelligence matching system at least includes: an online platform and an offline platform.
[0080] Specifically, the online platform is mainly used to provide actual online battle matching services. The online platform at least includes the following sections: an API (Application Programming Interface) gateway section, a matching pool section, battle simulation, and sorting optimization section; the offline platform mainly performs tasks such as log processing, player portrait calculation, AI (Artificial Intelligence) model training, model management, model deployment, and inference.
[0081] Here, regarding the application of the API gateway section in the embodiments of the present application, it should be noted that: for the needs of system stability and rapid business iteration, a traffic control system based on the gateway and a blue-green release process are implemented; in the embodiments of the present application, before the new version of the artificial intelligence matching system is launched, outside the stable production environment cluster, as an optional embodiment, a new cluster with the same scale as the stable cluster can be additionally deployed, and traffic control can be performed through the above API gateway section, gradually introducing traffic to the new cluster up to 100%. The original stable cluster will remain online with the new cluster for a period of time. During this period, in case of any abnormality, all traffic can be immediately switched back to the original stable cluster to achieve rapid rollback. Until all verifications are successful, the old stable cluster is taken offline, and the new cluster becomes the new stable cluster.
[0082] Next, taking the application in the above artificial intelligence matching system as an example, each step in the battle matching method in the game provided in the embodiments of the present application will be described exemplarily:
[0083] S101, obtain a general configuration sample table for game battle matching.
[0084] In the embodiments of the present application, based on the concept of "integrating and summarizing complex matching business logics in the matching business into multiple sections to obtain a general game battle configuration table with general matching business logic and only specific parameters need to be adaptively modified during version updates", a general configuration sample table that can support general game matching business logic is preset and stored.
[0085] Here, the general configuration sample table includes configuration parameter information for implementing different matching business logics.
[0086] Specifically, as an optional embodiment, the configuration parameter information may include: first configuration parameter information, second configuration parameter information, and third configuration parameter information; wherein, the first configuration parameter information is used to constrain the configuration of the camp information of the game camps in the same game session; the second configuration parameter information is used to constrain the configuration of the player information that can play the game in the same game session; the third configuration parameter information is used to constrain the game battle matching rules based on the determined game camps and players in the same game session.
[0087] S102, under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements.
[0088] First of all, it should be noted that the above parameter configuration operation includes both the modification operation and deletion operation of the existing configuration parameter information by the user (i.e., the planner or manager of the target game), and also the addition operation of the configuration parameter information by the user based on the above game configuration requirements and the configuration samples of different configuration parameter information in the general configuration sample table. The specific operation type of the above parameter configuration operation is not limited in the embodiments of the present application.
[0089] Here, in terms of the underlying technical implementation, in order to facilitate the game planner to configure and modify the above general configuration sample table according to the actual game requirements in the future, as an optional embodiment, the above general configuration sample table can also be managed based on the Excel table and SVN (subversion, an open-source version control system) configuration in the above online platform.
[0090] Specifically, when accessing a new matching service (for example, providing a battle matching service for a target game), the artificial intelligence matching system will create a new SVN repository for this target game and open the corresponding permissions; after the configuration permissions are opened, a general configuration sample table will be correspondingly created under the SVN repository. At this time, the game planner can configure and modify the configuration parameter information in the general configuration sample table according to the game configuration requirements of the target game to obtain a dedicated game configuration table that meets the above game configuration requirements, so that game developers do not need to implement complex matching logics and can achieve the battle matching requirements under different games only through simple configurations.
[0091] Here, the above-mentioned target configuration parameter information represents the configuration parameter information used to implement the target matching service logic. That is, the target configuration parameter information can be any one of the following three configuration parameter information in step S101 above: the first configuration parameter information, the second configuration parameter information, and the third configuration parameter information.
[0092] Specifically, in combination with the design concept content of the general configuration sample table in step S101 above, in the embodiment of the present application, when the target game needs to be updated, the user only needs to adaptively modify the relevant configuration parameter information of the dedicated game configuration table used in the old version to obtain the new dedicated game configuration table required for the target game under the version to be updated. In this way, after the target game is launched, the user can achieve hot update of the battle matching rules under the target game by modifying the corresponding dedicated game configuration table, so that the user can flexibly and real-time control and manage the battle matching service configured under the target game, and improve the maintenance and management efficiency of the game system server. In the embodiment of the present application, the artificial intelligence matching system may also include a front-end configuration center; after the game planner completes the configuration of the above general configuration sample table, the configured dedicated game configuration table can be submitted in SVN. At this time, the game planner can open the above front-end configuration center, and the previously uploaded dedicated game configuration table can be seen in the display interface of the front-end configuration center.
[0093] Specifically, in the display interface of the front-end configuration center, the game planner can also click on the reading configuration of the corresponding configuration file (i.e., the dedicated game configuration table) to convert the configuration file into a readable Chinese format, so as to facilitate the game planner to verify whether the previous configuration operation meets the game configuration requirements of the target game.
[0094] Here, after checking that there is no problem, the game planner can click to synchronize to the test, and all the configuration parameter information in the dedicated game configuration table can be synchronized to the Mysql database in the test environment. In this way, all the configuration parameter information can take effect in the test environment of the matching service, and the game tester can test the matching service logic of the dedicated game configuration table in the test environment. After passing the test, the tester can click to synchronize to the online environment. At this time, the administrator can review the current dedicated game configuration table, and only after the review is confirmed to be correct will it be synchronized to the above online platform, so that the verified dedicated game configuration table can take effect in the online environment (i.e., the online platform) of the matching service.
[0095] S103, in response to the game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched.
[0096] Here, the game matching request includes multiple players waiting to be matched who request to participate in the target game. Among them, as an alternative embodiment, the response operation of the game matching request can be implemented by means of the matching pool section in the above artificial intelligence matching system.
[0097] In the embodiment of the present application, the matching pool section is used to connect the game server of the target game and the online platform in the artificial intelligence matching system for implementing the matching service, playing a connecting role between the game server of the target game and the online platform.
[0098] Here, the matching pool section has interfaces related to initiating matching, canceling matching, re-initiating matching in case of opening failure, and querying the matching result, corresponding to the functions of adding players to the matching pool, deleting the corresponding players in the matching pool, re-adding players to the matching pool in case of opening failure, actively storing and querying the matching result, and pushing the matching result.
[0099] Specifically, in terms of the underlying technical implementation, the matching pool section implemented by Redis (Remote Dictionary Server) is used to store all players currently waiting to be matched and the attribute / status information corresponding to the players, continuously polling all players in the matching pool, sending the players waiting to be matched in the current matching pool to the online platform, and updating the players who have been successfully matched in the current matching pool for the online platform to implement the real-time matching function in the matching service.
[0100] In the embodiment of the present application, in the case where the above-mentioned matching pool section is not equipped in the artificial intelligence matching system, as another alternative embodiment, it is also possible to directly obtain multiple players waiting to be matched who currently request to participate in the target game from the game server of the target game through the communication connection between the online platform and the game server of the target game, so as to perform the matching service for the multiple players waiting to be matched.
[0101] Here, generally, a target game can include game rounds of multiple different game modes. For example, the target game can include game rounds of ranking modes (such as single row / double row / five row, etc.), game rounds of ordinary modes (such as random matching, etc.) in different teaming modes; the target game can also include game rounds of different difficulty modes such as game round a1 with a game difficulty of 5 stars, game round b1 with a game difficulty of 3 stars, and game round c1 in the novice game field. The specific mode types of different game modes in the target game are not limited in the embodiment of the present application.
[0102] Based on this, in the embodiments of the present application, the battle matching result in the above step S103 may at least include: a target game session that matches the player configuration information of the player to be matched, and the player composition information of different game camps in the target game session; wherein, the player composition information of different game camps in the target game session includes both the player composition information of the players who belong to the same game camp (equivalent to the same game team) as the player to be matched, and the player composition information of the players who belong to different game camps (equivalent to the enemy game team) from the player to be matched.
[0103] The following will respectively provide a detailed description of the specific implementation processes of the above steps in the embodiments of the present application:
[0104] Regarding the specific implementation process of the battle matching in the above step S103, as Figure 2 shown, Figure 2 FIG. shows a flowchart of a method for performing battle matching on multiple players to be matched in a current game matching request according to a dedicated game configuration table provided by an embodiment of the present application. Among them, the method includes steps S201 - S203; specifically:
[0105] S201, group the multiple players to be matched in the game matching request according to the second configuration parameter information recorded in the dedicated game configuration table to obtain multiple groups of player matching pools.
[0106] Here, each group of player matching pools includes multiple players to be matched whose player configuration information matches.
[0107] Specifically, according to the representational meaning of the second configuration parameter information in step S101, the second configuration parameter information is used to constrain the player information configuration that can play in the same game session. That is, in the target game, according to the second configuration parameter information, multiple players to be matched can be grouped according to the above player configuration conditions to obtain multiple groups of player matching pools; wherein, the players in each group of player matching pools have the same participation rights, that is, only the players located in the same player matching pool have the right to form a team / play against each other in the same game session (that is, have the right to play in the same game session).
[0108] It should be noted that the second configuration parameter information may include: player attribute information such as a player level identifier representing the player's game level, an attribute identifier representing the participation rights of the player in the target game, etc., and may also include: game mode identifiers representing different game modes (such as ranked mode, normal mode, etc.) in the target game, map identifiers representing different map types in the target game, and other custom setting information of the player in the target game; the specific information content of the second configuration parameter information is not limited in the embodiments of the present application.
[0109] S202. For each group of player matching pools, determine a first game session that matches the target game mode characterized by the group of player matching pools from the game sessions of multiple different game modes included in the target game.
[0110] Here, the target game mode is determined according to the player configuration information of each player to be matched in the group of player matching pools; specifically, the types of game modes included in the target game can refer to the relevant explanatory content in step S103 above, and the repeated parts will not be elaborated.
[0111] Exemplarily, taking the game sessions of 5 different game modes included in the target game as an example, if the game levels of the players to be matched in player matching pool A are all between the gold and platinum game ranks (where the highest game rank is above platinum), then a game session a with the second highest game difficulty can be determined from the game sessions of 5 different game modes included in the target game as the first game session that matches player matching pool A.
[0112] S203. Divide the players to be matched in the group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the final player composition plan for each of the first game sessions.
[0113] Specifically, according to the representational meaning of the first configuration parameter information in step S101, the first configuration parameter information is used to constrain the configuration of the camp information of the game camps in the same game session; for example, the first configuration parameter information may include: the number of game camps in each game session in the target game, the number of participating players required for each game camp, etc.
[0114] Based on this, it should be noted that in step S203, the first configuration parameter information is used to determine the number of players to be matched in the group of player matching pools who can participate in the same first game session; for example, if the first configuration parameter information records that "the first game session represents a 5v5 battle game" (equivalent to that there are 2 game camps in the first game session and 5 participating players are required for each game camp), then it can be determined that the number of players to be matched in the group of player matching pools who can participate in the same first game session is 10.
[0115] Specifically, according to the representational meaning of the third configuration parameter information in step S101, the third configuration parameter information is used to constrain the game battle matching rules for the determined game camps and players under the same game session. That is, the third configuration parameter information is used to, after determining the camp information configuration of the game camps based on the first configuration parameter information (such as how many game camps there are and how many players are assigned to each game camp), and determining the specific players in the same game session according to the second configuration parameter information (such as determining the list of 10 players who can participate in the same game session), further limit the composition method of the specific players in each game camp under the same game session.
[0116] Here, in the embodiment of the present application, as an alternative embodiment, the third configuration parameter information can be abstracted into two categories: a difference rule and a comparison rule; among them, the difference rule is used to limit the difference range between two values. For example, the difference between the average ability value of the participating players in game camp x1 and the average ability value of the participating players in game camp x2 cannot exceed the preset threshold of 100; the comparison rule is used to perform a logical magnitude judgment. For example, the number of players with the "supply type" attribute (equivalent to being able to supply health points to teammate players) in a game session cannot be greater than the preset threshold of 3, etc.
[0117] Based on this, it should be noted that in step S203, the third configuration parameter information is used as the screening rule that needs to be followed when screening the to-be-matched players who can participate in the same first game session from the group of player matching pools according to the first configuration parameter information; for example, still taking the first configuration parameter information recording that "the first game session represents a 5v5 form of battle game" as an example, when dividing the to-be-matched players in the group of player matching pools, the first configuration parameter information is used to constrain that the total number of participating players included in the above final player composition plan is 10; the third configuration parameter information is then used to constrain how the 10 participating players in the above final player composition plan are allocated to 2 battle game camps.
[0118] Regarding the above steps S201 - S203, it should be noted that after executing the above steps S201 - S202, the total number of participating players in the same game session can already be determined. At this time, in order to more clearly determine the specific player list of the participating players in the same game session (that is, which to-be-matched players belong to the participating players in the same first game session), in an alternative implementation manner, as Figure 3 shown, Figure 3 FIG. shows a flowchart of a method for dividing the to-be-matched players in the same group of player matching pools by means of integer programming provided by the embodiment of the present application. Among them, when executing the above step S203, the method includes steps S301 - S303; specifically:
[0119] S301. For multiple to-be-matched players included in the player matching pool of this group of players, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, plan the to-be-matched players in the player matching pool of this group of players to obtain multiple groups of player division schemes that meet the constraint conditions.
[0120] Here, each group of the above player division schemes is used to represent a group of player composition schemes under the same first game session, that is, each group of player division schemes corresponds to the specific player list of the participating players under the same first game session.
[0121] Here, the above planning belongs to integer programming, that is, a planning method in which the variables (i.e., the number of to-be-matched players) in the planning are restricted to integers.
[0122] Specifically, in step S301, still taking the first configuration parameter information in which it is recorded that "the first game session represents a 5v5 form of battle game" as an example, if there are 100 to-be-matched players in the current player matching pool x, then when performing integer programming on the to-be-matched players in the player matching pool x of this group of players, the first configuration parameter information is used to constrain the total number of participating players included in each group of player division schemes to be 10. At this time, for one first game session, there are types of player division schemes. At this time, according to the third configuration parameter information, screen the player division schemes that meet the third configuration parameter information among the types of player division schemes. If 15 groups of player division schemes that meet the third configuration parameter information are obtained, it can be determined that through the integer programming method, 15 groups of player division schemes that meet all constraint conditions are obtained.
[0123] S302. From the game configuration requirements, obtain multiple first optimization objectives that match the first game session.
[0124] Here, the first optimization objective can be the waiting time of the successfully matched players. At this time, in the integer programming, the first optimization objective is used to represent optimizing the waiting time required for each to-be-matched player to be successfully matched; the first optimization objective can also be the game level of the players. At this time, in the integer programming, the first optimization objective is used to represent the expectation of matching players with the same game level segment as the participating players in the same game session to optimize the fairness of the battle in the same game session; for the specific objective type of the first optimization objective, the embodiments of the present application do not make any limitations.
[0125] S303. From the multiple groups of player division schemes, determine the player division scheme with the highest weighted summation result of the multiple first optimization objectives as the final player composition scheme under the same first game session.
[0126] Here, after defining all the constraints and the first optimization objective of the integer programming, as an alternative embodiment, the integer programming problem in the above steps S301 - S303 can be solved by using the Ortools solver open-sourced by Google.
[0127] At this time, the solver will obtain the values of each decision variable, and put the corresponding players with the decision variable being 1 into the corresponding player division plans, obtaining multiple feasible solutions that meet the constraints (equivalent to meeting the proprietary game configuration table). Each feasible solution correspondingly represents a set of player division plans that meet the said constraints (that is, a feasible player composition plan under the same first game session); at this time, the solver only needs to output the target feasible solution with the highest weighted summation result of multiple first optimization objectives from the obtained multiple feasible solutions, then the player division plan with the optimal comprehensive performance under multiple first optimization objectives can be obtained, and this target feasible solution is used as the final player composition plan under the same said first game session.
[0128] It should be noted that in the embodiments of the present application, after the game planner completes the specialization configuration of the general configuration sample table according to the content of the above steps S101 - S102, the addition and calculation processes of the above-mentioned constraints can all be automatically implemented through the framework in the artificial intelligence matching system; at the same time, when the game planner makes secondary modifications to the above-mentioned proprietary game configuration table through the front-end configuration center and uploads the modified configuration file, the modified configuration file can take effect in real time and immediately take effect in the subsequent matching steps. In this way, without implementing complex matching rules, the configuration can be flexibly modified to achieve hot update of the configuration, greatly reducing the development and access costs, and the search with optimization objectives in integer programming also greatly guarantees the battle matching effect.
[0129] Regarding the above steps S301 - S303, it should be noted that after executing the above steps S301 - S303, it has been possible to determine which players to be matched can participate in the same first game session (that is, determine the final player composition plan for each first game session). At this time, in order to more clearly define the specific member composition between different game camps in the final player composition plan (that is, which players belong to the same game camp), in an alternative implementation manner, as Figure 4 shown, Figure 4 shows a schematic flowchart of a method for dividing the game camps of all participating players in the final player composition plan by means of integer programming provided by the embodiments of the present application. Among them, after executing the above step S303, the method includes steps S401 - S403; specifically:
[0130] S401. For each of the final player composition plans, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, and taking the goal that all participating players within the final player composition plan can be evenly grouped according to the number of target game camps as the planning goal, plan all the participating players within the final player composition plan to obtain multiple camp division plans that meet the constraint conditions and the planning goal.
[0131] Here, the number of target game camps is determined according to the first configuration parameter information recorded in the dedicated game configuration table; each camp division plan is used to represent a set of game camp division plans for all participating players in the first game session.
[0132] Specifically, similar to the planning method in step S301 above, the variables planned in step S401 are all the participating players within the final player composition plan. At this time, the specific planning method in step S401 also belongs to integer programming.
[0133] S402. From the game configuration requirements, obtain multiple second optimization goals that match the target game session.
[0134] Here, the method for obtaining the second optimization goal in step S402 is the same as the method for obtaining the first optimization goal in step S302 above, and the repeated parts will not be elaborated here.
[0135] It should be noted that the second optimization goal can be the same as the first optimization goal or different from the first optimization goal. This application embodiment does not make any limitations on this.
[0136] S403. From the multiple camp division plans, determine the camp division plan with the highest weighted sum result of the multiple second optimization goals as the final camp division plan for the same first game session.
[0137] Specifically, for the above steps S401 - S403, taking the example that the first configuration parameter information recorded in the dedicated game configuration table defines that there are two game camps A and B in the first game session; if there are n participating players in the current final player composition plan, the camp division problem of the players can be converted into an integer programming problem according to the following formula:
[0138] Here, first, the decision scalar in the camp division decision can be defined as:
[0139]
[0140] Among them, i represents the i-th participating player in the current final player composition plan, and the value range of i is: 1, 2, 3... n;
[0141] Let \(j\) represent the \(j\)-th game camp in the first game session. The value range of \(j\) is consistent with the "two game camps A and B included in the first game session" defined in the previous first configuration parameter information. That is, the value range of \(j\) is: game camp A or game camp B.
[0142] After obtaining the above camp division decision, the camp division problem of players can be converted into the following integer programming problem. Specifically:
[0143]
[0144]
[0145]
[0146]
[0147]
[0148] Among them, formula 1 represents the weighted optimization objective in integer programming, and \(u\) i represents the \(i\)-th second optimization objective (determined according to the above step S402), and \(w\) i represents the weight of the \(i\)-th second optimization objective. For example, taking the target game as an MMORPG game, the second optimization objective can be the difference between the total equipment evaluations of the participating players in two common battle game camps in the MMORPG game. At this time, in integer programming, it is hoped that the difference in the equipment evaluations of the participating players in the two battle game camps is as small as possible. In addition, the second optimization objective can also include: the waiting time of the successfully matched players. At this time, in integer programming, it is hoped that the players waiting for a long time to be matched are preferentially matched successfully.
[0149] Among them, formula 2 and formula 3 are used to constrain that the maximum number of people in each game camp is \(N\), and the minimum number of people is \(M\), where \(N\) and \(M\) are consistent with the maximum and minimum number of people in the first configuration parameter information recorded in the dedicated game configuration table.
[0150] Among them, formula 4 constrains that each player to be matched can only be assigned to one game camp, and formula 5 constrains that each player has only two decisions: assigned and not assigned. That is, the embodiment of the present application is a 0-1 integer programming problem. Here, formula 4 and formula 5 can be the built-in constraint conditions of integer programming or the constraint conditions obtained from the third configuration parameter information. In this regard, the embodiment of the present application will not be further limited.
[0151] In addition to the constraint formulas shown above, by reading the matching constraint configurations (equivalent to the third configuration parameter information) saved in the Mysql database, proprietary constraint conditions that meet the game configuration requirements of the target game can be automatically added on the basis of the constraint formulas shown above.
[0152] Based on this, after defining all the constraint conditions and the second optimization objective of the integer programming, the integer programming problem in the above steps S401 - S403 can be solved through the Ortools solver open-sourced by Google. At this time, the solver will obtain the values of each decision variable, and put the corresponding player matches with the decision variable being 1 into the corresponding game camps, obtaining multiple feasible solutions that meet the constraint conditions (equivalent to meeting the proprietary game configuration table). Each feasible solution correspondingly represents a camp division plan that meets the said constraint conditions (that is, a set of feasible game camp division plans for all participating players in the first game round); at this time, the solver only needs to output the target feasible solution with the highest weighted summation result of multiple second optimization objectives from the obtained multiple feasible solutions, then the camp division plan with the best comprehensive performance under multiple second optimization objectives can be obtained, and this target feasible solution is used as the final camp division plan for the same said first game round.
[0153] Based on the implementation of the above steps S301 - S303 and the above steps S401 - S403, the online platform of the artificial intelligence matching system has been able to obtain the battle matching results of each player to be matched. Usually, the battle matching results obtained at this time can already meet the game configuration requirements of the target game and can be directly sent to the server of the target game to enable the server of the target game to start different game rounds according to the received battle matching results.
[0154] On this basis, due to the need to further optimize / verify the matching effect of the battle matching, in an optional implementation manner, as Figure 5a shown, Figure 5a shows a schematic flowchart of a method for re-dividing the game camps of all participating players in the final player composition plan based on a trained online matching model provided by an embodiment of the present application. Among them, after executing the above step S403, the method includes step S501; specifically:
[0155] S501, input the player feature information of all participating players in this final player composition plan into the pre-trained online matching model, and through the online matching model, output the camp division plan with the best performance in the target optimization dimension as the final camp division plan for the same said first game round.
[0156] Here, it should be noted that in addition to the personal short-term and long-term portrait features of players commonly used in the prior art, in the embodiments of the present application, the above-mentioned player feature information may further include: player relationship features and / or character attribute features; wherein, the player relationship features are used to characterize the familiarity between different participating players, such as player teaming, friend relationship features, etc.; the character attribute features are used to characterize the attribute generation / restraint features between different game characters used by different participating players, such as the synergy (i.e., attribute generation) and restraint (i.e., attribute restraint) relationship features between the game characters used by each player.
[0157] Specifically, in terms of the underlying technical implementation, for the synergy relationship features between different game characters, as an optional embodiment, a synergy relationship graph as Figure 5b shown can be constructed. Figure 5b It is an undirected graph, where Figure 5b each node (i.e., circular node) in represents a game character in the target game, and the connection line between nodes represents the number of game rounds in which these two game characters have won or lost together in the past period of time; among them, winning together and losing together are marked and distinguished by connection lines of different colors (where Figure 5b is a grayscale graph, so the connection lines of different colors show gray connection lines with different shades of color in Figure 5b ).
[0158] Specifically, in terms of the underlying technical implementation, for the restraint relationship features between different game characters, as an optional embodiment, a suppression relationship graph as Figure 5c shown can be constructed. Figure 5c It is a directed graph, where Figure 5c each node (i.e., circular node) in is also used to represent a game character in the target game. For example, Figure 5c the line segment with a pointing arrow from node 53 to node 43 in can be used to represent the number of game rounds in which game character a (i.e., the game character represented by node 53) defeats game character b (i.e., the game character represented by node 43).
[0159] Specifically, as an optional embodiment, from the perspective of the model structure, the online matching model includes at least the following three layers of neural networks: a team representation layer, a team comparison layer, and a prediction output layer; at this time, as Figure 6 shown, Figure 6 shows a schematic flowchart of a method for predicting the output result of an online matching model provided by an embodiment of the present application. Among them, when performing the above step S501, the method includes steps S601 - S603; specifically:
[0160] S601. Input the player characteristic information of all participating players in the final player composition plan into the team representation layer, and output the team representation vectors corresponding to each camp division plan through the team representation layer.
[0161] Here, each team representation vector is used to represent the mutual influence relationship among different participating players within each game camp. That is, for each camp division plan, the number of team representation vectors is consistent with the number of game camps in the first game round (i.e., the target game camp number in step S401).
[0162] Specifically, in the embodiments of the present application, the original basic model of the neural network may include models such as LR and XGBoost in machine learning, and models such as MLP and LSTM in deep learning. The specific type of the original basic model is not limited in the embodiments of the present application.
[0163] Exemplarily, after obtaining the player characteristic information of each participating player (equivalent to the player portrait characteristics of each participating player), as an optional embodiment, the team representation vectors corresponding to each game camp can be obtained through the Multi-headed Attention (multi-head attention mechanism). At this time, the mutual influence relationship among different players in the same game camp can be modeled through the team representation layer.
[0164] S602. Input the team representation vectors corresponding to each camp division plan into the team comparison layer, and output the camp representation vectors corresponding to each camp division plan through the team comparison layer.
[0165] Here, each camp representation vector is used to represent the mutual influence relationship between two different game camps.
[0166] Exemplarily, after obtaining the team representation vectors corresponding to each game camp, taking each camp division plan as a unit, within each camp division plan, through the team comparison layer, model the game combat power gap and difference characteristics between two different game camps, so that the mutual influence relationship between different game camps can be captured, and then the above camp representation vectors can be output.
[0167] S603. Input the camp representation vectors and the team representation vectors corresponding to each camp division plan into the prediction output layer, and output the camp division plan that performs optimally in the target optimization dimension as the final camp division plan under the same first game round.
[0168] Exemplary illustration: After passing through the first two layers of the neural network, the mutual influence relationships within the same game camp and between different game camps (i.e., the team representation vectors and camp representation vectors) have been modeled. Thus, based on this, the performance results of each camp division plan under the target optimization dimension can be predicted. Finally, the camp division plan with the best performance under the target optimization dimension is output as the final camp division plan.
[0169] Regarding the implementation of the above steps S601 - S603, in the embodiments of the present application, the target optimization dimension is determined according to the model training requirements of the online matching model. That is, during the model training process for the online matching model, according to different model training requirements, the online matching model can be trained to learn and output the camp division plan with the best performance under different target optimization dimensions, which is beneficial to improving the flexibility and variability of the game camp division method.
[0170] Based on this, in the embodiments of the present application, from the perspective of model training requirements, the target optimization dimension can be at least divided into the following three types: win rate against opponents, game participation rate, and game churn rate. At this time, the specific implementation manner of the above step S501 is as Figure 7 shown Figure 7 FIG. shows a flowchart of a method for predicting output results of an online matching model provided by an embodiment of the present application under different target optimization dimensions. Among them, the method includes steps S701 - S703; specifically:
[0171] S701, when the target optimization dimension is the win rate against opponents, use the online matching model to predict the win rate against opponents of each game camp on both sides of the battle in each camp division plan, so as to output, from the multiple camp division plans, the camp division plan in which the win rates against opponents of the game camps on both sides of the battle are closest as the final camp division plan.
[0172] Here, "the win rates against opponents of the game camps on both sides of the battle are closest" essentially means that the win rate against opponents of each game camp is close to 50%. That is, when the target optimization dimension is the win rate against opponents, the optimization significance of the target optimization dimension is that the team combat power of the game camps on both sides of the battle should be as similar as possible under the current game evaluation framework to reflect the fairness of the game.
[0173] S702, when the target optimization dimension is the game participation rate, use the online matching model to predict the target game participation rate of each participating player in each camp division plan for the first game session, so as to output, from the multiple camp division plans, the camp division plan with the highest target game participation rate as the final camp division plan.
[0174] Here, the target game engagement is used to characterize the probability that the participating player will continue to participate in the first game session within the first prediction period after the end of the first game session.
[0175] Specifically, the specific time length of the first prediction period can be adjusted according to the actual game configuration requirements of the target game. In this regard, the embodiments of the present application do not make any limitations.
[0176] S703. When the target optimization dimension is the game churn rate, the online matching model is used to predict the target game churn rate of each participating player in each group of camp division plans for the first game session, so as to output the camp division plan with the lowest target game churn rate as the final camp division plan from the multiple groups of camp division plans.
[0177] Here, the target game churn rate is used to characterize the probability that the participating player will continue not to participate in the target game session within the second prediction period after the end of the first game session.
[0178] Specifically, the specific time length of the second prediction period can also be adjusted according to the actual game configuration requirements of the target game. In this regard, the embodiments of the present application also do not make any limitations.
[0179] In the embodiments of the present application, the above steps are all descriptions of the workflow on the online platform side of the artificial intelligence matching system. Next, the workflow on the offline platform side of the artificial intelligence matching system and the association relationship between the offline platform side and the online platform side will be introduced in detail:
[0180] For the above step S103, after executing step S103, in an optional implementation manner, as Figure 8 shown, Figure 8 shows a schematic flowchart of a method for training an offline matching model provided by an embodiment of the present application. Among them, the method includes steps S801 - S803; specifically:
[0181] S801. In response to the end of each first game session, according to a pre-set game data list, game information matching each game parameter in the game data list is extracted from the full-game data of the ended first game session, and the extracted game information is used to fill the game data list to obtain training sample data corresponding to the first game session.
[0182] In the embodiments of the present application, after a game session ends, the game data of the entire game that can be collected can be stored in the form of the following table. Among them, Table 1 represents the player information table related to players in the game data of the entire game, and Table 2 represents the battle settlement table related to the actual battle data in the game data of the entire game. Specifically:
[0183] Table 1:
[0184]
[0185] Table 2:
[0186]
[0187]
[0188] Exemplarily, the header of the pre-set game data list can be as shown in Table 3 below:
[0189] Table 3:
[0190]
[0191] S802. According to the pre-set player portrait feature processing strategy, perform feature processing on the player information in the training sample data to obtain training player feature information that matches the player feature information.
[0192] In the embodiments of the present application, as an optional embodiment, the pre-set player portrait feature processing strategy can at least include the following three processing strategies. Specifically:
[0193] Processing strategy 1: Perform player portrait aggregation processing according to the role attributes (such as role occupations, etc.) of the selected game characters;
[0194] Processing strategy 2: Perform player portrait processing according to the personal player information of the participating players;
[0195] Processing strategy 3: First, perform portrait processing according to the role attributes of the selected game characters, and then perform portrait processing according to the personal player information of the participating players.
[0196] S803. Input the training player feature information into the offline matching model, and use learning the optimal camp division plan of all participating players in the first game session under the target optimization dimension as the goal to train the offline matching model to obtain a trained offline matching model.
[0197] Specifically, the training method and working mode of the offline matching model are the same as those of the online matching model in step S501 above, and the repeated parts will not be elaborated here.
[0198] Based on this, in the embodiments of the present application, the offline matching model and the online matching model in the above step S501 essentially belong to two matching models that implement the same model function. On this basis, as Figure 9 shown, Figure 9 FIG. shows a schematic flowchart of a method for mutually replacing an offline matching model and an online matching model provided by an embodiment of the present application. Among them, the method includes steps S901-S903; specifically:
[0199] S901, on the same test data set, respectively obtain the model test results of the online matching model and the offline matching model for the test data set, and obtain the online model test results output by the online matching model and the offline model test results output by the offline matching model.
[0200] Specifically, the model working principle of the offline matching model is the same as that of the online matching model in the above step S501, and the repeated parts will not be elaborated here.
[0201] S902, from the model evaluation index library, obtain at least one model evaluation index that matches the target optimization dimension.
[0202] Here, the model evaluation indexes in step S902 may include both the common classification indexes and common regression indexes used when evaluating the model training effect, and may also include the model evaluation indexes customized by game planners based on the characteristics of the target game; for the specific index types of the model evaluation indexes, the embodiments of the present application do not make any limitations.
[0203] S903, when it is detected that the performance of the offline model test results under the model evaluation index is better than that of the online model test results, replace the online matching model with the offline matching model.
[0204] Here, since the model functions implemented by the offline matching model and the online matching model are the same (equivalent to both models being used to output the optimal camp division plan in the target optimization dimension), therefore, when the target optimization dimension remains unchanged, when it is detected that the performance of the offline model test results under the model evaluation index is better than that of the online model test results, it can be determined that the model training effect of the offline matching model has exceeded that of the previously trained online matching model. At this time, the online matching model can be replaced with the offline matching model to improve the accuracy of the camp division plan output by the model.
[0205] Through the battle matching method in the game provided by the embodiments of the present application, a general configuration sample table for game battle matching is obtained; under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, the target configuration parameter information in the general configuration sample table is configured to obtain a dedicated game configuration table that meets the game configuration requirements; in response to the game matching request for the target game, multiple players to be matched in the game matching request are battle-matched according to the dedicated game configuration table, and the battle matching result corresponding to each player to be matched is determined.
[0206] In this way, the present application can standardize and generalize complex matching logics with a high degree of customization, reduce the migration and development costs of the matching system, and enable game developers to implement the battle matching requirements under different games with only simple configurations without having to implement complex matching logics.
[0207] Based on the same inventive concept, the present application also provides a battle matching device corresponding to the above-mentioned battle matching method in the game. Since the principle of solving problems by the battle matching device in the embodiments of the present application is similar to that of the above-mentioned battle matching method in the game in the embodiments of the present application, the implementation of the battle matching device can refer to the implementation of the battle matching method, and the repeated parts will not be described again.
[0208] Referring to Figure 10 as shown, Figure 10 FIG. shows a schematic structural diagram of a battle matching device in a game provided by an embodiment of the present application. The battle matching device includes:
[0209] An acquisition module 1001, configured to acquire a general configuration sample table for game battle matching; wherein, the general configuration sample table includes configuration parameter information for implementing different matching business logics;
[0210] A configuration module 1002, configured to, under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; wherein, the target configuration parameter information represents the configuration parameter information for implementing the target matching business logic;
[0211] A matching module 1003, configured to, in response to the game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched; wherein, the battle matching result at least includes: a target game session that matches the player configuration information of the player to be matched and the player composition information of different game camps in the target game session.
[0212] In an alternative embodiment, the configuration parameter information includes: first configuration parameter information, second configuration parameter information, and third configuration parameter information; wherein, the first configuration parameter information is used to constrain the configuration of the camp information of the game camps in the same game session; the second configuration parameter information is used to constrain the configuration of the player information that can play the game in the same game session; the third configuration parameter information is used to constrain the game battle matching rules based on the determined game camps and players in the same game session.
[0213] In an alternative embodiment, when performing battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, the matching module 1003 is configured to:
[0214] Group the multiple players to be matched in the game matching request according to the second configuration parameter information recorded in the dedicated game configuration table to obtain multiple groups of player matching pools;
[0215] For each group of player matching pools, determine a first game session that matches the target game mode represented by the group of player matching pools from the game sessions of multiple different game modes included in the target game; wherein, the target game mode is determined according to the player configuration information of each player to be matched in the group of player matching pools;
[0216] Divide the players to be matched in the group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the final player composition plan for each of the first game sessions.
[0217] In an alternative embodiment, when dividing the players to be matched in the group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the final player composition plan for each of the first game sessions, the matching module 1003 is specifically configured to:
[0218] For the multiple players to be matched included in the group of player matching pools, use the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions to plan the players to be matched in the group of player matching pools to obtain multiple groups of player division plans that meet the constraint conditions; wherein, each group of the player division plans is used to represent a group of player composition plans in the same first game session;
[0219] Obtain multiple first optimization objectives that match the first game session from the game configuration requirements;
[0220] From the multiple player division schemes, determine the player division scheme with the highest weighted summation result of the multiple first optimization objectives as the final player composition scheme for the same first game session.
[0221] In an alternative implementation, after obtaining the final player composition scheme for each first game session, the matching module 1003 is further configured to:
[0222] For each final player composition scheme, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, and taking the ability to evenly group all participating players within the final player composition scheme according to the target number of game camps as the planning objective, plan all participating players within the final player composition scheme to obtain multiple camp division schemes that meet the constraint conditions and the planning objective; wherein, the target number of game camps is determined according to the first configuration parameter information recorded in the dedicated game configuration table; each camp division scheme is used to represent a set of game camp division schemes for all participating players in the first game session.
[0223] From the game configuration requirements, obtain multiple second optimization objectives that match the target game session.
[0224] From the multiple camp division schemes, determine the camp division scheme with the highest weighted summation result of the multiple second optimization objectives as the final camp division scheme for the same first game session.
[0225] In an alternative implementation, after obtaining the multiple camp division schemes that meet the constraint conditions and the planning objective, the matching module 1003 is further configured to:
[0226] Input the player feature information of all participating players within the final player composition scheme into a pre-trained online matching model, and through the online matching model, output the camp division scheme that performs optimally in the target optimization dimension from the multiple camp division schemes as the final camp division scheme for the same first game session; wherein, the player feature information includes: player relationship features and / or character attribute features; the player relationship features are used to represent the familiarity between different participating players; the character attribute features are used to represent the attribute generation / restraint features between different game characters used by different participating players; the target optimization dimension is determined according to the model training requirements of the online matching model.
[0227] In an alternative embodiment, the online matching model at least includes the following three-layer neural network: a team representation layer, a team comparison layer, and a prediction output layer. When outputting the best-performing camp division plan in the target optimization dimension from the multiple sets of camp division plans as the final camp division plan for the same first game session through the online matching model, the matching module 1003 is configured to:
[0228] Input the player feature information of all participating players in the final player composition plan into the team representation layer, and output the team representation vector corresponding to each set of camp division plans through the team representation layer; wherein, each team representation vector is used to represent the mutual influence relationship between different participating players within each game camp.
[0229] Input the team representation vectors corresponding to each set of camp division plans into the team comparison layer, and output the camp representation vector corresponding to each set of camp division plans through the team comparison layer; wherein, each camp representation vector is used to represent the mutual influence relationship between two different game camps.
[0230] Input the camp representation vectors and the team representation vectors corresponding to each set of camp division plans into the prediction output layer, and output the best-performing camp division plan in the target optimization dimension as the final camp division plan for the same first game session through the prediction output layer.
[0231] In an alternative embodiment, when outputting the best-performing camp division plan in the target optimization dimension from the multiple sets of camp division plans as the final camp division plan for the same first game session through the online matching model, the matching module 1003 is configured to:
[0232] When the target optimization dimension is the win rate of confrontation, predict the win rate of confrontation of each game camp on both sides of the confrontation in each set of camp division plans through the online matching model, so as to output the camp division plan with the closest win rate of confrontation of each game camp on both sides of the confrontation from the multiple sets of camp division plans as the final camp division plan;
[0233] When the target optimization dimension is the game participation rate, predict the target game participation rate of each participating player in each set of camp division plans for the first game session through the online matching model, so as to output the camp division plan with the highest target game participation rate from the multiple sets of camp division plans as the final camp division plan; wherein, the target game participation rate is used to represent the probability that the participating player continuously participates in the first game session within the first prediction period after the end of the first game session.
[0234] When the target optimization dimension is the game churn rate, the online matching model is used to predict the target game churn rate of each participating player in each camp division plan for the first game session, so as to output, from the multiple camp division plans, the camp division plan with the lowest target game churn rate as the final camp division plan; wherein, the target game churn rate is used to represent the probability that the participating player will continuously not participate in the first game session within the second prediction period after the end of the first game session.
[0235] In an alternative implementation, the battle matching device further includes:
[0236] A response module, configured to respond to the end of each first game session, extract, from the full-game data of the ended first game session, game information that matches each game parameter in the pre-set game data list according to the pre-set game data list, and use the extracted game information to fill the game data list to obtain training sample data corresponding to the first game session;
[0237] A processing module, configured to perform feature processing on the player information in the training sample data according to the pre-set player portrait feature processing strategy to obtain training player feature information that matches the player feature information;
[0238] An offline module, configured to input the training player feature information into an offline matching model, and train the offline matching model with the goal of learning the camp division plan that performs optimally for all participating players in the first game session under the target optimization dimension, so as to obtain a trained offline matching model.
[0239] In an alternative implementation, after obtaining the trained offline matching model, the offline module is further configured to:
[0240] On the same test data set, respectively obtain the model test results of the online matching model and the offline matching model for the test data set, to obtain the online model test result output by the online matching model and the offline model test result output by the offline matching model;
[0241] Obtain at least one model evaluation index that matches the target optimization dimension from the model evaluation index library;
[0242] When it is detected that the performance of the offline model test result under the model evaluation index is better than that of the online model test result, replace the online matching model with the offline matching model.
[0243] Through the battle matching device in the game provided by the embodiments of the present application, a general configuration sample table for game battle matching is obtained; under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, the target configuration parameter information in the general configuration sample table is configured to obtain a dedicated game configuration table that meets the game configuration requirements; in response to the game matching request for the target game, multiple players to be matched in the game matching request are battle-matched according to the dedicated game configuration table, and the battle matching result corresponding to each player to be matched is determined.
[0244] In this way, the present application can standardize and generalize complex matching logics with a high degree of customization, reduce the migration and development costs of the matching system, and enable game developers to implement the battle matching requirements under different games with simple configuration instead of implementing complex matching logics.
[0245] Figure 11 The following is a schematic structural diagram of an electronic device 1100 provided by the embodiments of the present application, including: a processor 1101, a storage medium 1102, and a bus 1103. The storage medium 1102 stores machine-readable instructions executable by the processor 1101. When the electronic device runs a battle matching method in a game as in the embodiments, the processor 1101 communicates with the storage medium 1102 through the bus 1103, and the processor 1101 executes the machine-readable instructions. Among them, when the processor 1101 executes the machine-readable instructions, the following steps are implemented, specifically:
[0246] Obtain a general configuration sample table for game battle matching; wherein, the general configuration sample table includes configuration parameter information for implementing different matching business logics;
[0247] Under the game configuration requirements of the target game, in response to the parameter configuration operation for the target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; wherein, the target configuration parameter information represents the configuration parameter information for implementing the target matching business logic;
[0248] In response to the game matching request for the target game, battle-match multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched; wherein, the battle matching result at least includes: a target game session that matches the player configuration information of this player to be matched and the player composition information of different game camps in this target game session.
[0249] In a feasible implementation, the configuration parameter information includes: first configuration parameter information, second configuration parameter information, and third configuration parameter information; wherein, the first configuration parameter information is used to constrain the configuration of the camp information of the game camps in the same game session; the second configuration parameter information is used to constrain the configuration of the player information that can play the game in the same game session; the third configuration parameter information is used to constrain the game battle matching rules based on the determined game camps and players in the same game session.
[0250] In a feasible implementation, when the processor 1101 executes the step of performing battle matching on the multiple players to be matched in the game matching request according to the dedicated game configuration table, it specifically is used for:
[0251] Group the multiple players to be matched in the game matching request according to the second configuration parameter information recorded in the dedicated game configuration table to obtain multiple groups of player matching pools;
[0252] For each group of player matching pools, determine a first game session that matches the target game mode represented by the group of player matching pools from the game sessions of multiple different game modes included in the target game; wherein, the target game mode is determined according to the player configuration information of each player to be matched in the group of player matching pools;
[0253] Divide the players to be matched in the group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the final player composition plan for each of the first game sessions.
[0254] In a feasible implementation, when the processor 1101 executes the step of dividing the players to be matched in the group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the player composition information for each of the first game sessions, it specifically is used for:
[0255] For the multiple players to be matched included in the group of player matching pools, use the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions to plan the players to be matched in the group of player matching pools to obtain multiple groups of player division plans that meet the constraint conditions; wherein, each group of the player division plans is used to represent a group of player composition plans for the same first game session;
[0256] Obtain multiple first optimization targets that match the first game session from the game configuration requirements;
[0257] From the multiple groups of player division schemes, determine the player division scheme with the highest weighted summation result of the multiple first optimization objectives as the final player composition scheme for the same first game session.
[0258] In a feasible implementation, after the processor 1101 executes the step of obtaining the final player composition scheme for each first game session, it is further configured to:
[0259] For each final player composition scheme, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, and taking the ability of all participating players within this final player composition scheme to be evenly grouped according to the target number of game camps as the planning objective, plan all participating players within this final player composition scheme to obtain multiple groups of camp division schemes that meet the constraint conditions and the planning objective; wherein, the target number of game camps is determined according to the first configuration parameter information recorded in the dedicated game configuration table; each group of camp division schemes is used to represent a group of game camp division schemes for all participating players in the first game session.
[0260] From the game configuration requirements, obtain multiple second optimization objectives that match the target game session.
[0261] From the multiple groups of camp division schemes, determine the camp division scheme with the highest weighted summation result of the multiple second optimization objectives as the final camp division scheme for the same first game session.
[0262] In a feasible implementation, after the processor 1101 executes the step of obtaining multiple groups of camp division schemes that meet the constraint conditions and the planning objective, it is further configured to:
[0263] Input the player feature information of all participating players within this final player composition scheme into a pre-trained online matching model, and through the online matching model, output the camp division scheme that performs optimally in the target optimization dimension from the multiple groups of camp division schemes as the final camp division scheme for the same first game session; wherein, the player feature information includes: player relationship features and / or character attribute features; the player relationship features are used to represent the familiarity degree between different participating players; the character attribute features are used to represent the attribute generation / restraint features between different game characters used by different participating players; the target optimization dimension is determined according to the model training requirements of the online matching model.
[0264] In a feasible implementation, when the processor 1101 executes the online matching model, it at least includes the following three-layer neural network: a team representation layer, a team comparison layer, and a prediction output layer. When outputting the camp division plan that performs the best in the target optimization dimension from the multiple groups of camp division plans as the final camp division plan for the same first game round through the online matching model, it is used for:
[0265] Input the player feature information of all participating players in the final player composition plan into the team representation layer, and output the team representation vector corresponding to each group of camp division plans through the team representation layer; wherein, each team representation vector is used to represent the mutual influence relationship between different participating players within each game camp.
[0266] Input the team representation vector corresponding to each group of camp division plans into the team comparison layer, and output the camp representation vector corresponding to each group of camp division plans through the team comparison layer; wherein, each camp representation vector is used to represent the mutual influence relationship between two different game camps.
[0267] Input the camp representation vector and the team representation vector corresponding to each group of camp division plans into the prediction output layer, and output the camp division plan that performs the best in the target optimization dimension as the final camp division plan for the same first game round through the prediction output layer.
[0268] In a feasible implementation, when the processor 1101 executes the step of outputting the camp division plan that performs the best in the target optimization dimension from the multiple groups of camp division plans as the final camp division plan for the same first game round through the online matching model, it is used for:
[0269] When the target optimization dimension is the win rate of battles, predict the win rate of battles of each game camp on both sides of the battle in each group of camp division plans through the online matching model, so as to output the camp division plan with the closest win rate of battles of each game camp on both sides from the multiple groups of camp division plans as the final camp division plan;
[0270] When the target optimization dimension is the game participation rate, predict the target game participation rate of each participating player in each group of camp division plans for the first game round through the online matching model, so as to output the camp division plan with the highest target game participation rate from the multiple groups of camp division plans as the final camp division plan; wherein, the target game participation rate is used to represent the probability that the participating player continuously participates in the first game round within the first prediction period after the end of the first game round.
[0271] When the target optimization dimension is the game churn rate, the online matching model is used to predict the target game churn rate of each participating player in each group of camp division plans for the first game session, so as to output, from the multiple groups of camp division plans, the camp division plan with the lowest target game churn rate as the final camp division plan; wherein, the target game churn rate is used to represent the probability that the participating player will continuously not participate in the first game session within the second prediction period after the end of the first game session.
[0272] In a feasible implementation, the processor 1101 is further configured to perform the following steps, specifically:
[0273] In response to the end of each first game session, according to a preset game data list, game information matching each game parameter in the game data list is extracted from the full-game data of the ended first game session, and the extracted game information is used to fill the game data list to obtain the training sample data corresponding to the first game session;
[0274] According to a preset player portrait feature processing strategy, the player information in the training sample data is subjected to feature processing to obtain training player feature information matching the player feature information;
[0275] The training player feature information is input into an offline matching model, and the offline matching model is trained with the goal of learning the camp division plan with the best performance of all participating players in the first game session under the target optimization dimension, so as to obtain a trained offline matching model.
[0276] In a feasible implementation, after the processor 1101 executes the step of obtaining the trained offline matching model, it is further configured to:
[0277] On the same test data set, the model test results of the online matching model and the offline matching model for the test data set are respectively obtained, so as to obtain the online model test results output by the online matching model and the offline model test results output by the offline matching model;
[0278] At least one model evaluation index matching the target optimization dimension is obtained from a model evaluation index library;
[0279] When it is detected that the performance of the offline model test results under the model evaluation index is better than that of the online model test results, the online matching model is replaced with the offline matching model.
[0280] In the above manner, the present application obtains a general configuration sample table for game battle matching; under the game configuration requirements of the target game, in response to a parameter configuration operation for the target matching business logic, configures the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; in response to a game matching request for the target game, performs battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determines the battle matching result corresponding to each player to be matched.
[0281] In this way, the present application can standardize and generalize complex matching logics with a high degree of customization, reducing the migration and development costs of the matching system, enabling game developers to implement the battle matching requirements under different games with simple configuration instead of implementing complex matching logics.
[0282] Based on the same inventive concept, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, the processor performs the following steps:
[0283] Obtain a general configuration sample table for game battle matching; wherein, the general configuration sample table includes configuration parameter information for implementing different matching business logics;
[0284] Under the game configuration requirements of the target game, in response to a parameter configuration operation for the target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; wherein, the target configuration parameter information represents the configuration parameter information for implementing the target matching business logic;
[0285] In response to a game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched; wherein, the battle matching result at least includes: a target game session that matches the player configuration information of the player to be matched and the player composition information of different game camps in the target game session.
[0286] In a feasible implementation, the configuration parameter information includes: first configuration parameter information, second configuration parameter information, and third configuration parameter information; wherein, the first configuration parameter information is used to constrain the configuration of camp information of game camps in the same game session; the second configuration parameter information is used to constrain the configuration of player information that can play games in the same game session; the third configuration parameter information is used to constrain the game battle matching rules based on the determined game camps and players in the same game session.
[0287] In a feasible implementation, when the processor executes the step of performing battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, it specifically is used for:
[0288] Group the multiple players to be matched in the game matching request according to the second configuration parameter information recorded in the dedicated game configuration table to obtain multiple groups of player matching pools;
[0289] For each group of player matching pools, determine a first game session that matches the target game mode represented by this group of player matching pools from the game sessions of multiple different game modes included in the target game; wherein, the target game mode is determined according to the player configuration information of each player to be matched in this group of player matching pools;
[0290] Divide the players to be matched in this group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the final player composition plan for each of the first game sessions.
[0291] In a feasible implementation, when the processor executes the step of dividing the players to be matched in this group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the player composition information for each of the first game sessions, it specifically is used for:
[0292] For the multiple players to be matched included in this group of player matching pools, use the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions to plan the players to be matched in this group of player matching pools to obtain multiple groups of player division plans that meet the constraint conditions; wherein, each group of the player division plans is used to represent a group of player composition plans for the same first game session;
[0293] Obtain multiple first optimization objectives that match the first game session from the game configuration requirements;
[0294] From the multiple groups of player division plans, determine the player division plan with the highest weighted summation result of the multiple first optimization objectives as the final player composition plan for the same first game session.
[0295] In a feasible implementation, after the processor executes the step of obtaining the final player composition plan for each of the first game sessions, it is further used for:
[0296] For each of the final player composition plans, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, and taking the goal that all participating players within the final player composition plan can be evenly grouped according to the number of target game camps as the planning goal, plan all the participating players within the final player composition plan to obtain multiple camp division plans that meet the constraint conditions and the planning goal; wherein, the number of target game camps is determined according to the first configuration parameter information recorded in the dedicated game configuration table; each camp division plan is used to represent a group of game camp division plans of all participating players in the first game round;
[0297] From the game configuration requirements, obtain multiple second optimization goals that match the target game round;
[0298] From the multiple camp division plans, determine the camp division plan with the highest weighted sum result of the multiple second optimization goals as the final camp division plan under the same first game round.
[0299] In a feasible implementation, after the processor executes the step of obtaining multiple camp division plans that meet the constraint conditions and the planning goal, it is further used for:
[0300] Input the player feature information of all participating players within the final player composition plan into a pre-trained online matching model, and through the online matching model, output the camp division plan that performs best in the target optimization dimension from the multiple camp division plans as the final camp division plan under the same first game round; wherein, the player feature information includes: player relationship features and / or character attribute features; the player relationship features are used to represent the familiarity degree between different participating players; the character attribute features are used to represent the attribute generation / restraint features between different game characters used by different participating players; the target optimization dimension is determined according to the model training requirements of the online matching model.
[0301] In a feasible implementation, when the processor executes the step of outputting, through the online matching model, the camp division plan that performs best in the target optimization dimension from the multiple camp division plans as the final camp division plan under the same first game round, the online matching model at least includes the following three-layer neural network: a team representation layer, a team comparison layer, and a prediction output layer, and is used for:
[0302] Input the player characteristic information of all participating players in the final player composition plan into the team representation layer, and output the team representation vectors corresponding to each camp division plan through the team representation layer; wherein, each of the team representation vectors is used to represent the mutual influence relationship between different participating players within each game camp;
[0303] Input the team representation vectors corresponding to each camp division plan into the team comparison layer, and output the camp representation vectors corresponding to each camp division plan through the team comparison layer; wherein, each of the camp representation vectors is used to represent the mutual influence relationship between two different game camps;
[0304] Input the camp representation vectors and the team representation vectors corresponding to each camp division plan into the prediction output layer, and output the camp division plan with the best performance in the target optimization dimension as the final camp division plan for the same first game session.
[0305] In a feasible implementation, when the processor executes the step of outputting the camp division plan with the best performance in the target optimization dimension from the multiple camp division plans as the final camp division plan for the same first game session through the online matching model, it is used for:
[0306] When the target optimization dimension is the win rate of confrontation, predict the win rate of confrontation of each game camp on both sides of the confrontation in each camp division plan through the online matching model, so as to output the camp division plan with the closest win rate of confrontation of each game camp on both sides of the confrontation from the multiple camp division plans as the final camp division plan;
[0307] When the target optimization dimension is the game participation degree, predict the target game participation degree of each participating player in each camp division plan for the first game session through the online matching model, so as to output the camp division plan with the highest target game participation degree from the multiple camp division plans as the final camp division plan; wherein, the target game participation degree is used to represent the probability that the participating player continuously participates in the first game session within the first prediction period after the end of the first game session;
[0308] When the target optimization dimension is the game churn rate, the online matching model is used to predict the target game churn rate of each participating player in each group of camp division schemes for the first game session, so as to output the camp division scheme with the lowest target game churn rate as the final camp division scheme from the multiple groups of camp division schemes; wherein, the target game churn rate is used to represent the probability that the participating player will continuously not participate in the first game session within the second prediction period after the end of the first game session.
[0309] In a feasible implementation, the processor is further configured to perform the following steps specifically:
[0310] In response to the end of each first game session, according to the pre-set game data list, extract game information matching each game parameter in the game data list from the full-game data of the ended first game session, and use the extracted game information to fill the game data list to obtain the training sample data corresponding to the first game session;
[0311] According to the pre-set player portrait feature processing strategy, perform feature processing on the player information in the training sample data to obtain training player feature information matching the player feature information;
[0312] Input the training player feature information into the offline matching model, and train the offline matching model with the goal of learning the camp division scheme with the best performance of all participating players in the first game session under the target optimization dimension, so as to obtain a trained offline matching model.
[0313] In a feasible implementation, after the processor executes the step of obtaining the trained offline matching model, it is further configured to:
[0314] On the same test data set, respectively obtain the model test results of the online matching model and the offline matching model for the test data set, to obtain the online model test results output by the online matching model and the offline model test results output by the offline matching model;
[0315] From the model evaluation index library, obtain at least one model evaluation index matching the target optimization dimension;
[0316] When it is detected that the performance of the offline model test results under the model evaluation index is better than that of the online model test results, replace the online matching model with the offline matching model.
[0317] In the above manner, this application obtains a general configuration sample table for game battle matching; under the game configuration requirements of the target game, in response to a parameter configuration operation for the target matching business logic, it configures the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; in response to a game matching request for the target game, it performs battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determines the battle matching result corresponding to each player to be matched.
[0318] In this way, this application can standardize and generalize complex matching logics with a high degree of customization, reducing the migration and development costs of the matching system, enabling game developers to implement the battle matching requirements under different games with simple configurations without having to implement complex matching logics.
[0319] In the embodiment of this application, when the computer program is run by a processor, it can also execute other machine-readable instructions to perform the methods described in other parts of the embodiments. For the specific method steps and principles of execution, refer to the descriptions in the embodiments and will not be elaborated in detail here.
[0320] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division, and there can be other division methods in actual implementation. Also, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some communication interfaces, and the indirect coupling or communication connection of the devices or units can be in electrical, mechanical or other forms.
[0321] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0322] In addition, the functional units in the embodiments provided in this application can be integrated in one processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.
[0323] When the above-mentioned functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such understanding, the technical solution of this application, in essence, or the part that contributes to the prior art or a part of this technical solution can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs.
[0324] It should be noted that: similar reference numerals and letters represent similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. In addition, the terms "first", "second", "third", etc. are only used for descriptive distinction and cannot be understood as indicating or implying relative importance.
[0325] Finally, it should be noted that: the above-mentioned embodiments are only specific implementation manners of this application, used to illustrate the technical solution of this application, rather than limiting it. The protection scope of this application is not limited thereto. Although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: any person skilled in the art within the technical scope disclosed in this application can still modify the technical solutions recorded in the foregoing embodiments or can easily think of changes, or perform equivalent replacements on some of the technical features; and these modifications, changes, or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of this application. All should be covered within the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
Claims
1. A battle matching method in a game, characterized in that, The described battle matching method includes: Obtain a general configuration sample table for game battle matching; wherein, the general configuration sample table includes configuration parameter information for implementing different matching business logics; the configuration parameter information includes: first configuration parameter information, second configuration parameter information, and third configuration parameter information; the first configuration parameter information is used to constrain the configuration of camp information of game camps in the same game session; the second configuration parameter information is used to constrain the configuration of player information that can play games in the same game session; the third configuration parameter information is used to constrain the game battle matching rules based on the determined game camps and players in the same game session; Under the game configuration requirements of the target game, in response to a parameter configuration operation for the target matching business logic, configure the target configuration parameter information in the general configuration sample table to obtain a dedicated game configuration table that meets the game configuration requirements; wherein, the target configuration parameter information represents the configuration parameter information for implementing the target matching business logic; In response to a game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching result corresponding to each player to be matched; wherein, the battle matching result at least includes: the target game session that matches the player configuration information of this player to be matched and the player composition information of different game camps in this target game session; Among them, the performing battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table includes: Group the multiple players to be matched in the game matching request according to the second configuration parameter information recorded in the dedicated game configuration table to obtain multiple groups of player matching pools; For each group of player matching pools, determine the first game session that matches the target game mode represented by this group of player matching pools from the game sessions of various different game modes included in the target game; wherein, the target game mode is determined according to the player configuration information of each player to be matched in this group of player matching pools; According to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table, divide the players to be matched in this group of player matching pools to obtain the final player composition plan for each of the first game sessions.
2. The battle matching method according to claim 1, wherein The dividing the players to be matched in this group of player matching pools according to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table to obtain the player composition information for each of the first game sessions includes: For the multiple players to be matched included in this group of player matching pools, use the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions to plan the players to be matched in this group of player matching pools to obtain multiple groups of player division plans that meet the constraint conditions; wherein, each group of the player division plans is used to represent a group of player composition plans for the same first game session; Obtain multiple first optimization objectives that match the first game session from the game configuration requirements; Determine, from the multiple sets of player division schemes, the player division scheme with the highest weighted sum result of the multiple first optimization objectives as the final player composition scheme under the same first game session.
3. The battle matching method according to claim 2, wherein After obtaining the final player composition scheme for each first game session, the battle matching method further includes: For each final player composition scheme, using the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table as constraint conditions, and taking the goal of evenly dividing all participating players within this final player composition scheme according to the number of target game camps as the planning objective, plan all participating players within this final player composition scheme to obtain multiple sets of camp division schemes that meet the constraint conditions and the planning objective; wherein, the number of target game camps is determined according to the first configuration parameter information recorded in the dedicated game configuration table; each set of camp division schemes is used to represent a set of game camp division schemes for all participating players under the first game session; Obtain multiple second optimization objectives that match the target game session from the game configuration requirements; Determine, from the multiple sets of camp division schemes, the camp division scheme with the highest weighted sum result of the multiple second optimization objectives as the final camp division scheme under the same first game session.
4. The battle matching method according to claim 3, wherein After obtaining multiple sets of camp division schemes that meet the constraint conditions and the planning objective, the battle matching method further includes: Input the player feature information of all participating players within this final player composition scheme into a pre-trained online matching model, and through the online matching model, output the camp division scheme that performs optimally in the target optimization dimension from the multiple sets of camp division schemes as the final camp division scheme under the same first game session; wherein, the player feature information includes: player relationship features and / or character attribute features; the player relationship features are used to represent the familiarity between different participating players; the character attribute features are used to represent the attribute generation / counteraction features between different game characters used by different participating players; the target optimization dimension is determined according to the model training requirements of the online matching model.
5. The battle matching method according to claim 4, wherein The online matching model includes at least the following three layers of neural networks: a team representation layer, a team comparison layer, and a prediction output layer. The step of outputting the camp division scheme that performs optimally in the target optimization dimension from the multiple sets of camp division schemes through the online matching model as the final camp division scheme under the same first game session includes: Input the player feature information of all participating players within this final player composition scheme into the team representation layer, and output the team representation vector corresponding to each set of camp division schemes through the team representation layer; wherein, each team representation vector is used to represent the mutual influence relationship between different participating players within each game camp; Input the team representation vectors corresponding to each group of camp division plans into the team comparison layer, and output the camp representation vectors corresponding to each group of camp division plans through the team comparison layer; wherein, each camp representation vector is used to represent the mutual influence relationship between two different game camps. Input the camp representation vectors and the team representation vectors corresponding to each group of camp division plans into the prediction output layer, and output the camp division plan that performs best in the target optimization dimension as the final camp division plan for the same first game matchup.
6. The battle matching method according to claim 4, wherein The online matching model outputs the camp division plan that performs best in the target optimization dimension as the final camp division plan for the same first game matchup, including: When the target optimization dimension is the win rate in battles, the online matching model predicts the win rates of the game camps of both sides in battles for each group of camp division plans, and outputs the camp division plan with the closest win rates of the game camps of both sides in battles from the multiple groups of camp division plans as the final camp division plan. When the target optimization dimension is the game participation rate, the online matching model predicts the target game participation rate of each participating player in each group of camp division plans for the first game matchup, and outputs the camp division plan with the highest target game participation rate from the multiple groups of camp division plans as the final camp division plan; wherein, the target game participation rate is used to represent the probability that the participating player continues to participate in the first game matchup within the first prediction period after the end of the first game matchup. When the target optimization dimension is the game churn rate, the online matching model predicts the target game churn rate of each participating player in each group of camp division plans for the first game matchup, and outputs the camp division plan with the lowest target game churn rate from the multiple groups of camp division plans as the final camp division plan; wherein, the target game churn rate is used to represent the probability that the participating player continues not to participate in the first game matchup within the second prediction period after the end of the first game matchup.
7. The battle matching method according to claim 4, characterized in that The battle matching method further includes: In response to the end of each first game matchup, according to the pre-set game data list, extract the game information that matches each game parameter in the game data list from the full-game data of the ended first game matchup, and use the extracted game information to fill the game data list to obtain the training sample data corresponding to the first game matchup. Process the player information in the training sample data according to the pre-set player portrait feature processing strategy to obtain the training player feature information that matches the player feature information. Input the training player feature information into the offline matching model, and train the offline matching model with the goal of learning the optimal camp division plan for all participating players in the first game session under the target optimization dimension, so as to obtain a trained offline matching model.
8. The battle matching method according to claim 7, wherein After obtaining the trained offline matching model, the battle matching method further includes: On the same test data set, respectively obtain the model test results of the online matching model and the offline matching model for the test data set, to obtain the online model test results output by the online matching model and the offline model test results output by the offline matching model; From the model evaluation index library, obtain at least one model evaluation index that matches the target optimization dimension; When it is detected that the performance of the offline model test results under the model evaluation index is better than that of the online model test results, replace the online matching model with the offline matching model.
9. A battle matching device in a game, characterized in that, The battle matching device includes: An acquisition module, configured to acquire a general configuration example table for game battle matching; wherein, the general configuration example table includes configuration parameter information for implementing different matching service logics; the configuration parameter information includes: first configuration parameter information, second configuration parameter information, and third configuration parameter information; the first configuration parameter information is used to constrain the camp information configuration of game camps in the same game session; the second configuration parameter information is used to constrain the player information configuration that can play games in the same game session; the third configuration parameter information is used to constrain the game battle matching rules based on the determined game camps and players in the same game session; A configuration module, configured to, under the game configuration requirements of the target game, in response to a parameter configuration operation for the target matching service logic, configure the target configuration parameter information in the general configuration example table to obtain a dedicated game configuration table that meets the game configuration requirements; wherein, the target configuration parameter information represents the configuration parameter information for implementing the target matching service logic; A matching module, configured to, in response to a game matching request for the target game, perform battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, and determine the battle matching results corresponding to each player to be matched; wherein, the battle matching results at least include: the target game session that matches the player configuration information of the player to be matched and the player composition information of different game camps in the target game session; Among them, when performing battle matching on multiple players to be matched in the game matching request according to the dedicated game configuration table, the matching module is configured to: Group the multiple players to be matched in the game matching request according to the second configuration parameter information recorded in the dedicated game configuration table to obtain multiple groups of player matching pools; For each group of player matching pools, determine a first game session that matches the target game mode characterized by the group of player matching pools from the game sessions of multiple different game modes included in the target game; wherein, the target game mode is determined according to the player configuration information of each player to be matched in the group of player matching pools. According to the first configuration parameter information and the third configuration parameter information recorded in the dedicated game configuration table, divide the players to be matched in the group of player matching pools to obtain the final player composition plan for each of the first game sessions.
10. An electronic device, characterized in that, Including: A processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device runs, the processor communicates with the memory through the bus. When the machine-readable instructions are executed by the processor, the steps of the battle matching method according to any one of claims 1 to 8 are executed.
11. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium. When the computer program is run by the processor, the steps of the battle matching method according to any one of claims 1 to 8 are executed.
Citation Information
Patent Citations
Game difficulty matching method and device
CN112439193A
Game player matching method, device and equipment and storage medium
CN112604303A