Programs and systems

The system and program optimize lobby generation and user roles to balance quality and speed in online gaming by dynamically adjusting thresholds and roles, addressing the challenge of high-quality matching with fewer participants.

JP7735335B2Active Publication Date: 2025-09-08COLOPL
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023013106
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-01-31
Publication Date
2025-09-08
Estimated Expiration
2043-01-31

AI Technical Summary

Technical Problem

Existing methods struggle to achieve both high-quality user matching and time savings in online games, particularly when few users are participating.

Method used

A system and program that dynamically adjust the number of lobbies and user roles based on real-time participation, using a threshold-based approach to ensure high-quality matching by switching guests to hosts and generating new lobbies when necessary, while optimizing the number of lobbies to balance quality and speed.

Benefits of technology

This approach achieves both high-quality user matching and reduced time to complete matching, even with fewer participants, by intelligently managing lobby generation and user assignments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007735335000001
    Figure 0007735335000001
  • Figure 0007735335000002
    Figure 0007735335000002
  • Figure 0007735335000003
    Figure 0007735335000003
Patent Text Reader

Abstract

To provide a program capable of achieving both quality of user matching and time reduction.SOLUTION: A program causes a computer to function as the following: lobby generating means capable of generating a lobby with a user who has executed first operation as a host on a virtual space when the first operation is executed by the user; determining means capable of determining whether or not the number of lobbies is equal to or greater than a prescribed threshold when second operation is executed by a user; and guest adding means capable of adding, as a guest, the user who has executed the second operation to one of already generated lobbies when the determining means determines that the number of lobbies is equal to or greater than the threshold. The lobby generating means is capable of generating a new lobby with the user who has executed the second operation as a host on the virtual space when the determining means determines that the number of lobbies is less than the threshold.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program and a system. [Background technology]

[0002] Conventionally, there are known techniques for matching users who play against each other or cooperatively in online games. Matching techniques are required to shorten the time it takes to complete matching while ensuring the quality of matching that enhances the entertainment value of the game (for example, by bringing together users with similar game proficiency levels).

[0003] Patent document 1 discloses a technology that achieves high-quality matching in a short time by allocating users participating in an online game with a predetermined probability into hosts who create new groups (lobbies) and guests who join existing groups. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 6106214 Summary of the Invention [Problem to be solved by the invention]

[0005] However, in Patent Document 1, probability is used to assign users to hosts or guests, so it is difficult to say that it is possible to achieve both high quality matching and time savings, especially when there are few users wishing to participate in an online game.

[0006] The present invention has been made in consideration of the above circumstances, and its purpose is to provide a program and system that can achieve both high quality matching of users who share virtual space through a communication network and time savings. [Means for solving the problem]

[0007] In order to solve the above problem, the program of the present invention comprises a computer including: lobby generation means for generating a lobby in a virtual space when a first operation is performed by a user, with the user who performed the first operation as a host; determination means for determining whether the number of lobbies is equal to or greater than a predetermined threshold when a second operation is performed by the user; and guest addition means for adding the user who performed the second operation as a guest to one of the already generated lobbies when the determination means determines that the number of lobbies is equal to or greater than the threshold. a threshold value determining means for increasing the threshold value as the number of guests per unit time, which is the number of user terminals on which the second operation is executed, increases; When the determination means determines that the number of lobbies is less than the threshold, the lobby generation means can generate a new lobby in the virtual space with the user who performed the second operation as a host. [Effects of the Invention]

[0008] According to the present invention, it is possible to achieve both high quality matching of users who share a virtual space through a communication network and time reduction. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a diagram illustrating an overview of a system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a hardware configuration diagram of a server. [Figure 3] This is an example of data in the lobby table (A) and history table (B). [Figure 4] FIG. 2 is a functional block diagram of a server. [Figure 5] 10 is a screen example of a game participation screen displayed on a user terminal. [Figure 6] 10 is a flowchart of a matching process. [Figure 7] This is a state transition diagram of the number of lobbies and users who have entered the lobbies. [Figure 8] 10 is a flowchart of a threshold value determination process. DETAILED DESCRIPTION OF THE INVENTION

[0010] A system 1 according to an embodiment will be described below with reference to the drawings. Note that the embodiment of the present invention described below is an example of how the present invention can be realized, and the scope of the present invention is not limited to the scope of the described embodiment. Therefore, the present invention can be implemented by adding various modifications to the embodiment.

[0011] [System 1 Overview] FIG. 1 is a diagram showing an overview of a system 1 according to this embodiment. As shown in FIG. 1, the system 1 mainly includes a server 10 and a plurality of user terminals 20. Although three user terminals 20 are shown in FIG. 1, the number of user terminals 20 included in the system 1 is not limited to this. The server 10 and the user terminals 20 are connected to each other so as to be able to communicate with each other via a communication network 2. There are no particular limitations on the specific example of the communication network 2, and it may be configured, for example, by the Internet, a mobile communication system (e.g., 4G, 5G, etc.), a wireless network such as Wi-Fi (registered trademark), or a combination of these.

[0012] The system 1 according to this embodiment provides a virtual space to each user of a plurality of user terminals 20. The virtual space is a virtual space shared by the users of the plurality of user terminals 20 via a communication network 2. That is, a common image showing the current state of the virtual space is displayed on the display devices of the plurality of user terminals 20. Furthermore, an operation performed on one operation device of the plurality of user terminals 20 (e.g., movement of a character or piece) is also reflected in the images displayed on the display devices of the other user terminals 20. Furthermore, an event that occurs in the virtual space (e.g., the appearance of an enemy character, victory or defeat of a game) is reflected on the display devices of all user terminals 20. That is, changes in the virtual space are synchronized among all user terminals 20 that share the virtual space.

[0013] As an example, the virtual space may be a space in which multiple users play a common game through the user terminal 20. The game may be any game played by multiple users on a common field, such as board games such as mahjong, chess, shogi, go, reversi, and sugoroku, competitive games in which characters controlled by users fight each other, or cooperative games in which characters controlled by users cooperate to go on an adventure.

[0014] As another example, the virtual space may be a space in which characters (avatars) operated by users through the user terminal 20 communicate with each other. Communication between characters refers to, for example, the exchange of text data (chat), the exchange of audio data (conversation), the exchange of objects (items) within the virtual space, performances (e.g., singing, playing an instrument, dancing) and the viewing of such performances.

[0015] The server 10 according to this embodiment provides a virtual space to users of multiple user terminals 20. The server 10 also synchronizes changes in the virtual space for all user terminals 20 that share the virtual space. These processes are realized using well-known technology. Furthermore, the server 10 executes a process of matching multiple users who share the virtual space. More specifically, the server 10 executes a matching process, which will be described later with reference to FIG. 6, in order to shorten the time required to complete matching while ensuring the quality of the matching. In this embodiment, the matching process will be described assuming a cooperative game in which four users cooperate to adventure together.

[0016] [Server 10 configuration] 2 is a hardware configuration diagram of server 10. Server 10 is realized by, for example, a general-purpose computer such as a workstation or a personal computer. As shown in FIG. 2, server 10 mainly includes a processor 11, memory 12, storage 13, an input / output interface 14, and a communication interface 15. Each component of server 10 is connected to a communication bus 19.

[0017] The processor 11 performs the processes described below by executing a series of instructions included in a server program 13P stored in the memory 12 or the storage 13. The processor 11 is realized as, for example, a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor unit (MPU), a field-programmable gate array (FPGA), or other devices.

[0018] The memory 12 temporarily stores a server program 13P and data. The server program 13P is loaded from, for example, the storage 13. The data includes data input to the server 10 and data generated by the processor 11. For example, the memory 12 is realized as a RAM (Random Access Memory) or other volatile memory.

[0019] The storage 13 permanently stores the server program 13P and data. The storage 13 is realized, for example, as a ROM (Read-Only Memory), a hard disk drive, a flash memory, or other non-volatile storage device. The storage 13 may also be realized as a removable storage device such as a memory card. As yet another example, the storage 13 may be connected to the server 10 as an external storage device instead of being built into the server 10. With this configuration, for example, in a situation where multiple user terminals 20 are used, such as an amusement facility, it becomes possible to collectively update the server program 13P and data.

[0020] The input / output interface 14 is an interface for connecting external devices such as a monitor, input device (e.g., keyboard, pointing device), external storage device, speaker, camera, microphone, sensor, etc. to the server 10. The processor 11 communicates with the external devices through the input / output interface 14. The input / output interface 14 is realized using, for example, a Universal Serial Bus (USB), a Digital Visual Interface (DVI), a High-Definition Multimedia Interface (HDMI, registered trademark), or other terminals.

[0021] The communication interface 15 communicates with other devices (e.g., user terminal 20) connected to the communication network 2. The communication interface 15 is realized as, for example, a wired communication interface such as a LAN (Local Area Network), or a wireless communication interface such as Wi-Fi (Wireless Fidelity), Bluetooth (registered trademark), or NFC (Near Field Communication).

[0022] [Configuration of user terminal 20] The user terminal 20 is realized as, for example, an HMD set, a tablet terminal, a smartphone, a feature phone, a laptop computer, a desktop computer, etc. The configuration of the user terminal 20 is already well known, so a detailed description thereof will be omitted.

[0023] [Example of table data held by Server 10] Figure 3 shows examples of data in the lobby table (A) and history table (B). The lobby table shown in Figure 3(A) and the history table shown in Figure 3(B) are stored in the storage 13 of the server 10. The lobby table and history table are updated during the matching process, which will be described later.

[0024] The lobby table shown in Figure 3(A) is a table for managing (creating, adding, and deleting users) virtual lobbies, which serve as a contact point for recruiting users to share a virtual space. The lobby table contains one or more lobby records. Each lobby record also contains a lobby ID that uniquely identifies the lobby record, attributes (difficulty level), a host ID, and multiple guest IDs.

[0025] Difficulty level, which is an example of an attribute of a virtual space, is information indicating the difficulty level of the game played in the virtual space (e.g., Easy, Normal, Hard). Attributes of a virtual space include any information that identifies the virtual space or the users who share the virtual space, such as the range of game proficiency (level), the game map (field) to be played on, and restrictions on equipment used in the game. Note that the number of types of attributes included in a lobby record is not limited to one.

[0026] A host ID is the user ID of a user associated as a host with a lobby identified by a corresponding lobby ID. A guest ID is the user ID of a user associated as a guest with a lobby identified by a corresponding lobby ID. A user ID is an identifier that uniquely identifies a user of a user terminal 20 that can be connected to the system 1. The number of guest IDs included in one lobby record is the number of users sharing the virtual space (hereinafter referred to as the "capacity") minus 1 (i.e., the host). The capacity of a virtual space is predetermined according to the characteristics of the virtual space, such as 4 for a mahjong game, or 2 for a chess game, shogi game, go game, or Othello game.

[0027] A host is a user who creates a new lobby and invites other users to share the virtual space. The host also sets the attributes of the virtual space through the user terminal 20. A guest is a user who is assigned to one of the existing lobbies by the matching process executed by the server 10. A guest may also use an invitation key transmitted from the host to specify and enter a lobby created by the host. However, a description of this process will be omitted in this specification.

[0028] The history table shown in Figure 3(B) is a table that manages information about lobbies that have been created in the past. The history table includes one or more history records. Each history record includes a creation date and time indicating the date and time when the lobby was created, a user ID that identifies the user who created the lobby, and attributes (difficulty level) that were set when the lobby was created.

[0029] [Server 10 functional block diagram] 4 is a functional block diagram of the server 10. As shown in FIG. 4, the server program 13P loaded into the memory 12 causes the server 10 to function as lobby generation means 110, threshold determination means 120, calculation means 130, determination means 140, guest addition means 150, and virtual space generation means 160.

[0030] In response to receiving a host request from a user terminal 20 via the communication network 2, the lobby generation means 110 generates a new lobby in the virtual space with the user of the user terminal 20 that sent the host request as the host. Generating a lobby in the virtual space means, for example, adding a new lobby record to the lobby table. That is, in response to receiving a host request, the lobby generation means 110 generates a new lobby ID and adds a lobby record including the generated lobby ID to the lobby table. Hereinafter, a lobby identified by the lobby ID "Lobby X" may be simply referred to as "Lobby X" (the suffix X may be set to A, B, C, etc.).

[0031] A host request is data requesting the creation of a new lobby (in other words, participation in the virtual space as a host). The host request includes, for example, the user ID of the user operating the user terminal 20 that sent the host request (hereinafter referred to as the "host user"), and the attributes (difficulty level) set by the host user via a game participation screen described later with reference to FIG. 5.

[0032] The lobby generation means 110 also adds the user of the user terminal 20 that sent the host request as a host to the newly generated lobby (hereinafter, this may be expressed as "the host (user) enters the lobby."). Adding a user to the lobby as a host means, for example, setting the user ID as the host ID of the lobby record. In other words, the lobby generation means 110 sets the user ID included in the host request as the host ID of the lobby record added to the lobby table.

[0033] Furthermore, the lobby generation means 110 generates a lobby to invite participation in a virtual space with attributes set by the host user. Generating a lobby to invite participation in a virtual space with attributes set by the host user means, for example, setting the attributes in a lobby record. In other words, the lobby generation means 110 sets the attributes included in the host request as the attributes of the lobby record added to the lobby table.

[0034] Note that the lobby may be generated by the user terminal 20 of the host user and moved to the server 10. More specifically, the lobby generation means 110 may receive a host request including a lobby record from the user terminal 20 and add the received lobby record to the lobby table. In this case, the host ID may also serve as the lobby ID.

[0035] Furthermore, as will be described later, in response to the determination means 140 determining that the matching degree is less than the matching threshold and the number of lobbies is less than the lobby count threshold, the lobby generation means 110 generates a lobby and adds the user of the user terminal 20 that sent the guest request to the lobby as a host. In other words, the lobby generation means 110 switches the guest user to a host user.

[0036] The basic process for generating a lobby with a guest user as the host is the same as when a host request is received. However, the lobby generation means 110 generates a lobby to invite participation in a virtual space with attributes previously set through the user terminal 20 that sent the guest request. That is, the lobby generation means 110 reads from the history table a history record including the user ID notified by the determination means 140, and sets the attributes included in the read history record in the newly generated lobby record.

[0037] The threshold determination means 120 determines a lobby number threshold (threshold) used for the determination of the determination means 140. Then, the threshold determination means 120 notifies the determination means 140 of the determined lobby number threshold. The threshold determination means 120 increases or decreases the lobby number threshold based on the number of users attempting to participate in the virtual space (game) so that matching quality and time reduction can be achieved at the same time. A specific method by which the threshold determination means 120 determines the lobby number threshold will be described later with reference to FIG. 7.

[0038] The calculation means 130 uses a predetermined matching algorithm to calculate the matching degree between an already generated lobby and the user of the user terminal 20 that is the sender of a guest request, which will be described later. Then, the calculation means 130 notifies the determination means 140 of the calculated maximum matching degree and the lobby ID of the lobby with the highest matching degree. The calculation means 130, for example, evaluates guests using a plurality of evaluation items and calculates a matching degree that indicates the evaluation results. As one example, the closer a guest's game proficiency (level) is to the host who generated the lobby, the higher the matching degree. As another example, the more a guest has shared a virtual space with the host in the past, the higher the matching degree. The calculation means 130 can calculate the matching degree using a well-known matching algorithm.

[0039] In response to receiving a guest request from a user terminal 20 via the communication network 2, the determination means 140 determines whether to assign the user operating the user terminal 20 that sent the guest request (hereinafter referred to as the "guest user") as a host or a guest. A guest request is data requesting allocation to an existing lobby (in other words, participation in the virtual space as a guest). The guest request includes, for example, the user ID of the guest user.

[0040] The determination means 140 determines whether the matching degree calculated by the calculation means 130 is equal to or greater than a predetermined matching threshold. Then, in response to determining that the matching degree is equal to or greater than the matching threshold, the determination means 140 notifies the guest addition means 150 of the user ID included in the guest request and the lobby ID of the lobby with the highest matching degree, regardless of whether the number of lobbies described below is equal to or greater than a lobby number threshold.

[0041] Furthermore, the determination means 140 determines whether the current number of lobbies (in other words, the number of lobby records) is equal to or greater than the lobby count threshold determined by the threshold determination means 120. Then, if the matching degree is less than the matching threshold and the number of lobbies is equal to or greater than the lobby count threshold, the determination means 140 notifies the guest addition means 150 of the user ID included in the guest request and the lobby ID of the lobby with the highest matching degree. On the other hand, if the matching degree is less than the matching threshold and the number of lobbies is less than the lobby count threshold, the determination means 140 notifies the lobby generation means 110 of the user ID included in the guest request.

[0042] In response to the determination by the determination means 140 that the matching degree is equal to or greater than the matching threshold, or in response to the determination by the determination means 140 that the matching degree is less than the matching threshold and the number of lobbies is equal to or greater than the lobby number threshold, the guest addition means 150 adds the guest user as a guest to the lobby with the highest matching degree (hereinafter, this may be expressed as "a guest (user) enters a lobby."). More specifically, the guest addition means 150 sets the user ID notified by the determination means 140 to the guest ID of the lobby record identified by the lobby ID notified by the determination means 140. Furthermore, the guest addition means 150 notifies the virtual space generation means 160 of the lobby ID of the lobby record to which the guest ID has been added.

[0043] The virtual space generation means 160 determines whether the number of users added to the lobby has reached the maximum capacity. More specifically, it determines whether the number of user IDs (host ID and guest ID) set in the lobby record identified by the lobby ID notified by the guest addition means 150 has reached the maximum capacity.

[0044] Then, when the number of users added to the lobby reaches its capacity, the virtual space generation means 160 generates a virtual space shared by the users added to the lobby. That is, the virtual space generation means 160 causes the users identified by the host ID and guest ID included in the lobby record to start a game. The specific process for starting a game is already well known, so a detailed explanation will be omitted. Furthermore, the virtual space generation means 160 deletes the lobby whose number of users has reached its capacity. That is, the virtual space generation means 160 deletes the lobby record identified by the lobby ID notified by the guest addition means 150 from the lobby table.

[0045] [Matching process] The matching process according to this embodiment will be described with reference to Figs. 5 to 7. The matching process is a process for matching users who share a virtual space. Fig. 5 is an example of a game participation screen displayed on the user terminal 20. Fig. 6 is a flowchart of the matching process. Fig. 7 is a state transition diagram of the number of lobbies and users who have entered the lobby. In Fig. 7, a circle indicates a host user, a triangle indicates a guest user, and the letters inside indicate the end of the user ID.

[0046] In this embodiment, the capacity of each lobby is set to 4, and the lobby count threshold is set to 3. Also, as shown in FIG. 7(A), at the start of the matching process, one lobby A has been generated, and a host user A and two guest users B and C have already entered lobby A. Note that a user identified by a user ID "USER-X" may be referred to simply as "user X," and the user terminal 20 operated by user X may be referred to as "user terminal 20X" (the suffix X may be set to A, B, C, etc.).

[0047] First, a game participation screen shown in Fig. 5 is displayed on the display device of the user terminal 20 of a user who is about to start a game. The game participation screen shown in Fig. 5 includes a "Create Lobby" button, radio buttons for selecting a difficulty level (Easy, Normal, Hard), and a "Random Matching" button. The program of the user terminal 20 then waits to execute subsequent processes until a user operation on the game participation screen is received via the operation device.

[0048] User D, who wishes to participate in the game as a host, selects one of the radio buttons and then presses the [Create Lobby] button. The operation of selecting one of the radio buttons is an example of an operation of setting attributes of the virtual space. The operation of pressing the [Create Lobby] button is an example of a host participation operation (first operation) that requests participation in the virtual space as a host. Then, in response to the pressing of the [Create Lobby] button, the terminal program of user terminal 20D transmits a host request including the user ID "USER-D" set in user terminal 20D and the attribute "Difficulty=Hard" corresponding to the selected radio button to server 10 via communication network 2.

[0049] Meanwhile, user E, who wishes to participate in the game as a guest, presses the [Random Matching] button. The operation of pressing the [Random Matching] button is an example of a guest participation operation (second operation) that requests participation in the virtual space as a guest. Then, in response to the pressing of the [Random Matching] button, the terminal program of user terminal 20E transmits a guest request including the user ID "USER-E" set in user terminal 20E to server 10 via communication network 2. The same applies to users F and G, who wish to participate in the game as guests.

[0050] The user terminal 20D that sends a host request is an example of a first user terminal. The user terminals 20E to 20G that send a guest request are examples of second user terminals. The same user terminal 20 can be both a first user terminal and a second user terminal. That is, the user of the user terminal 20 can participate in a game as a host, and can also participate in a game as a guest on another occasion.

[0051] The server program 13P executes the matching process shown in FIG. 6 in response to receiving a host request or a guest request from a user terminal 20 via the communication network 2. The user terminal 20 irregularly transmits a host request or a guest request. That is, the matching process is executed each time a host request or a guest request is received. The matching process will be described below on the assumption that user terminal 20D first transmits a host request, followed by user terminals 20E, 20F, and 20G, in that order.

[0052] In response to receiving a host request from user terminal 20D via communication network 2 (S11: Yes), server 10 (lobby generation means 110) generates a new lobby ID "Lobby B" and adds a lobby record including the generated lobby ID "Lobby B" to the lobby table (S12). Furthermore, server 10 (lobby generation means 110) sets user ID "USER-D" included in the host request as the host ID of the added lobby record (S13). Furthermore, server 10 (lobby generation means 110) sets attribute "Hard" included in the host request as the attribute of the added lobby record (S14). Furthermore, server 10 (lobby generation means 110) adds a history record including creation date / time "Current Time", user ID "USER-D", and attribute "Hard" to the history table (S15). As a result, a new lobby identified by lobby ID "Lobby B" is created, and user D enters lobby B as the host, as shown in FIG. 7(B).

[0053] Next, in response to receiving a guest request from user terminal 20E via communication network 2 (S11: No), server 10 (calculation means 130) calculates the matching degree between user E and each of existing lobbies A and B (S16). Here, it is assumed that the matching degree between lobby A and user E is less than the matching threshold, and the matching degree between lobby B and user E is equal to or greater than the matching threshold.

[0054] Next, in response to the server 10 (determination means 140) determining that the matching degree between lobby B and user E is equal to or greater than the matching threshold (S17: Yes), the server 10 (guest addition means 150) sets the user ID "USER-E" included in the guest request to the guest ID of the lobby record of lobby B (S18). As a result, user E enters lobby B as a guest, as shown in FIG. 7(C). Next, the server 10 (virtual space generation means 160) determines that the number of users who have entered lobby B (=2) is less than the capacity (=4) (S19: No), skips the processes of steps S20 to S21, and ends the matching process.

[0055] Next, in response to receiving a guest request from user terminal 20F via communication network 2 (S11: No), the server 10 (calculation means 130) calculates the matching degree between each of existing lobbies A and B and user F (S16). Here, it is assumed that the matching degrees between lobbies A and B and user F are less than the matching threshold, and that the matching degree between lobby A and user F is the highest. Next, in response to determining that the matching degrees between lobbies A and B and user F are less than the matching threshold (S17: No), the server 10 (determination means 140) compares the current number of lobbies (= 2) with the lobby number threshold (= 3) determined in a threshold determination process (S22) described later (S23).

[0056] Next, in response to the server 10 (determination means 140) determining that the matching degree between lobbies A, B and user F is less than the matching threshold and that the current number of lobbies (=2) is less than the lobby count threshold (=3) (S17: No & S23: No), the server 10 (lobby generation means 110) generates a new lobby ID "Lobby C" and adds a lobby record including the generated lobby ID "Lobby C" to the lobby table (S24). The server 10 (lobby generation means 110) also sets the user ID "USER-F" included in the guest request as the host ID of the added lobby record (S25). Furthermore, the server 10 (lobby generation means 110) reads out a history record including the user ID "USER-F" from the history table. The server 10 (lobby generation means 110) then sets the attribute "Easy" included in the read history record as the attribute of the added lobby record (S26). As a result, as shown in FIG. 7(D), a new lobby identified by the lobby ID "Lobby C" is created, and User F enters Lobby C as the host.

[0057] Next, in response to receiving a guest request from user terminal 20G via communication network 2 (S11: No), server 10 (calculation means 130) calculates the matching degree between user G and each of existing lobbies A, B, and C (S16). Here, it is assumed that the matching degree between user G and lobbies A, B, and C is less than the matching threshold, and that the matching degree between lobby A and user G is the highest. Next, in response to the server 10 (determination means 140) determining that the matching degree between user G and lobbies A, B, and C is less than the matching threshold and that the current number of lobbies (=3) is equal to or greater than the lobby count threshold (=3) (S17: No & S23: Yes), server 10 (guest addition means 150) sets the user ID “USER-G” included in the guest request as the guest ID in the lobby record of lobby A (S18). As a result, user G enters lobby A as a guest, as shown in FIG. 7(E).

[0058] In step S18, if there is no lobby whose matching degree with user G is equal to or greater than the second matching threshold, the server 10 (guest adding means 150) may register user G on the waiting list. Then, in response to the creation of a new lobby whose matching degree with user G is equal to or greater than the second matching threshold, the server 10 (guest adding means 150) may allow user G registered on the waiting list to enter the lobby. The second matching threshold may be a value smaller than the matching threshold (first matching threshold) in step S17.

[0059] Next, the server 10 (virtual space generation means 160) determines that the number of users (=4) who have entered lobby A has reached the maximum capacity (=4) (S19: Yes), starts a cooperative game with users A, B, C, and G who have entered lobby A (S20), and deletes lobby A (S21). As a result, lobby A is deleted, as shown in FIG. 7(F). As one example, the cooperative game may be executed on the server 10, and the results may be reflected in the user terminals 20 of users A, B, C, and G. As another example, the cooperative game may be executed on the user terminal 20 of host user A (so-called client host), and the results may be reflected in the user terminals 20 of guest users B, C, and G via the server 10.

[0060] [Threshold determination process] Next, the threshold determination process according to this embodiment will be described with reference to Fig. 8. The threshold determination process is a process for determining (updating) a lobby number threshold that is compared with the number of lobbies in step S23. Fig. 8 is a flowchart of the threshold determination process. The server (threshold determination means 120) executes the threshold determination process shown in Fig. 8 in step S22 of Fig. 6. That is, the lobby number threshold is updated to the latest value when step S22 is executed.

[0061] First, the server (threshold determination means 120) identifies an integer value I and a decimal value D from the calculation result of the following formula (1), for example (S31). The integer value I is the integer part of the calculation result of formula (1), and is a numerical value that serves as the basis for the lobby number threshold. That is, the server (threshold determination means 120) increases the lobby number threshold (more specifically, the integer value I) as the number of guests Ng increases. Also, the server (threshold determination means 120) decreases the lobby number threshold (more specifically, the integer value I) as the number of hosts Nh increases. The decimal value D is the decimal part of the calculation result of formula (1) (i.e., 0≦D<1), and is a numerical value used as a probability for determining whether to round up the calculation result of formula (1) to determine the lobby number threshold or to round down the calculation result of formula (1) to determine the lobby number threshold.

[0062] ID = T×(Ng-Gc×Nh) / Gc (Formula 1)

[0063] The matching time T in formula (1) is the target time from when the lobby is generated until the matching is completed. The matching time T is set in advance by the administrator of the server 10. The guest capacity Gc in formula (1) is the number of guests who can participate in the virtual space. In other words, the guest capacity Gc is the capacity minus 1. The number of guests Ng in formula (1) refers to the number of guest requests received per unit time (e.g., 60 seconds). In other words, the number of guests Ng refers to the number of user terminals 20 per unit time that have executed a guest participation operation (described later). The number of hosts Nh in formula (1) refers to the number of host requests received per unit time (e.g., 60 seconds). In other words, the number of hosts Nh refers to the number of user terminals 20 per unit time that have executed a host participation operation (described later). The number of guests Ng and the number of hosts Nh are counted by the server program 13P (threshold value determination means 120).

[0064] Next, the server (threshold determination means 120) uses the decimal value D identified in step S31 to draw lots to determine whether to round up the decimal portion of the calculation result of equation (1) (i.e., to determine the lobby number threshold to be the integer value I+1) or to round down (i.e., to determine the lobby number threshold to be the integer value I) (S32). The result of the drawing in step S32 is rounding up with the probability of decimal value D, and rounding down with the probability of the complement of decimal value D (1-D). Next, if the result of the drawing in step S32 is rounding up (S33: Yes), the server (threshold determination means 120) determines the integer value I+1 as the lobby number threshold (S34). On the other hand, if the result of the drawing in step S32 is rounding down (S33: No), the server (threshold determination means 120) determines the integer value I as the lobby number threshold (S35). For example, if the calculation result of formula (1) is 3.8, the integer value is 3 and the decimal value is 0.8. Then, the decimal value is 0.8 (= 80%) and the lobby number threshold is 4 (= I + 1), and the decimal value's complement is 0.2 (= 20%) and the lobby number threshold is 3 (= I).

[0065] [Effects of this embodiment] According to this embodiment, guest players are switched to hosts and lobby generation is prioritized until the number of lobbies reaches a lobby number threshold. This increases the number of lobby options to which users attempting to participate in a game as guests can be assigned, increasing the likelihood that they will be assigned to a lobby with a higher matching probability. As a result, compared to the case of assigning players using probability as in Patent Document 1, it is possible to achieve both high-quality matching and reduced time even when there are few users attempting to participate in a game.

[0066] Furthermore, according to the above embodiment, by calculating the integer value I that is the basis of the lobby count threshold using formula (1), the lobby count threshold becomes larger as the number of guests Ng increases, and the lobby count threshold becomes smaller as the number of hosts Nh increases. This makes it possible to adjust the lobby count threshold depending on the number of users who wish to participate in the game as hosts or guests.

[0067] Note that, since equation (1) includes division, the calculation result may include a decimal value D. On the other hand, since the lobby number threshold must be an integer, the lobby number threshold varies depending on whether the decimal value D is rounded up or down. In particular, when the lobby number threshold is small, the impact of rounding up or down becomes significant. Therefore, according to the above embodiment, the decimal value D is used as a probability, and whether to round up or down is determined by lottery, so that the decimal value D can be reflected in the lobby number threshold.

[0068] However, the method of calculating the lobby number threshold is not limited to the example in Figure 8. As one example, steps S32 to S35 may be omitted, and whether the calculation result of formula (1) is rounded up or down may be fixed. As another example, the lobby number threshold may be calculated using a calculation formula different from formula (1). As yet another example, the threshold determination process may be omitted, and the lobby number threshold may be set to a fixed value.

[0069] Furthermore, according to the above embodiment, if the guest user's matching degree is equal to or greater than the matching threshold, the guest user is allowed to enter the lobby with the highest matching degree, regardless of whether the number of existing lobbies is equal to or greater than the lobby number threshold. This prevents a guest user with a high matching degree with an existing lobby from being switched to the host, further improving the quality of matching. However, if priority is given to shortening the time until matching is completed, the processing of step S17 may be omitted.

[0070] Furthermore, according to the above embodiment, when a guest user is switched to a host user, a new lobby is generated using attributes previously set by that user. This reduces the workload of the user (in this embodiment, selecting a radio button on the game participation screen in FIG. 5) while generating a desired virtual space. However, it can also be assumed that a user who intends to participate in a virtual space as a guest is less concerned about the attributes of the virtual space. Therefore, the server 10 (lobby generation means 110) may set predetermined default values ​​for the attributes in step S26.

[0071] For example, when steps S17 and S32 to S35 were omitted and the calculation result of equation (1) was discarded to determine the lobby number threshold, the matching time T was varied and the average time until matching was completed was measured. As an example, when the matching time T was set to 4.0 seconds, the average time until matching was completed was 4.6372 seconds. As another example, when the matching time T was set to 8.0 seconds, the average time until matching was completed was 7.1846 seconds. In other words, it was confirmed that the matching process of FIG. 6 completed matching in a time close to the set matching time T.

[0072] Note that there is essentially a trade-off between the quality of matching and the time it takes to complete matching. Therefore, the matching time T can be set depending on whether the priority is to be given to the quality of matching or to shortening the time. In other words, if the priority is given to the quality of matching, the matching time T can be set longer. On the other hand, if the priority is given to shortening the time it takes to complete matching, the matching time T can be set shorter.

[0073] The program according to the present invention is not limited to a single program, but may be a collection of multiple programs. Furthermore, the program according to the present invention is not limited to one executed by a single device, but may be shared and executed by multiple devices. Furthermore, the division of roles between the server 10 and the user terminal 20 is not limited to the above example. That is, part of the processing of the server 10 may be executed by the user terminal 20, or part of the processing of the user terminal 20 may be executed by the server 10.

[0074] Furthermore, some or all of the means implemented by the program can be implemented by hardware such as an integrated circuit. Furthermore, the program may be provided in a form recorded on a non-transitory recording medium that can be read by a computer. Examples of recording media include hard disks, SD cards, DVDs, and servers on the Internet. [Explanation of symbols]

[0075] 1...system, 2...communication network, 10...server, 11...processor, 12...memory, 13...storage, 13P...server program, 14...input / output interface, 15...communication interface, 19...communication bus, 20...user terminal, 110...lobby generation means, 120...threshold value determination means, 130...calculation means, 140...determination means, 150...guest addition means, 160...virtual space generation means

Claims

1. Computer, a lobby generating means for generating, when a first operation is performed by a user, a lobby in a virtual space with the user who performed the first operation as a host; a determination means for determining whether the number of lobbies is equal to or greater than a predetermined threshold when a second operation is performed by a user; a guest addition means for adding the user who performed the second operation as a guest to one of the already generated lobbies when the determination means determines that the number of the lobbies is equal to or greater than the threshold value; the threshold value is set to a larger value as the number of guests per unit time on the user terminals on which the second operation is executed increases, and The program, wherein the lobby generation means is capable of generating a new lobby in the virtual space hosted by the user who performed the second operation when the determination means determines that the number of lobbies is less than the threshold.

2. Computer, a lobby generating means for generating, when a first operation is performed by a user, a lobby in a virtual space with the user who performed the first operation as a host; a determination means for determining whether the number of lobbies is equal to or greater than a predetermined threshold when a second operation is performed by a user; a guest addition means for adding the user who performed the second operation as a guest to one of the already generated lobbies when the determination means determines that the number of the lobbies is equal to or greater than the threshold value; the threshold value is set to a smaller value as the number of hosts, which is the number of user terminals on which the first operation is executed per unit time, increases; The program, wherein the lobby generation means is capable of generating a new lobby in the virtual space hosted by the user who performed the second operation when the determination means determines that the number of lobbies is less than the threshold.

3. Computer, a lobby generating means for generating, when a first operation is performed by a user, a lobby in a virtual space with the user who performed the first operation as a host; a determination means for determining whether the number of lobbies is equal to or greater than a predetermined threshold when a second operation is performed by a user; a guest addition means for adding the user who performed the second operation as a guest to one of the already generated lobbies when the determination means determines that the number of the lobbies is equal to or greater than the threshold value; a threshold determining means for determining the threshold based on the number of guests, which is the number of user terminals on which the second operation is executed per unit time, and the number of hosts, which is the number of user terminals on which the first operation is executed per unit time; when the determination means determines that the number of lobbies is less than the threshold, the lobby generation means is capable of generating a new lobby in the virtual space with the user who performed the second operation as a host; The threshold value determining means Substituting the number of guests and the number of hosts into a predetermined calculation formula to identify an integer value I and a decimal value D of the calculation result; a lottery is performed to determine whether the threshold value is set to the integer value I+1 or the integer value I; The program that, in the lottery, the larger the decimal value D, the higher the probability that the threshold will be determined to be the integer value I+1.

4. Computer, a lobby generating means for generating, when a first operation is performed by a user, a lobby in a virtual space with the user who performed the first operation as a host; a determination means for determining whether the number of lobbies is equal to or greater than a predetermined threshold when a second operation is performed by a user; a guest addition means for adding the user who performed the second operation as a guest to one of the already generated lobbies when the determination means determines that the number of the lobbies is equal to or greater than the threshold value; a computing means for computing a matching degree between the already generated lobby and the user who performed the second operation, using a predetermined matching algorithm; The determining means further determines whether the matching degree is equal to or greater than a matching threshold value; the guest addition means, in response to determining that the matching degree is equal to or greater than the matching threshold, adds the user who performed the second operation as a guest to the lobby with the highest matching degree, regardless of whether the number of lobbies is equal to or greater than the threshold; The lobby generation means When the determination means determines that the number of lobbies is less than the threshold, a new lobby is generated in the virtual space with the user who performed the second operation as a host; A program that generates the lobby hosted by the user who performed the second operation in response to determining that the matching degree is less than the matching threshold and the number of lobbies is less than the threshold.

5. a lobby generating means for generating, when a first operation is performed by a user, a lobby in a virtual space with the user who performed the first operation as a host; a determination means for determining whether the number of lobbies is equal to or greater than a predetermined threshold when a second operation is performed by a user; a guest addition means for adding the user who performed the second operation as a guest to one of the already generated lobbies when the determination means determines that the number of the lobbies is equal to or greater than the threshold value; a threshold value determining means for determining a threshold value that increases as the number of guests per unit time, which is the number of user terminals on which the second operation is executed, increases; The system wherein, when the determination means determines that the number of lobbies is less than the threshold, the lobby generation means is capable of generating a new lobby in the virtual space hosted by the user who performed the second operation.

6. a lobby generating means for generating, when a first operation is performed by a user, a lobby in a virtual space with the user who performed the first operation as a host; a determination means for determining whether the number of lobbies is equal to or greater than a predetermined threshold when a second operation is performed by a user; a guest addition means for adding the user who performed the second operation as a guest to one of the already generated lobbies when the determination means determines that the number of the lobbies is equal to or greater than the threshold value; a threshold value determining means for setting a smaller threshold value as the number of hosts, which is the number of user terminals on which the first operation is executed per unit time, increases; The system wherein, when the determination means determines that the number of lobbies is less than the threshold, the lobby generation means is capable of generating a new lobby in the virtual space hosted by the user who performed the second operation.

Citation Information

Patent Citations

  • Manufacture of sintered ore

    JP1986006214A

  • Game program and game system

    JP2014068720A

  • Game program

    JP2017127599A

  • Game program and game system

    JP2019115413A

  • Program, processing method, and information processor

    JP2019191912A