Seat processing method and device in virtual scene, equipment and storage medium
By receiving matching requests, determining target spaces and generating mid-joining requests in multiplayer online competitive games, the problem of asymmetry in the number of players is solved, and the fairness and competitiveness of the game experience is improved.
Patent Information
- Application Number
- CN202311254433.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-03-28
AI Technical Summary
In multiplayer online competitive games, the asymmetric number of players leads to unfair gaming experience, and the existing technology lacks an effective mid-way joining solution.
By receiving the player's matching request for the virtual scene, determining the target space and generating a mid-way join request, the player is allowed to dynamically adjust the number of players during the game to ensure the balance of the number of players in the two camps.
It improves the success rate of joining in the middle, ensures the fairness and competitiveness of the game experience, and dynamically adjusts the number of players to adapt to changes in the game process.
Smart Images

Figure CN119701372A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to virtual scene technology, and in particular to a seat processing method, device, equipment and storage medium in a virtual scene. Background Art
[0002] Display technology based on graphics processing hardware has expanded the channels for perceiving the environment and obtaining information, especially the display technology of virtual scenes. It can realize diversified interactions between virtual objects controlled by users or artificial intelligence according to actual application needs, and has various typical application scenarios. For example, in the virtual scene of games, it can simulate the real battle process between virtual characters.
[0003] Taking virtual scene games as an example, in competitive online shooting games, it is crucial to maintain a fair and balanced gaming environment. However, in multiplayer online competitive application scenarios, such as 5v5 and 10v10 matches, some players may leave the game early, which will lead to an asymmetric number of players and an unfair gaming experience.
[0004] Therefore, in the related art, players are allowed to join the game to fill the vacancies, so as to dynamically adjust the number of players during the game to ensure the balance of the number of players in the two camps. However, the prior art still lacks an effective solution for allowing players to join the game midway. Summary of the invention
[0005] The embodiments of the present application provide a seat processing method, device, electronic device, computer-readable storage medium and computer program product in a virtual scene, which can improve the success rate of mid-joining.
[0006] The technical solution of the embodiment of the present application is implemented as follows:
[0007] The present application embodiment provides a seat processing method in a virtual scene, including:
[0008] Receiving a matching request from a first account for a virtual scene, wherein the matching request is used for the first account to request a matching interactive game corresponding to the virtual scene;
[0009] In response to the matching request, when it is determined that there is a target match corresponding to a target slot that matches the first account, deleting a slot record message corresponding to the target slot from a slot message queue, and generating a mid-game joining request for the target slot from the first account;
[0010] The vacancy message queue includes vacancy record messages in all interactive games corresponding to the virtual scene;
[0011] The midway joining request is sent to allow the first account to midway join the target vacancy in the target game for interaction based on the midway joining request.
[0012] The present application embodiment provides a seat processing method in a virtual scene, including:
[0013] In response to the second account's exit operation on the target game in the virtual scene, a synchronization request for the target vacant position in the target game is sent,
[0014] Based on the synchronization request, generating a vacancy record message corresponding to the target vacancy, and saving the vacancy record message corresponding to the target vacancy to a vacancy message queue;
[0015] The target vacant seat is a virtual seat occupied by the second account when interacting in the target game before the second account exits the target game; the vacant seat record information is deleted from the vacant seat message queue when it is determined that there is a first account matching the target vacant seat;
[0016] When a mid-game joining request for the target vacancy is received from the first account, based on the mid-game joining request, the first account is allowed to mid-game join the target vacancy in the target game for interaction.
[0017] The embodiment of the present application provides a seat processing device in a virtual scene, comprising:
[0018] A receiving module, configured to receive a matching request from a first account for a virtual scene, wherein the matching request is used by the first account to request a matching interactive game corresponding to the virtual scene;
[0019] a generating module, configured to, in response to the matching request, delete the vacancy record message corresponding to the target vacancy from the vacancy message queue when determining that there is a target game corresponding to the target vacancy matching the first account, and generate a midway joining request of the first account for the target vacancy; wherein the vacancy message queue includes the vacancy record messages in all interactive games corresponding to the virtual scene;
[0020] The sending module is used to send the midway joining request to allow the first account to midway join the target vacancy in the target game for interaction based on the midway joining request.
[0021] In the above scheme, before receiving the matching request for the virtual scene from the first account, the device also includes: a first synchronization module, used to receive a first synchronization request for the target vacant seat in the target game, where the target vacant seat is the virtual seat where the second account is located when interacting in the target game before exiting the target game; in response to the first synchronization request, generating a vacant seat record message corresponding to the target vacant seat, and saving the vacant seat record message corresponding to the target vacant seat in a vacant seat message queue.
[0022] In the above scheme, before receiving the matching request for the virtual scene from the first account, the device also includes: a second synchronization module, used to receive a second synchronization request for a first number of virtual seats in the target game, wherein the first number of virtual seats at least includes the target seats, which are the remaining virtual seats in the target number of virtual seats required for the target game after the second number of third accounts join the target game; in response to the second synchronization request, generating vacancy record information for each virtual seat in the first number of virtual seats, and saving the generated vacancy record information for each virtual seat to a vacancy message queue.
[0023] In the above scheme, before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue, the device also includes: a first matching module, used to obtain the game data of at least one candidate interactive game with a virtual vacancy in all interactive games corresponding to the virtual scene, and the account data of the first account carried by the matching request; respectively matching the game data with the account data, and when the matching result indicates that there is game data matching the account data, determining that there is a target game corresponding to the target vacancy matching the first account; wherein the target game is the candidate interactive game corresponding to the game data matching the account data, and the target vacancy is the virtual vacancy in the candidate interactive game corresponding to the game data matching the account data.
[0024] In the above scheme, before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue, the device also includes: a second matching module, used when the matching request is triggered by the first account based on invitation information, wherein the invitation information is sent by a fourth account interacting in the target game corresponding to the virtual scene, and is used to invite the first account to join the target game midway for interaction; when there is a fifth account that exits the interaction in the target game, it is determined that the target game matches the first account, and the virtual seat where the fifth account was located when interacting in the target game before exiting the target game is used as the target vacancy.
[0025] In the above scheme, the generation module is also used to obtain the game identifier of the target game, the position identifier of the target vacancy, and the account identifier of the first account; and assemble them according to the game identifier, the position identifier and the account identifier to obtain the mid-way joining request of the first account for the target vacancy.
[0026] In the above solution, the generating module is further used to determine the joining priority of each first account when there are multiple first accounts; and generate an intermediate joining request for the target vacancy of the first account with the highest joining priority.
[0027] In the above scheme, the generation module is also used to obtain the historical interaction data of each of the first accounts, and the interaction data of other accounts that interacted in the target slot before exiting the target slot; perform similarity matching based on each of the historical interaction data and the interaction data to obtain the similarity between each of the first accounts and the other accounts; and determine the corresponding joining priority that is positively correlated with each of the similarities.
[0028] In the above scheme, the generation module is also used to obtain the historical interaction data of each of the first accounts, and the interaction data of other accounts in the interactive camp to which the target vacancy belongs in the target game; perform fitness calculation based on each of the historical interaction data and the interaction data to obtain the fitness between each of the first accounts and the other accounts; and determine the corresponding joining priority that is positively correlated with each of the fitness.
[0029] In the above scheme, the generation module is also used to perform the following operations for each first account: obtain the influencing parameters used to influence the joining priority of the first account; wherein the influencing parameters include at least one of the following: the sending time corresponding to the matching request, the similarity between the first account and other accounts interacting in the target slot before exiting the target slot, and the compatibility between the first account and other accounts in the interaction camp to which the target slot belongs; based on the influencing parameters, call the prediction model to perform priority prediction to obtain the joining priority of the first account; wherein the prediction model is obtained by training through account samples, the influencing parameters of the account samples, and the joining priorities annotated by the account samples.
[0030] The embodiment of the present application also provides a seat processing device in a virtual scene, including:
[0031] A sending module is used to send a synchronization request for a target vacant position in the target game in response to an exit operation of the second account for the target game in the virtual scene, so as to
[0032] Based on the synchronization request, generating a vacancy record message corresponding to the target vacancy, and saving the vacancy record message corresponding to the target vacancy to a vacancy message queue;
[0033] The target vacant seat is a virtual seat occupied by the second account when interacting in the target game before the second account exits the target game; the vacant seat record information is deleted from the vacant seat message queue when it is determined that there is a first account matching the target vacant seat;
[0034] The joining module is used for, when receiving a mid-way joining request from the first account for the target vacancy, allowing the first account to mid-way join the target vacancy in the target game for interaction based on the mid-way joining request.
[0035] An embodiment of the present application provides an electronic device, including:
[0036] A memory for storing computer executable instructions or computer programs;
[0037] The processor is used to implement the seat processing method in the virtual scene provided in the embodiment of the present application when executing the computer executable instructions or computer programs stored in the memory.
[0038] An embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions or a computer program for implementing a seat processing method in a virtual scene provided by an embodiment of the present application when executed by a processor.
[0039] An embodiment of the present application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, the seat processing method in the virtual scene provided by the embodiment of the present application is implemented.
[0040] The embodiments of the present application have the following beneficial effects:
[0041] By applying the embodiment of the present application, since the midway join request corresponds to the target vacancy in the target game, that is, one midway join request corresponds to one target vacancy in the target game, and different midway join requests correspond to different target vacancy in the target game, even if multiple accounts simultaneously request to join the same target game midway, since the target vacancy corresponding to the midway join requests of different accounts is different, that is, different accounts do not affect each other, it is possible to avoid the situation where different accounts apply to join the same vacancy. Moreover, the midway join request is generated on the premise of determining that the first account matches the target vacancy, which ensures that the first account can successfully join the target vacancy midway and avoids the problem of midway join failure. Moreover, while sending the midway join request, the vacancy record message of the target vacancy is deleted from the vacancy message queue, so that when the first account is allowed to join the target vacancy midway based on the midway request information, the consistency of the actual vacancy and the vacancy message recorded in the vacancy message queue can be ensured, further improving the success rate of the account midway join. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 is a schematic diagram of the architecture of a seat processing system in a virtual scene provided by an embodiment of the present application;
[0043] Figure 2 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application;
[0044] Figure 3 is a schematic diagram of the architecture of a seat processing system 100 in a virtual scene provided in an embodiment of the present application;
[0045] Figure 4 is a structural schematic diagram of an electronic device 500 for implementing a seat processing method in a virtual scene provided in an embodiment of the present application;
[0046] Figure 5 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application;
[0047] Figure 6 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application;
[0048] Figure 7 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application;
[0049] Figure 8 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application;
[0050] Fig. 9 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application;
[0051] Fig.10 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application;
[0052] Fig.11 It is a data flow diagram of a seat processing method for a virtual scene provided in an embodiment of the present application;
[0053] Fig.12 It is a data flow diagram of the seat processing method of the virtual scene provided in the embodiment of the present application. DETAILED DESCRIPTION
[0054] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0055] It is understandable that in the embodiments of the present application, when user information and other related data (such as user account data, historical interaction data, etc.) are involved, when the embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0056] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0057] In the following description, the terms "first\second..." are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second..." can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0058] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0059] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0060] 1) Client: an application running in the terminal to provide various services, such as a video player client, a game client, etc.
[0061] 2) In response, it is used to indicate the conditions or states on which the executed operations depend. When the dependent conditions or states are met, one or more operations executed may be in real time or have a set delay. Unless otherwise specified, there is no restriction on the order of execution of the multiple operations executed.
[0062] 3) A virtual scene is a virtual scene displayed (or provided) when an application is running on a terminal. The virtual scene can be a simulation of the real world, a semi-simulation and semi-fictitious virtual environment, or a purely fictitious virtual environment. The virtual scene can be any of a two-dimensional virtual scene, a 2.5-dimensional virtual scene, or a three-dimensional virtual scene. The embodiment of the present application does not limit the dimension of the virtual scene. For example, the virtual scene may include the sky, land, ocean, etc. The land may include environmental elements such as deserts and cities, and users can control virtual objects to move in the virtual scene.
[0063] Taking the game as an example of a virtual scene, mid-joining can be applied to multiplayer online competitive scenarios, such as 5v5, 10v10 and other fair competitive game scenarios, and multiplayer interactive game scenarios. For example, in 5v5, 10v10 and other fair competitive game scenarios, after the start of the game, some players may leave the game early due to their own reasons or network reasons, which may lead to an asymmetric number of players in the two camps and an unfair gaming experience. Therefore, other players can be allowed to join in the middle to fill in the gaps to ensure the consistency of the number of game players. In a multiplayer interactive game scenario (such as an interactive game in which 100 people are divided into a team of 4), it is usually not possible to quickly gather 100 players at the beginning of each match. In order to increase the fun, it can be set that even if a target number of players (such as 10 to 20) are matched at the beginning, the game can start first, allowing the target number of players to enter the game's birth island first, and start a countdown (such as 1 minute). Before the countdown returns to zero, players gradually join the game through the mid-game joining method. At the end of the countdown, even if the total number of players is less than 100, the remaining small number of vacancies can be replaced by robots, thus entering the normal start process.
[0064] It is clear that it is necessary to design a system that allows players to join the game midway during the game and dynamically adjust the number of players during the game to ensure a balance between the number of players in the two camps. Figure 1 , Figure 1: is an architectural diagram of a seat processing system in a virtual scene provided by an embodiment of the present application, the system comprising: a matching module, a room module and a game module, the three modules cooperate with each other to ensure dynamic supplementation and balance of players during the game, wherein the matching module is responsible for sending a start request for the matching result of this game (i.e. carrying all player information and map information) to the room module when enough players have started the game. In addition, the matching module is also responsible for monitoring the number of players in the game so as to allocate new players to the game that lacks players when necessary.
[0065] After receiving the match result start request sent by the matching module, the room module will synchronize all the player information and map information involved in this game to the game module one by one; in addition, when a player quits the game, the room module will regularly synchronize the player's brief information in the game (such as the synchronization message of whether there is a vacancy) (such as the synchronization message of whether there is a vacancy) to the matching module, so that the matching module can understand the real-time status of the game. The game module is responsible for managing the actual game during the game. When a player quits the game, the game module will inform the room module of the player's exit information so that the room module can synchronize the player's brief information in the current room back to the matching module.
[0066] When the matching module finds that there are not enough players in a game and that they meet the conditions for joining mid-game, it will give priority to assigning new players to these games that are missing players. Specifically, when a player who meets the conditions (such as meeting the rank and map requirements) initiates a match request, the matching module will give priority to arranging these players to join the game that is missing players, so as to achieve dynamic replenishment and balance of players during the game. Through this mid-game replenishment solution, the game can quickly find a suitable substitute player when a player quits, ensuring the fairness and competitiveness of the game. This solution helps to improve the player's gaming experience and reduce the frustration of the game caused by an imbalance in the number of players.
[0067] See also Figure 2 , Figure 2: is a flow chart of a seat processing method in a virtual scene provided by an embodiment of the present application. Since the matching module, room module and game module are all deployed in a distributed manner, the communication between them is cross-process or even cross-machine. Therefore, there is a delay in the message synchronization between them, and the order of precedence may not be guaranteed. This leads to some problems in the existing game vacancy management scheme, which are as follows: Assume that the room corresponding to the target game (such as room 1) now has 3 vacancies (such as vacant seats 1, 2 and 3) waiting for players to be added, and the room module has synchronized the vacant seat record information to the matching module. The mid-joining processing flow is as follows: 1) Player A sends a matching request to the matching module for requesting a vacant seat in the matching room; 2) The matching module responds to the matching request and occupies the vacant seat for Player A to join, such as 1 1) vacant seat; 3) the matching module generates and sends a mid-way joining request for player A to the room module for seat 1; 4) the room module modifies the vacant seat information in the current game based on the mid-way joining request (e.g., adjusts seat 1 from a vacant seat to a non-vacant seat), and forwards the mid-way joining request to the game module; 5) the game module allows player A to join the game game (i.e., join seat 1 in room 1) based on the mid-way joining request; 6) player B sends a matching request to the matching module for requesting a matching room seat; 7) the matching module responds to the matching request and occupies a seat for player B to join, such as seat 1; 8) the matching module generates and sends a mid-way joining request for player B to the room module for seat 1; 9) the room module identifies that player A already exists at seat 1 based on the mid-way joining request, resulting in the failure of player B to join seat 1.
[0068] It can be seen that there is an abnormal situation in the above scheme. For example, in the above step 2), if the matching module determines the vacant seat No. 1 for player A to join, and it happens to be the time for the room module to synchronize the vacant seat information, the room module will synchronize the vacant seat information of 3 vacant seats (namely, No. 1, No. 2 and No. 3) in room 1 to the matching module. The operation of occupying No. 1 vacant seat by the matching module in step 2) will be overwritten by the vacant seat information (namely, marking No. 1 vacant seat) synchronized back by the room module. This is because the matching module completely trusts the message of the room module and fully overwrites the vacant seat information of the matching module.
[0069] In this way, there is an inconsistency problem in the vacant seat information of the matching module and the room module, that is, the matching module believes that there are 3 vacant seats in the room (namely, seat 1, seat 2 and seat 3), but in fact there are only 2 vacant seats recorded in the room module (namely, seat 2 and seat 3). Due to this inconsistency, when the matching module subsequently receives a matching request sent by player B, it believes that seat 1 can be joined. However, when actually joining midway, the room module finds that seat 1 has been occupied by player A, resulting in the failure of player B to join midway, making the success rate of joining midway low.
[0070] To this end, the embodiments of the present application provide a seat processing method, device, equipment, computer-readable storage medium and computer program product in a virtual scene, which aim to ensure the consistency of vacant seat information between multiple modules, and ensure that when multiple players join in the middle at the same time, they will not affect each other, thereby improving the success rate of players joining in the middle.
[0071] See also Figure 3 , Figure 3 1 is a schematic diagram of the architecture of the seat processing system 100 in the virtual scene provided by the embodiment of the present application. The terminal 400 is connected to the server 200 via the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two. The terminal 400 is used for the user to use the client 410, and the interactive screen of the virtual scene is displayed in the graphical interface 410-1 (the graphical interface 410-1 is shown as an example), such as which players are interacting in the game game and which players have withdrawn from the game game. The terminal 400 and the server 200 are connected to each other via a wired or wireless network.
[0072] In some embodiments, the server 200 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. The terminal 400 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart TV, a smart watch, a car terminal, etc., but is not limited thereto. The electronic device provided in the embodiment of the present application may be implemented as a terminal or as a server, and both the terminal and the server may be provided with a renderer for rendering the virtual scene, such as a first renderer and a second renderer. The terminal and the server may be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiment of the present application.
[0073] In some embodiments, a client (such as an instant messaging client, a game client, etc.) is set on the terminal 400, and the server 200 is a background server corresponding to the client. Taking the game client set on the terminal 400 as an example, the server 200 may include a matching module, a room module and a game module. The first account triggers a matching request for the virtual scene through the terminal 400, and sends the matching request to the server 200; the matching module in the server 200 receives the matching request for the virtual scene from the first account, wherein the matching request is used for the first account to request to match the interactive game corresponding to the virtual scene; in response to the matching request, when it is determined that there is a target game corresponding to the target vacancy matching the first account, the vacancy record message corresponding to the target vacancy is deleted from the vacancy message queue, and a midway joining request for the target vacancy is generated by the first account; and the midway joining request is sent to the room module in the server 200, and the room module modifies the vacancy record information in the target game based on the midway joining request (such as recording the target vacancy as a vacancy), and at the same time, forwards the midway joining request to the game module, and the game module allows the first account to midway join the target vacancy in the target game for interaction based on the midway joining request; the server 200 returns the result of the first account joining the target vacancy in the target game to the terminal 400 for display in the terminal 400, such as displaying a screen of the first account interacting in the target game.
[0074] In other embodiments, the embodiments of the present application can be implemented with the aid of cloud technology, which refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data computing, storage, processing, and sharing. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form a resource pool that is used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources.
[0075] See also Figure 4 , Figure 4 is a structural diagram of an electronic device 500 for implementing a seat processing method in a virtual scene provided by an embodiment of the present application, wherein: Figure 4 The electronic device 500 shown may be Figure 2 The server 200 or the terminal 400 in Figure 4The electronic device 500 shown includes: at least one processor 410, a memory 450, and at least one network interface 420. The various components in the electronic device 500 are coupled together via a bus system 440. It is understood that the bus system 440 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, the bus system 440 is not described in detail. Figure 4 Various buses are labeled as bus system 440 .
[0076] Processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0077] The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. The memory 450 may optionally include one or more storage devices that are physically remote from the processor 410.
[0078] The memory 450 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 450 described in the embodiments of the present application is intended to include any suitable type of memory.
[0079] In some embodiments, memory 450 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.
[0080] Operating system 451, including system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks;
[0081] The network communication module 452 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 420. Exemplary network interfaces 420 include: Bluetooth, Wireless Fidelity (WiFi), and Universal Serial Bus (USB).
[0082] In some embodiments, the seat processing device in the virtual scene provided in the embodiments of the present application can be implemented in a software manner. Figure 4 The seat processing device 455 in the virtual scene stored in the memory 450 is shown, which can be software in the form of a program and a plug-in, etc., including the following software modules: a receiving module 4551, a generating module 4552 and a sending module 4553. These modules are logical, so they can be arbitrarily combined or further split according to the functions implemented. The functions of each module will be explained below.
[0083] In other embodiments, the seat processing device in the virtual scene provided by the embodiments of the present application can be implemented in hardware. As an example, the seat processing device in the virtual scene provided by the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the seat processing method in the virtual scene provided by the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs) or other electronic components.
[0084] In some embodiments, the terminal or server can implement the seat processing method in the virtual scene provided by the embodiment of the present application by running various computer executable instructions or computer programs. For example, the computer executable instructions can be microprogram-level commands, machine instructions or software instructions, and the computer program can be a native program or software module in the operating system; it can be a native application (APP, APPlication), that is, a program that needs to be installed in the operating system to run, such as a shooting game APP or a social chat APP (that is, the above-mentioned client 410); it can also be a small program that can be embedded in any APP, that is, a program that can be run only by downloading it to a browser environment. In short, the above-mentioned computer executable instructions can be instructions in any form, and the computer program can be an application, module or plug-in in any form.
[0085] The seat processing method in the virtual scene provided by the embodiment of the present application will be explained in combination with the exemplary application and implementation of the server or terminal provided by the embodiment of the present application.
[0086] See also Figure 5 , Figure 5 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application, which will be combined with Figure 5 Steps 101 to 103 are shown for illustration. The seat processing method in the virtual scene provided in the embodiment of the present application can be implemented by a server or a terminal alone, or by a server and a terminal in collaboration. The following will be illustrated by the matching module in the server being implemented alone.
[0087] In step 101, a matching request for a virtual scene from a first account is received, wherein the matching request is used for the first account to request to match an interactive game corresponding to the virtual scene.
[0088] Here, the first account can trigger a matching request for the virtual scene through its corresponding terminal, such as displaying an interactive interface of the virtual scene in the terminal on the first account side, and displaying a mid-join entrance in the interactive interface. In response to the triggering operation for the mid-join entrance, a matching request for the virtual scene is generated and sent to the matching module in the server. Based on the matching request, the matching module matches or judges whether there is an interactive game with a virtual slot that matches the first account. When there is an interactive game with a virtual slot that matches the first account, the first account is allowed to join the corresponding virtual slot midway for interaction.
[0089] In actual applications, multiple interactive games may exist simultaneously in the same virtual scene. For example, for the same game, there may be multiple interactive games (already started) for players to interact at the same time, wherein each interactive game corresponds to a room, each room includes multiple virtual seats, and one virtual seat is used to accommodate a virtual object (i.e., player) corresponding to an interactive account. At the start of the game, the game parameters of each interactive game (or room) may be set, such as the room number, room name, interactive mode (such as team competition, biochemical catastrophe, racing escort, etc.), map mode (such as lost civilization, full map random, European town, etc.) and other parameters; when the first account triggers a matching request, the matching parameters for indicating the interactive game that the first account expects to join midway (such as the interactive mode or map mode that the first account expects to join) may be set, so that the matching module can match a suitable target game from the multiple interactive games corresponding to the virtual scene.
[0090] In step 102, in response to the matching request, when it is determined that there is a target match corresponding to a target slot that matches the first account, the slot record message corresponding to the target slot is deleted from the slot message queue, and a mid-game join request for the target slot is generated by the first account.
[0091] Among them, the vacant seat message queue includes vacant seat record messages in all interactive games corresponding to the virtual scene. In actual applications, each vacant seat record message in the vacant seat message queue can be saved according to the time dimension, such as saving the vacant seats in each interactive game in the order of the reception time of the synchronization request; it can also be saved according to the dimension of the interactive game, such as saving the vacant seat record information belonging to the same interactive game (that is, the same room) in one vacant seat message queue.
[0092] In some embodiments, see Figure 6 , Figure 6 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application. Figure 5 Before step 101 in Figure 6 Steps 104A-105A shown save the vacancy record message corresponding to the target vacancy to the vacancy message queue: in step 104A, a first synchronization request for the target vacancy in the target game is received, wherein the target vacancy is the virtual seat where the second account is located when interacting in the target game before exiting the target game; in step 105A, in response to the first synchronization request, a vacancy record message corresponding to the target vacancy is generated, and the vacancy record message corresponding to the target vacancy is saved to the vacancy message queue.
[0093] In actual applications, the second account is an account that interacts in the target game. When the second account exits the target game, the virtual seat that the second account interacted with before exiting the target game is used as the target vacant seat. For example, if the second account interacted in seat 2 in room 1 before exiting, then after the second account exits seat 2 in room 1, seat 2 in room 1 is the target vacant seat for the target game; the game module in the server notifies the target vacant seat (i.e., seat 2 in room 1) in the form of a synchronization request, such as sending a first synchronization request for the target vacant seat (i.e., seat 2 in room 1) to the room module in the server, wherein the first synchronization request is used to notify the exit of the second account. The virtual seat (i.e., the target vacant seat in the target game) is synchronized, and the room module modifies the vacant seat information in the target game based on the first synchronization request, such as setting seat 2 in room 1 as a vacant seat, and at the same time forwards the first synchronization request to the matching module. The matching module generates vacant seat record information corresponding to the target vacant seat in response to the first synchronization request, such as seat 2 in room 1 is a vacant seat, and saves the vacant seat record information corresponding to the target vacant seat in the vacant seat message queue; in this way, the vacant seat information recorded by the room module and the matching module in the server is consistent with the actual vacant seat information in the game module, which can improve the accuracy and success rate of subsequent mid-way addition of vacancies.
[0094] In some embodiments, see Figure 7 , Figure 7 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application. Figure 5 Before step 101 in Figure 7 Steps 104B-105B shown save the vacancy record message corresponding to the target vacancy into the vacancy message queue: in step 104B, a second synchronization request is received for a first number of virtual vacancies in the target game, wherein the first number of virtual vacancies includes at least the target vacancies, which are the remaining virtual seats in the target number of virtual seats required for the target game after the second number of third accounts join the target game; in step 105B, in response to the second synchronization request, vacancy record information is generated for each virtual seat in the first number of virtual seats, and the generated vacancy record information for each virtual seat is saved into the vacancy message queue.
[0095] In actual applications, for application scenarios where the number of interactive objects required for the target game exceeds the target number (which can be set according to actual needs, such as 50), for example, in a 100-person interactive game scenario, all empty seats in the target game (i.e., the room) (e.g., 100 empty seats) can be processed synchronously at the beginning as one synchronization message, thereby reducing the amount of data processing (number of messages) and improving the data processing effect; if a player quits subsequently, one empty seat will be used as a synchronization request for notification.
[0096] Alternatively, for a 100-player interactive game scenario, it is usually not possible to quickly gather 100 players at the start of each match. In order to improve the start efficiency, it can be set that even if a certain number (i.e., the second number, which can be set according to actual needs, such as 30) of players are matched initially, the game can be started first (the game started is called the target game), and then the game module centrally notifies the synchronization of the first number (i.e., 100-30=70) of virtual seats that have not been matched in the target game. For example, the game module in the server notifies the first number of virtual seats in the target game (i.e., 70 seats that have not yet been added to the players) in the form of a synchronization request message, such as sending a second synchronization request for the first number of virtual seats (i.e., 70 seats that have not yet been added to the players). The second synchronization request is sent to the room module in the server, wherein the second synchronization request is used to synchronize the first number of virtual seats in the target game, and the room module records the vacant seat information in the target game based on the second synchronization request, such as recording the first number of virtual seats as vacant seats, and forwards the second synchronization request to the matching module. The matching module generates vacant seat record information for each virtual seat in the first number of virtual seats in response to the second synchronization request, such as virtual seats No. 21 to No. 100 in Room 1 are vacant seats, and saves the vacant seat record information for each virtual seat in the vacant seat message queue; in this way, the vacant seat information recorded by the room module and the matching module in the server is consistent with the actual vacant seat information in the game module, which can improve the accuracy and success rate of adding vacancies later.
[0097] In some embodiments, see Figure 8 , Figure 8 is a flowchart of a seat processing method in a virtual scene provided by an embodiment of the present application. Figure 5 Before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue in step 102, the Figure 8 Steps 106-107 are shown to determine whether there is a target match corresponding to the target slot that matches the first account:
[0098] In step 106, game data of at least one candidate interactive game with a virtual vacancy in all interactive games corresponding to the virtual scene and account data of the first account carried in the matching request are obtained.
[0099] Among them, game data refers to the game mode, map mode, etc. set by the player at the beginning of the game (corresponding interactive game), as well as relevant data (such as account level, proficient skills, etc.) of the interactive object required in the interactive game (that is, the virtual object corresponding to the interactive account); account data is the relevant data (such as game mode, map mode, etc.) set by the player when applying to join midway, and relevant data that can provide feedback on the interaction level of the corresponding interactive object, such as account level, proficient skills, historical interaction data (such as historical record, etc.).
[0100] After receiving the matching request from the first account for the virtual scene, the matching module in the server screens out candidate interactive games with vacancies from all interactive games corresponding to the virtual scene in response to the matching request, and obtains game data of the candidate interactive games and the account data of the first account, so as to determine whether there is a target game that meets the requirements for the first account to join midway based on the account data and the game data of each candidate interactive game.
[0101] In step 107, the game data is matched with the account data respectively, and when the matching result indicates that there is game data matching the account data, it is determined that there is a target game corresponding to the target slot matching the first account.
[0102] Among them, the target game is the candidate interactive game corresponding to the game data matching the account data, and the target vacancy is the virtual vacancy in the candidate interactive game corresponding to the game data matching the account data.
[0103] In practical applications, the game data is matched with the account data respectively, such as extracting corresponding game features and account features from the game data and the account data respectively, and then matching the game features with the account features, such as calculating the similarity between the two, and taking the similarity value as the matching result, and when there is a similarity value exceeding the similarity threshold, it is considered that there is game data matching the account data (i.e., game data corresponding to the similarity value exceeding the similarity threshold), and it can be determined that there is a target game corresponding to the target vacancy matching the first account, and the candidate interactive game corresponding to the game data corresponding to the similarity value exceeding the similarity threshold is taken as the target game, and the virtual vacancy in the candidate interactive game is taken as the target vacancy.
[0104] For example, when the matching module in the server receives a matching request from player A (i.e., the player corresponding to the first account) for game A (assuming that game A has a total of 10 interactive games opened at the current time), 3 interactive games with virtual vacancies are screened out from the 10 interactive games corresponding to game A, which are recorded as candidate interactive game 1, candidate interactive game 2, and candidate interactive game 3. Then, the account data of player A is matched with the game data corresponding to candidate interactive game 1, candidate interactive game 2, and candidate interactive game 3, respectively, and interactive games that meet the requirements of player A to join midway are screened out from candidate interactive game 1, candidate interactive game 2, and candidate interactive game 3, such as candidate interactive game 3, and candidate interactive game 3 is used as the target game, and the virtual seat in candidate interactive game 3 is used as the target vacancy.
[0105] It is understandable that when there are multiple virtual seats in the candidate interactive game 3, the seat information corresponding to each virtual seat (such as the required player's level, virtual skills, etc.) is further matched with the player data of player A, and the virtual seat that best matches player A is selected as the target vacant seat for player A to join midway.
[0106] In some embodiments, the matching request is triggered by the first account based on the invitation information, wherein the invitation information is sent by the fourth account interacting in the target game corresponding to the virtual scene, and is used to invite the first account to join the target game midway for interaction; before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue, it can be determined in the following way whether there is a target game corresponding to the target vacancy that matches the first account: when there is a fifth account that exits the interaction in the target game, it is determined that the target game matches the first account, and the virtual seat where the fifth account was located when interacting in the target game before exiting the target game is used as the target vacancy.
[0107] In actual applications, the first account's matching request for the virtual scene can also be triggered based on the invitation information of other accounts (such as a fourth account), wherein the fourth account is the account corresponding to the interactive object that has interacted in the target game, and the interactive object corresponding to the fourth account can invite its friend (such as the interactive object corresponding to the first account) to join the target game midway for interaction. For example, the interactive interface of the target game is displayed in the terminal on the fourth account side, and an invitation control for joining the target game midway is displayed in the interactive interface. The terminal on the fourth account side responds to the trigger operation on the invitation control, displays candidate accounts for selection (at least including the first account), and responds to the selection operation on the first account, Send an invitation request for the first account to the server, the server generates corresponding invitation information based on the invitation request (such as your friend xx is playing in the game, inviting you to join the game to fill in the position, do you want to go), and pushes the generated invitation information to the terminal on the first account side.
[0108] The first account can trigger the invitation information to request to match the target game. For example, the terminal on the first account side generates a matching request for the target game of the first account to the server in response to the trigger operation of the invitation information, so as to request the server to allow the first account to fill in the target game when there is a vacant seat (such as a player quits). For example, when the fifth account interacting in the target game quits the game, it can be determined that there is a target vacant seat in the target game (that is, the virtual seat where the fifth account was when interacting in the target game before quitting the target game), that is, it is determined that there is a target game that matches the first account (that is, a game with vacant seats).
[0109] It should be noted that, in actual applications, when the fifth account interacting in the target game exits the game and after it is determined that there is a target vacancy in the target game (i.e., the fifth account exits the target game), it is possible to further identify whether the first account is compatible with the target vacancy, such as further matching the account data of the first account (such as account level, historical interaction data, etc.) with the vacancy data corresponding to the target vacancy (the level of the required interaction object, proficient skills, etc.). When the match is successful, it is considered that the first account is compatible with the target vacancy in the target game. This can improve the accuracy and adaptability of the filling, which is conducive to improving the interaction ability of the camp where the first account is located after the filling.
[0110] In some embodiments, a mid-way joining request of the first account for the target vacancy may be generated in the following manner: obtaining a game identifier of the target game, a position identifier of the target vacancy, and an account identifier of the first account; and assembling the game identifier, the position identifier, and the account identifier to obtain a mid-way joining request of the first account for the target vacancy.
[0111] In actual applications, the matching module in the server assembles the message according to the game identifier of the target game (such as the room number), the location identifier of the target vacant seat (such as the location number) and the account identifier of the first account (such as the account ID, account nickname, etc.), and obtains the mid-join message (i.e., the mid-join request).
[0112] In some embodiments, a mid-way joining request for a target vacancy by a first account may be generated in the following manner: when there are multiple first accounts, a joining priority of each first account is determined; and a mid-way joining request for the target vacancy by a first account with the highest joining priority is generated.
[0113] Here, when there are multiple first accounts (i.e., players) that meet the conditions and apply for mid-way joining at the same time (i.e., the account data of the multiple first accounts match the game data of the target game), a mid-way joining request for the target slot is generated for the first account with the highest joining priority, so as to allow the first account with the highest joining priority to join the target slot mid-way and interact.
[0114] In some embodiments, the joining priority of each first account can be determined by: obtaining the historical interaction data of each first account, and the interaction data of other accounts that interacted in the target slot before exiting the target slot; performing similarity matching based on each historical interaction data and interaction data to obtain the similarity between each first account and the other accounts; and determining the corresponding joining priority that is positively correlated with each similarity.
[0115] The interaction data includes but is not limited to account level, virtual skills or virtual props, historical interaction success rate, etc. In practical applications, the historical interaction data of each first account and the interaction data of other accounts that originally interacted in the target slot of the target game are obtained, and the historical interaction data and interaction data are matched for similarity, such as extracting the historical interaction features and interaction features of each first account from the interaction data of each historical interaction data and other accounts, and then calculating the similarity between the historical interaction features and interaction features of other accounts corresponding to each first account, and determining the joining priority that is positively correlated with the similarity, that is, the higher the similarity, the greater the joining priority of the corresponding first account.
[0116] For example, when there are three first accounts (i.e., account 1, account 2, and account 3) applying to join Room 1 and Position 1 (i.e., the target empty position in the target game) at the same time, if these three accounts all meet the requirements of Room 1 (such as the interaction mode and map mode are both met), and Position 1 is the empty position vacated by Account 4 who has just exited Room 1, then the historical interaction data corresponding to Account 1, Account 2, and Account 3 are matched with the interaction data of Account 4 respectively, and the joining priority of each account is determined based on the matching result. Generally, the more similar an account is to Account 4 (such as the more similar the interaction habits or the more similar the interaction capabilities), the higher its corresponding joining priority. If the similarity values between Account 1, Account 2, and Account 3 and Account 4 increase in sequence, then the joining priorities of Account 1, Account 2, and Account 3 increase in sequence, and Account 3 with the highest joining priority is selected to generate a midway joining request for Account 3 for Position 1 in Room 1, so as to request that Account 3 be allowed to fill the position.
[0117] In some embodiments, the joining priority of each first account can be determined by: obtaining the historical interaction data of each first account, and the interaction data of other accounts in the interaction camp to which the target vacancy belongs in the target game; performing a fitness calculation based on each historical interaction data and the interaction data to obtain the fitness between each first account and the other accounts; and determining a corresponding joining priority that is positively correlated with each fitness.
[0118] Among them, other accounts refer to accounts corresponding to interactive objects accommodated in other seats in the camp where the target empty seat is located in the target game, except for the target empty seat. For example, account 4 in room 1 has just left the empty seat vacated by room 1, and there are 5 virtual seats in the camp where seat 1 is located (i.e., seats 1 to 5). Then the interactive data of other accounts (such as account 5 to account 8) corresponding to interactive objects accommodated in seats 2 to 5 except seat 1 are obtained. When there are three first accounts (i.e., account 1, account 2, and account 3) applying to join room 1 seat 1 (i.e., the target empty seat in the target game) at the same time, if these three accounts all meet the requirements of room 1 (such as both the interactive mode and the map mode are met), then based on account 1 The historical interaction data of account 1, account 2, and account 3 are respectively calculated for compatibility (or cooperation) with the interaction data of other accounts in positions 2 to 5 (such as account 5 to account 8) to obtain the corresponding compatibility of account 1, account 2, and account 3. Under normal circumstances, the higher the adaptability (that is, the smoother the combination with account 5 to account 8, or the higher the overall interaction ability of the camp after combination), the higher the corresponding joining priority. If the corresponding adaptability of account 1, account 2, and account 3 increases in sequence, then the joining priority of account 1, account 2, and account 3 increases in sequence, and account 3 with the highest joining priority is selected to generate a midway joining request for account 3 for position 1 in room 1, so as to request that account 3 be allowed to fill the position.
[0119] In some embodiments, the joining priority of each first account can be determined as follows: the following operations are performed for each first account: an influencing parameter for influencing the joining priority of the first account is obtained; wherein the influencing parameter includes at least one of the following: a sending time corresponding to a matching request, a similarity between the first account and other accounts interacting in the target slot before exiting the target slot, and a degree of compatibility between the first account and other accounts in the interaction camp to which the target slot belongs; based on the influencing parameter, a prediction model is called to perform a priority prediction to obtain the joining priority of the first account.
[0120] Among them, sending a request refers to the time when the first account triggers a matching request (i.e., the time when the application is joined midway); the similarity can be predicted based on the historical interaction data of the first account and the interaction data of other accounts that interacted in the target slot before exiting the target slot, through a trained prediction model; the adaptability can be predicted based on the historical interaction data of the first account and the interaction data of other accounts in the interactive camp to which the target slot belongs in the target game, through a trained prediction model; after obtaining at least one influencing parameter among the sending time, similarity, and adaptability, the influencing parameter can be input into the trained prediction model for priority prediction to obtain the joining priority of the first account, which can make the prediction more accurate.
[0121] Among them, the prediction model may include a similarity prediction module, a fitness prediction module and a priority prediction module. When the influencing parameter is the sending time, the sending time is directly input into the priority prediction module in the prediction model for priority prediction; after obtaining the historical interaction data of the first account and the interaction data of other accounts that interacted in the target slot before exiting the target slot, the historical interaction data of the first account and the interaction data of other accounts can be first input into the similarity prediction module in the prediction model for similarity prediction, and the similarity is obtained as an influencing parameter, and the similarity is input into the priority prediction module in the prediction model for priority prediction; after obtaining the historical interaction data of the first account and the interaction data of other accounts in the interactive camp to which the target slot belongs in the target game, the historical interaction data of the first account and the interaction data of other accounts can be directly input into the fitness prediction module in the prediction model for fitness prediction, and the fitness is obtained as an influencing parameter, and the fitness is input into the priority prediction module in the prediction model for priority prediction. When the influencing parameters include multiple types above, multiple types of influencing parameters can be input together into the priority prediction module in the prediction model for priority prediction.
[0122] Before applying the prediction model, it is necessary to train the initial prediction model, and then put the trained prediction model into application to realize the combination of influencing parameters and predict the joining priority of the first account through artificial intelligence technology. Among them, the prediction model is obtained by training the account sample, the influencing parameter of the account sample, and the joining priority annotated by the account sample. For example, based on the account sample, the fitness corresponding to the account sample, and the joining priority annotated by the account sample, the initial prediction model is called for prediction processing to obtain the predicted joining priority. After determining the value of the loss function of the prediction model through the predicted joining priority and the annotated joining priority, it can be determined whether the value of the loss function exceeds the preset threshold. When the value of the loss function exceeds the preset threshold, the error signal of the prediction model is determined based on the loss function, and the error signal is back-propagated in the prediction model, and the model parameters of each layer are updated during the propagation process.
[0123] Among them, the embodiments of the present application do not limit the model structure of the prediction model. For example, the prediction model can be a neural network model such as a convolutional neural network, a deep neural network, etc.; it is not limited to the form of the loss function, for example, it can be a cross entropy loss function, an L2 loss function, etc.
[0124] Here, back propagation is explained. The training sample data is input into the input layer of the neural network model, passes through the hidden layer, and finally reaches the output layer and outputs the result. This is the forward propagation process of the neural network model. Since there is an error between the output result of the neural network model and the actual result, the error between the output result and the actual value is calculated, and the error is backpropagated from the output layer to the hidden layer until it propagates to the input layer. In the process of back propagation, the value of the model parameter is adjusted according to the error, that is, the loss function is constructed according to the error between the output result and the actual value, and the partial derivatives of the loss function with respect to the model parameters are calculated layer by layer to generate the gradient of the loss function with respect to the model parameters of each layer. Since the direction of the gradient indicates the direction of error expansion, the gradient of the model parameters is inverted and summed with the original parameters of each layer model. The summed result is used as the updated model parameters of each layer, thereby reducing the error caused by the model parameters, and the above process is continuously iterated until convergence.
[0125] In step 103, a midway joining request is sent to allow the first account to midway join the target vacancy in the target game for interaction based on the midway joining request.
[0126] Here, the matching module can send a mid-join request to the room module. Based on the mid-join request, the room module modifies the vacant seat record information in the target game (i.e., marks the target vacant seat as occupied. Taking the target vacant seat as seat 1 as an example, seat 1 is adjusted from an empty seat to a non-empty seat), and forwards the mid-join request to the game module. Based on the mid-join request, the game module allows the first account to join the target vacant seat in the target game for interaction, i.e., the first account successfully fills the seat.
[0127] Next, the seat processing method in the virtual scene provided by the embodiment of the present application is described by using the game module in the server to implement it alone. Fig. 9 , Fig. 9 : is a flow chart of a seat processing method in a virtual scene provided by an embodiment of the present application, the method comprising:
[0128] Step 201: In response to the second account's exit operation on the target game in the virtual scene, a synchronization request for the target vacancy in the target game is sent to generate a vacancy record message corresponding to the target vacancy based on the synchronization request, and the vacancy record message corresponding to the target vacancy is saved in the vacancy message queue.
[0129] In actual applications, the second account is an account that interacts in the target game. When the second account exits the target game, the virtual seat that the second account interacted with before exiting the target game is used as the target vacant seat. For example, if the second account interacted in seat 2 in room 1 before exiting, then after the second account exits seat 2 in room 1, seat 2 in room 1 becomes the target vacant seat in the target game. The game module in the server notifies the target vacant seat (i.e. seat 2 in room 1) in the form of a synchronization request, such as sending a synchronization request for the target vacant seat (i.e. seat 2 in room 1) to the room module in the server. The room module modifies the vacant seat information in the target game based on the synchronization request, such as setting seat 2 in room 1 as a vacant seat, and forwards the synchronization request to the matching module. The matching module generates vacant seat record information corresponding to the target vacant seat in response to the synchronization request, such as seat 2 in room 1 is a vacant seat, and saves the vacant seat record information corresponding to the target vacant seat in the vacant seat message queue. In this way, the vacant seat information recorded by the room module and the matching module in the server is consistent with the actual vacant seat information in the game module, which can improve the accuracy and success rate of subsequent mid-way addition of vacancies.
[0130] When the matching module receives a matching request for a virtual scene from a first account, the matching module determines whether the first account is compatible with the target game based on the matching request, such as obtaining the account data of the first account, such as the relevant data of the desired game (such as game mode, map mode, etc.) set by the first account when applying to join midway, and the relevant data that can feedback the interaction level corresponding to the first account, such as account level, proficient skills, historical interaction data (such as historical records, etc.), and obtaining the game data of the target game, which refers to the game data set by the player at the beginning of the game (corresponding interactive game) Then, the matching module performs matching based on the account data of the first account and the game data of the target game, such as extracting corresponding game features and account features from the game data and the account data respectively, and then matching the game features with the account features, such as calculating the similarity between the two, and taking the similarity value as the matching result, and when there is a similarity value exceeding the similarity threshold, it is considered that the first account matches the target game.
[0131] After the matching module determines that the first account is compatible with the target game, it deletes the vacancy record information of the target vacancy in the target game from the vacancy message queue, and generates a midway join request for the target vacancy in the target game by the first account, and sends the midway join request to the room module. Based on the midway join request, the room module modifies the vacancy record information in the target game (i.e., marks the target vacancy as occupied, still taking the target vacancy as position 2 as an example, adjusts position 2 from an empty position to a non-empty position), and forwards the midway join request to the game module.
[0132] Step 202: When receiving a mid-game joining request for a target slot from a first account, based on the mid-game joining request, allowing the first account to mid-game join the target slot in the target game for interaction.
[0133] Here, when the game module receives the mid-way joining request, based on the mid-way joining request, the first account is allowed to join the target vacant seat in the target game for interaction, such as allowing the first account to fill the No. 2 seat in Room 1, that is, the first account fills the seat successfully.
[0134] Next, an exemplary application of the embodiment of the present application in an actual application scenario will be described. Taking the virtual scene as a game, the matching module, the room module and the game module in the server as an example, the seat processing method in the virtual scene provided by the embodiment of the present application will be described. Fig.10 , Fig.10 : is a flow chart of a seat processing method in a virtual scene provided by an embodiment of the present application, the method comprising:
[0135] Step 301: The game module generates a synchronization request for a target vacant seat in a target game in response to an exit operation of a second account for a target vacant seat in a target game.
[0136] Here, taking the example that the second account corresponds to player A, the target game corresponds to room 1, and the target empty seat corresponds to seat 2, before player A quits, he plays the game in room 1, seat 2. When player A quits the game through the client (i.e., game client) in the second account side terminal, the game module generates a synchronization request to request the synchronization of the target empty seat in the target game (i.e., seat 2 in room 1). This synchronization request is used to indicate that seat 2 in room 1 is empty, i.e., a synchronization request only contains one empty seat (i.e., seat 2) and does not contain multiple empty seats, so that the empty seats will not affect each other.
[0137] Step 302: The game module sends a synchronization request to the room module.
[0138] Step 303: The room module forwards the synchronization request to the matching module.
[0139] Here, after receiving the synchronization request, the room module can modify the vacant seat information in the target game based on the synchronization request, such as setting seat 2 in room 1 as vacant. At the same time, the room module forwards the synchronization request to the matching module.
[0140] Step 304: The matching module generates vacancy record information of the target vacancy and saves the vacancy record information into the vacancy message queue.
[0141] Here, the matching module generates vacancy record information corresponding to the target vacancy in response to the synchronization request, such as seat 2 in room 1 is vacant, and saves the vacancy record information corresponding to the target vacancy in the vacancy message queue.
[0142] The data flow corresponding to the above steps 301 to 304 can also be referred to Fig.11 , Fig.11 This is a data flow diagram of the seat processing method for the virtual scene provided in an embodiment of the present application. It can be seen that, through the above method, the vacant seat information recorded by the room module and the matching module in the server is consistent with the actual vacant seat information in the game module, which can improve the accuracy and success rate of subsequent midway addition of vacancies.
[0143] Step 305: The matching module responds to the matching request of the first account, and when determining that the first account is compatible with the target vacancy in the target game, deletes the vacancy record information of the target vacancy from the vacancy message queue.
[0144] Here, taking the first account corresponding to player B as an example, when player B wants to join the target game midway to play the game, the client (i.e., the game client) in the terminal on the first account side can be triggered to trigger a matching request, and the matching request is sent to the matching module in the server. When the matching module receives the matching request of the first account, based on the matching request, it determines whether the first account (i.e., player B) is compatible with the target game (i.e., Room 1) (such as whether the game module or map mode is consistent). When the first account matches the target game (i.e., the matching module recognizes that player B can be added to Room 1 midway), the vacant seat record information of position 2 in Room 1 is found and deleted from the vacant seat message queue, that is, position 2 is deleted from Room 1.
[0145] Step 306: The matching module generates and sends a mid-way joining request of the first account for the target vacancy to the room module.
[0146] Here, the matching module generates a mid-join request for the target vacant seat from the first account, wherein the mid-join request is used for the first account (i.e., player B) to request to mid-join the target vacant seat in the target game, i.e., to request to fill the No. 2 seat in Room 1, and sends the generated mid-join request to the room module.
[0147] Step 307: The room module sends the midway join request module to the game module.
[0148] Here, after receiving the midway join request, the room module can modify the vacant seat information in the target game based on the midway join request, such as adjusting seat 2 in room 1 from an empty seat to a non-empty seat. At the same time, the room module forwards the midway join request to the game module.
[0149] Step 308: The game module allows the first account to join the target vacant seat in the target game based on the mid-game joining request.
[0150] Here, when the game module receives the mid-way join request, based on the mid-way join request, the first account is allowed to join the target vacant seat in the target game for interaction, such as allowing player B to fill the No. 2 seat in Room 1, that is, the first account successfully fills the seat.
[0151] The data flow corresponding to the above steps 305 to 308 can also be referred to Fig.12 , Fig.12This is a data flow diagram of the seat processing method for the virtual scene provided by an embodiment of the present application. It can be seen that, through the above method, the vacant seat information recorded by the room module and the matching module in the server is always consistent with the actual vacant seat information in the game module. The midway joining request specifies an empty seat to be joined. In this way, even if multiple different players join a room midway at the same time, since the positions they specify to each other are different, each time a player occupies an empty seat, the game will no longer issue a request for the empty seat to cover the matching module. This avoids the problem of midway joining failure and improves the success rate of midway joining.
[0152] So far, the seat processing method in the virtual scene provided by the embodiment of the present application has been described in combination with the exemplary application and implementation of the electronic device provided by the embodiment of the present application. The following will continue to describe how the various modules in the seat processing device 455 in the virtual scene provided by the embodiment of the present application cooperate to implement the seat processing solution in the virtual scene.
[0153] A receiving module 4551 is used to receive a matching request from a first account for a virtual scene, wherein the matching request is used for the first account to request to match an interactive game corresponding to the virtual scene; a generating module 4552 is used to respond to the matching request, and when it is determined that there is a target game corresponding to a target slot that matches the first account, delete the vacancy record message corresponding to the target slot from the vacancy message queue, and generate a midway joining request from the first account for the target slot; wherein the vacancy message queue includes the vacancy record messages in all interactive games corresponding to the virtual scene; a sending module 4553 is used to send the midway joining request to allow the first account to midway join the target slot in the target game for interaction based on the midway joining request.
[0154] In some embodiments, before receiving the matching request for the virtual scene from the first account, the device also includes: a first synchronization module, used to receive a first synchronization request for a target vacant seat in the target game, where the target vacant seat is the virtual seat where the second account is located when interacting in the target game before exiting the target game; in response to the first synchronization request, generating a vacant seat record message corresponding to the target vacant seat, and saving the vacant seat record message corresponding to the target vacant seat in a vacant seat message queue.
[0155] In some embodiments, before receiving the matching request for the virtual scene from the first account, the device also includes: a second synchronization module, used to receive a second synchronization request for a first number of virtual seats in the target game, wherein the first number of virtual seats at least includes the target seats, which are the remaining virtual seats in the target number of virtual seats required for the target game after a second number of third accounts join the target game; in response to the second synchronization request, generating vacancy record information for each virtual seat in the first number of virtual seats, and saving the generated vacancy record information for each virtual seat to a vacancy message queue.
[0156] In some embodiments, before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue, the device also includes: a first matching module, used to obtain game data of at least one candidate interactive game with a virtual vacancy in all interactive games corresponding to the virtual scene, and account data of the first account carried by the matching request; respectively matching the game data with the account data, and when the matching result indicates that there is game data matching the account data, determining that there is a target game corresponding to the target vacancy matching the first account; wherein the target game is the candidate interactive game corresponding to the game data matching the account data, and the target vacancy is the virtual vacancy in the candidate interactive game corresponding to the game data matching the account data.
[0157] In some embodiments, before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue, the device also includes: a second matching module, used when the matching request is triggered by the first account based on invitation information, wherein the invitation information is sent by a fourth account interacting in the target game corresponding to the virtual scene, and is used to invite the first account to join the target game midway for interaction; when there is a fifth account that exits the interaction in the target game, it is determined that the target game matches the first account, and the virtual seat where the fifth account was located when interacting in the target game before exiting the target game is used as the target vacancy.
[0158] In some embodiments, the generation module is also used to obtain the game identifier of the target game, the position identifier of the target vacancy, and the account identifier of the first account; and assemble them according to the game identifier, the position identifier and the account identifier to obtain a mid-join request of the first account for the target vacancy.
[0159] In some embodiments, the generating module is further used to determine a joining priority of each of the first accounts when there are multiple first accounts; and generate an intermediate joining request for the target vacancy by the first account with the highest joining priority.
[0160] In some embodiments, the generation module is also used to obtain historical interaction data of each of the first accounts, and interaction data of other accounts that interacted in the target slot before exiting the target slot; perform similarity matching based on each of the historical interaction data and the interaction data to obtain the similarity between each of the first accounts and the other accounts; and determine a corresponding joining priority that is positively correlated with each of the similarities.
[0161] In some embodiments, the generation module is also used to obtain historical interaction data of each of the first accounts, and interaction data of other accounts in the interactive camp to which the target vacancy belongs in the target game; perform fitness calculation based on each of the historical interaction data and the interaction data to obtain the fitness between each of the first accounts and the other accounts; and determine a corresponding joining priority that is positively correlated with each of the fitnesses.
[0162] In some embodiments, the generation module is also used to perform the following operations for each of the first accounts: obtaining an influencing parameter for influencing the joining priority of the first account; wherein the influencing parameter includes at least one of the following: the sending time corresponding to the matching request, the similarity between the first account and other accounts interacting in the target slot before exiting the target slot, and the degree of compatibility between the first account and other accounts in the interaction camp to which the target slot belongs; based on the influencing parameter, calling a prediction model to perform priority prediction to obtain the joining priority of the first account; wherein the prediction model is trained by using account samples, the influencing parameters of the account samples, and the joining priority annotated by the account samples.
[0163] In some embodiments, the embodiments of the present application also provide a seat processing device in a virtual scene, including: a sending module, which is used to send a synchronization request for a target vacant seat in the target game in response to an exit operation of a second account for a target game in the virtual scene, so as to generate a vacant seat record message corresponding to the target vacant seat based on the synchronization request, and save the vacant seat record message corresponding to the target vacant seat in a vacant seat message queue; wherein the target vacant seat is the virtual seat where the second account is located when interacting in the target game before exiting the target game; when it is determined that there is a first account matching the target vacant seat, the vacant seat record information is deleted from the vacant seat message queue; a joining module, which is used to allow the first account to join the target vacant seat in the target game for interaction midway based on the midway joining request when a midway joining request for the target vacant seat is received from the first account.
[0164] The embodiment of the present application provides a computer program product, which includes a computer program or a computer executable instruction, and the computer program or the computer executable instruction is stored in a computer-readable storage medium. The processor of the electronic device reads the computer executable instruction from the computer-readable storage medium, and the processor executes the computer executable instruction, so that the electronic device executes the seat processing method in the virtual scene described in the embodiment of the present application.
[0165] The present application embodiment provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions or computer programs are stored. When the computer-executable instructions or computer programs are executed by a processor, the processor will be caused to execute the seat processing method in the virtual scene provided by the present application embodiment, for example, Figure 5 The seat processing method in the virtual scene is shown.
[0166] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or it may be various devices including one or any combination of the above memories.
[0167] In some embodiments, computer executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0168] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file storing other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
[0169] As an example, computer executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed at multiple sites and interconnected by a communication network.
[0170] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A seat processing method in a virtual scene, characterized in that: The method comprises: Receiving a matching request from a first account for a virtual scene, wherein the matching request is used for the first account to request a matching interactive game corresponding to the virtual scene; In response to the matching request, when it is determined that there is a target match corresponding to a target slot that matches the first account, deleting a slot record message corresponding to the target slot from a slot message queue, and generating a mid-game joining request for the target slot from the first account; The vacancy message queue includes vacancy record messages in all interactive games corresponding to the virtual scene; The midway joining request is sent to allow the first account to midway join the target vacancy in the target game for interaction based on the midway joining request.
2. The method according to claim 1, characterized in that Before receiving the matching request for the virtual scene from the first account, the method further includes: receiving a first synchronization request for a target vacant seat in the target game, where the target vacant seat is a virtual seat where the second account interacts in the target game before exiting the target game; In response to the first synchronization request, a vacancy record message corresponding to the target vacancy is generated, and the vacancy record message corresponding to the target vacancy is saved in a vacancy message queue.
3. The method according to claim 1, characterized in that Before receiving the matching request for the virtual scene from the first account, the method further includes: receiving a second synchronization request for a first number of virtual vacancies in the target game, wherein the first number of virtual vacancies includes at least the target vacancies, which are virtual seats remaining in the target number of virtual seats required for the target game after a second number of third accounts join the target game; In response to the second synchronization request, vacancy record information of each virtual vacancy in the first number of virtual vacancy is generated, and the generated vacancy record information of each virtual vacancy is saved in a vacancy message queue.
4. The method according to claim 1, characterized in that Before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue, the method further includes: Obtaining game data of at least one candidate interactive game with a virtual vacancy in all interactive games corresponding to the virtual scene, and account data of the first account carried in the matching request; Matching the game data with the account data respectively, and when a matching result indicates that there is game data matching the account data, determining that there is a target game corresponding to a target slot matching the first account; The target game is a candidate interactive game corresponding to the game data matching the account data, and the target vacancy is a virtual vacancy in the candidate interactive game corresponding to the game data matching the account data.
5. The method according to claim 1, characterized in that Before deleting the vacancy record message corresponding to the target vacancy from the vacancy message queue, the method further includes: The matching request is triggered by the first account based on invitation information, wherein the invitation information is sent by a fourth account interacting in a target game corresponding to the virtual scene, and is used to invite the first account to join the target game midway for interaction; When there is a fifth account that quits the interaction in the target game, it is determined that the target game matches the first account, and the virtual seat where the fifth account was when interacting in the target game before quitting the target game is used as the target vacant seat.
6. The method according to claim 1, characterized in that The generating of the mid-course joining request of the first account for the target vacancy includes: Acquire a game identifier of the target game, a position identifier of the target vacant seat, and an account identifier of the first account; The game identifier, the location identifier, and the account identifier are assembled to obtain a mid-game joining request of the first account for the target vacancy.
7. The method according to claim 1, characterized in that The generating of the mid-course joining request of the first account for the target vacancy includes: When there are multiple first accounts, determining a priority of each first account to join; A midway joining request for the target vacancy is generated by a first account having the highest joining priority.
8. The method according to claim 7, characterized in that The determining the joining priority of each first account includes: Acquire historical interaction data of each of the first accounts and interaction data of other accounts that interacted in the target slot before exiting the target slot; Perform similarity matching based on each of the historical interaction data and the interaction data to obtain the similarity between each of the first accounts and the other accounts; A corresponding joining priority positively correlated with each of the similarities is determined.
9. The method according to claim 7, characterized in that The determining the joining priority of each first account includes: Acquire historical interaction data of each of the first accounts, and interaction data of other accounts in the interaction camp to which the target slot belongs in the target game; Performing a compatibility calculation based on each of the historical interaction data and the interaction data to obtain a compatibility between each of the first accounts and the other accounts; A corresponding joining priority positively correlated with each of the fitness levels is determined.
10. The method according to claim 7, characterized in that The determining the joining priority of each first account includes: Perform the following operations for each of the first accounts: Obtaining an influencing parameter for influencing the joining priority of the first account; wherein the influencing parameter includes at least one of the following: a sending time corresponding to the matching request, a similarity between the first account and other accounts interacting in the target slot before exiting the target slot, and a compatibility between the first account and other accounts in the interactive camp to which the target slot belongs; Based on the influencing parameters, a prediction model is called to perform priority prediction to obtain the joining priority of the first account; wherein the prediction model is obtained by training the account samples, the influencing parameters of the account samples, and the joining priorities annotated by the account samples.
11. A seat processing method in a virtual scene, characterized in that: The method comprises: In response to the second account's exit operation on the target game in the virtual scene, a synchronization request for the target vacant position in the target game is sent, Based on the synchronization request, generating a vacancy record message corresponding to the target vacancy, and saving the vacancy record message corresponding to the target vacancy to a vacancy message queue; The target vacant seat is a virtual seat occupied by the second account when interacting in the target game before the second account exits the target game; the vacant seat record information is deleted from the vacant seat message queue when it is determined that there is a first account matching the target vacant seat; When a mid-game joining request for the target vacancy is received from the first account, based on the mid-game joining request, the first account is allowed to mid-game join the target vacancy in the target game for interaction.
12. A seat processing device in a virtual scene, characterized in that: The device comprises: A receiving module, configured to receive a matching request from a first account for a virtual scene, wherein the matching request is used by the first account to request a matching interactive game corresponding to the virtual scene; a generating module, configured to, in response to the matching request, delete the vacancy record message corresponding to the target vacancy from the vacancy message queue when determining that there is a target game corresponding to the target vacancy matching the first account, and generate a midway joining request of the first account for the target vacancy; wherein the vacancy message queue includes the vacancy record messages in all interactive games corresponding to the virtual scene; The sending module is used to send the midway joining request to allow the first account to midway join the target vacancy in the target game for interaction based on the midway joining request.
13. A seat processing device in a virtual scene, characterized in that: The device comprises: A sending module is used to send a synchronization request for a target vacant position in the target game in response to an exit operation of the second account for the target game in the virtual scene, so as to Based on the synchronization request, generating a vacancy record message corresponding to the target vacancy, and saving the vacancy record message corresponding to the target vacancy to a vacancy message queue; The target vacant seat is a virtual seat occupied by the second account when interacting in the target game before the second account exits the target game; the vacant seat record information is deleted from the vacant seat message queue when it is determined that there is a first account matching the target vacant seat; When a mid-game joining request for the target vacancy is received from the first account, based on the mid-game joining request, the first account is allowed to mid-game join the target vacancy in the target game for interaction.
14. An electronic device, characterized in that: include: A memory for storing computer executable instructions or computer programs; A processor is used to implement the seat processing method in a virtual scene as described in any one of claims 1 to 11 when executing the computer executable instructions or computer programs stored in the memory.
15. A computer-readable storage medium, characterized in that: Computer executable instructions or computer programs are stored, and when the computer executable instructions or computer programs are executed by a processor, the seat processing method in a virtual scene described in any one of claims 1 to 11 is implemented.
16. A computer program product comprising a computer program or computer executable instructions, characterized in that When the computer program or computer executable instructions are executed by a processor, the seat processing method in a virtual scene described in any one of claims 1 to 11 is implemented.