A method and device for matching game players, electronic equipment and storage medium

By training a game battle matchmaking model and utilizing multi-dimensional game data and global matchmaking rationality conditions, the problem of inaccurate positioning in existing ELO score algorithms has been solved, achieving efficient and accurate matchmaking for multiple matches and improving game balance and experience.

CN115738293BActive Publication Date: 2026-05-01NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NETEASE (HANGZHOU) NETWORK CO LTD
Filing Date
2022-12-07
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing matchmaking systems based on the ELO rating algorithm only use a single dimension of ELO rating to determine player skill level, resulting in a large skill gap between the two teams after matchmaking, low matchmaking accuracy, and affecting game balance.

Method used

By acquiring game data from multiple players awaiting matchmaking, inputting it into the trained game battle matchmaking model, and matching multiple players according to global matchmaking rationality conditions, the target player team matchmaking results for multiple matches are determined, satisfying the condition of maximizing global benefits.

Benefits of technology

It enables simultaneous matching of multiple matches, ensuring the global optimal matching results and improving global matching accuracy and game balance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115738293B_ABST
    Figure CN115738293B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of games, in particular to a game player matching method and device, electronic equipment and a storage medium. The application inputs game data of a plurality of to-be-matched players into a trained game battle matching model, and matches the plurality of to-be-matched players according to a global matching rationality condition, so that a target player team matching result of a plurality of matches that satisfy global maximum profit maximization as a whole can be determined. In this way, the application can not only match a plurality of matches at one time, but also ensure the global optimality of the matching result, so that the purpose of improving the global matching accuracy and the game balance is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

A method, device, electronic device, and storage medium for matching game players. Technical Field

[0001] This application relates to the field of game technology, and more particularly to a method, device, electronic device, and storage medium for matching game players. Background Technology

[0002] In sports games (SPGs), multiplayer online battle arena games (MOBAs), and massively multiplayer online role-playing games (MMORPGs), there are numerous player-versus-player (PVP) scenarios. In these PVP scenarios, the system needs to match players into teams of equal size, allowing these teams to compete against each other. The most common PVP matchmaking mode divides players into two teams of equal size, allowing them to battle each other. Game matchmaking determines a player's teammates and opponents, directly impacting the performance of both teams and the player's overall PVP experience. Therefore, the basic principle of game matchmaking is to pair players of similar skill levels, minimizing situations where one team overwhelmingly defeats the other.

[0003] Currently, matchmaking systems typically use player rating algorithms to match players into teams. Among these, the ELO rating algorithm is widely used. The basic idea is to use the ELO rating system to calculate an ELO matchmaking score for each player based on their historical performance. Then, based on all players in that team, an ELO value is obtained for the team. The expected win rate of both teams is calculated using their respective ELO values, and the team combination with the expected win rate closest to 50% is used as the matchmaking result.

[0004] However, matchmaking systems based on the ELO rating algorithm only use a single dimension of ELO rating to determine the skill level of each player, which is not accurate enough. This results in a large gap in the strength of the two teams after the match is made, leading to a low matchmaking accuracy and affecting the balance of the game. Summary of the Invention

[0005] In view of this, the embodiments of this application provide at least one method, device, electronic device and storage medium for matching game players, which can not only realize the matching of multiple games at the same time, but also ensure the global optimality of the matching results, thereby improving the global matching accuracy and game balance.

[0006] This application mainly includes the following aspects:

[0007] In a first aspect, one optional embodiment of this application provides a game player matching method, the game player matching method comprising: obtaining player identifiers of multiple players to be matched; obtaining game data of each player to be matched based on the player identifier of each player to be matched; inputting the game data of the multiple players to be matched together into a trained game combat matching model, matching the multiple players to be matched according to a global matching rationality condition, and simultaneously determining the target player team matching results for multiple matches; wherein, the players to be matched for each match are different; the global matching rationality condition is that the target player team matching results for the multiple matches satisfy the condition of maximizing global benefits as a whole.

[0008] Secondly, one optional embodiment of this application also provides a game player matching device, the game player matching device comprising: a first acquisition module, used to acquire player identifiers of multiple players to be matched; a second acquisition module, used to acquire game data of each player to be matched based on the player identifier of each player to be matched; and a determination module, used to input the game data of the multiple players to be matched together into a trained game battle matching model, match the multiple players to be matched according to a global matching rationality condition, and simultaneously determine the target player team matching results for multiple matches; wherein, the players to be matched for each match are different; the global matching rationality condition is that the target player team matching results for the multiple matches satisfy the condition of maximizing global benefits as a whole.

[0009] Thirdly, one optional embodiment of this application also provides an electronic device, including: a processor, a memory, and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the memory via the bus, and the machine-readable instructions are executed by the processor to perform the steps of the game player matching method described in the first aspect or any possible implementation of the first aspect.

[0010] Fourthly, in one optional embodiment of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, performs the steps of the game player matching method described in the first aspect or any possible implementation of the first aspect.

[0011] The game player matching method, device, electronic device, and storage medium provided in this application embodiment input the game data of multiple players to be matched into a trained game battle matching model, and match multiple players to be matched according to global matching rationality conditions. It can simultaneously determine the target player team matching results of multiple matches that maximize global benefits. Compared with the prior art that only uses a single dimension of ELO score to characterize the player's true strength, the ELO algorithm has a large algorithm error, resulting in a mismatch between player score and player strength, and the two teams matched based on ELO score have too large a difference in true strength. Compared with this application embodiment, it can not only realize the simultaneous matching of multiple matches, but also ensure the global optimality of the matching results, thereby improving the global matching accuracy and game balance.

[0012] Furthermore, one optional embodiment of this application provides a game player matching method that continuously optimizes the network parameters of the initial deep learning model based on game data from multiple target sample players and the target matching scores calculated in each round of training through a global matching rationality scoring function, thereby training a game combat matching model. This allows for the training of a game combat matching model that guarantees globally optimal matching results, thus improving the efficiency of model training.

[0013] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0014] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0015] Figure 1 shows a flowchart of a game player matching method provided by one of the optional embodiments of this application;

[0016] Figure 2 shows a flowchart of the training process of a game battle matching model in a game player matching method provided by one of the optional embodiments of this application;

[0017] Figure 3 shows one of the functional block diagrams of a game player matching device provided in one of the optional embodiments of this application;

[0018] Figure 4 shows a second functional block diagram of a game player matching device provided in one of the optional embodiments of this application;

[0019] Figure 5 shows a schematic diagram of the structure of an electronic device provided in one of the optional embodiments of this application. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.

[0021] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0022] In order to enable those skilled in the art to use the content of this application, and in combination with the specific application scenario of "game player matching", the following implementation method is given. For those skilled in the art, the general principles defined herein can be applied to other embodiments and application scenarios without departing from the spirit and scope of this application.

[0023] The methods, apparatus, electronic devices, or computer-readable storage media described in this application can be applied to any scenario requiring game player matching. This application does not limit specific application scenarios, and any scheme using the game player matching methods and apparatus provided in this application is within the protection scope of this application.

[0024] In one embodiment of this disclosure, the game player matching method can run on a server. When the game player matching method runs on a server, the method can be implemented and executed based on a cloud interaction system, wherein the cloud interaction system includes a server and client devices.

[0025] In an optional implementation, various cloud applications, such as cloud gaming, can run under the cloud interaction system. Taking cloud gaming as an example, cloud gaming refers to a gaming method based on cloud computing. In the cloud gaming operating mode, the game program and the game screen presentation are separated. The storage and execution of player matching methods are completed on the cloud gaming server. The client device is used for data reception, transmission, and game screen presentation. For example, the client device can be a display device with data transmission capabilities located close to the user, such as a mobile terminal, television, computer, or PDA; however, the information processing is performed by the cloud gaming server in the cloud. When playing the game, the player operates the client device to send operation commands to the cloud gaming server. The cloud gaming server runs the game according to the operation commands, encodes and compresses game screen data, returns it to the client device via the network, and finally, the client device decodes and outputs the game screen.

[0026] In an optional implementation, taking a game as an example, the local terminal device stores the game program and is used to display the game screen. The local terminal device is used to interact with the player through a graphical user interface (GUI), i.e., conventionally by downloading, installing, and running the game program via an electronic device. The local terminal device can provide the GUI to the player in various ways, such as rendering it on the terminal's display screen or providing it to the player via holographic projection. For example, the local terminal device can include a display screen for displaying the GUI, which includes game screens, and a processor for running the game, generating the GUI, and controlling the display of the GUI on the display screen.

[0027] In one possible implementation, this application provides a method for matching game players, which can provide a graphical user interface through a terminal device. The terminal device (game client) can be the aforementioned local terminal device or a client device in the aforementioned cloud interaction system.

[0028] It is worth noting that prior to this application, matchmaking systems typically used player rating algorithms to match players into teams. Among these player rating algorithms, the ELO rating algorithm was widely used. However, matchmaking systems based on the ELO rating algorithm only used a single dimension of ELO rating to determine the skill level of players, which was not accurate enough. This resulted in a large gap in the strength of the two teams after matchmaking, leading to a low matchmaking accuracy and affecting the balance of the game.

[0029] To address the aforementioned issues, this application's embodiments input the game data of multiple players awaiting matchmaking into a trained game combat matchmaking model. By matching these players according to global matchmaking rationality conditions, the target player team matchmaking results for multiple matches that maximize overall global benefits can be simultaneously determined. Thus, this application not only enables simultaneous matchmaking for multiple matches but also ensures globally optimal matchmaking results, thereby improving global matchmaking accuracy and game balance.

[0030] To facilitate understanding of this application, the technical solutions provided in this application will be described in detail below with reference to specific embodiments.

[0031] Figure 1 is a flowchart of a game player matching method provided in one optional embodiment of this application. As shown in Figure 1, the game player matching method provided in one optional embodiment of this application can be applied to a server that can interact with multiple game clients simultaneously. The game player matching method includes the following steps:

[0032] S101: Get the player identifiers of the multiple players to be matched.

[0033] Optionally, the server may receive a matchmaking service request from at least one game client at any time. Upon receiving the matchmaking service request, the server will trigger the game battle matchmaking service.

[0034] In practice, if the server receives matchmaking service requests from some game clients, the game players corresponding to these game clients are the players to be matched. At this time, the player identifiers of these players to be matched are obtained so that the game data of the corresponding players to be matched can be obtained through the player identifiers. Then, the multiple players to be matched are matched and teamed up through this game data to obtain the target player team matching result.

[0035] In one optional embodiment of this application, the target player team matching result may include all or some of the multiple players to be matched, that is, all or some of the multiple players to be matched can be matched into teams in this match. Whether all or some are matched depends primarily on the relationship between the number of first players and the required number of second players in each team. Specifically, if the number of first players is not an even multiple of the number of second players, then only some of the multiple players to be matched can be matched into teams, and some players will not be matched in this match; if the number of first players is an even multiple of the number of second players, then all of the multiple players to be matched can be matched into teams. This ensures that each player waiting to be matched can be matched into a team, reducing the waiting time and improving the gaming experience. The specific implementation process of matching multiple players into teams is given below, including the following steps:

[0036] S1011: In response to a matchmaking service request sent by any game client, store the player identifier of the player to be matched corresponding to the game client into the player matchmaking pool.

[0037] S1012: When the number of player identifiers in the player matching pool is equal to a preset number, obtain the player identifiers of all players to be matched in the player matching pool; wherein, the preset number is an integer multiple of the number of players to be matched for each game.

[0038] By limiting the number of player identifiers in the player matching pool, it can be ensured that every player waiting to be matched is matched with a team in a specific match, and there will be no situation where no player waiting to be matched fails to get a match. This can improve matching efficiency and the gaming experience of players waiting to be matched, while also providing the optimal matching solution for multiple matches by comprehensively considering all players waiting to be matched.

[0039] In one example, the preset number is 100. When any player to be matched triggers the matchmaking service in the game client, the player's ID is added to the player matchmaking pool. After the player matchmaking pool accumulates 100 players, it requests the server. The server generates matchmaking schemes for 10 matches at once (assuming the game scenario is a 5v5 battle match), selects the matchmaking scheme with the highest global benefit, and then distributes it to each player to be matched.

[0040] S102: Obtain game data for each player to be matched based on their player identifier.

[0041] Here, the game data of the player to be matched is used to characterize the player's behavior, characteristics, and match results in the game. Through this game data, the performance of the player to be matched in the game can be evaluated, that is, the player's true combat strength in the game can be evaluated. Therefore, this game data can be used as key data for player team matching.

[0042] Optionally, considering that related technologies only use a single dimension, ELO score, to characterize a player's true skill level, the ELO algorithm has a large error, leading to a mismatch between player scores and skill levels, and resulting in a significant difference in the actual skill levels of the matched teams. To address this issue caused by a single dimension, the game data selected in this embodiment includes multi-dimensional data, such as multi-dimensional historical match feature data, multi-dimensional historical match result data, and multi-dimensional player profile data. Thus, by possessing multi-dimensional game data, a more accurate characterization of a player's true skill level can be achieved, taking into account individual differences among players and improving the accuracy of player skill level assessment.

[0043] In one optional embodiment of this application, the game data includes at least one of the following: historical match feature data, historical match result data, and player profile data. The game data can be stored in a game database, and this game data can be obtained from game logs. When the game data is updated, the updated game data is also stored in the database. Updates may include updating player profile data, adding or replacing historical match feature data, or adding or replacing historical match result data.

[0044] The historical match feature data comprises the characteristic and behavioral data of players in their historical battles within the game. This data may include, but is not limited to, the following: player's chosen class identifier, damage dealt, healing received, and performance score. The historical match result data comprises the results of players' historical battles within the game. This data may include, but is not limited to, the following: the player's win / loss record (e.g., number of wins, number of losses) and score. In practical application, preferably, the historical match feature data and historical match result data can be discretized, constructed into sequences, sorted according to the match timestamp, and combined with player profile data to form game data. This game data can then be encoded to obtain the player's code for the player to be matched. The player profile data comprises the player's game behavior characteristics and attribute data. This data may include, but is not limited to, the following: player level, player's game power value, equipment owned by the player, items that provide additional attribute bonuses, average online time, gender, and age.

[0045] In addition, the specific data included in the above-mentioned historical match feature data, historical match result data, and player profile data are merely illustrative examples; data that also possesses the aforementioned data features are also included in the above data.

[0046] S103: Input the game data of the multiple players to be matched into the trained game battle matching model, match the multiple players to be matched according to the global matching rationality conditions, and determine the target player team matching results for multiple matches.

[0047] The players to be matched are different for each game; the global matching rationality condition is that the team matching results of the target players in the multiple games meet the condition of maximizing global benefits as a whole.

[0048] In practical implementation, after obtaining the game data of multiple players to be matched, these players can be matched into teams based on this game data. Specifically, by inputting the game data of these multiple players into a trained game battle matching model, the target player team matching results for multiple matches that maximize overall global benefit can be determined simultaneously. Thus, this application can achieve simultaneous matching for multiple matches. Optionally, the game battle matching model outputs a fixed number of matches, each match having at least two teams, each team including at least two players to be matched, and each player to be matched can only be matched into one team in one match to avoid the situation where a player to be matched is matched repeatedly.

[0049] It's important to note that traditional matchmaking systems typically only consider single-match scenarios. For example, they can only match one match at a time. Multiple matches require sequential matching; that is, teams and players from one match are matched first, and then players from the remaining pool are selected for the next match. This can result in some matches being better than others. Alternatively, they might randomly group a large number of players into groups and use the single-match matching capabilities of traditional services within each group. This inevitably leads to some groups having good matchmaking results while others have poor results, negatively impacting the gaming experience for players awaiting matchmaking.

[0050] However, most existing game scenarios require providing matchmaking services for tens of thousands of players, necessitating an expansion of the matchmaking system's capabilities from single-match matching to simultaneous multi-match matching. To address this, this application's embodiment relies on a single game battle matchmaking model to directly optimize matchmaking for multiple matches, avoiding the error accumulation associated with optimizing multiple individual matches. Specifically, this application matches multiple matches simultaneously among multiple players awaiting matchmaking, assigning each player to a team within those matches. When matching a large number of players for game battles, the matching results of multiple matches requiring decision-making are considered simultaneously, maximizing the sum of the benefits from each match's outcome. This maximizes the overall benefit of multi-match matchmaking. Consequently, matchmaking efficiency and speed are significantly improved, reducing waiting time for players seeking matchmaking and enhancing the overall gaming experience.

[0051] Furthermore, this application matches players according to global matchmaking rationality conditions during the team formation process. This ensures that the overall matchmaking results for each game in the target player team are optimal globally, meaning that the overall accuracy of the matchmaking results across multiple games is maximized, thereby improving overall game balance. Preferably, the global matchmaking rationality conditions are conditions that guarantee the rationality of the overall matchmaking results. These global matchmaking rationality conditions can be one or more of the following: conditions guaranteeing the rationality of global team combat power matching, conditions guaranteeing the rationality of global team equipment matching, and conditions guaranteeing the rationality of global team game rank matching. For example, the conditions for ensuring the overall team strength matching can be the difference in overall team strength between the two teams in each match, the difference in average player strength between the two teams, and the difference in strength of the top players of the two teams in each match; the conditions for ensuring the overall team equipment matching can be the difference in overall team equipment between the two teams in each match, the difference in average player equipment between the two teams, and the difference in equipment of the top players of the two teams in each match; the conditions for ensuring the overall team game rank matching can be the difference in overall team game rank between the two teams in each match, the difference in average player game rank between the two teams, and the difference in game rank of the top players of the two teams in each match.

[0052] Preferably, the target player team matching results can be given in the form of a player matching sequence, where each element represents a player to be matched. Here, the target player team matching results include multiple matched matches, at least two teams in each matched match, and player identifiers for a predetermined number of players to be matched in each team. In one example, if multiple 3v3 matches are matched, each match includes 6 matching positions, with the first 3 positions in each match belonging to Team 1 and the last 3 to Team 2; this is the matching team for that match. Because multiple matches can be matched, there are multiple matching teams. Each player to be matched can only be matched into one team in a specific match to avoid the situation where a player is matched repeatedly.

[0053] The following describes the working process of the game battle matchmaking model. Specifically, in step S103, the game data of the multiple players to be matched are input into the trained game battle matchmaking model. The multiple players to be matched are matched according to the global matchmaking rationality condition, and the target player team matchmaking results for multiple matches are determined. This includes the following steps:

[0054] S1031: Encode the game data of the multiple players to be matched to obtain the total code of the player pool.

[0055] In practice, for each player to be matched, their game data is encoded to obtain a player code. This player code can be understood as a multi-dimensional vector, which is the encoding vector of the player to be matched.

[0056] Preferably, an encoder can be used to encode the game data of the player to be matched, thereby obtaining the player's code. The encoder can be any type of network, as long as it can perform the encoding function. For example, the encoder can be a one-dimensional convolutional network, a recurrent neural network, a self-attention network, etc.

[0057] Furthermore, after encoding each player among the multiple players to be matched, the player codes of these players are aggregated to obtain the total player pool code. The total player pool code incorporates the player codes of each individual player among the multiple players to be matched.

[0058] S1032: Decode the total code of the player pool to obtain the position code of each matching position.

[0059] In practice, the total encoding of the player pool, which incorporates the features of all players to be matched, can be continuously decoded to obtain the position encoding corresponding to each matching position in the target player team matching results. Then, based on the position encoding of each matching position, the player identifier of the player to be matched that is suitable for that matching position can be found.

[0060] In one possible implementation, step S1032 decodes the total code of the player pool to obtain the position code of each matching position, including: determining the position code of the second matching position based on the position code of the first matching position and the player identifier; the first matching position and the second matching position are two adjacent positions in the target player team matching result, and the second matching position is located after the first matching position.

[0061] In practice, after identifying the player to be matched in the first matching position of the target player's team matching result, the players to be matched in other matching positions in the target player's team matching result are determined sequentially. Here, each second matching position can be determined using the position code of the first matching position that is adjacent to it and precedes it. That is, the position code of the second matching position is determined based on the position code of the first matching position and the player identifier corresponding to the first matching position. Specifically, the position code and player identifier at the Nth matching position are used as input parameters and input to a decoder used for encoding space mapping for decoding. The decoding result is used as the position code at the (N+1)th matching position, where N is a positive integer greater than 1, and the maximum value of N is the number of player identifiers in the preset matching player pool, i.e., the preset number. The principle of this process is to determine the player to be matched in the second matching position by combining the position code of the first matching position that incorporates the player codes of the multiple players to be matched, and by excluding the first matching position and the players actually matched before the first matching position.

[0062] Here, the implementation process described above can also be understood as a decoding process. After excluding the player identifiers corresponding to the first matching position and the corresponding player identifiers in the matching positions preceding the first matching position (the purpose of this exclusion is to prevent any player to be matched from being repeatedly matched to different matching positions, ensuring that different matching positions correspond to different players to be matched), the positional code of the first matching position is decoded to obtain the positional code of the second matching position. The decoder can be any type of network, as long as it can perform the decoding function. For example, the decoder can be a one-dimensional convolutional network, a recurrent neural network, a self-attention network, etc.

[0063] Wherein, when the first matching position is the first matching position in the target player team matching result, the position code of the first matching position is determined by the total code of the player pool and the preset code.

[0064] In practice, the position code of the first matching position in the target player's team matching result can be obtained by fusing the total player pool code (which combines the player codes of each player in the pool) with a preset code. The preset code can be any code or an empty code with a value of 0. Essentially, this process generates a new code by performing an operation on the two codes. The length of this new code is the same as the length of both the total player pool code and the preset code. This new code represents the player characteristics of a player to be matched. Using this method, a player can be randomly selected from the pool of players to be matched, determining the first matching position in the target player's team matching result; that is, first matching one member of one team in a match. This encoding can also be implemented using an encoder.

[0065] Here, when the first matching position is not the first matching position, the position code of the first matching position can be obtained by using the position code of the matching position that is before and adjacent to the first matching position and the player identifier.

[0066] S1033: For any matching position, calculate the candidate similarity between the position code of the matching position and the player codes of each player to be matched; determine the target similarity from multiple candidate similarities, and determine the player identifier corresponding to the player code of the target similarity as the player identifier corresponding to the matching position.

[0067] In practice, the target similarity can be the highest similarity among multiple candidate similarities, or it can be any candidate similarity that exceeds a preset threshold. When calculating similarity, a regression network (Softmax network) can be used to process the data and obtain a normalized similarity. The characteristic of normalized similarity is that the sum of all similarities at a given matching position is 1. By performing probability sampling based on the normalized similarity, the player identifier of the player to be matched at that matching position can be obtained.

[0068] Here, after obtaining the position codes at each matching position in the target player team matching results, the similarity between the position code at each matching position and the player codes of each player to be matched is calculated. For example, if there are 100 matching positions and 100 players to be matched, taking the first matching position as an example, the similarity between the position code at the first matching position and the player codes of each of the 100 players to be matched needs to be calculated. 100 similarity scores can be obtained for the first matching position. For subsequent matching positions, after excluding previously matched players, multiple similarity scores will also be obtained. Here, the similarity score represents the degree of matching between the players to be matched and the matching position. Then, based on a probability sampling algorithm, the specific players to be matched corresponding to the position codes at each matching position are determined. If there are 100 matching positions, 100 specific players to be matched can be obtained. At this point, a matching sequence for the players to be matched can be generated. Each player to be matched can only be matched once. The obtained matching sequence is then sent to each game client so that these players can form teams to compete.

[0069] S1034: Determine the team matching result of the target player based on the player identifier of each matching position; the player identifiers are different for different matching positions.

[0070] In practice, after determining the position code corresponding to each matching position in the target player team matching result, the player identifier of the player to be matched corresponding to each matching position in the target player team matching result can be determined, and the target player team matching result is generated based on the player identifier of each matching position.

[0071] Preferably, the target player team matching results can be given in the form of a player matching sequence. For example, if the match is 5v5 and the target player team matching results include two matches A and B, then the target player team matching results are ((A11, A12, A13, A14, A15; A21, A22, A23, A24, A25); (B11, B12, B13, B14, B15; B21, B22, B23, B24, B25)), where A11, A12, A13, A14, and A15 are the team members in team 1 corresponding to match A. The player identifiers for each player to be matched are as follows: A21, A22, A23, A24, and A25 are the player identifiers for each player to be matched in team 2 corresponding to match A; B11, B12, B13, B14, and B15 are the player identifiers for each player to be matched in team 1 corresponding to match B; B21, B22, B23, B24, and B25 are the player identifiers for each player to be matched in team 2 corresponding to match B; and A11 is the player identifier for the first matching position in the target player's team matching results. Other matching positions are arranged sequentially.

[0072] Preferably, the game battle matchmaking model is a model used for matching game players into teams. This game battle matchmaking model is a deep learning model, trained using a large amount of target sample player game data. The game battle matchmaking model mainly includes an encoder, a decoder, and a generator. The training process of the game battle matchmaking model is described below, as shown in Figure 2. The training process of the game battle matchmaking model includes the following steps:

[0073] S201: Obtain game data from multiple target sample players.

[0074] In practice, a large amount of game data from target sample players can be acquired to train the initial deep learning model. This target sample player game data consists of data generated by these players in past games. Ideally, this data should be selected from historical time periods recent to the present, such as data from within the last month. Compared to game data from more distant historical time periods, data from more recent periods better reflects the current state of the game (e.g., the average skill level of players). Therefore, a game combat model trained with such data is more accurate in matching players for the current matchmaking process.

[0075] Here, players in the game can be directly used as target sample players, or a selection of players meeting certain criteria can be chosen from a large pool of players, such as those who have been matched in multiple matches in the past. The following explains the selection process: Target sample players are determined according to the following steps: Candidate players with match records within a preset historical time period are selected as target sample players; and / or, candidate players whose overall ranking meets a preset standard are selected as target sample players. Because these target sample players have game records and achieved normal rankings, the selected target sample players are more representative, and the game combat model trained using game data from such target sample players is more accurate in matching players for the current matchmaking process. The preset historical time period can be set according to actual needs, such as based on game updates, for example, a preset historical time period of one month; the preset standard can also be set according to actual conditions, such as based on the proportion of all players in the game across the entire network, for example, a preset standard ...

[0076] S202: Input the game data of the multiple target sample players into the initial deep learning model to predict the team matching results of sample players in multiple games.

[0077] In practice, the initial deep learning model can be trained using a large amount of game data from target sample players to obtain a game battle matchmaking model. Specifically, during training, each time the game data from these target sample players is input into the initial deep learning model, a sample player team matchmaking result containing multiple matches is obtained. However, the sample player team matchmaking result obtained from one or more training sessions is not necessarily globally optimal. Therefore, it is necessary to continuously adjust the network parameters of the initial deep learning model based on the sample player team matchmaking result so that the final game battle model outputs a globally optimal sample player team matchmaking result. Here, different sample player team matchmaking results correspond to different player combinations from multiple matches.

[0078] Preferably, the specific training process of the initial deep learning model is described below. According to the actual scenario requirements, multiple player matching pools of fixed size can be constructed. Each player matching pool includes player identifiers of a preset number of target sample players. Based on each player identifier, the game data corresponding to that player identifier is obtained. The game data includes, but is not limited to, historical match feature data, historical match result data, and player profile data. The game data corresponding to each player matching pool is used as a training dataset. The initial deep learning model is trained using each training dataset. Specifically, each training dataset is input into the initial deep learning model together to obtain the sample player team matching results corresponding to that training dataset.

[0079] S203: Calculate the target matching score of the sample player team matching results using the global matching rationality scoring function.

[0080] The target matching score is the sum of the sub-match scores corresponding to each game in the sample player team matching results.

[0081] In practice, the target matching score for each sample player's team matching result can be calculated using a global matching rationality scoring function. Then, the magnitude of this target matching score can be used to determine whether the sample player's team matching result is globally optimal.

[0082] Preferably, the global matching rationality scoring function includes at least one of the following functions: team combat power matching function; team equipment matching function; team game rank matching function.

[0083] In one example, the global match rationality scoring function is a team strength matching function (e.g., the difference in overall team strength between two teams in each match). A sample player team matching result includes three matches, which are 3v3 matches. In one match A, the two teams corresponding to A and B are A, in another match B, the two teams corresponding to C and D are C, and in yet another match C, the two teams corresponding to E and F are E. Then, the target match score of this sample player team matching result is = ((a1+a2+a3)-(b1+b2+b3))+((c1+c2+c3)-(d1+d2+d3))+((e1+e2+e3)-(f 1+f2+f3), where a1, a2, a3 are the combat power values ​​of each target sample player in team 1 of competition A, b1, b2, b3 are the combat power values ​​of each target sample player in team 2 of competition A, c1, c2, c3 are the combat power values ​​of each target sample player in team 1 of competition B, d1, d2, d3 are the combat power values ​​of each target sample player in team 2 of competition B, e1, e2, e3 are the combat power values ​​of each target sample player in team 1 of competition C, and f1, f2, f3 are the combat power values ​​of each target sample player in team 2 of competition C.

[0084] S204: Based on the game data of the multiple target sample players and the target matching scores calculated in each round of training, the network parameters of the initial deep learning model are continuously optimized until the model training cutoff condition is met, thereby training the game battle matching model.

[0085] In practice, during the training of the initial deep learning model using game data from multiple target sample players, the network parameters of the initial deep learning model are continuously optimized based on the target matching score corresponding to the team matching results of the sample players calculated in each round. This process gradually brings the team matching results of the sample players output by the initial deep learning model closer to the global optimum, thereby training a game combat matching model. After training the game combat matching model, the model file can be deployed as an "online inference service (i.e., game combat matching service)," which can respond to matching service requests online in a timely manner.

[0086] Preferably, the model training cutoff condition can be reaching a preset number of training rounds, or the target matching score corresponding to the obtained sample player team matching results converges (that is, the target matching score values ​​corresponding to multiple training sessions tend to be consistent), or the target matching score reaches a score threshold, etc.

[0087] In one optional embodiment of this application, the sample player team matching results for each match include a preset number of sample players corresponding to matching positions; in S204, based on the game data of the multiple target sample players and the target matching scores calculated in each round of training, the network parameters of the initial deep learning model are continuously optimized until the model training cutoff condition is met, thereby training the game battle matching model, including:

[0088] Step 2041: Based on the game data of the multiple target sample players, continuously adjust the network parameters of the initial deep learning model so that the sample players in each match position predicted in each game gradually approach the ideal player in the match position, thereby improving the target match score calculated in each round of training.

[0089] In practice, during each training round, game data from multiple target sample players are input into the initial deep learning model. This predicts a team matchup result for sample players across multiple matches, with each result corresponding to a target matchup score. Based on the difference between the target matchup score in the current round and the previous round, the network parameters of the initial deep learning model are adjusted. This ensures that the sample players in each matchup position in each predicted match gradually approach the ideal player for that position, thus progressively improving the target matchup score calculated in each training round.

[0090] It should be understood that the training process considers the matching results of a single match as a unit. Using a matching rationality evaluation function, it calculates the sub-match score corresponding to each predicted match result. Then, it calculates the total score (target matching score) from the sub-match scores of all predicted matches. This process is continuously trained to improve the target matching score until convergence. Furthermore, the model parameter optimization process essentially considers the rationality of placing different players in their corresponding matching positions, thereby achieving global rationality across multiple matches, i.e., achieving the optimal global matching result (highest target matching score).

[0091] Step 2042: When the target matching score meets the preset threshold condition, it is determined that the model training cutoff condition is met, and the game battle matching model is trained.

[0092] Here, when the target matching score reaches the score threshold, or when the target matching scores tend to be consistent in consecutive preset rounds, the model training cutoff condition is determined to be met, and the game battle matching model is trained.

[0093] In one optional embodiment of this application, the game player matching method further includes: updating the game data of each target sample player at preset intervals, and using the updated game data of the target sample players to update the game battle matching model so as to use the updated game battle model for matching services.

[0094] In practice, game data changes over time. For example, game content updates can change player profile data. Therefore, the game data of each target sample player can be updated every preset time interval to update the game battle matching model. This ensures that the latest game battle matching model is used for matching services each time a game battle is matched, thereby improving the accuracy of the matching.

[0095] In this embodiment, by inputting the game data of multiple players to be matched into a trained game battle matchmaking model, and matching these players according to global matchmaking rationality conditions, the target player team matchmaking results for multiple matches that maximize overall global benefits can be determined simultaneously. Thus, this application not only enables simultaneous matchmaking for multiple matches but also ensures globally optimal matchmaking results, thereby improving global matchmaking accuracy and game balance.

[0096] Based on the same concept, one optional embodiment of this application also provides a game player matching device corresponding to the game player matching method provided in the above embodiments. Since the principle of the device in one optional embodiment of this application is similar to the game player matching method in the above embodiments of this application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0097] As shown in Figures 3 and 4, Figure 3 is a functional block diagram of a game player matching device 300 provided in one optional embodiment of this application, and Figure 4 is a functional block diagram of a game player matching device 300 provided in another optional embodiment of this application. As shown in Figure 3, the game player matching device 300 includes: a first acquisition module 310, used to acquire player identifiers of multiple players to be matched; a second acquisition module 320, used to acquire game data of each player to be matched based on the player identifier of each player to be matched; and a determination module 330, used to input the game data of the multiple players to be matched into a trained game battle matching model, match the multiple players to be matched according to the global matching rationality condition, and determine the target player team matching results of multiple matches; wherein, the players to be matched for each match are different; the global matching rationality condition is that the target player team matching results of the multiple matches meet the condition of maximizing global benefits as a whole.

[0098] In one optional embodiment of this application, as shown in FIG4, the game player matching device 300 further includes a model training module 340; the model training module 340 is used to train the game battle matching model according to the following steps: acquiring game data of multiple target sample players; inputting the game data of the multiple target sample players into an initial deep learning model to predict the team matching results of sample players in multiple matches; calculating the target matching score of the team matching results of the sample players using a global matching rationality scoring function; the target matching score is the sum of the sub-matching scores corresponding to each match included in the team matching results of the sample players; and continuously optimizing the network parameters of the initial deep learning model based on the game data of the multiple target sample players and the target matching scores calculated in each round of training until the model training cutoff condition is met, thereby training the game battle matching model.

[0099] In one optional embodiment of this application, as shown in Figure 4, the sample player team matching results for each game include a preset number of sample players corresponding to matching positions; the model training module 340 is specifically used to train the game battle matching model according to the following steps: based on the game data of the multiple target sample players, continuously adjust the network parameters of the initial deep learning model so that the sample players in each matching position in each predicted game gradually approach the ideal player in the matching position, thereby improving the target matching score calculated in each round of training; when the target matching score meets the preset threshold condition, it is determined that the model training cutoff condition is met, and the game battle matching model is trained.

[0100] In one optional embodiment of this application, as shown in FIG4, the model training module 340 is further configured to determine the target sample player according to the following steps: determining the candidate sample player with a competition record within a preset historical time period as the target sample player; and / or determining the candidate sample player whose comprehensive score ranking meets the preset ranking as the target sample player.

[0101] In one optional embodiment of this application, as shown in FIG4, the determining module 330 includes an updating unit 331; the updating unit 331 is used to: update the game data of each target sample player at preset intervals, and use the updated game data of the target sample players to update the game battle matching model so as to use the updated game battle model for matching services.

[0102] In one optional embodiment of this application, the global matching rationality scoring function includes at least one of the following functions: team combat power matching function; team equipment matching function; team game rank matching function.

[0103] In one optional embodiment of this application, as shown in FIG4, the determining module 330 is used to determine the target player team matching result of multiple games according to the following steps: encoding the game data of the multiple players to be matched to obtain the total player pool code; decoding the total player pool code to obtain the position code of each matching position; for any matching position, calculating the candidate similarity between the position code of the matching position and the player codes of each player to be matched; determining the target similarity from the multiple candidate similarities, and determining the player identifier corresponding to the player code of the target similarity as the player identifier corresponding to the matching position; determining the target player team matching result based on the player identifier of each matching position; the player identifiers corresponding to different matching positions are different.

[0104] In one optional embodiment of this application, as shown in FIG4, the determining module 330 is specifically used to determine the position code of each matching position according to the following steps: determining the position code of the second matching position based on the position code corresponding to the first matching position and the player identifier; the first matching position and the second matching position are two adjacent positions in the target player team matching result, and the second matching position is located after the first matching position; wherein, when the first matching position is the first matching position in the target player team matching result, the position code of the first matching position is jointly determined by the total code of the player pool and the preset code.

[0105] In one optional embodiment of this application, as shown in FIG4, the first acquisition module 310 is specifically used to: respond to a matching service request sent by any game client, store the player identifier of the player to be matched corresponding to the game client into the player matching pool; when the number of player identifiers in the player matching pool is equal to a preset number, acquire the player identifiers of all players to be matched in the player matching pool; wherein, the preset number is an integer multiple of the number of players to be matched for each game.

[0106] In one optional embodiment of this application, the game data includes at least one of the following: historical match feature data, historical match result data, and player profile data.

[0107] In this embodiment, by inputting the game data of multiple players to be matched acquired by the second acquisition module 320 into the trained game battle matching model, and matching multiple players according to the global matching rationality conditions, the determination module 330 can simultaneously determine the target player team matching results for multiple matches. Thus, this application not only enables simultaneous matching of multiple matches but also ensures the global optimality of the matching results, thereby improving global matching accuracy and game balance.

[0108] Based on the same application concept, referring to Figure 5, which is a schematic diagram of the structure of an electronic device 500 provided in one of the optional embodiments of this application, the device includes: a processor 510, a memory 520 and a bus 530. The memory 520 stores machine-readable instructions executable by the processor 510. When the electronic device 500 is running, the processor 510 and the memory 520 communicate through the bus 530. When the machine-readable instructions are executed by the processor 510, they perform the steps of the game player matching method as described in any of the above embodiments.

[0109] Specifically, when the machine-readable instructions are executed by the processor 510, they can perform the following processing: obtain player identifiers of multiple players to be matched; obtain game data for each player based on its player identifier; input the game data of the multiple players to be matched into a trained game battle matching model, match the multiple players to be matched according to the global matching rationality condition, and determine the target player team matching results for multiple matches; wherein, the players to be matched for each match are different; the global matching rationality condition is that the target player team matching results for the multiple matches satisfy the condition of maximizing global benefits as a whole.

[0110] Specifically, when the machine-readable instructions are executed by the processor 510, they can perform the following processes: acquire game data of multiple target sample players; input the game data of the multiple target sample players into an initial deep learning model to predict the team matching results of sample players in multiple matches; calculate the target matching score of the team matching results of the sample players using a global matching rationality scoring function; the target matching score is the sum of the sub-matching scores corresponding to each match included in the team matching results of the sample players; and continuously optimize the network parameters of the initial deep learning model based on the game data of the multiple target sample players and the target matching scores calculated in each round of training until the model training cutoff condition is met, thereby training the game battle matching model.

[0111] Specifically, when the machine-readable instructions are executed by the processor 510, they can perform the following processing: based on the game data of the multiple target sample players, continuously adjust the network parameters of the initial deep learning model so that the sample players in each match position predicted in each game gradually approach the ideal player in the match position, thereby improving the target match score calculated in each round of training; when the target match score meets the preset threshold condition, determine that the model training cutoff condition is met, and train the game battle match model.

[0112] Specifically, when the machine-readable instructions are executed by the processor 510, they can perform the following processes: identifying candidate sample players with match records within a preset historical time period as the target sample players; and / or identifying candidate sample players whose comprehensive score ranking meets a preset rank as the target sample players.

[0113] Specifically, when the machine-readable instructions are executed by the processor 510, they can perform the following processing: update the game data of each target sample player at preset intervals, and use the updated game data of the target sample players to update the game battle matching model so as to use the updated game battle model for matching services.

[0114] Specifically, when the machine-readable instructions are executed by the processor 510, they can perform the following processes: encoding the game data of the plurality of players to be matched to obtain a total player pool code; decoding the total player pool code to obtain a position code for each matching position; for any matching position, calculating the candidate similarity between the position code of the matching position and the player codes of each player to be matched; determining the target similarity from the plurality of candidate similarities, and determining the player identifier corresponding to the player code of the target similarity as the player identifier corresponding to the matching position; determining the target player team matching result based on the player identifiers of each matching position; different player identifiers corresponding to different matching positions.

[0115] Specifically, when the machine-readable instruction is executed by the processor 510, it can perform the following processing: determining the position code of the second matching position based on the position code and player identifier corresponding to the first matching position; the first matching position and the second matching position are two adjacent positions in the target player team matching result, and the second matching position is located after the first matching position; wherein, when the first matching position is the first matching position in the target player team matching result, the position code of the first matching position is jointly determined by the total code of the player pool and the preset code.

[0116] Specifically, when the machine-readable instructions are executed by the processor 510, they can perform the following processing: in response to a matchmaking service request sent by any game client, store the player identifier of the player to be matched corresponding to the game client into the player matchmaking pool; when the number of player identifiers in the player matchmaking pool is equal to a preset number, obtain the player identifiers of all players to be matched in the player matchmaking pool; wherein, the preset number is an integer multiple of the number of players to be matched for each game.

[0117] In one optional embodiment of this application, by inputting the game data of multiple players to be matched into a trained game combat matchmaking model, and matching these players according to global matchmaking rationality conditions, the target player team matchmaking results for multiple matches that maximize overall global benefits can be determined simultaneously. Thus, this application not only enables simultaneous matchmaking for multiple matches but also ensures globally optimal matchmaking results, thereby improving global matchmaking accuracy and game balance.

[0118] Based on the same concept, one optional embodiment of this application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the game player matching method provided in the above embodiment.

[0119] Specifically, the storage medium can be a general-purpose storage medium, such as a portable disk or hard drive. When the computer program on the storage medium is run, it can perform the following steps: obtain the player identifiers of multiple players to be matched; obtain the game data of each player based on the player identifier; input the game data of the multiple players to be matched into a trained game battle matching model, match the multiple players to be matched according to the global matching rationality condition, and determine the target player team matching results for multiple matches; wherein, the players to be matched for each match are different; the global matching rationality condition is that the target player team matching results for the multiple matches satisfy the condition of maximizing global benefits as a whole.

[0120] Specifically, when the computer program on the storage medium is run, it can perform the following steps: acquire game data of multiple target sample players; input the game data of the multiple target sample players into an initial deep learning model to predict the team matching results of sample players in multiple matches; calculate the target matching score of the team matching results of the sample players using a global matching rationality scoring function; the target matching score is the sum of the sub-matching scores corresponding to each match included in the team matching results of the sample players; and continuously optimize the network parameters of the initial deep learning model based on the game data of the multiple target sample players and the target matching scores calculated in each round of training until the model training cutoff condition is met, thereby training the game battle matching model.

[0121] Specifically, when the computer program on the storage medium is run, it can perform the following steps: continuously adjust the network parameters of the initial deep learning model based on the game data of the multiple target sample players, so that the sample players in each match position in each predicted game gradually approach the ideal player in the match position, thereby improving the target match score calculated in each round of training; when the target match score meets the preset threshold condition, it is determined that the model training cutoff condition is met, and the game battle match model is trained.

[0122] Specifically, when the computer program on the storage medium is run, it can perform the following steps: identifying candidate sample players who have match records within a preset historical time period as the target sample players; and / or identifying candidate sample players whose comprehensive score ranking meets a preset rank as the target sample players.

[0123] Specifically, when the computer program on the storage medium is run, it can perform the following steps: update the game data of each target sample player at preset intervals, and update the game battle matching model using the updated game data of the target sample players, so as to use the updated game battle model for matching services.

[0124] Specifically, when the computer program on the storage medium is run, it can perform the following steps: encode the game data of the multiple players to be matched to obtain a total player pool code; decode the total player pool code to obtain a position code for each matching position; for any matching position, calculate the candidate similarity between the position code of the matching position and the player codes of each player to be matched; determine the target similarity from the multiple candidate similarities, and determine the player identifier corresponding to the player code of the target similarity as the player identifier corresponding to the matching position; determine the target player team matching result based on the player identifiers of each matching position; different player identifiers correspond to different matching positions. Specifically, when the computer program on the storage medium is run, it can perform the following steps: determine the position code of the second matching position based on the position code and player identifier corresponding to the first matching position; the first matching position and the second matching position are two adjacent positions in the target player team matching result, and the second matching position is located after the first matching position; wherein, when the first matching position is the first matching position in the target player team matching result, the position code of the first matching position is jointly determined by the total player pool code and a preset code.

[0125] Specifically, when the computer program on the storage medium is run, it can perform the following steps: in response to a matchmaking service request sent by any game client, store the player identifier of the player to be matched corresponding to the game client into the player matchmaking pool; when the number of player identifiers in the player matchmaking pool is equal to a preset number, obtain the player identifiers of all players to be matched in the player matchmaking pool; wherein, the preset number is an integer multiple of the number of players to be matched for each game.

[0126] In one optional embodiment of this application, the storage medium can be a general-purpose storage medium, such as a portable disk or hard disk. When the computer program on the storage medium is run, it inputs the game data of multiple players to be matched into a trained game combat matching model, and matches the multiple players according to global matching rationality conditions. This allows for the simultaneous determination of target player team matching results for multiple matches that maximize overall global benefits. Thus, this application not only enables simultaneous matching of multiple matches but also ensures globally optimal matching results, thereby improving global matching accuracy and game balance.

[0127] In one optional embodiment of this application, the computer program, when run by the processor, can also execute other machine-readable instructions to perform other methods as described in the embodiments. For details on the specific execution steps and principles, please refer to the description of the embodiments, which will not be repeated here.

[0128] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0129] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0130] In addition, the functional units in the embodiments provided in this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0131] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the 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 to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0132] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0133] Finally, it should be noted that the above-described embodiments are merely specific implementations of this application, used to illustrate the technical solutions of this application, and not to limit them. 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 skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this application; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to 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 determined by the protection scope of the claims.

Claims

1. A method for matching game players, characterized in that, The game player matching method includes: obtaining player identifiers of multiple players to be matched; obtaining game data for each player based on their player identifier; inputting the game data of the multiple players to be matched into a trained game battle matching model; matching the multiple players according to a global matching rationality condition; and determining the target player team matching results for multiple matches. The players to be matched for each match are different. The global matching rationality condition is that the target player team matching results for the multiple matches satisfy the condition of maximizing global benefit. The game battle matching model is developed by optimizing the network parameters of the initial deep learning model during training using game data from multiple target sample players, based on the target matching score calculated for each round of sample player team matching results. This optimizes the sample player team matching results output by the initial deep learning model to approximate the globally optimal training result. The target matching score is the sum of the sub-matching scores corresponding to each match included in the sample player team matching results.

2. The game player matching method according to claim 1, characterized in that, The game battle matching model is trained according to the following steps: acquire game data of multiple target sample players; input the game data of the multiple target sample players into the initial deep learning model to predict the team matching results of sample players in multiple games; The target matching score of the sample player team matching results is calculated using a global matching rationality scoring function. Based on the game data of the multiple target sample players and the target matching scores calculated in each round of training, the network parameters of the initial deep learning model are continuously optimized until the model training cutoff condition is met, thereby training the game battle matching model.

3. The game player matching method according to claim 2, characterized in that, The sample player team matching results for each match include a preset number of sample players corresponding to matching positions. The process of continuously optimizing the network parameters of the initial deep learning model based on the game data of the multiple target sample players and the target matching score calculated in each round of training, until the model training cutoff condition is met, and training the game battle matching model, includes: continuously adjusting the network parameters of the initial deep learning model according to the game data of the multiple target sample players, so that the sample players in each matching position in each predicted match gradually approach the ideal player in the matching position, improving the target matching score calculated in each round of training; when the target matching score meets a preset threshold condition, it is determined that the model training cutoff condition has been met, and the game battle matching model has been trained.

4. The game player matching method according to claim 2, characterized in that, The target sample players are determined according to the following steps: candidate sample players with match records within a preset historical time period are identified as the target sample players; and / or, candidate sample players whose comprehensive score ranking meets the preset ranking are identified as the target sample players.

5. The game player matching method according to claim 2, characterized in that, The game player matching method further includes: updating the game data of each target sample player at preset intervals, and using the updated game data of the target sample players to update the game battle matching model so as to use the updated game battle model for matching services.

6. The game player matching method according to claim 2, characterized in that, The global matching rationality scoring function includes at least one of the following functions: team combat power matching function; team equipment matching function; Team-based game rank matching function.

7. The game player matching method according to claim 1, characterized in that, The process of inputting the game data of the multiple players to be matched into a trained game battle matching model, matching the multiple players to be matched according to global matching rationality conditions, and determining the target player team matching results for multiple matches includes: encoding the game data of the multiple players to be matched to obtain a total player pool code; decoding the total player pool code to obtain a position code for each matching position; for any matching position, calculating the candidate similarity between the position code of the matching position and the player codes of each of the players to be matched; determining the target similarity from multiple candidate similarities, and determining the player identifier corresponding to the player code of the target similarity as the player identifier corresponding to the matching position; and determining the target player team matching result based on the player identifiers of each matching position; different player identifiers correspond to different matching positions.

8. The game player matching method according to claim 7, characterized in that, Decoding the total player pool code to obtain the position codes for each matching position includes: determining the position code for the second matching position based on the position code corresponding to the first matching position and the player identifier; the first matching position and the second matching position are two adjacent positions in the target player team matching result, and the second matching position is located after the first matching position; wherein, when the first matching position is the first matching position in the target player team matching result, the position code of the first matching position is jointly determined by the total player pool code and the preset code.

9. The game player matching method according to claim 1, characterized in that, Before obtaining the player identifiers of the multiple players to be matched, the game player matching method further includes: responding to a matching service request sent by any game client and storing the player identifiers of the players to be matched corresponding to the game client into a player matching pool; obtaining the player identifiers of the multiple players to be matched includes: when the number of player identifiers in the player matching pool is equal to a preset number, obtaining the player identifiers of all players to be matched in the player matching pool; wherein, the preset number is an integer multiple of the number of players to be matched for each game.

10. The game player matching method according to claim 1, characterized in that, The game data includes at least one of the following: historical match feature data, historical match result data, and player profile data.

11. A matchmaking device for game players, characterized in that, The game player matching device includes: a first acquisition module for acquiring player identifiers of multiple players to be matched; a second acquisition module for acquiring game data of each player to be matched based on the player identifier of each player to be matched; and a determination module for inputting the game data of the multiple players to be matched into a trained game battle matching model, matching the multiple players to be matched according to a global matching rationality condition, and simultaneously determining the target player team matching results for multiple matches; wherein, the players to be matched for each match are different; the global matching rationality condition is that the target player team matching results for the multiple matches satisfy the condition of maximizing global benefits as a whole; the game battle matching model is optimized by optimizing the network parameters of the initial deep learning model during the training process using game data of multiple target sample players, based on the target matching score corresponding to the sample player team matching results calculated in each round, so that the sample player team matching results output by the initial deep learning model approximate the globally optimal training; the target matching score is the sum of the sub-matching scores corresponding to each match included in the sample player team matching results.

12. An electronic device, characterized in that, include: The device includes a processor, a memory, and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the memory via the bus, and the machine-readable instructions are executed by the processor to perform the steps of the game player matching method as described in any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the game player matching method as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • Object matching method, model training method and server

    CN109513215A