Server device, information processing program, session management method, and information processing system
The server device optimizes multiplayer session management by generating and terminating sessions based on participant counts and times, reducing costs and session proliferation through efficient user participation and game progression features.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NINTENDO CO LTD
- Filing Date
- 2023-07-04
- Publication Date
- 2026-06-10
AI Technical Summary
Existing systems for managing multiplayer sessions incur high costs due to the need to manage various types of information and sessions involving multiple users, including session setup, user participation, and game progression.
A server device that manages sessions by generating sessions based on conditions, allowing user participation, and terminating sessions based on elapsed times or zero participant counts, with features for game progression updates and reward distribution.
Reduces session management costs by efficiently terminating sessions with no participants and allowing users to rejoin or switch sessions, thereby minimizing unnecessary session creation and maintenance.
Smart Images

Figure 0007872761000001 
Figure 0007872761000002 
Figure 0007872761000003
Abstract
Description
Technical Field
[0001] The present invention relates to a server device, an information processing program, a session management method, and an information processing system for managing sessions in which a plurality of users can participate.
Background Art
[0002] With the recent development of the Internet environment, forms of games enjoyed with other users connected via the Internet are becoming common. Patent Document 1 discloses a game system in which users are admitted to a virtual lobby and games can be played among the users in the lobby. In Patent Document 1, the server sets up a virtual lobby for a game in response to a request from a user's terminal device, and executes a multiplayer game played among the admitted users.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the above Patent Document 1, the server sets up a lobby in response to a request from a terminal device. When the lobby is set up, it is necessary to manage the state of the lobby, such as the users admitted to the lobby, the state of the user, the game being played from the lobby, and the users participating in the game. Note that the virtual lobby in Patent Document 1 is a place for realizing multiplayer by a plurality of users. Hereinafter, in this specification, the unit of a virtual room in which a plurality of users exist is referred to as a "session".
[0005] As described in Patent Document 1, managing various types of information is necessary to set up and maintain sessions for multiplayer gaming involving multiple users. The present invention aims to reduce the costs associated with managing sessions involving multiple users. [Means for solving the problem]
[0006] (Composition 1) The server device according to Configuration 1 is a server device that manages sessions in which multiple users can participate, and comprises: generation means for generating a session when the session generation conditions are met; participation means for allowing a user to participate in a session selected based on predetermined conditions when a participation request is received from a user's user terminal; withdrawal means for allowing a user to leave the session when the withdrawal conditions for a user participating in the session are met; first discard means for discarding the session when a first time has elapsed since the session was generated; and second discard means for discarding the session when a second time has elapsed since the number of participants in the session became zero, regardless of whether the first time has elapsed since the session was generated.
[0007] This configuration reduces session management costs because, if the number of participants in a session drops to zero and a second time period has elapsed, the session is terminated without waiting for the first time period to finish.
[0008] (Configuration 2) In the server device according to Configuration 1, users participating in the session can play the game associated with the session together via their user terminals, and the server device may further include progress update means for updating the game's progress based on data obtained from the user terminals of users participating in the session, and reward granting means for granting rewards to users participating in the session if the progress satisfies the reward granting conditions.
[0009] (Composition 3) In the server device relating to Configuration 2, the reward granting means may grant the reward to the user who was participating in the session at the time the progress level satisfies the reward granting conditions.
[0010] (Composition 4) In any of the server devices in configurations 1 to 3, if a participation request is received and no session managed by the server device exists, the generation means may generate a new session that satisfies the session generation conditions.
[0011] (Composition 5) In any of the server devices in configurations 1 to 4, if a participation request is received and there are no available slots to join the session managed by the server device, the generation means may generate a new session that satisfies the session generation conditions.
[0012] (Composition 6) In any of the server devices in configurations 1 to 5, the participation means may, after the user has left the session, receive another participation request from the user's user terminal and the session has not yet been terminated, allow the user to rejoin the session.
[0013] (Composition 7) In any of the server devices in configurations 1 to 5, if the participation means receives a request from the user terminal to join a session different from the session the user terminal is currently participating in, it may restrict participation in that different session. By restricting participation in different sessions in this way, the creation of new sessions is suppressed, and the session management costs are reduced.
[0014] (Composition 8) The server device of configuration 7 may further include a means for removing restrictions, which removes the restriction on participation in different sessions by subtracting a predetermined parameter managed in association with the user.
[0015] (Composition 9) The server device in configuration 9 is a server device that manages sessions in which multiple users can participate. When it receives a first participation request from a user's user terminal that does not specify a particular session, it provides a first participation means that assigns the user to a first participation slot in a session selected based on predetermined conditions and for which there is an available first participation slot, and then allows the user to participate in that session. When it receives a second participation request for a specific session from the user's terminal, and for which there is an available second participation slot in that session, it provides a second participation means that assigns the user to a second participation slot in that session and then allows the user to participate in that session. In this way, a session has a first participation slot and a second participation slot, ensuring participation in two different ways. That is, a session will contain a mix of users who have been selected by the server device to participate in the session and users who have requested to participate in that session.
[0016] (Composition 10) In the server device of configuration 9, the second participation means may allow the user to join a session if it receives the second participation request which includes information for identifying one of the existing sessions.
[0017] (Composition 11) In the server device of configuration 9 or configuration 10, if the second participation means receives the second participation request for a predetermined session after a user who was assigned to the first participation slot of a predetermined session has left the predetermined session, it may assign the user to the second participation slot of the session and then allow the user to join the session.
[0018] (Composition 12) The information processing program in configuration 12 is an information processing program for managing sessions in which multiple users can participate, and causes the computer to function as: a generation means for generating a session when the session generation conditions are met; a participation means for allowing a user to participate in a session selected based on predetermined conditions when a participation request is received from a user's user terminal; a withdrawal means for allowing a user to leave the session when the withdrawal conditions for a user participating in the session are met; a first discard means for discarding the session when a first time has elapsed since the session was generated; and a second discard means for discarding the session when a second time has elapsed after the number of participants in the session becomes zero, regardless of whether the first time has elapsed since the session was generated.
[0019] (Composition 13) The information processing program in configuration 13 is an information processing program for managing sessions in which multiple users can participate, and the computer functions as a first participation means that, when it receives a first participation request from a user's user terminal that does not specify a particular session, assigns the user to a first participation slot in a session that has an available slot in the first participation slot selected based on predetermined conditions, and then allows the user to participate in that session; and when it receives a second participation request for a specific session from the user terminal, assigns the user to a second participation slot in that session, and then allows the user to participate in that session, if there is an available slot in the second participation slot in that session.
[0020] (Composition 14) The session management method of Configuration 14 is a method for managing sessions in which a plurality of users can participate. When the session generation conditions are met, it includes steps of generating a session; when a participation request is obtained from a user's user terminal, making the user participate in a session selected based on predetermined conditions; when a disconnection condition regarding a user participating in the session is met, disconnecting the user from the session; when a first period of time has elapsed since the session was generated, discarding the session; and regardless of whether the first period of time has elapsed since the session was generated, when a second period of time has elapsed after the number of users participating in the session has become 0, discarding the session.
[0021] (Configuration 15) The session management method of Configuration 15 is a method for managing sessions in which a plurality of users can participate. When a first participation request that does not specify a specific session is obtained from a user's user terminal, it includes steps of allocating the user to the first participation slot of a session selected based on predetermined conditions and having a vacancy in the first participation slot, and then making the user participate in the session; when a second participation request for a specific session is obtained from the user terminal, if there is a vacancy in the second participation slot of the session, allocating the user to the second participation slot of the session and then making the user participate in the session.
[0022] (Configuration 16) The information processing system of configuration 16 is an information processing system comprising a server device that manages sessions in which multiple users can participate, and a user terminal for each user, wherein the user terminal is provided with means for sending a request to participate in a session to the server device, and the server device is provided with generation means for generating a session when the session generation conditions are met, participation means for allowing the user to participate in a session selected based on predetermined conditions when a participation request is received from the user's user terminal, withdrawal means for allowing the user to leave the session when the withdrawal conditions for the user participating in the session are met, first discard means for discarding the session when a first time has elapsed since the session was generated, and second discard means for discarding the session when a second time has elapsed since the number of participants in the session became zero, regardless of whether the first time has elapsed since the session was generated.
[0023] (Composition 17) The information processing system of configuration 17 is an information processing system comprising a server device that manages sessions in which multiple users can participate, and a user terminal for each user, wherein the user terminal is provided with means for sending a first participation request to the server device that does not specify a particular session, and means for sending a second participation request to the server device that specifies a particular session, and when the server device receives the first participation request from the user terminal, it provides first participation means for assigning the user to a first participation slot in a session that has an available slot in the first participation slot, selected based on predetermined conditions, and then allowing the user to participate in the session, and when the server device receives the second participation request from the user terminal, it provides second participation means for assigning the user to a second participation slot in the session, if there is an available slot in the second participation slot of the session, and then allowing the user to participate in the session. [Brief explanation of the drawing]
[0024] [Figure 1] This is a schematic diagram showing the overall structure of the information processing system (game system) according to this embodiment. [Figure 2]Hardware configuration of the server device (block). [Figure 3] A block diagram showing an example of a user terminal's hardware configuration. [Figure 4] This is a memory map showing an example of various types of data stored in the memory section of a server device. [Figure 5] This diagram shows the contents of the server program in the first embodiment. [Figure 6] This figure shows an example of session data in the first embodiment. [Figure 7] This diagram shows the operation of an information processing system from session creation to termination. [Figure 8] This diagram shows how the information processing system behaves when the number of participants drops to zero during a session. [Figure 9] This diagram shows how the information processing system behaves when a user who has left a session requests to rejoin. [Figure 10] This figure shows the contents of a server program according to a modified example of the first embodiment. [Figure 11] This diagram shows how the information processing system behaves when a request is made to join a different session than the previous one. [Figure 12] This diagram shows the contents of the server program in the second embodiment. [Figure 13] This figure shows an example of session data in the second embodiment. [Figure 14] This diagram shows the operation of the information processing system related to the first participation request. [Figure 15] This diagram shows the operation of the information processing system related to the second participation request. [Figure 16] This is a memory map showing an example of various data stored in the memory unit of the user terminal used in the third embodiment. [Figure 17] This figure shows an example of sharer management data in the third embodiment. [Figure 18] This diagram shows the configuration of the terminal program in the third embodiment. [Figure 19]This figure shows an example of an image that demonstrates the establishment of a sharer relationship. [Figure 20] This figure shows an example of a map displaying the location of the sharer. [Figure 21] This diagram shows the operation of the information processing system related to the registration and cancellation of sharers. [Figure 22] This diagram shows the operation of an information processing system that outputs share information. [Modes for carrying out the invention]
[0025] The information processing system of this embodiment will be described below with reference to the drawings. Note that the following description is merely an example of a preferred embodiment and is not intended to limit the invention as described in the claims.
[0026] Figure 1 is a schematic diagram showing the overall structure of the information processing system 1 (game system) according to this embodiment. The information processing system 1 of this embodiment includes a server device 10 and a plurality of user terminals 20. The server device 10 and the user terminals 20 are configured to communicate with each other via a network N such as the Internet. In this embodiment, information processing is performed with this configuration, but below, game processing will be described as an example of such information processing. Specifically, a game program is installed on the user terminal 20 and the game processing is performed while communicating with the server device 10 as needed.
[0027] [Server hardware configuration] Figure 2 is a block diagram showing the hardware configuration of the server device 10. The server device 10 comprises at least a processor 11, a storage unit 12, and a communication unit 13. The processor 11 executes various programs for controlling the server device 10. The storage unit 12 stores various programs executed by the processor 11 and various data used. The communication unit 13 connects to the network by wired or wireless connection and sends and receives predetermined data to and from the user terminal 20 or other servers (not shown).
[0028] [User terminal hardware configuration] Next, the user terminal 20 will be described. The user terminal 20 is, for example, a smartphone, a stationary or portable game console, a tablet device, a mobile phone, a personal computer, a wearable device, etc. In this embodiment, a stationary game console will be described as an example of the user terminal 20.
[0029] Figure 3 is a block diagram showing an example of the hardware configuration of a user terminal 20 according to this embodiment. In Figure 3, the user terminal 20 includes a processor 21. The processor 21 is an information processing unit that performs various information processing operations in the user terminal 20, and may consist of, for example, only a CPU (Central Processing Unit), or it may consist of an SoC (System-on-a-chip) that includes multiple functions such as CPU function and GPU (Graphics Processing Unit) function. The processor 21 performs various information processing operations by executing an information processing program (for example, a game program) stored in the storage unit 22. The storage unit 22 may be an internal storage medium such as flash memory or DRAM (Dynamic Random Access Memory), or it may be configured to utilize an external storage medium installed in a slot (not shown).
[0030] The user terminal 20 is equipped with a wireless communication unit 23 for wireless communication with the server device 10 and other user terminals 20. For example, internet communication or short-range wireless communication may be used as the wireless communication.
[0031] The user terminal 20 is equipped with a controller communication unit 24 for wired or wireless communication with the controller 30.
[0032] A display unit 26 (for example, a television) is connected to the user terminal 20 via an image and sound output unit 25. The processor 21 outputs the images and sounds generated (for example, by executing the above information processing) to the display unit 26 via the image and sound output unit 25.
[0033] Next, the controller 30 will be described. Although not shown in the illustration, the controller 30 of this embodiment has a vertically elongated housing and can be gripped in a vertical orientation. The housing is shaped and sized to be gripped with one hand when gripped in a vertical orientation.
[0034] The controller 30 includes at least one analog stick 32, which is an example of a directional input device. The analog stick 32 can be used as a directional input unit that can input direction. The user can input direction (and magnitude according to the angle of tilt) by tilting the analog stick 32. The controller 30 also includes a button unit 33 that includes various operation buttons. For example, the controller 30 may have multiple operation buttons on the main surface of the housing. These operation buttons may be, for example, ABXY buttons, plus buttons, minus buttons, L buttons, R buttons, etc.
[0035] Furthermore, the controller 30 is equipped with an inertial sensor 34. Specifically, the controller 30 is equipped with an acceleration sensor and an angular velocity sensor as the inertial sensor 34. In this embodiment, the acceleration sensor detects the magnitude of acceleration along three predetermined axes. The angular velocity sensor detects the angular velocity around three predetermined axes.
[0036] Furthermore, the controller 30 also includes a communication unit 31 for wired or wireless communication with the controller communication unit 24. Directional input to the analog stick 32, information indicating the pressed state of the button unit 33, and various detection results from the inertial sensor 34 are repeatedly output to the communication unit 31 at appropriate intervals and transmitted to the user terminal 20.
[0037] [Regarding the game envisioned in this embodiment] Next, the game processing performed in this embodiment will be described. First, an overview of the game envisioned in this embodiment will be given. The game envisioned in this embodiment is a multiplayer game in which multiple users explore the ocean together. The ocean is prepared with various creatures, terrains, scenery, etc. as environmental objects, and users can enjoy discovering rare creatures, terrains, etc.
[0038] Multiplayer refers to multiple users playing the same game simultaneously via a communication network. This communication network may be the Internet or short-range wireless communication. In this embodiment, users participating in multiplayer join a session and play multiplayer on a session-by-session basis.
[0039] The following description will explain the session management performed by the information processing system in the first and second embodiments, and the mechanism by which users participating in a session share information within the game in the third embodiment. For the sake of explanation, the first and second embodiments and the third embodiment will be explained separately, but the information processing system manages sessions through the session management described in the first and second embodiments, and realizes information sharing among users within those sessions as described in the third embodiment.
[0040] (First Embodiment) In the first embodiment, an example is described in which, when a user on user terminal 20 requests to join a session, the server device 10 selects a session to join and allows the user to join the session. The number of users that can join one session (hereinafter referred to as "participation slots") is predetermined, and if there are no available participation slots in any session, the server device 10 creates a new session and allows the user to join the session. Here, "having available participation slots" means that the number of participating users has not reached the number specified by the participation slots. Conversely, "no available participation slots" means that the number of participating users has reached the number specified by the participation slots, and it is not possible to join that participation slot.
[0041] Figure 4 is a memory map showing an example of various data stored in the memory unit 12 of the server device 10. The memory unit 12 of the server device 10 contains a server program 40, session data 41, and game progress data 42. The server device 10 realizes its functions by reading the server program 40 stored in the memory unit 12 and executing it with the processor 11. In this embodiment, session management is the main focus of the explanation, but the memory unit 12 of the server device 10 may also contain data other than the data shown in Figure 4.
[0042] Figure 5 shows the contents of the server program 40. The server program 40 includes a generation module 50, a participation module 51, a withdrawal module 52, a first discard module 53, a second discard module 54, a progress update module 55, and a reward granting module 56.
[0043] The generation module 50, upon receiving a session participation request from the user terminal 20, determines whether the session generation conditions are met and, if the conditions are met, generates a new session. The session generation conditions are when there are no sessions managed by the server device 10, or when there are sessions managed by the server device 10, but none of them have available participation slots. Conversely, if there are sessions that the user can join, the session generation conditions are not met, and the server device 10 does not generate a new session. By determining whether or not to generate a session based on these session generation conditions, the information processing system 1 of this embodiment prevents a proliferation of sessions.
[0044] The participation module 51, upon receiving a participation request from a user's user terminal 20, has the function of allowing the user to participate in a session selected based on predetermined conditions. Specifically, it allows the user of user terminal 20 to participate in a session by establishing communication between the server device 10 and the user terminal 20. Here, the "predetermined conditions" can be any conditions for selecting a session. For example, a session may be selected using a certain calculation formula with random numbers, or sessions with many available slots may be selected preferentially based on the number of available slots.
[0045] Furthermore, if the participation module 51 receives a rejoining request from the user's terminal 20 after the user has left a session, and if the session from which the user left has not yet been discarded and there is an available slot in the session, the participation module 51 will allow the user to rejoin the session. In other words, the participation module 51 returns the user to the session they were in before leaving.
[0046] The withdrawal module 52 has the function of removing a user from a session when the withdrawal conditions for that user are met. The withdrawal conditions include receiving a signal from the user terminal 20 indicating that the game should be stopped, receiving a signal indicating that the user should leave the session, or when communication with the user terminal 20 is interrupted. In the game envisioned in this embodiment, a user can leave the session through their own actions. Even if a user leaves the session, the session itself continues. If other participating users remain in the session, the game in that session will continue with the other users, and even if there are no users left in the session, the session will continue for a certain period of time, as will be described later.
[0047] The first discard module 53 has the function of discarding a session when a first time has elapsed since the session was created. Discarding a session means that the server device 10 stops holding the session. Specifically, the server device 10 deletes the data related to the session ID from the session data 41, which will be described later. When the first time has elapsed since the session was created, the server device 10 discards the session regardless of whether there are any users participating in the session. In other words, the game for that session ends. The first time is the maximum time that a session will continue and can be set appropriately depending on the content of the game, but for example it is 120 minutes.
[0048] The second discard module 54 monitors the number of users participating in a session and has the function of discarding the session if a second time has elapsed since the number of users became zero. Here, the second discard module 54 discards the session regardless of whether a first time has elapsed since the session was created. With this configuration, even before the first time has elapsed, if the number of participants in the session remains at zero, the session will be discarded, so there is no need to manage unused sessions. The second time is a shorter period than the first time and can be set as appropriate, for example, 10 minutes.
[0049] The progress update module 55 has the function of updating the progress of the game associated with the session based on data obtained from the user terminal 20 of the user participating in the session. The progress is, for example, the degree to which the missions set in the game associated with the session have been completed. Note that the progress update module 55 may also be provided on the user terminal 20.
[0050] The reward distribution module 56 has the function of awarding rewards to users participating in a session when the progress of the game associated with that session meets the reward distribution conditions. The reward distribution module 56 will award rewards to users who were participating in the session at the time the progress meets the reward distribution conditions. The reward distribution module 56 will not award rewards to users who had left the session at that time, or to users who joined the session after that time. The reward distribution module 56 may also be provided on the user terminal 20.
[0051] Figure 6 shows an example of session data 41. Session data 41 is data related to a session currently managed by the server device 10. Session data 41 includes the session ID, elapsed time T1, elapsed time T2, participating users, and remaining users. The session ID is information that identifies the session. Elapsed time T1 is the time elapsed since the session was created. Elapsed time T2 is the time elapsed since the number of participating users in the session became zero.
[0052] The participating users are the user IDs of the users participating in the session. The remaining number of participants indicates how many more people can join the session. That is, remaining number of participants = number of available slots - number of participating users. In this embodiment, the number of available slots for a session is 100, and if there are no participants, such as in session ID S0002, the remaining number of participants will be 100. If the number of users who can participate differs depending on the session, the session data 41 may include data on the number of available slots for the session.
[0053] In the example shown in Figure 6, session ID S0001 has been running for 75 minutes, with participants including U1234 and U2332. Session ID S0002 has been running for 50 minutes (elapsed time T1). Currently, this session has no participants, and it has been empty for 5 minutes (elapsed time T2). If a user joins session ID S0002, elapsed time T2 is reset.
[0054] Figure 7 shows the operation of the information processing system 1. Figure 7 shows the operation from session creation to session destruction. When a user performs an operation to join a session on the user terminal 20, the user terminal 20 sends a session participation request to the server device 10 (S10). When the server device 10 receives the session participation request sent from the user terminal 20 (S11), it refers to the session data 41 and determines whether or not there is a session that the user can join (S12). If there are no sessions managed by the server device 10, or if sessions exist but the number of remaining participants in any session is 0, the server device 10 determines that there are no sessions that the user can join.
[0055] If there are no sessions available for the user to join (NO in S12), the server device 10 creates a new session (S13). When the server device 10 creates a new session, it adds the session ID of the created session to the session data 41 (see Figure 6). If there are sessions available for the user to join (YES in S12), or after creating a session (S13), the server device 10 allows the user who sent the session participation request to join an available session (S14).
[0056] The server device 10 establishes communication with the user terminals 20 of the users who have joined the session and sends and receives game status data (S15, S16). An example of the game status data that is sent and received is described below.
[0057] In this embodiment, there is a virtual space to explore for each session. The game status data includes data on the terrain that makes up the virtual space, a map of the virtual space, and data on environmental objects such as living creatures that exist within the virtual space. The remaining time in the session and data on areas that have been explored are also part of the game status data. The server device 10 transmits this game status data to the user terminals 20 participating in the session.
[0058] The game status data transmitted from the user terminal 20 to the server device 10 includes data on the position of the user's character, determined by the operation input received by each user terminal 20, and data on environmental objects discovered by the user. In this way, the server device 10 exchanges game status data with the user terminals 20 participating in the session, thereby synchronizing the game status among multiple user terminals 20 and enabling multiplayer.
[0059] The user terminal 20 performs game control such as displaying the game screen based on the received game status data and updating the game screen in response to user input (S17).
[0060] For each session, the server device 10 compares the elapsed time T1 since the start of the session with a first time and determines whether or not the first time has elapsed (S18). If it is determined that the first time has not elapsed (NO in S18), the server device 10 returns to the process of sending game status data (S15). In other words, the server device 10 synchronizes the game status among the user terminals 20 participating in the session to realize multiplayer, while determining whether or not the first time has elapsed.
[0061] When it is determined that the first time has elapsed (YES in S18), the server device 10 discards the session for which the first time has elapsed (S19). The server device 10 removes the session ID of the discarded session from the session data 41 (see Figure 6). The server device 10 sends a signal to the user terminal 20 indicating that the session has been discarded (S20). When the user terminal 20 receives the signal indicating that the session has been discarded (S21), the user terminal 20 terminates the game for that session (S22).
[0062] Figure 8 shows the operation of the server device 10 when the number of participants becomes zero during a session. The operation of the information processing system 1 is as shown in the flow chart in Figure 7, and Figure 8 shows only the part related to session management. After the server device 10 creates a session (S30), it measures the elapsed time T1 after the session creation and determines whether the first time has elapsed or not (S31). If the first time has elapsed (YES in S31), the server device 10 discards the session (S34).
[0063] If it is determined that the first time has not elapsed (NO in S31), the server device 10 determines whether there are 0 users participating in the session (S32). If it is determined that there are more than 0 users participating (NO in S32), the server device 10 returns to the process of determining whether the first time has elapsed (S31). At this time, if the measurement of the elapsed time T2 for measuring the second time has started, the timer for the elapsed time T2 is reset.
[0064] If it is determined that there are 0 participating users (YES in S32), the server device 10 measures the elapsed time T2 since the session had 0 participating users and determines whether the second time has elapsed (S34). If it is determined that the second time has elapsed (YES in S33), the server device 10 discards the session (S35). If it is determined that the second time has not elapsed (NO in S33), the server device 10 returns to the process of determining whether the first time has elapsed (S31).
[0065] Figure 9 shows the operation of the information processing system 1 when a user who has left a session requests to rejoin. The flow shown in Figure 9 starts with the user terminal 20 already participating in the session.
[0066] When a user participating in a session attempts to leave the session, the user terminal 20 sends a session leave request to the server device 10 (S40). Upon receiving the session leave request (S41), the server device 10 removes the user terminal 20, the source of the session leave request, from the session (S42). The server device then deletes the user ID of the user in question from the session data 41 (see Figure 6). Note that although this example uses the case where a user leaves the session by performing an operation to leave the session, the following operation is the same even if the user on user terminal 20 leaves the session due to a loss of communication between user terminal 20 and server device 10.
[0067] When a user performs an operation to join a session on the user terminal 20, the user terminal 20 sends a session join request to the server device 10 (S43). When the server device 10 receives the session join request sent from the user terminal 20 (S44), it determines whether the session from which the user who sent the session join request left has not been discarded and is continuing (S45).
[0068] Possible methods for making this determination include the following: One method is for the user terminal 20 to send the session ID of the session it has left when it sends a session participation request, and the server device 10 to determine whether the session related to that session ID is continuing. Another method is for the server device 10 to associate the user terminal 20 with the session IDs of sessions that the user of that terminal was participating in as a history, and then determine whether the session is continuing. Two methods have been given as examples here, but the method for determining whether a session that a user has left is continuing is not limited to the methods shown here.
[0069] If the session that was dropped is still active (YES in S45), the server device 10 determines whether there is an available slot for the dropped session (S46), and if there is an available slot (YES in S46), it allows the user of the user terminal 20 that sent the session participation request to rejoin the dropped session (S47).
[0070] If the session that was dropped is not continuing (NO in S45), or if the session that was dropped is continuing but there are no available slots for joining that session (NO in S46), the server device 10 allows the user of the user terminal 20 that sent the session joining request to join a new session (S48). If no sessions are available to join, the server device 10 creates a new session, which is the same operation as described in Figure 7 (S12-S13 in Figure 7).
[0071] The information processing system 1 and session management method of the first embodiment have been described above. The information processing system 1 of the first embodiment discards a session when a first time has elapsed since the session was created, and also discards a session even before the first time has elapsed if the number of participants in the session becomes zero. This allows unused sessions to be discarded, thereby reducing the session management cost. In games of the type where users can enter and leave sessions, such as the game envisioned in this embodiment, it is expected that users will leave the session on their own, resulting in zero participants in the session, so the configuration of this embodiment is effective.
[0072] In this embodiment, when a user who has left a session sends a request to rejoin, the information processing system 1 returns the user to the session they were in before leaving. This suppresses the creation of new sessions and reduces the cost of managing sessions.
[0073] In this embodiment, the information processing system 1 may also provide an option to allow a user who has left a session to join a different session than the one they were in before leaving. The session that the user was in before leaving and is still active is referred to as the "current session".
[0074] Figure 10 shows the contents of a modified server program according to the first embodiment. The modified server program includes a restriction release module 57 in addition to the server program configuration shown in Figure 5.
[0075] In the modified configuration, the participation module 51 receives not only the participation request described in the above embodiment, but also a request to join a session different from the session the user is currently participating in. This participation request is a useful option, for example, when a user has explored a certain amount in their current session and wants to join a new session without waiting for that session to be terminated. By displaying a button for requesting to join a new session as well as a button for requesting to join a new session on the user terminal 20, the user can choose which method to use to request to join. However, in order to prevent a proliferation of sessions, the participation module 51 basically restricts participation in different sessions.
[0076] The restriction removal module 57 has the function of removing the restriction on joining a different session. The restriction removal module 57 has the function of removing the restriction on joining a different session by subtracting a predetermined parameter that is managed in association with the user. The restriction removal module 57 does not remove the restriction if the amount of the predetermined parameter is small and cannot be subtracted. The predetermined parameter is, for example, the coins that the user has accumulated in sessions that they have previously joined. The case where subtraction is not possible is when the parameter becomes negative after the subtraction process is performed.
[0077] Figure 11 shows the operation of the information processing system when a user requests to join a different session than the previous one. The flow shown in Figure 11 starts with the user terminal 20 already participating in the session.
[0078] When a user participating in a session attempts to leave the session, the user terminal 20 sends a session leave request to the server device 10 (S40). Upon receiving the session leave request (S41), the server device 10 removes the user terminal 20, the source of the session leave request, from the session (S42). The server device then deletes the user ID of the user in question from the session data 41 (see Figure 6). Note that although this example uses the case where a user leaves the session by performing an operation to leave the session, the following operation is the same even if the user on user terminal 20 leaves the session due to a loss of communication between user terminal 20 and server device 10.
[0079] When a user attempts to join a session different from the one they left on user terminal 20, user terminal 20 sends a session join request to the server device 10 for the different session (S51). When server device 10 receives the session join request from user terminal 20 (S52), it determines whether the session left by the user who sent the session join request is not discarded and continues, and whether there is an available slot in that session (S53).
[0080] If the session that was dropped is not continuing, or if there are no available slots in the session that was dropped (NO in S53), the server device 10 allows the user of the user terminal 20 that sent the session participation request to join a new session (S57). This operation is the same as the operation described in the first embodiment (S45, S46, S48 in Figure 9).
[0081] If the session that was dropped is still active and there is an available slot (YES in S45), the server device 10 determines whether it is possible to subtract a predetermined parameter associated with the user of the user terminal 20 that sent the join request (S54). If it is not possible to subtract the predetermined parameter (NO in S54), it sends a reply to the user terminal 20 indicating that it is not possible to join a different session (S55).
[0082] If parameter subtraction is possible (YES in S54), the server device 10 subtracts the parameters associated with the user (S56) and allows the user to join a new session (S57). If no sessions are available, the server device 10 creates a new session, which is the same operation as described in Figure 7 (S12-S13 in Figure 7).
[0083] This configuration allows users to have the option to move to a new session early. On the other hand, by requiring the subtraction of a predetermined parameter, a certain degree of deterrence can be placed on joining new sessions, preventing a proliferation of sessions.
[0084] (Second Embodiment) Next, we will describe the information processing system 2 of the second embodiment. In the information processing system 2 of the second embodiment, there was only one type of session participation slot, but in the second embodiment, we will describe an example where there are two types of participation slots. The two participation slots handled by the information processing system 2 of the second embodiment are called the "first participation slot" and the "second participation slot". The first participation slot is a slot for unspecified users to participate. The second participation slot is a slot for users who have requested to participate in the session. As an example, if the total number of participants in the session is 100, the first participation slot can be set to 10 people and the second participation slot to 90 people.
[0085] The hardware configuration of the information processing system 2 in the second embodiment is the same as in the first embodiment (see Figures 1 to 3). The difference in the information processing system 2 in the second embodiment is that the server program 40 and session data 41 stored in the storage unit 12 of the server device 10 are different.
[0086] Figure 12 shows the contents of the server program 40 of the second embodiment. The server program 40 includes a generation module 50, a first participation module 511, a second participation module 512, a withdrawal module 52, a first discard module 53, a second discard module 54, a progress update module 55, and a reward granting module 56. The configuration of each module of the server program 40 of the second embodiment, namely the generation module 50, the withdrawal module 52, the first discard module 53, the second discard module 54, the progress update module 55, and the reward granting module 56, is the same as that of the information processing system 1 of the first embodiment. The following description will focus on configurations that differ from the first embodiment.
[0087] The first participant module 511 has the function of allowing the user of user terminal 20 to join a session when it receives a first participation request from user terminal 20. Here, a "first participation request" is a request to join a session made by the user without specifying which session they wish to join. When the first participant module 511 receives a first participation request, it has the function of selecting a session that the user should join based on predetermined conditions, assigning the user to a first participation slot in a session that has an available first participation slot, and then allowing the user to join that session. From the user's perspective, a first participation request is a method of joining a session assigned by the server device 10.
[0088] The second participation module 512 has the function of allowing the user to join a session when it receives a second participation request from the user's user terminal 20. Here, a "second participation request" is a request to join a session made by the user specifying a particular session. For example, this could be when joining a session after being invited by a friend, or when an influential person (influencer) publishes the session ID of a session they are playing and the user joins that session.
[0089] When the second participant module 512 receives a second participation request for a specific session from the user terminal 20, if there is an available second participant slot in that specific session, it assigns the user to the second participant slot in that session and allows the user to join the session. If there is no available second participant slot in the specific session specified in the second participation request, the second participant module 512 notifies the user terminal 20 that it cannot join the session.
[0090] Figure 13 shows an example of session data 41 in the second embodiment. Session data 41 is data relating to a session currently managed by the server device 10. Session data 41 includes session ID, elapsed time T1, elapsed time T2, participation slots, participating users, and remaining participants. The session ID, elapsed time T1, and elapsed time T2 are the same as in the information processing system 1 of the first embodiment. In the second embodiment, the number of participants and remaining participants for each of the first and second participation slots are stored.
[0091] In the example shown in Figure 13, session ID S0001 has been running for 75 minutes (elapsed time T1) since the session started, and U1234, U2332, etc. are recorded as participating users assigned to the first participation slot, and U5237, U3672 are recorded as participating users assigned to the second participation slot. In session data 41, the user IDs of participating users are assigned to the first and second participation slots, but there is no difference in the progress of the game between user terminals 20 that participated in the first participation slot and user terminals 20 that participated in the second participation slot.
[0092] The session with session ID S0002 has elapsed 50 minutes since the session was created (elapsed time T1). Currently, there are no participants in this session, and it has been 5 minutes since then (elapsed time T2). If a user joins the session with session ID S0002, elapsed time T2 will be reset.
[0093] Figure 14 shows the operation of the information processing system 2 in relation to the first participation request. When a user performs an operation to join a session without specifying a session on the user terminal 20, the user terminal 20 sends a first participation request to the server device 10 (S60). When the server device 10 receives the first participation request sent from the user terminal 20 (S61), it refers to the session data 41 and determines whether or not there is a session with an available slot in the first participation slot (S62). If the server device 10 does not manage sessions, or if sessions exist but the remaining number of participants in the first participation slot for any of them is 0, it is determined that there are no sessions that can be joined.
[0094] If there are no available sessions in the first participation slot (NO in S62), the server device 10 creates a new session (S63). If there is a session available for the user to join (YES in S62), or after creating a session (S63), the server device 10 allows the user who sent the first participation request to join an available session (S64).
[0095] The server device 10 establishes communication with the user terminal 20 of the user who has joined the session. The server device 10 and the user terminal 20 send and receive game status data (S65, S66). The user terminal 20 performs game control such as displaying the game screen based on the received game status data and updating the game screen in response to user input (S67).
[0096] The server device 10 compares the elapsed time T1 from the start of each session with a first time and determines whether the first time has elapsed (S68). If it is determined that the first time has elapsed (YES in S68), the server device 10 discards the session for which the first time has elapsed (S69). The server device 10 removes the session ID of the discarded session from the session data 41 (see Figure 13). The server device 10 sends a signal to the user terminal 20 indicating that the session has been discarded (S70), and when the user terminal 20 receives the signal indicating that the session has been discarded (S71), the user terminal 20 terminates the game for that session (S72).
[0097] Figure 15 shows the operation of the information processing system 2 in relation to the second participation request. When a user identifies a session on the user terminal 20 and performs an operation to join the session, the user terminal 20 sends a second participation request to the server device 10 (S80). When the server device 10 receives the second participation request sent from the user terminal 20 (S81), it determines whether or not there is an available second participation slot for the session identified by the session ID (S82).
[0098] In this determination, if it is determined that there are no available slots in the second participation slot (NO in S82), the server device 10 notifies the user terminal 20 that sent the second participation request that it is not possible to participate in the specified session (S83). The operation when there are available slots in the second participation slot of the specified session (S84-92) is the same as the operation when the server device 10 receives the first participation request (S64-72 in Figure 14).
[0099] (Third embodiment) Next, the information processing system 3 of the third embodiment will be described. The basic configuration of the information processing system 3 of the third embodiment is the same as that of the information processing system 1 of the first embodiment (see Figures 1 to 3), but it is characterized by a mechanism in which users participating in a session share information within the game. In this specification, a user who shares information will be referred to as a "sharer" for convenience.
[0100] Figure 16 is a memory map showing an example of various data stored in the memory unit 22 of the user terminal 20 used in the third embodiment. The memory unit 22 of the user terminal 20 contains a terminal program 60, game status data 61, and sharer management data 62. In this embodiment, the explanation focuses on information sharing with the sharer, but the memory unit 22 of the user terminal 20 may also contain data other than the data shown in Figure 16. First, the game status data 61 and sharer management data 62 will be explained.
[0101] The game status data 61 includes data indicating the game status, which is updated by actions performed by users participating in the session. User terminals 20 receive the updated game status data from server device 10. The game status is synchronized among the user terminals 20 of users participating in the session, enabling multiplayer. Examples of game status data 61 include, for example, the terrain and map of the virtual space where the game takes place, environmental objects within the virtual space, data on the position and appearance of characters controlled by other users, data on explored areas, and the game's progress.
[0102] The game status data 61 also includes individual game status data for each user on the user terminal 20. For example, this includes data such as places the user has visited in the past and environmental objects the user has found. This data only needs to be held by the user on each user terminal 20 and does not necessarily need to be output to other users' user terminals 20.
[0103] Sharer management data 62 is data that identifies other participating users in a sharer relationship. Figure 17 shows an example of sharer management data 62. Sharer management data 62 contains a user ID to identify other users in a sharer relationship, the time the sharer relationship was established, and data indicating whether the user is online or not. The data indicating whether the user is online is "○" if the user is online.
[0104] The sharer management data 62 is valid only while the session is ongoing, and is deleted when the session is terminated. Therefore, the user ID is not stored in the sharer management data 62 at the time of initial participation in the session. If a sharer user leaves the session and then rejoins it, the sharer relationship remains. The user terminal 20 displays data indicating whether another sharer user is online as "×" indicating offline while the user is away from the session, and updates it to "〇" when the user rejoins the session. As a variation, it is also possible to delete the user ID of a user who has left the session from the sharer management data 62.
[0105] As explained above, the sharer relationship is session-only. It's a loose relationship in that the connection with the user who was a sharer ends after the session. Users can have loose connections with other users during the session. Also, there are no sharer users at the beginning of the session, and users can enjoy encountering other users' characters and connecting with them as sharers during the session.
[0106] In this embodiment, sharer management data 62 is stored in each user terminal 20. A sharer relationship is established when the distance between users meets a predetermined standard, as will be described later, and the permission of the other user is not required. Each user terminal 20 individually makes a determination to register a sharer, but the criteria for determining whether or not to establish a sharer relationship are common to all user terminals 20. Therefore, if the characters get closer than the predetermined standard, both user terminals 20 will register them as sharers. For example, if user A determines that user B is a sharer, user B will also determine that user A is a sharer. Thus, it becomes possible to share information between sharers.
[0107] In addition, due to a synchronization error between the user terminal 20 and the server device 10, it is possible that User A may register User B as a sharer, but User B may not register User A as a sharer. However, this embodiment allows such a situation. As a variation, if the distance between User A's character and User B's character on User A's terminal meets a predetermined standard, and the distance between User A's character and User B's character on User B's terminal meets a predetermined standard, User A may register User B as a sharer, and User B may register User A as a sharer.
[0108] Next, the terminal program 60 will be described with reference to Figure 18. Figure 18 is a diagram showing the contents of the terminal program 60. The terminal program 60 includes a game status update module 70, a sharer determination module 71, a relationship establishment notification module 72, and a share information output module 73. The user terminal 20 realizes its functions by reading the terminal program 60 stored in the memory unit 22 and executing it with the processor 21.
[0109] The game status update module 70 has the function of updating game status data 61 based on game status data transmitted from the server device 10, and also updating the individual game status data 61 for each user based on operation input to the user terminal 20.
[0110] The sharer determination module 71 has the function of determining whether or not a sharer relationship is established between the user of user terminal 20 and other users participating in the session. The sharer determination module 71 determines that a sharer relationship is established between the user of user terminal 20 and the user of the other user terminal 20 when the character controlled by the user of user terminal 20 and the character controlled by the user of the other user terminal 20 become closer in the virtual space than a predetermined standard.
[0111] In this embodiment, the predetermined criterion is a distance threshold within the virtual space, and a sharer relationship is established when the distance between characters becomes smaller than the threshold. The distance used as the predetermined criterion may be variable. For example, when the environment in which the user's character is located is brighter than the predetermined threshold, a first distance may be used as the criterion, and when it is darker than the predetermined threshold, a second distance shorter than the first distance may be used as the criterion for determining whether a sharer exists.
[0112] The relationship establishment notification module 72 has the function of notifying the user of user terminal 20 that a sharer relationship has been established when a sharer relationship has been established between the user of user terminal 20 and the user of another user terminal 20. Various methods can be used to notify the user of the sharer relationship. For example, a representation may be displayed that connects the character controlled by the user with the character controlled by the other user with whom the sharer relationship has been established by a line, or a message indicating that a sharer relationship has been established may be displayed, or notification may be given by sound.
[0113] Figure 19 shows an example image illustrating the establishment of a sharer relationship. Figure 19 displays characters P1 through P4. Character P1 is the character of the user of the user terminal 20 displaying the image shown in Figure 19. Characters P1 and P2, and P1 and P3 are connected by lines, indicating that a sharer relationship has been established between the user of character P1 and the user of character P2, and between the user of character P1 and the user of character P3. These lines are displayed temporarily when a sharer relationship is established and disappear after a certain period of time (e.g., a few seconds).
[0114] Furthermore, the message "You have become a sharer with User B." is displayed in the upper right corner of the screen shown in Figure 19. "User A" and "User B" are the names of the users, and "User A" is the name of the user of user terminal 20 that is displaying the image shown in Figure 19. The message in Figure 19 indicates that a sharer relationship has been established between "User A" and "User B". Similarly, the message "You have become a sharer with User C." indicates that a sharer relationship has been established between "User A" and "User C". This message also indicates that a sharer relationship has been established. This message is also displayed temporarily when a sharer relationship is established and will disappear after a certain period of time (for example, a few seconds).
[0115] In the example shown in Figure 19, both a line connecting the characters and a message are displayed to indicate that a sharer relationship has been established; however, either a line or a message may be displayed.
[0116] Returning to Figure 18, let's explain the terminal program 60. The share information output module 73 has the function of outputting a portion of the game status data of other users with whom a sharer relationship has been established as share information to the user terminal 20. As mentioned above, individual game status data of a user does not need to be synchronized with other user terminals 20, but by sharing individual game status data with users in a sharer relationship, a sense of connection with other users is given. However, it is not necessary to share all individual game status data. Below, we will explain the data that is shared as share information in this embodiment.
[0117] One type of shared information is information indicating the character's location. Figure 20 shows an example of a map displaying the locations of sharers' characters. The location indicated by the triangle (△) is the location of the user's own character on user terminal 20 displaying the map, and the locations indicated by the circle (〇) are the locations of the characters of users who are in a sharer relationship. By displaying the sharers' locations on the map in this way, their whereabouts can be grasped at a glance.
[0118] Another example of shared information is information about environmental objects found by users on other user devices 20. For example, if a second user finds a rare creature or treasure, the location and rarity information of that creature or treasure will be displayed. This can stimulate a sense of competition and provide hints for exploration, such as where to explore to find rare creatures or treasures. Yet another example of shared information is the emote icons that users on other user devices 20 have given to environmental objects such as creatures.
[0119] The following methods are possible for the share information output module 73 to acquire and output share information. One method is for the user terminal 20 to receive game status data of all session participants from the server device 10, and for the share information output module 73 to extract and output share information from the individual game status data of the participating users. Another method is for the share information output module 73 to have the user terminal 20 send data indicating the sharer to the server device 10, and for the server device 10 to receive the sharer's individual user game status data and output it on the user terminal 20. Two methods have been listed here, but the method of outputting share information is not limited to the above methods.
[0120] Figure 21 shows the operation of registering and deleting sharers by the information processing system 3. The flow shown in Figure 21 starts with the user terminal 20 already having joined the session. The server device 10 establishes communication with the user terminals 20 of the users who have joined the session and sends and receives game status data (S110, S111). The server device 10 sends the game status data necessary to realize multiplayer to each user terminal 20 and synchronizes the game status among each user terminal 20. In addition, each user terminal sends updated game status data to the server device 10 based on the operation input.
[0121] The user terminal 20 determines whether a character controlled by another user terminal is within a predetermined range of the character controlled by the user in the virtual space of the game (S114). If there is no other user's character within the predetermined range (NO in S114), the user terminal 20 returns to the process of updating the game status (S110, S111). In other words, the user terminal 20 controls the game while determining whether another character has entered the predetermined range.
[0122] If a character is within a predetermined range (YES in S114), the user terminal 20 registers the other user as a sharer (S115). After registering the sharer, the user terminal 20 outputs an image (Figure 19) indicating that a sharer relationship has been established with the second user (S116).
[0123] The user terminal 20 outputs share information of other users with whom a sharer relationship has been established. This operation will be explained using Figure 22. After a predetermined time has elapsed since the start of the session, the server device 10 sends a session termination message to the user terminals 20 of the users participating in the session (S117). When the user terminal 20 receives the session termination data (S118), it performs the game termination process for that session and deletes the sharer management data 62 (S119).
[0124] Figure 22 is a flowchart showing the operation of the information processing system 3 that outputs share information. The operation of the user terminal 20 and the server device 10 sending and receiving game status data 61 and updating the game status data 61 on the user terminal 20 is the same as the flow described in Figure 21. The user terminal 20 determines whether or not a sharer exists (S120), and if a sharer exists (YES in S120), it outputs share information (S121). As share information, the user terminal 20 outputs the location of the character of another user's terminal 20 on the map, and also outputs information such as the location and rarity of creatures, treasures, etc. discovered by other users' terminals 20.
[0125] The information processing system 3 of the third embodiment of the present invention has been described above. In the information processing system 3 of the third embodiment, a sharer relationship is established when the distance between user characters meets a predetermined standard, and a portion of the individual user's game status data is shared among the sharers as shared information. This allows users to feel a connection as if they are playing the game together with the sharers. Furthermore, the sharer relationship is deleted when the session ends, so there is no hassle. By realizing such loose connections with other users, it is possible to maintain a comfortable distance from other users.
[0126] In this embodiment, we have shown an example of displaying shared information on the user terminal 20 and sharing information among sharers, but what can be done among sharers is not limited to sharing individual user game status data. For example, by accepting operations to identify sharers located on the map and teleport operations, the user's character may be teleported (warped) to the location where the sharer user's character is located. With this configuration, exploration can be made easier by the presence of sharers, and players can feel as if they are playing together with the sharers.
[0127] In this embodiment, when a sharer relationship is established, an example is given in which the icon of the emote given by the sharer user to an environmental object such as a living creature is displayed. However, the icons used by the sharer may also be added to a collection and made available for use.
[0128] First, let's explain the emote icons. The emote icons that the user can use are stored in the memory unit 22. When a user on the user terminal 20 applies an emote icon to an environmental object such as a creature or terrain, the icons stored in the memory unit 22 are read and displayed as candidates. The user selects the desired icon from the displayed candidate icons. Icons stored in the memory unit 22 can be acquired and increased by obtaining them as rewards from events, or by purchasing them.
[0129] In a modified version of this embodiment, when a sharer user uses an emote icon and it is displayed on the user terminal 20, the user terminal 20 acquires the icon and stores it in the storage unit 22. In other words, displaying the icon used by the sharer becomes one of the acquisition routes for icons.
[0130] In the information processing system 3 of this embodiment, it may be possible to set restrictions on sharer relationships. Even if the character of a user who has set restrictions approaches a predetermined criterion, a sharer relationship will not be established. The character of a user who has set restrictions may be displayed in a different manner than the character of a user who has not set restrictions, so that it is clear that restrictions have been set. This configuration can also accommodate the requests of users who want to explore without the help of other users. [Explanation of symbols]
[0131] 1-3 Information Processing Systems 10 Server devices 11 processors 12 Storage section 13 Communications Department 20 User Terminals 21 processors 22 Memory section 23 Wireless Communication Department 24 Controller Communication Unit 25 Image and audio output section 26 Display section 30 controllers 31 Communications Department 32 Analog Sticks 33 Button section 34 Inertial Sensors 40 Server Programs 41 Session Data 42 Game progress data 50 Generating Modules 51 Participating Modules 52 Detachable Module 53. First Destroy Module 54. Second Destroy Module 55 Progress Update Module 56 Reward Granting Module 57 Restriction Removal Module 60 Terminal Programs 61 Game Status Data 62 Sharer Management Data 70 Game Status Update Module 71. Sharer Determination Module 72 Relationship Establishment Notification Module 73 Share Information Output Module
Claims
1. A server device that manages sessions that can be joined by multiple users, If the session generation conditions are met, a generation means for generating a session, When a participation request is received from a user's user terminal, a means of participation is provided to allow the user to join a session selected based on predetermined conditions. If the conditions for a user to leave the session are met, a means for removing the user from the session, If a first period of time has elapsed since the session was created, a first discard means is used to discard the session. Regardless of whether the first time has elapsed since the session was created, if the second time has elapsed since the number of participants in the session became zero, a second discard means discards the session. A server device equipped with the following features.
2. Users participating in the aforementioned session can play the game associated with that session together via their user terminal. The server device is Progress update means that updates the game progress based on data obtained from the user terminals of users participating in the session. If the progress described above satisfies the reward granting conditions, a reward granting means grants a reward to the user participating in the session. The server device according to claim 1, further comprising:
3. The server device according to claim 2, wherein the reward-granting means grants the reward to the user who was participating in the session at the time the progress satisfies the reward-granting conditions.
4. The server device according to claim 1, wherein, when a participation request is made, if no session managed by the server device exists, the generation means generates a new session that satisfies the session generation conditions.
5. The server device according to claim 1, wherein, when a participation request is made, if there are no available slots to participate in a session managed by the server device, the generation means generates a new session that satisfies the session generation conditions.
6. The server device according to claim 1, wherein the participation means allows the user to join the session if, after the user has left the session, a new participation request is received from the user's user terminal and the session has not yet been terminated.
7. The server device according to claim 1, wherein the participation means restricts participation in a different session when it receives a request from the user terminal to participate in a session different from the session in which the user terminal is currently participating.
8. The server device according to claim 7, further comprising a means for releasing restrictions on participation in different sessions by subtracting a predetermined parameter managed in association with the user.
9. An information processing program for managing sessions that can be joined by multiple users, which uses a computer If the session generation conditions are met, a generation means for generating a session, When a participation request is received from a user's user terminal, a means of participation is provided to allow the user to join a session selected based on predetermined conditions. If the conditions for a user to leave the session are met, a means for removing the user from the session, If a first period of time has elapsed since the session was created, a first discard means is used to discard the session. Regardless of whether the first time has elapsed since the session was created, if the second time has elapsed since the number of participants in the session became zero, a second discard means discards the session. An information processing program that functions as such.
10. A method for managing sessions that can be joined by multiple users, If the session generation conditions are met, the step to generate a session is to... When a participation request is received from a user's user terminal, the user is added to a session selected based on predetermined conditions. If the conditions for a user to leave the session are met, the step of removing the user from the session, If a first time has elapsed since the session was created, the session is destroyed. Regardless of whether the first time has elapsed since the session was created, if the second time has elapsed since the number of participants in the session became zero, the session is discarded. A session management method that includes the following features.
11. An information processing system comprising a server device that manages sessions in which multiple users can participate, and user terminals for each user, The aforementioned user terminal is Means for sending a request to join a session to a server device, Equipped with, The server device is If the session generation conditions are met, a generation means for generating a session, When a participation request is received from a user's user terminal, a means of participation is provided to allow the user to join a session selected based on predetermined conditions. If the conditions for a user to leave the session are met, a means for removing the user from the session, If a first period of time has elapsed since the session was created, a first discard means is used to discard the session. Regardless of whether the first time has elapsed since the session was created, if the second time has elapsed since the number of participants in the session became zero, a second discard means discards the session. An information processing system equipped with the following features.