Game matching method and device, electronic device, and storage medium
By combining the player's social preference weight and game preference weight in the game matching system and using a pre-trained matching model to calculate the matching degree, the problem of poor gaming experience caused by matching only based on rank in the existing technology is solved, and the player's gaming experience and enthusiasm are improved.
Patent Information
- Application Number
- CN202111215799.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-19
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2041-10-19
AI Technical Summary
The existing game matching system only performs bucket matching based on player ranks, which makes it difficult to meet the diverse needs of players, resulting in poor gaming experience, low player motivation and high churn rate.
By combining the player's social preference weight and match preference weight during the game matching process, the pre-trained matching model is used to calculate the matching degree between matching units and determine the target room.
It improves the consistency of game matching results, enhances the player's gaming experience, increases player enthusiasm and reduces churn rate.
Smart Images

Figure CN113941157B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a game matching method and device, an electronic device, and a storage medium. Background Art
[0002] With the development of the Internet, the types of online games are becoming increasingly diverse. Among them, team games have become an important game mode. Taking MOBA (Multiplayer Online Battle Arena) games as an example, it refers to multiple game teams composed of multiple players, and the game is played between the game teams.
[0003] The matchmaking system is a core system in team-based games, used to pair players together. It ensures fairness and enhances the player experience. The quality of the matchmaking system impacts the core experience of the game and ultimately directly influences its reputation, retention rate, and other factors.
[0004] The existing matching system divides players into buckets based on their rank and then selects players from these buckets to form matches. However, in reality, players' needs are diverse. The existing matching system, which forcibly pairs players of the same rank to ensure similar skill levels, clearly fails to meet the experience needs of most players. Summary of the Invention
[0005] In view of the above problems, the present application is proposed to provide a game matching method and device, electronic device, and storage medium that overcome the above problems or at least partially solve the above problems, including:
[0006] A game matching method, comprising:
[0007] determining a first matching unit from a plurality of matching units to be processed;
[0008] Input the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and output the matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weight and game preference weight of the players of the corresponding matching units;
[0009] According to the matching degree between the first matching unit and the other matching units, a target matching unit assigned to the same room as the first matching unit is determined to obtain a target room.
[0010] A game matching device, comprising:
[0011] a matching unit determination module, configured to determine a first matching unit from a plurality of matching units to be processed;
[0012] a matching degree determination module, configured to input the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and output a matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weights and game preference weights of the players of the corresponding matching units;
[0013] The target room determination module is configured to determine a target matching unit that is assigned to the same room as the first matching unit according to the matching degree between the first matching unit and the other matching units, thereby obtaining a target room.
[0014] An electronic device includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the steps of the game matching method described above when executed by the processor.
[0015] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the game matching method described above.
[0016] This application has the following advantages:
[0017] In an embodiment of the present application, a first matching unit is determined from a plurality of matching units to be processed; the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, are input into a pre-trained matching model, and the matching degree between the first matching unit and the other matching units is output, wherein the preference data includes the social preference weight and the match preference weight of the player of the corresponding matching unit; based on the matching degree between the first matching unit and the other matching units, a target matching unit assigned to the same room as the first matching unit is determined to obtain a target room. When performing game matching, the embodiment of the present application combines the player's game data, the preference data including the player's social preference weight and the match preference weight, calculates the matching degree between the matching units through a pre-trained matching model, and determines the target room based on the matching degree. This is different from the prior art that is limited to matching at the same level. Therefore, the matching results of the embodiment of the present application are more in line with the player's experience needs, thereby improving the player's gaming experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solution of the present application, the following is a brief introduction to the drawings required for the description of the present application. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0019] Figure 1 This is a flowchart of the steps of a game matching method according to an embodiment of the present application;
[0020] Figure 2 A schematic diagram of the structure of a global matching system according to an embodiment of the present application;
[0021] Figure 3 A schematic diagram of a model structure for predicting win or loss results according to an embodiment of the present application;
[0022] Figure 4 A schematic diagram of an optimization process of a preset prediction model according to an embodiment of the present application;
[0023] Figure 5 A schematic diagram of a simulated battle environment according to an embodiment of the present application;
[0024] Figure 6 This is a structural block diagram of a game matching device according to an embodiment of the present application. DETAILED DESCRIPTION
[0025] To make the above-mentioned purposes, features, and advantages of this application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and specific embodiments. It is apparent that the embodiments described are only a portion of the embodiments of this application, not all of them. All other embodiments derived by persons of ordinary skill in the art based on the embodiments in this application without inventive effort are also within the scope of protection of this application.
[0026] In game scenarios involving combat, such as team matches and cross-server battles, players are matched with teams and then with opposing teams. A team, commonly known as a clan or player group, consists of at least one player. Players within a team can attack players from opposing teams or non-players in the same game scenario.
[0027] The existing game team matching system only considers the player's rank, forming teams and corresponding enemy teams with players of the same or similar ranks. This is difficult to meet the experience needs of most players, cannot improve player enthusiasm, and thus cannot suppress player churn rate, resulting in low player interaction efficiency.
[0028] Based on this, the embodiments of the present application provide a game matching method and device, electronic device, and storage medium. When performing game matching, the player's game data, including the player's social preference weight and match preference weight, are combined to calculate the matching degree between matching units through a pre-trained matching model, and the target room is determined based on the matching degree. This is different from the existing technology that is only limited to the matching of ranks. Therefore, the matching results of the embodiments of the present application are more in line with the player's experience needs, thereby improving the player's gaming experience.
[0029] Reference Figure 1 , shows a flowchart of the steps of a game matching method provided by one embodiment of the present application. This method can be applied to a global matching system that can communicate with game servers of multiple different products. The global matching system can be a standalone server, a distributed server, or a server cluster consisting of multiple servers. Preferably, the global matching system can be a cloud server with cloud computing capabilities.
[0030] Specifically, cloud computing is a computing model that distributes computing tasks across a resource pool consisting of a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides resources is called a "cloud." From the user's perspective, the resources in the "cloud" are infinitely scalable and can be accessed at any time, used on demand, and expanded at any time. By establishing a cloud computing resource pool (referred to as a cloud platform, generally referred to as an IaaS (Infrastructure as a Service) platform), various types of virtual resources are deployed in the resource pool for external customers to choose and use. The cloud computing resource pool mainly includes: computing devices (virtualized machines, including operating systems), storage devices, and network devices.
[0031] In the embodiment of the present application, the above method may specifically include the following steps:
[0032] Step 101: determining a first matching unit from a plurality of matching units to be processed;
[0033] Step 102: Input the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and output the matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weight and game preference weight of the players in the corresponding matching units;
[0034] Step 103: Determine a target matching unit that is assigned to the same room as the first matching unit based on the matching degree between the first matching unit and the other matching units, and obtain a target room.
[0035] The embodiment of the present application determines the first matching unit from multiple matching units to be processed; inputs the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and outputs the matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weight and the match preference weight of the player of the corresponding matching unit; according to the matching degree between the first matching unit and the other matching units, determines the target matching unit assigned to the same room as the first matching unit, and obtains the target room. When performing game matching, the embodiment of the present application combines the player's game data, the preference data including the player's social preference weight and the match preference weight, calculates the matching degree between the matching units through a pre-trained matching model, and determines the target room based on the matching degree. This is different from the prior art that is limited to matching at the same level. Therefore, the matching results of the embodiment of the present application are more in line with the player's experience needs, thereby improving the player's gaming experience.
[0036] Next, the game matching method in this exemplary embodiment will be further described.
[0037] like Figure 2 The figure shows a schematic diagram of the structure of a global matching system according to an optional embodiment of the present application. The global matching system is provided with multiple matching pool groups, each of which corresponds to a game product and is used to store pending matching units for the corresponding game product. Each matching pool group is composed of at least one matching pool, and different matching pools in the same matching pool group correspond to different game modes in the same game product and are used to store pending matching units for the game modes of the corresponding game product. It is understood that the matching strategies corresponding to different matching pools can be different, specifically related to the corresponding game product and game mode. Among them, game modes can include player versus player game mode (Player Versus Player, PVP) and player versus environment game mode (Player Versus Environment, PVE). Matching units in different matching pool groups cannot be teamed across matching pools, and matching units in different matching pools in the same matching group generally cannot be teamed across matching pools. Sometimes, however, cross-matching pool teaming is possible in specific circumstances. For example, when a player allows game mode switching, a player can be transferred from a matching pool corresponding to one game mode to a matching pool corresponding to another game mode to team up.
[0038] In step 101, a first matching unit is determined from a plurality of matching units to be processed.
[0039] Before starting a game, players must use their respective terminals to send a game matching request to the global matching system, or send a game matching request to the corresponding game server. The game server then forwards the game matching request to the global matching system. The terminal can be a client computer hosting a game application or a browser client. If the terminal is a client computer hosting a game application, the player can access the game server of the corresponding game product using the game application client to perform game operations. If the terminal is a browser client computer hosting a browser, the player can log in to the game server of the corresponding game product through the browser to obtain game data and perform corresponding game operations.
[0040] The game matching request carries a game identifier and the user identifier of at least one player. The game matching request is used to request that the player be matched with at least one other player participating in the same game. Furthermore, when the player's game mode is player-versus-player, the game matching request is also used to determine the opposing team of the player's team.
[0041] For example, if a player wishes to be assigned to the same team as their friends or other players (other players besides the player), the game matching request initiated by the player through the corresponding terminal carries the player's user ID and the user IDs of the friend or other players. If the player does not wish to be assigned to the same team as their friends or other players, the game matching request initiated by the player through the corresponding terminal carries only the player's user ID.
[0042] It is understood that, due to the player limit on a game team, the number of player user IDs carried in the game matchmaking request cannot exceed the preset number of players N required to be on a team. For example, in a 5v5 game, N=5, meaning each team in the game consists of five players. In this case, a game matchmaking request can carry a maximum of five player user IDs.
[0043] The matching unit in the embodiment of the present application corresponds to a game matching request. The matching unit is composed of at least one player. The matching unit has corresponding preference data and game data. It can be understood that the preference data of the matching unit includes the preference data of each player constituting the matching unit, and the game data of the matching unit includes the game data of each player constituting the matching unit in the game to be started.
[0044] Specifically, the preference data includes a social preference weight and a match preference weight of the player, where the social preference weight is used to represent the player's tendency to social demand in the game, and the match preference weight is used to represent the player's tendency to win in the game.
[0045] It should be noted that in the embodiments of the present application, the social preference weight and the match preference weight of the player are obtained by analyzing the game data corresponding to part or all of the games participated by the player. Specifically, the social preference weight and the match preference weight of the player can be obtained by analyzing the game data of the player in a specified time period corresponding to part or all of the games participated by the player. The specified time period can be the last month, or the last three months, or the time period between the time when the player first logs in the game and the current time, and the like. The embodiments of the present application do not limit this.
[0046] For each game, the game data can include game behavior data of the player and player regular data, where the game behavior data can include one or more game behavior data related to the match, such as the player's level, rating, level score, win rate, kill number, and one or more game behavior data related to the social, such as the player's number of adding friends, number of chatting, number of gift giving and receiving, number of leading team, and other game behavior data such as total online duration, recent online duration, total payment, recent payment, payment number, average payment amount, online time period. The player regular data can include the player's gender, age, region, and other data related to the player's social attributes.
[0047] It should be particularly emphasized that in the embodiments of the present application, the game data input into the matching model is the game data of the player in the game about to start, that is, in the embodiments of the present application, the game data input into the matching model is only related to the player in the game about to start; and the preference data input into the matching model is related to part or all of the games participated by the player. Of course, the game data input into the matching model can be further limited to the game data of the player in a specified time period in the game about to start. The specified time period can be the last month, or the last three months, or the time period between the time when the player first logs in the game and the current time, and the like, which can be set according to the specific game.
[0048] In a specific implementation, the global matching system can obtain the game data of the player identifier in real time or regularly from the log databases of the plurality of game servers and non-game servers in communication connection with the player identifier. By analyzing and processing the obtained game data, the preference data corresponding to the player identifier can be obtained. In the analysis and processing process, processing methods including deletion, filling, scaling, discretization, encoding, sampling, summation, difference, square, square root, combination, and the like can be used, and the embodiments of the present application do not limit this.
[0049] It should be noted that, in other embodiments, preference data may also include preference weights for other player attributes, such as a player's hidden score preference weight. The preference data used during game matching may vary for different game products. For example, during game matching, for game product A, the preference data used may include social preference weights and match preference weights; for game product B, the preference data used may include social preference weights and hidden score preference weights; and for game product C, the preference data used may include social preference weights, match preference weights, and hidden score preference weights.
[0050] The first matching unit is one of the multiple matching units to be processed. There are various ways to determine the first matching unit from the multiple matching units to be processed. For example, a matching unit can be randomly selected from the multiple matching units to be matched as the first matching unit. To prioritize matching for players who sent game matching requests earlier, in an optional embodiment of the present application, the process of determining the first matching unit from the multiple matching units to be processed may include:
[0051] Determine a matching unit with the longest waiting time from a plurality of matching units to be processed;
[0052] The matching unit with the longest waiting time is determined as the first matching unit.
[0053] The waiting time may be the actual waiting time or the difference between the actual waiting time and the penalty waiting time.
[0054] Specifically, the player's idle / reported status can be obtained based on the player's user ID, and the corresponding penalty waiting time can be set based on the player's idle / reported status. For matching units with penalty waiting time, the waiting time is equal to the difference between the actual waiting time and the penalty waiting time.
[0055] For example, if the actual waiting time of matching unit A is 3 seconds and its waiting penalty time is 2 seconds, then the waiting time of matching unit A is recorded as 1 second; if the actual waiting time of matching unit B is 2 seconds and there is no waiting penalty time, then it is considered that the waiting time of matching unit B is longer than the waiting time of matching unit A.
[0056] By setting corresponding waiting penalty times for idle / reported situations, you can ensure that excellent players are given priority in matching.
[0057] In the embodiment, the to-be-processed matching units are matching units in the same matching pool. Therefore, before step 101, it is necessary to determine the matching pool in which the first matching unit is located. Since the game matching request contains the game identifier, the game product corresponding to the matching unit can be determined through the game identifier, that is, the matching pool group corresponding to the matching unit is determined.
[0058] When the game product contains multiple game modes, the game matching request can carry the game mode identifier, that is, the first matching unit contains the game mode identifier, and the matching pool in which the first matching unit is located can be determined according to the game mode identifier.
[0059] When the first matching unit does not contain the game mode identifier, the game data corresponding to the first matching unit can be input into a pre-trained mode matching model, the game mode corresponding to the first matching unit is determined by the mode matching model according to the game data of the first matching unit, and the corresponding game mode is output; the matching pool in which the first matching unit is located is determined according to the game mode output by the mode matching model. The mode matching model can be constructed and trained in combination with a deep learning method to determine the accuracy of the output result of the mode matching model.
[0060] Optionally, in order to improve the game experience of the player, when the first matching unit contains the game mode identifier, the game mode corresponding to the game mode identifier contained in the first matching unit can also be verified by the mode matching model to determine whether the game mode is suitable for the first matching unit, and in the case of unsuitability, appropriate reminders are given to the player to give the player an opportunity to select the game mode again, so as to improve the game experience of the player. Specifically, the process can include the following steps:
[0061] The game data corresponding to the first matching unit is input into a pre-trained mode matching model, and it is determined whether the game mode identifier corresponding to the game mode output by the mode matching model is consistent with the game mode identifier of the first matching unit;
[0062] If not, a prompt information is sent to the player corresponding to the first matching unit, and the prompt information is used to instruct the player to perform a selection operation;
[0063] According to the selection operation of the player corresponding to the first matching unit in response to the prompt information, a target game mode identifier of the first matching unit is determined;
[0064] According to the target game mode identifier, the game mode identifier of the first matching unit is updated.
[0065] In this embodiment, when the pattern matching model predicts that the game mode suitable for the first matching unit is inconsistent with the game mode originally associated with the first matching unit, a prompt message can be sent to the player corresponding to the first matching unit. Exemplarily, this prompt message can be in the form of a dialog box to remind the player of their suitable game mode. The dialog box also includes a selection control for the user to choose whether to change the game mode, and the target game mode of the first matching unit is determined based on the player's selection. Optionally, if the player does not make a selection within a specified time, it can be assumed that the player does not change the game mode, that is, the target game mode of the first matching unit is the original game mode of the first matching unit.
[0066] In step 102, the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, are input into a pre-trained matching model, and the matching degree between the first matching unit and the other matching units is output, wherein the preference data includes the social preference weight and game preference weight of the players of the corresponding matching units;
[0067] In step 103, based on the matching degree between the first matching unit and the other matching units, a target matching unit that is assigned to the same room as the first matching unit is determined to obtain a target room.
[0068] In the embodiment of the present application, after determining the first matching unit, it is necessary to assign a corresponding target room to the first matching unit. The target room is used to represent the combination of all matching units in the current game that the first matching unit is about to start. In order to improve the player's gaming experience, before assigning the target room to the first matching unit, it is necessary to calculate the matching degree of the first matching unit with other matching units, so as to determine the matching unit assigned to the same target room as the first matching unit based on the matching degree.
[0069] In one embodiment of the present application, the matching model includes a social score model, a game balance score model, and a matching degree calculation model. The above process of calculating the matching degree between the first matching unit and other matching units may specifically include:
[0070] Inputting the game data corresponding to each of the multiple matching units whose matching degrees are to be calculated into the social score model, and outputting the social scores between the multiple matching units whose matching degrees are to be calculated;
[0071] Inputting the game data corresponding to each of the multiple matching units whose matching degrees are to be calculated into the game balance score model, and outputting the game balance scores between the multiple matching units whose matching degrees are to be calculated;
[0072] The preference data corresponding to each of the plurality of matching units to be calculated for the matching degree, and the social score and the game balance score between the plurality of matching units to be calculated for the matching degree are input into the matching degree calculation model, and the matching degree between the plurality of matching units to be calculated for the matching degree is output.
[0073] The plurality of matching units to be calculated for the matching degree refer to a plurality of matching units constituting a same room. How the plurality of matching units constituting the same room are determined will be described later.
[0074] The social score model can extract social type game behavior data and player regular data required for processing of the social score model from the input game data corresponding to each of the matching units, and obtain the social score between each of the matching units based on the extracted data. For example, if the matching units to be calculated for the matching degree are matching unit J and matching unit K, the game data of matching unit J and the game data of matching unit K are input into the social score model, and the social score of matching unit J and matching unit K is output after the game data of matching unit J and the game data of matching unit K are analyzed and processed by the social score model.
[0075] The game balance score model can extract game type game behavior data required for processing of the game balance score model from the input game data corresponding to each of the matching units, and obtain the game balance score between each of the matching units based on the extracted data. For example, if the matching units to be calculated for the matching degree are matching unit J and matching unit K, the game data of matching unit J and the game data of matching unit K are input into the game balance score model, and the game balance score of matching unit J and matching unit K is output after the game data of matching unit J and the game data of matching unit K are analyzed and processed by the game balance score model.
[0076] In this embodiment, the social score model and the game balance score model can be constructed and trained by combining the method of deep learning to determine the accuracy of the corresponding output results.
[0077] The matching degree calculation model is used to calculate, for each of the matching units to be calculated for the matching degree, a first weighting value of the corresponding social preference weight and the social score, and a second weighting value of the game preference weight and the game balance score, and calculate the sum of the first weighting value and the second weighting value to obtain the matching score of the matching unit; and calculate the sum of the matching scores of the plurality of matching units to be calculated for the matching degree, and calculate the per capita matching score according to the total number of players corresponding to the plurality of matching units to be calculated for the matching degree, as the matching degree between the plurality of matching units to be calculated for the matching degree.
[0078] For example, if the matching units for which the matching degree is to be calculated include matching unit J and matching unit K, matching unit J is composed of player 1 and player 2, and matching unit K is composed of player 3. In matching unit J, the social preference weight of player 1 is 0.8, and the game preference weight is 0.5; the social preference weight of player 2 is 0.7, and the game preference weight is 0.6; in matching unit K, the social preference weight of player 3 is 0.2, and the game preference weight is 0.8. The social score model outputs the social score of matching unit J and matching unit K as 0.4, and the game balance score model outputs the game balance score of matching unit J and matching unit K as 0.6. Then, the matching degree calculation model can calculate the first weighted value of matching unit J = 0.8*0.4+0.7*0.4=0.6, and the first weighted value of matching unit K = 0.2*0.4=0.08; the second weighted value of matching unit J = 0.5*0.6+0.6*0.6=0.66, and the second weighted value of matching unit K = 0.8*0.6=0.48. The sum of the first and second weighted values of matching unit J is calculated, resulting in a matching score of matching unit J = 0.6 + 0.66 = 1.26. The sum of the first and second weighted values of matching unit K is calculated, resulting in a matching score of matching unit K = 0.08 + 0.48 = 0.56. Furthermore, the sum of the matching scores of matching unit J and matching unit B is calculated as 1.26 + 0.56 = 1.82. The total number of players in matching unit J and matching unit K is 3. The matching degree calculation model can ultimately output a matching degree of matching unit J and matching unit K = 1.82 / 3 ≈ 0.607.
[0079] It should be noted that the number of matching units to be calculated is not limited to two in the above example, and can actually be 3, 4 or more. The matching degree between multiple matching units to be calculated can be determined through the above matching degree calculation process.
[0080] It should be noted that in other embodiments, the matching model may also include other models, such as a hidden score matching model, to allocate rooms in combination with the hidden score of the matching unit. Of course, in specific implementations, different matching models may also be formulated according to the requirements of different game products.
[0081] In the process of determining the target matching room, the embodiment of the present application calculates the matching degree between each matching unit through a pre-trained matching model, so as to divide the matching units with a matching degree greater than a certain threshold or with the highest matching degree into the same room, so that players with the same gaming behavior tendencies are assigned to the same game. Since the embodiment of the present application involves the player's preference data in the process of calculating the matching degree, and the preference data includes social preference weights and game preference weights, and also calculates the social score and game balance score between the matching units through a social score model and a game balance score model, the embodiment of the present application comprehensively considers the player's social attributes and game attributes in the process of matching players for games, making the matching results more reasonable and humane.
[0082] In an optional embodiment of the present application, the process of determining the target room may include:
[0083] Determining at least one matching rule based on the number of players included in the first matching unit and the number of preset game players corresponding to the target game mode;
[0084] Determine, based on the first matching unit and the matching rule, a plurality of candidate rooms, each candidate room consisting of the first matching unit and at least one candidate matching unit that is in the same game as the first matching unit;
[0085] For each candidate room, the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to each candidate matching unit, are input into a pre-trained matching model, and the matching degree between the first matching unit and the candidate matching units in the candidate room is output;
[0086] The candidate room with the highest matching degree is determined as the target room.
[0087] The preset number of players refers to the number of players that meet the game start conditions. In PVP game modes, the preset number of players is the sum of the player counts of teams from multiple different factions. Matching rules specify the number of players in the matching units that form the target room with the first matching unit, ensuring that when matching units in the target room are divided into teams from different factions, players within the same matching unit are not separated.
[0088] For example, in a 5v5 game, there are two teams, each with 5 players. Therefore, the preset number of players is 10. If the number of players included in the first matching unit is 4, the matching rules can be determined as follows:
[0089] Matching rule 1: Current matching unit with 4 players + 6 other matching units with 1 player each;
[0090] Matching rule 2: Current matching unit with 4 players + 4 other matching units with 1 player each + 1 other matching unit with 2 players each;
[0091] Matching rule 3: Current matching unit with 4 players + 3 other matching units with 1 player each + 1 other matching unit with 3 players each;
[0092] Matching rule 4: Current matching unit with 4 players + 2 other matching units with 1 player each + 1 other matching unit with 4 players each;
[0093] Matching rule 5: Current matching unit with 4 players + 1 other matching unit with 1 player + 1 other matching unit with 5 players.
[0094] Matching rule 6: Current matching unit with 4 players + 2 other matching units with 1 player each + 2 other matching units with 2 players each.
[0095] Matching rule 7: Current matching unit with 4 players + 1 other matching unit with 1 player + 1 other matching unit with 2 players + 1 other matching unit with 3 players.
[0096] Based on the above matching rules, when the first matching unit is determined, traversing other matching units to be processed can obtain multiple candidate rooms. The candidate rooms include the first matching unit and the candidate matching units.
[0097] For each candidate room, the multiple matching units within it are the matching units for which the matching degree is to be calculated. Based on the game data corresponding to the first matching unit and the game data corresponding to each candidate matching unit, as well as the preference data corresponding to the first matching unit and the preference data corresponding to each candidate matching unit, a pre-trained matching model is used to calculate the matching degree between the matching units within the candidate room. After obtaining the matching degree for each candidate room, the candidate room with the highest matching degree is determined as the target room.
[0098] In combination with the above-described process of calculating the matching degree between multiple matching units for which the matching degree is to be calculated, in this embodiment, the process of calculating the matching degree corresponding to each candidate matching room may include:
[0099] Input the game data corresponding to each matching unit (including the first matching unit and the candidate matching unit) in the candidate matching room into the pre-trained social score model and game balance score model, and output the social score and game balance score of the candidate matching room;
[0100] Based on the social preference weights and match preference weights corresponding to each matching unit in the candidate matching room, the social score and match balance score of the candidate matching room are weighted and summed to obtain the matching score of each matching unit;
[0101] Sum up the matching scores of each matching unit to obtain the total matching score of the candidate matching room;
[0102] Based on the total number of players in the candidate matching room and the total matching score, the average matching score per person is calculated, which is the matching degree of the candidate room.
[0103] That is to say, for each candidate room, the matching degree between multiple matching units in the candidate room can be obtained as the matching degree of the candidate room.
[0104] Through the above steps, the matching degree of each candidate room can be calculated. Finally, the candidate room with the highest matching degree is determined as the target room.
[0105] In another optional embodiment of the present application, the process of determining the target room may include:
[0106] placing the first matching unit into a plurality of preselected rooms;
[0107] Determining at least one matching rule based on the number of players included in the first matching unit and the number of preset game players corresponding to the target game mode;
[0108] For each of the pre-selected rooms, the preference data and game data corresponding to the matching unit in the pre-selected room, as well as the preference data and game data corresponding to other matching units outside the pre-selected room, are input into a pre-trained matching model, and the matching degree between the matching unit in the pre-selected room and the other matching units outside the pre-selected room is output;
[0109] According to the matching degree, determining preselected matching units to be added to the preselected room from other matching units outside the preselected room, until the matching units in the preselected room completely meet any one of the matching rules;
[0110] The pre-selected room with the highest matching degree is determined as the target room.
[0111] The matching rules are the same as those in the previous embodiment and will not be described again here.
[0112] In an embodiment of the present application, multiple pre-selected rooms are first constructed, and the first matching unit is placed in each pre-selected room. Then, the matching degree between the first matching unit and each other matching unit is calculated through the matching model. The next pre-selected matching unit to be added to each pre-selected room can be determined in order from high to low matching degree. Each time a pre-selected matching unit is added, it can be determined whether the pre-selected room at this time fully meets any matching rule. For a pre-selected room that does not fully meet any matching rule, the matching degree between the matching unit in the pre-selected room and the remaining other matching units is continued to be calculated to determine the next pre-selected matching unit to be added to the pre-selected room until the pre-selected room fully meets any matching rule. Finally, the target room is determined based on the matching degree of each pre-selected room, which can reduce the amount of calculation.
[0113] For example, assume there are five matching units in the matching pool: A, B, C, D, and E. Each matching unit has one player. The default rule is to select three matching units to form a room. First, determine the first matching unit, A, and create two pre-selected rooms, 1 and 2.
[0114] Then, traverse the remaining 4 matching units, select the two matching units B and C with the highest matching degree with the first matching unit A, and add B and C to pre-selected room 1 and pre-selected room 2 respectively. At this time, pre-selected room 1 contains the first matching unit A and matching unit B, and pre-selected room 2 contains the first matching unit A and matching unit C.
[0115] Next, the third matching unit is determined for pre-selected rooms 1 and 2 respectively. That is, for pre-selected room 1, the remaining three matching units C, D, and E are traversed, and the matching unit with the highest matching degree with the first matching unit A and matching unit B is selected. Assume that it is matching unit D, and matching unit D is added to pre-selected room 1. At this time, pre-selected room 1 contains the first matching unit A, matching unit B, and matching unit D, which fully meets the preset rules.
[0116] Similarly, for pre-selected room 2, traverse the remaining three matching units B, D, and E, and select the matching unit with the highest matching degree with the first matching room A and matching room C. Assume it is matching unit E, and add matching unit E to pre-selected room 2. At this time, pre-selected room 2 contains the first matching unit A, matching unit C, and matching unit E, which fully meets the preset rules.
[0117] Finally, the matching degree of pre-selected room 1 is compared with that of pre-selected room 2, and the pre-selected room with the highest matching degree is selected as the target room. Assuming that the target room is pre-selected room 1, the matching units B and D in pre-selected room 1 are both target matching units.
[0118] This embodiment pre-builds multiple pre-selected rooms, then determines the pre-selected units to be added to each pre-selected room. Finally, if all pre-selected rooms fully meet the corresponding matching rules, the matching scores of the pre-selected rooms are compared to determine the target room. Compared to traversing all room combinations and then calculating the matching scores one by one to determine the target room, this embodiment can reduce complexity and computational effort. The number of pre-selected rooms can be set according to actual needs, for example, the number of pre-selected rooms can be 2, 3, or 5.
[0119] Furthermore, considering that the time required for each pre-selected room to fully satisfy any matching rule may be different, in an optional embodiment of the present application, the above method may further include:
[0120] For a first pre-selected room that fully satisfies any of the matching rules, determining whether the matching degree between the matching units in the first pre-selected room meets a preset matching degree condition;
[0121] If so, the first pre-selected room is determined as the target room.
[0122] Since the matching rules are related to the number of players corresponding to the matching units, the number of matching units corresponding to different matching rules may be different. The fewer the number of matching units, the shorter the time it takes for the pre-selected room to fully meet the matching rules.
[0123] Therefore, in this embodiment, for the first pre-selected room that fully meets the matching rules, it is first determined whether the matching degree of the pre-selected room meets the preset matching degree condition. If so, the first pre-selected room is directly determined as the target room, and the matching process ends. If not, the next pre-selected matching unit is determined for other pre-selected matching rooms that do not fully meet the matching rules. When the next pre-selected room that fully meets the matching rules appears, it is determined whether the matching degree of the second pre-selected room meets the preset matching degree condition. If so, the second pre-selected room is directly determined as the target room, and the matching process ends. If not, the above steps are continued. If the matching degrees of all pre-selected rooms that fully meet the matching rules do not meet the preset matching degree condition, the matching degrees of all pre-selected rooms are compared, and the pre-selected room with the highest matching degree is determined as the target room.
[0124] In the process of determining the target room, this embodiment combines the preset matching condition and the time required for each pre-selected room to fully meet any matching rule, thereby improving the efficiency of determining the target room.
[0125] Furthermore, in an optional embodiment of the present application, the preset matching condition may be related to the waiting time of the first matching unit. Therefore, the method further includes:
[0126] A corresponding preset matching condition is determined according to the waiting time of the first matching unit.
[0127] Specifically, the preset matching condition may be negatively correlated with the waiting time of the first matching unit, i.e., the longer the waiting time of the first matching unit, the looser the corresponding preset matching condition. This can avoid the loss rate of players caused by the long waiting time for matching.
[0128] Since PVP and PVE game modes have different ways of fighting players in the same game, in PVP game mode, players in the same game need to be divided into teams of different factions; while in PVE game mode, players in the same game are teams of the same faction, and the team fights against the environment, generally referring to non-game players; therefore, for different game modes, the method may further include:
[0129] Determining a target game mode corresponding to the target room; the target game mode corresponds to a game mode identifier of each matching unit in the target room;
[0130] When the target game mode is a player-versus-player game mode, a preset prediction model is used to divide the multiple matching units in the target room into at least two teams of different camps;
[0131] When the target game mode is a player versus player environment game mode, a preset difficulty prediction model is used to determine the difficulty level of the environment competing against the target room based on the user portraits and game data corresponding to the respective matching units in the target room;
[0132] A corresponding battle environment is matched for the target room according to the difficulty level.
[0133] In this embodiment, when the target game mode corresponding to the target room is a PVP game mode, a pre-trained, preset prediction model is used to divide the multiple matching units in the target room into at least two teams of different camps. The number of teams in different camps is determined by the specific game product. For example, in a two-team game, the multiple matching units in the target room are divided into two teams of different camps; in a three-team free-for-all game, the multiple matching units in the target room are divided into three teams of different camps; and so on. Using a preset prediction model to divide teams into different camps can improve player satisfaction with the results of the division.
[0134] When the target game mode corresponding to the target room is a PVE game mode, players with different preferences and proficiency levels will have different difficulty requirements during the game. For example, when a player fails a certain number of games in a row, he or she will easily become depressed, resulting in an increased probability of churn. For this reason, it is necessary to put an environment of appropriate difficulty in the game product to play against players in order to enhance the player experience. For another example, when a player wants to experience a game of higher difficulty after winning multiple games in a row, it is also necessary to put an environment of appropriate difficulty in the game product to play against players. Specifically, a pre-trained preset difficulty prediction model can be used to determine the difficulty level of the environment playing against the target room, and the corresponding environment can be matched to the target room according to the difficulty level. The pre-trained preset difficulty prediction model can be trained based on the player's preference data and game data to predict the difficulty level of the next game required by the player, and after the player sends a game matching request, the player is assigned a game of corresponding difficulty.
[0135] In an optional embodiment of the present application, when the target game mode is a player-versus-player game mode, using a preset prediction model to divide the multiple matching units in the target room into at least two teams of different camps may include:
[0136] Determining the number of teams in different camps and the number of players on each team based on the target game mode;
[0137] When the multiple matching units in the target room are divided into teams that satisfy the number of teams and the number of players in each team, and there are multiple division methods, a preset prediction model is used to respectively determine the team matching score of each team corresponding to each division method;
[0138] The division method with the best team matching score is determined as the target division method, and the multiple matching units in the target room are divided into corresponding teams according to the target division method.
[0139] In this embodiment, the number of teams in different camps and the number of players on each team can be determined based on the target game mode, provided that the target game product is determined. When multiple matching units in a target room are divided into teams in different camps corresponding to the target game mode, and multiple division methods are available, a target division method needs to be determined to ultimately determine the teams in different camps. In determining the target division method, a preset prediction model is used to calculate the team matching scores for each team corresponding to each division method. The division method with the optimal team matching score is then determined as the target division method. The final teams in different camps are then determined based on the target division method, thereby improving the fairness and rationality of the team division results.
[0140] The preset prediction model can be determined by the game product, or based on the preference data corresponding to the matching units in the target room, or in combination with the regular data of the players corresponding to the matching units in the target room. Specifically, each game product can be pre-bound to a corresponding preset prediction model so that the corresponding preset prediction model can be obtained based on the game product. Alternatively, by analyzing the preference data corresponding to each matching unit in the target room, if the social preference weight in the target room is generally high, indicating that there are more social players than other types of game players in the target room, the preset prediction model can be a social matching prediction model. Alternatively, the social preference weight and game preference weight of each player in the team can be used simultaneously, and the prediction results of different models can be weighted summed to obtain the team matching score.
[0141] In one example, the preset prediction model can be a score difference prediction model. If the target game mode corresponds to two teams from different factions, the corresponding prediction result is the predicted score difference between the two teams. The smaller the predicted score difference, the closer the strength of the two teams. To ensure game fairness, in this embodiment, when determining the division method with the optimal team matching score as the target division method, the division method corresponding to the smallest predicted score difference is specifically determined as the target division method.
[0142] In this example, in the process of using the preset prediction model to determine the team matching score of each team corresponding to each division method, for each division method, the player level, payment, online time, rank, level score and other characteristic information of each team corresponding to the division method can be input into the score difference prediction model, and the score difference prediction model outputs the team matching score. The team matching score is different from the matching degree between the matching units mentioned above. In this example, the team matching score is specifically the predicted score difference output by the score difference prediction model. When the preset prediction model is a social matching prediction model, the team matching score is specifically the social matching score output by the social matching prediction model. The higher the social matching score, the better the team matching.
[0143] This example uses a score difference prediction model to determine the predicted score difference of each team corresponding to each division method, and determines the winning team in the prediction result by the positive or negative value of the predicted score difference. Compared with the binary classification model that directly predicts the win or loss, this embodiment can improve the accuracy of the win or loss prediction by more than 2 percentage points.
[0144] Alternatively, we can use LSTM (Long Short-Term Memory) neural network to process the player's recent game data and combine it with the player's preference data to predict the score difference of the game. The corresponding model structure is as follows: Figure 3As shown in the figure, the historical match score data of each team's players is fed into an LSTM unit, and the offline features of each team's players are fed into a first DNN (Deep Neural Network) unit. The outputs of the LSTM unit and the first DNN unit are then fed into a second DNN unit, which then outputs the final prediction result. This approach can further improve the accuracy of win-loss prediction by 2 percentage points.
[0145] Among them, offline features are maintained on T+1 day and T+0 day respectively through Hive (data warehouse tool), Kafka (a high-throughput distributed publish-subscribe messaging system) + Flink (Flink, an open source stream processing framework) according to different requirements for real-time features, and are read and scored during the matching stage. Figure 4 As shown, through such a series of feature engineering and model optimization, different models can be generated and embedded into the global matching system of this embodiment as optional functional modules.
[0146] Furthermore, in another optional embodiment of the present application, the aforementioned use of a preset prediction model to divide the multiple matching units in the target room into at least two teams of different camps may include:
[0147] Determining the number of teams in different camps and the number of players on each team based on the target game mode;
[0148] When the plurality of matching units in the target room are divided into teams that satisfy the number of teams and the number of players in each team, and there are multiple division methods, calculating the strength difference between the teams corresponding to each division method;
[0149] Determine the division method in which the strength difference between the teams meets the preset strength difference condition as a candidate division method;
[0150] A preset prediction model is used to determine the team matching score of each team corresponding to each candidate division method;
[0151] The division method with the best team matching score is determined as the target division method, and the multiple matching units in the target room are divided into corresponding teams according to the target division method.
[0152] In this embodiment, the number of teams in different camps and the number of players on each team can be determined based on the target game mode, provided the target game product is determined. When multiple matching units in the target room are divided into teams in different camps corresponding to the target game mode, and multiple division methods exist, a target division method needs to be determined to ultimately determine the teams in different camps. In determining the target division method, the strength difference between the teams corresponding to each division method can be calculated. This strength difference can be the overall or average player level difference or rank difference between the teams. After determining the strength difference, the division method whose strength difference meets preset conditions is determined as a candidate division method.
[0153] Among them, the division method whose strength difference meets the preset conditions is determined as the candidate division method. Specifically, the division method with a preset number of the smallest strength differences can be determined as the candidate division method, or the division method with a strength difference less than a specified strength difference threshold can be selected as the candidate division method.
[0154] After determining the candidate division methods, the preset prediction model is used to determine the team matching scores of each team corresponding to each candidate division method. Finally, the division method with the best team matching score is determined as the target division method, and then the final teams in different camps are determined based on the target division method.
[0155] Calculating the strength difference between teams in each division involves calculating each team's level score. In this example, the level score is calculated using the following formula:
[0156] Level score = original level score + (addition coefficient × sum (actual kill result - expected kill result) + expected win rate × ranking coefficient) × winning and losing streak coefficient
[0157] The bonus coefficient depends on the player's previous skill score. The lower the skill score, the larger the bonus coefficient, ranging from 0 to 60. For low-skill players, the bonus coefficients for wins and losses are different to ensure a positive skill score. For high-skill players, the bonus coefficients for wins and losses are equal. The actual kill result indicates whether the player achieves a kill, taking values of 1 or 0. The expected kill result is the probability of the player achieving a kill, which can be calculated from the skill scores of both players or predicted using the aforementioned match balance scoring model. The expected win rate is the predicted win rate for the current game, which can be calculated by the difference between the player's previous skill score and the average skill score of other players or predicted using the aforementioned match balance scoring model. The ranking coefficient is the difficulty factor for the player to achieve that ranking. The higher the ranking, the larger the coefficient, and the coefficient for low rankings is negative. The win-loss streak coefficient is a formula that increases the fluctuation of skill scores for novice players and players with high win-loss streaks, making skill scores converge more quickly.
[0158] This embodiment combines the strength difference calculation with the score difference prediction model. Compared with the prediction method that only uses the score difference prediction model, the accuracy of the win-loss result prediction in this embodiment can be improved by more than 2 percentage points.
[0159] Furthermore, in an embodiment of the present application, after determining that multiple matching units in the target room are divided into teams of corresponding different camps, the division results (i.e., the side division results) are pushed to each player in the target room, so that the players can understand the situation of their teammates in their camp team and the situation of the hostile players in the hostile camp team at the start of the game, which helps to improve the player's gaming experience.
[0160] like Figure 5 As shown, Figure 5 This is a schematic diagram of a simulated battle environment in an embodiment of the present application. The simulated battle system is composed of the player's corresponding client and the verification modules for legitimacy verification, timeout verification, and simulated player growth. The forwarding processing module and multiple matching pool groups constitute the recommendation system (i.e., the global matching system). The player sends a matching request to the forwarding processing module through his or her corresponding client. The forwarding processing module forwards the matching request to the corresponding matching pool group, determines the player's corresponding team and the opposing team according to the game matching method provided in the embodiment of the present application, and finally pushes the determination result to the corresponding player's client.
[0161] Optionally, the global matching system provided in the embodiment of the present application can also be connected to a quality monitoring platform, which monitors in real time the number of game matching requests, the target room, and the push time and time fluctuation of the corresponding results of the target division method, so as to facilitate back-end management personnel to optimize the global matching system and thereby improve the effect of game matching.
[0162] The embodiment of the present application determines the first matching unit from multiple matching units to be processed; inputs the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and outputs the matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weight and the match preference weight of the player of the corresponding matching unit; according to the matching degree between the first matching unit and the other matching units, determines the target matching unit assigned to the same room as the first matching unit, and obtains the target room. When performing game matching, the embodiment of the present application combines the player's game data, the preference data including the player's social preference weight and the match preference weight, calculates the matching degree between the matching units through a pre-trained matching model, and determines the target room based on the matching degree. This is different from the prior art that is limited to matching at the same level. Therefore, the matching results of the embodiment of the present application are more in line with the player's experience needs, thereby improving the player's gaming experience.
[0163] It should be noted that for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the order of the actions described, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.
[0164] Reference Figure 6 , shows a structural block diagram of an embodiment of a game matching device of the present application, which may include the following modules:
[0165] A matching unit determination module 601 is configured to determine a first matching unit from among a plurality of matching units to be processed;
[0166] Matching degree determination module 602 is configured to input the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and output a matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weights and game preference weights of the players of the corresponding matching units;
[0167] The target room determination module 603 is configured to determine a target matching unit that is assigned to the same room as the first matching unit according to the matching degree between the first matching unit and the other matching units, thereby obtaining a target room.
[0168] Optionally, the device further comprises:
[0169] a target game mode determination module, configured to determine a target game mode corresponding to the target room; the target game mode corresponds to a game mode identifier of each matching unit in the target room;
[0170] The first game mode processing module is used to use a preset prediction model to divide the multiple matching units in the target room into at least two teams of different camps when the target game mode is a player-versus-player game mode.
[0171] Optionally, the device further comprises:
[0172] A second game mode determination module is configured to, when the target game mode is a player versus player environment game mode, determine the difficulty level of the environment competing against the target room using a preset difficulty prediction model based on the user profiles and game data corresponding to the matching units in the target room;
[0173] The second game mode processing module is used to match a corresponding battle environment for the target room according to the difficulty level.
[0174] Optionally, the device further comprises:
[0175] a game mode identifier comparison module, configured to input the game data corresponding to the first matching unit into a pre-trained pattern matching model, and determine whether the game mode identifier corresponding to the game mode output by the pattern matching model is consistent with the game mode identifier of the first matching unit;
[0176] a prompt module, configured to send a prompt message to the player corresponding to the first matching unit if there is any inconsistency, wherein the prompt message is used to instruct the player to perform a selection operation;
[0177] a game mode identifier determination module, configured to determine a target game mode identifier of the first matching unit according to a selection operation of a player corresponding to the first matching unit in response to the prompt information;
[0178] A game mode identifier updating module is used to update the game mode identifier of the first matching unit according to the target game mode identifier.
[0179] Optionally, the matching unit determination module 601 includes:
[0180] A longest waiting time determination module, configured to determine a matching unit having the longest waiting time from among a plurality of matching units to be processed;
[0181] The first matching unit determining module is configured to determine the matching unit with the longest waiting time as the first matching unit.
[0182] Optionally, the matching unit is composed of at least one player, and the target room determining module 602 comprises:
[0183] a matching rule first determining module, configured to determine at least one matching rule according to a number of players contained in the first matching unit and a preset number of players corresponding to the target game mode;
[0184] a candidate room determining module, configured to determine a plurality of candidate rooms according to the first matching unit and the matching rule, each candidate room being composed of the first matching unit and at least one candidate matching unit in the same game session as the first matching unit;
[0185] a candidate room matching degree calculating module, configured to input the preference data and the game data corresponding to the first matching unit and the preference data and the game data corresponding to each candidate matching unit into a pre-trained matching model, and output a matching degree between the first matching unit and the candidate matching unit in the candidate room;
[0186] a target room first determining module, configured to determine the candidate room with the highest matching degree as the target room.
[0187] Optionally, the target room determining module 602 comprises:
[0188] a preselected room constructing module, configured to place the first matching unit into a plurality of preselected rooms;
[0189] a matching rule second determining module, configured to determine at least one matching rule according to a number of players contained in the first matching unit and a preset number of players corresponding to the target game mode;
[0190] a preselected matching unit determining module, configured to, for each preselected room, input the preference data and the game data corresponding to the matching unit in the preselected room and the preference data and the game data corresponding to other matching units outside the preselected room into a pre-trained matching model, and output a matching degree between the matching unit in the preselected room and the other matching units outside the preselected room;
[0191] a preselected room generating module meeting the rule, configured to determine, according to the matching degree, a preselected matching unit to join the preselected room from the other matching units outside the preselected room, until the matching unit in the preselected room fully meets any one of the matching rules;
[0192] a target room second determining module, configured to determine the preselected room with the highest matching degree as the target room.
[0193] Optionally, the apparatus further comprises:
[0194] The first preselected room judgment module is configured to judge whether a matching degree between matching units in a first preselected room that fully meets any one of the matching rules reaches a preset matching degree condition.
[0195] The first preselected room determination module is configured to determine the first preselected room as the target room if the matching degree reaches the preset matching degree condition.
[0196] Optionally, the device further comprises:
[0197] The preset matching condition determination module is configured to determine the preset matching degree condition according to the waiting time of the first matching unit.
[0198] Optionally, the matching model comprises a social score model and a game balance score model, and a matching degree calculation model, and the target room determination module 602 comprises:
[0199] The social score determination module is configured to input game data corresponding to each of the matching units to be calculated into the social score model, and output a social score between the matching units to be calculated.
[0200] The game balance score determination module is configured to input game data corresponding to each of the matching units to be calculated into the game balance score model, and output a game balance score between the matching units to be calculated.
[0201] The matching degree calculation module is configured to input the preference data corresponding to each of the matching units to be calculated, and the social score and the game balance score between the matching units to be calculated into the matching degree calculation model, and output a matching degree between the matching units to be calculated.
[0202] Optionally, the matching degree calculation model is configured to calculate a first weighting value of a social preference weight corresponding to each of the matching units to be calculated and the social score, and a second weighting value of a game preference weight corresponding to each of the matching units to be calculated and the game balance score, and calculate a sum of the first weighting value and the second weighting value to obtain a matching score of the matching unit; and calculate a sum of the matching scores of the matching units to be calculated, and calculate a per capita matching score according to a sum of the numbers of players corresponding to the matching units to be calculated, as the matching degree between the matching units to be calculated.
[0203] Optionally, the first game mode processing module comprises:
[0204] A first team and player determination module, configured to determine the number of teams in different camps and the number of players in each team according to the target game mode;
[0205] a team matching score determination module, configured to, when the plurality of matching units in the target room are divided into teams satisfying the number of teams and the number of players in each team, use a preset prediction model to determine the team matching score of each team corresponding to each division method;
[0206] The first target division method determination module is used to determine the division method with the best team matching score as the target division method, and divide the multiple matching units in the target room into corresponding teams according to the target division method.
[0207] Optionally, the first game mode processing module includes:
[0208] A second team and player determination module, configured to determine the number of teams in different camps and the number of players in each team according to the target game mode;
[0209] a team strength difference calculation module, configured to calculate the strength difference between the teams corresponding to each division method when the plurality of matching units in the target room are divided into teams that satisfy the number of teams and the number of players in each team, and when there are multiple division methods;
[0210] a candidate division method determination module, configured to determine a division method in which the strength difference between the teams meets a preset strength difference condition as a candidate division method;
[0211] A candidate team matching score calculation module is used to determine the team matching score of each team corresponding to each candidate division method using a preset prediction model;
[0212] The second target division method determination module is used to determine the division method with the best team matching score as the target division method, and divide the multiple matching units in the target room into corresponding teams according to the target division method.
[0213] The embodiment of the present application determines a first matching unit from the plurality of matching units to be processed through a matching unit determination module; inputs the preference data and game data corresponding to the first matching unit and the preference data and game data corresponding to other matching units to be processed into a pre-trained matching model, and outputs the matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weight and the game preference weight of the players corresponding to the matching units; determines the target matching units allocated to the same room as the first matching unit according to the matching degree between the first matching unit and the other matching units through a target room determination module, and obtains a target room. When performing game matching, the embodiment of the present application combines the game data of the players, the preference data including the social preference weight and the game preference weight of the players, calculates the matching degree between the matching units through the pre-trained matching model, and determines the target room according to the matching degree, which is different from the prior art which is limited to the same rating. Therefore, the matching result of the embodiment of the present application is more in line with the experience demand of the players, and the game experience of the players can be improved.
[0214] For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the related parts can be referred to the part of the method embodiment.
[0215] The embodiment of the present application also discloses an electronic device, including a processor, a memory, and a computer program stored on the memory and capable of running on the processor, and when the computer program is executed by the processor, the steps of the game matching method described above are implemented.
[0216] The embodiment of the present application also discloses a computer readable storage medium, and the computer readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the game matching method described above are implemented.
[0217] Each embodiment in the specification is described in a progressive manner, and each embodiment focuses on the difference from other embodiments, and the same and similar parts between each embodiment can be referred to each other.
[0218] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a device, or a computer program product. Therefore, the embodiments of the present application can adopt a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer usable program code.
[0219] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0220] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0221] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0222] Although preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic inventive concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0223] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or terminal device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that includes the element.
[0224] The above is a detailed introduction to a game matching method and device, electronic device and storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. At the same time, for those skilled in the art, according to the idea of the present application, there may be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present application.
Claims
1. A game matching method, characterized in that: The method comprises: Determining a first matching unit from a plurality of matching units to be processed; the matching unit is composed of at least one player; Input the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and output the matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weight and game preference weight of the player of the corresponding matching unit; wherein the game data is data related to the game that is currently about to start, and the preference data is data related to some or all games that the player has participated in; Determining, based on the matching degree between the first matching unit and the other matching units, a target matching unit that is assigned to the same room as the first matching unit, and obtaining a target room; The matching model includes a social score model, a game balance score model, and a matching degree calculation model. The preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, are input into a pre-trained matching model, and the matching degree between the first matching unit and the other matching units is output, including: Inputting the game data corresponding to the multiple matching units whose matching degrees are to be calculated into the social score model, and outputting the social scores between the multiple matching units whose matching degrees are to be calculated obtained based on the social game behavior data and the player's regular data; Inputting the game data corresponding to each of the plurality of matching units for which the matching degree is to be calculated into the game balance score model, and outputting the game balance score between the plurality of matching units for which the matching degree is to be calculated obtained based on the game behavior data; The preference data corresponding to each of the multiple matching units whose matching degrees are to be calculated, as well as the social scores and game balance scores between the multiple matching units whose matching degrees are to be calculated, are input into the matching degree calculation model, and the matching degrees between the multiple matching units whose matching degrees are to be calculated are output.
2. The method according to claim 1, characterized in that The method further comprises: Determining a target game mode corresponding to the target room; the target game mode corresponds to a game mode identifier of each matching unit in the target room; When the target game mode is a player-versus-player game mode, a preset prediction model is used to divide the multiple matching units in the target room into at least two teams of different camps.
3. The method according to claim 2, characterized in that The method further comprises: When the target game mode is a game mode of a player versus environment, determining the difficulty level of the environment competing against the target room using a preset difficulty prediction model based on the preference data and game data corresponding to each matching unit in the target room; A corresponding battle environment is matched for the target room according to the difficulty level.
4. The method according to claim 3, characterized in that Before determining the target game mode corresponding to the target room, the method further includes: Inputting the game data corresponding to the first matching unit into a pre-trained pattern matching model, and determining whether the game mode identifier corresponding to the game mode output by the pattern matching model is consistent with the game mode identifier of the first matching unit; If they are inconsistent, a prompt message is sent to the player corresponding to the first matching unit, wherein the prompt message is used to instruct the player to perform a selection operation; determining a target game mode identifier of the first matching unit according to a selection operation of a player corresponding to the first matching unit in response to the prompt information; The game mode identifier of the first matching unit is updated according to the target game mode identifier.
5. The method according to claim 1, characterized in that The step of determining a first matching unit from a plurality of matching units to be processed comprises: Determine a matching unit with the longest waiting time from a plurality of matching units to be processed; The matching unit with the longest waiting time is determined as the first matching unit.
6. The method according to any one of claims 2 to 4, characterized in that: The matching unit is composed of at least one player, and the target matching unit assigned to the same room as the first matching unit is determined based on the matching degree between the first matching unit and the other matching units to obtain the target room; including: Determining at least one matching rule based on the number of players included in the first matching unit and the number of preset game players corresponding to the target game mode; Determine, based on the first matching unit and the matching rule, a plurality of candidate rooms, each candidate room consisting of the first matching unit and at least one candidate matching unit that is in the same game as the first matching unit; For each candidate room, the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to each candidate matching unit, are input into a pre-trained matching model, and the matching degree between the first matching unit and the candidate matching units in the candidate room is output; The candidate room with the highest matching degree is determined as the target room.
7. The method according to any one of claims 2 to 4, characterized in that: The matching unit is composed of at least one player, and the target matching unit assigned to the same room as the first matching unit is determined based on the matching degree between the first matching unit and the other matching units to obtain the target room; including: placing the first matching unit into a plurality of preselected rooms; Determining at least one matching rule based on the number of players included in the first matching unit and the number of preset game players corresponding to the target game mode; For each of the pre-selected rooms, the preference data and game data corresponding to the matching unit in the pre-selected room, as well as the preference data and game data corresponding to other matching units outside the pre-selected room, are input into a pre-trained matching model, and the matching degree between the matching unit in the pre-selected room and the other matching units outside the pre-selected room is output; According to the matching degree, determining preselected matching units to be added to the preselected room from other matching units outside the preselected room, until the matching units in the preselected room completely meet any one of the matching rules; The pre-selected room with the highest matching degree is determined as the target room.
8. The method according to claim 7, characterized in that The method further comprises: For a first pre-selected room that fully satisfies any of the matching rules, determining whether the matching degree between the matching units in the first pre-selected room meets a preset matching degree condition; If so, the first pre-selected room is determined as the target room.
9. The method according to claim 8, characterized in that The method further comprises: A corresponding preset matching condition is determined according to the waiting time of the first matching unit.
10. The method according to claim 1, characterized in that The matching degree calculation model is used to calculate, for each matching unit whose matching degree is to be calculated, a first weighted value of the corresponding social preference weight and the social score, and a second weighted value of the game preference weight and the game balance score, and calculate the sum of the first weighted value and the second weighted value to obtain a matching score for the matching unit; The method further comprises calculating the sum of the matching scores of the plurality of matching units for which the matching degree is to be calculated, and calculating the average matching score per person according to the sum of the number of players corresponding to the plurality of matching units for which the matching degree is to be calculated, as the matching degree between the plurality of matching units for which the matching degree is to be calculated.
11. The method according to claim 2, characterized in that The method of using a preset prediction model to divide the multiple matching units in the target room into at least two teams of different camps includes: Determining the number of teams in different camps and the number of players on each team based on the target game mode; When the multiple matching units in the target room are divided into teams that satisfy the number of teams and the number of players in each team, and there are multiple division methods, a preset prediction model is used to respectively determine the team matching score of each team corresponding to each division method; The division method with the best team matching score is determined as the target division method, and the multiple matching units in the target room are divided into corresponding teams according to the target division method.
12. The method according to claim 2, characterized in that The method of using a preset prediction model to divide the multiple matching units in the target room into at least two teams of different camps includes: Determining the number of teams in different camps and the number of players on each team based on the target game mode; When the plurality of matching units in the target room are divided into teams that satisfy the number of teams and the number of players in each team, and there are multiple division methods, calculating the strength difference between the teams corresponding to each division method; Determine the division method in which the strength difference between the teams meets the preset strength difference condition as a candidate division method; A preset prediction model is used to determine the team matching score of each team corresponding to each candidate division method; The division method with the best team matching score is determined as the target division method, and the multiple matching units in the target room are divided into corresponding teams according to the target division method.
13. A game matching device, characterized in that: The device comprises: A matching unit determination module, configured to determine a first matching unit from a plurality of matching units to be processed; the matching unit is composed of at least one player; a matching degree determination module, configured to input the preference data and game data corresponding to the first matching unit, as well as the preference data and game data corresponding to other matching units to be processed, into a pre-trained matching model, and output the matching degree between the first matching unit and the other matching units, wherein the preference data includes the social preference weight and game preference weight of the players of the corresponding matching units; wherein the game data is data related to the game to be started, and the preference data is data related to some or all games in which the player has participated; a target room determination module, configured to determine, based on the matching degree between the first matching unit and the other matching units, a target matching unit assigned to the same room as the first matching unit, to obtain a target room; The matching model includes a social score model, a game balance score model, and a matching degree calculation model. The target room determination module includes: A social score determination module is configured to input the game data corresponding to each of the multiple matching units for which the matching degree is to be calculated into the social score model, and output a social score between the multiple matching units for which the matching degree is to be calculated, obtained based on the social game behavior data and the player's regular data; a game score determination module, configured to input the game data corresponding to each of the plurality of matching units for which matching degrees are to be calculated into the game balance score model, and output a game balance score between the plurality of matching units for which matching degrees are to be calculated, obtained based on the game behavior data; The matching degree calculation module is used to input the preference data corresponding to the multiple matching units whose matching degrees are to be calculated, as well as the social scores and game balance scores between the multiple matching units whose matching degrees are to be calculated, into the matching degree calculation model, and output the matching degrees between the multiple matching units whose matching degrees are to be calculated.
14. An electronic device, characterized in that: The game matching method comprises a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the steps of the game matching method according to any one of claims 1 to 12 are implemented.
15. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the game matching method according to any one of claims 1 to 12 are implemented.
Citation Information
Patent Citations
Social relationship recommendation method and device in game and computer readable storage medium
CN108579095A
Object matching method, model training method and server
CN109513215A
Method and system for matching users in internet game
WO2013069912A1