WO2023189361A1 - コンピュータシステム、仮想空間制御システムおよび制御方法 - Google Patents

コンピュータシステム、仮想空間制御システムおよび制御方法 Download PDF

Info

Publication number
WO2023189361A1
WO2023189361A1 PCT/JP2023/009091 JP2023009091W WO2023189361A1 WO 2023189361 A1 WO2023189361 A1 WO 2023189361A1 JP 2023009091 W JP2023009091 W JP 2023009091W WO 2023189361 A1 WO2023189361 A1 WO 2023189361A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
virtual space
computer system
special control
virtual
Prior art date
Application number
PCT/JP2023/009091
Other languages
English (en)
French (fr)
Inventor
昌平 中野渡
量一 加来
明生 恩田
Original Assignee
株式会社バンダイナムコエンターテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社バンダイナムコエンターテインメント filed Critical 株式会社バンダイナムコエンターテインメント
Publication of WO2023189361A1 publication Critical patent/WO2023189361A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present invention relates to a computer system and the like that control a virtual space.
  • a virtual space (for example, a metaverse, a game space for a multiplayer online game, etc.) is constructed through computer processing, and a user character (for example, an avatar, a player character, etc.; hereinafter referred to as a "user character") is created. ) is known to provide users with a virtual experience in a virtual space.
  • Patent Document 1 discloses a technology that allows users who share one virtual space to communicate.
  • server systems each have virtual space data set to a common worldview, and each server system manages its virtual space individually, allowing users to
  • a system configuration is used in which user terminals (client terminals) to be used are connected in a distributed manner to these server systems.
  • the world that is the source of the virtual experience provided by this system can be said to be configured as a parallel world that is set to a common worldview and coexists in each virtual space, so this system can also be called a "parallel world type.” I can call.
  • one of the important elements that enriches the virtual experience is that multiple users can have the same experience at the same time. For example, in a participatory event in which multiple users can participate simultaneously, participation in the event not only becomes part of the virtual experience, but also the participation experience can subsequently become an important topic in the user community. If it becomes a hot topic in the user community, it can become a strong motivation for users to engage in virtual experiences, and it can become an opportunity for the world of virtual spaces to become more popular.
  • each server system usually manages the virtual space to be managed by paying attention to the situation of the virtual space.
  • the problem to be solved by the present invention is to create a system that allows multiple virtual spaces set to a common worldview to coexist, and that allows users to participate in these virtual spaces in a distributed manner to provide a virtual experience.
  • the goal is to provide technology that can be controlled from a variety of viewpoints.
  • a first disclosure is a computer system for controlling each virtual space in parallel, in which a plurality of users can participate in each virtual space set to a common worldview, an application destination determining unit that determines an application destination virtual space to which a given special control is applied based on the situation of each of the virtual spaces;
  • the computer system includes a special control application unit that applies the special control to the application destination virtual space.
  • the "computer system” referred to here may of course be composed of a single computer, or may be composed of multiple computers working together.
  • a computer system determines a virtual space to which a given special control is applied when simultaneously controlling a plurality of virtual spaces in which a plurality of users can participate in each virtual space.
  • special control can be applied to the applied virtual space. In other words, it becomes possible to control each virtual space from a cross-sectional perspective.
  • a second disclosure is a computer system in which the application destination determining unit determines the application destination virtual space based on a difference in the situation of each of the virtual spaces.
  • the computer system can determine the application destination virtual space based on the difference in the situation of each virtual space.
  • a third disclosure is a computer system, wherein the special control is a special control targeted at a given target event in which users participating in the application destination virtual space can participate.
  • a fourth disclosure is a computer system in which the target event is a common event that can occur in each of the plurality of virtual spaces.
  • Target events in which users participating in the application destination virtual space can participate can directly affect the evaluation of the virtual experience, so it is effective to subject them to special control.
  • the computer system can perform special control on target events in which users participating in the application destination virtual space can participate.
  • a fifth disclosure is a computer system further comprising a special control content determination unit that variably determines the content of the special control based on the situation of each of the virtual spaces.
  • a sixth disclosure is a computer system further comprising a special control content determination unit that determines the content of the special control by variably determining the control content of the target event based on the situation of each of the virtual spaces. be.
  • the computer system can perform special control of the contents depending on the situation of each virtual space.
  • a seventh disclosure is a computer system in which the special control content determination unit selects an event that has not occurred in the application destination virtual space as the target event, and variably determines the control content of the target event.
  • the computer system can change the control content using an event that has not yet occurred as a target event.
  • An eighth disclosure is a computer system in which the special control content determining unit variably determines the timing of occurrence of the target event.
  • the computer system can change the timing of occurrence of an event that has not yet occurred.
  • a ninth disclosure is a computer system in which the special control content determination unit selects an event that is in progress in the application destination virtual space as the target event, and variably determines the control content of the target event.
  • the computer system can change the control content of an event that is in progress in the application destination virtual space.
  • a tenth disclosure is a computer system in which the special control content determination unit variably determines the control content of an appearing object that appears in the target event.
  • the computer system can change the control details of the appearing objects that appear in the target event.
  • An eleventh disclosure is a computer system in which the special control content determining unit variably determines conditions for user participation in the target event.
  • the computer system becomes able to change the conditions for user participation in the target event.
  • the application destination determining unit determines the application destination virtual space based on the event situation of each of the virtual spaces
  • the special control content determining unit determines the application destination virtual space based on the event situation of each of the virtual spaces.
  • the computer system variably determines the content of the special control.
  • the computer system can determine the virtual space to which the virtual space is applied and the content of special control, depending on the event status such as the occurrence status and progress status of the event in each virtual space.
  • the event status includes an event participation status of an event in which the user can participate
  • the application destination determining unit determines the application destination virtual space based on the event participation status of each of the virtual spaces.
  • the special control content determining unit is a computer system that variably determines the content of the special control based on the event participation status of each of the virtual spaces.
  • the computer system can determine the application destination virtual space and the content of special control according to the user's participation status in the event.
  • the situation of the virtual space includes at least the participation situation of the users participating in the virtual space, and the application destination determining unit determines the situation of the virtual space based on the participation situation of each of the virtual spaces.
  • This is a computer system that determines the virtual space to which it will be applied.
  • the computer system can determine the applicable virtual space according to the participation status of the users participating in the virtual space.
  • a fifteenth disclosure is a computer system in which the participation status is any one of the number of participants, attributes of participating users, and behavior status of participating users in the virtual space.
  • Attributes of participating users may include the user's age, gender, place of residence, rank and level as a player, and the type and attributes of a user character (avatar or player character) used by the player.
  • the "behavior status of the participating user in the virtual space” refers to the actions performed by the participating user in the virtual space, such as movements performed by a user character (avatar or player character), or predetermined actions indicating joy or excitement. (e.g., V-sign, fist pump, repeating jumps, etc.), user evaluation input operations (e.g., operations to express liking, operations to select points or coins to indicate degree of liking, etc.) ), etc.
  • the application destination virtual space can be determined according to any of the number of participants, the attributes of the participating users, and the behavior status of the participating users in the virtual space.
  • a sixteenth disclosure is a computer system configured to include a computer that controls each virtual space.
  • the computer system can distribute the processing load related to the management of each virtual space.
  • a seventeenth disclosure is a computer system, wherein one of the computers for each of the virtual spaces that controls the virtual space includes the application destination determining unit and the special control application unit.
  • the computer system can suppress the number of computers configuring the system.
  • An eighteenth disclosure is a computer system, in which a computer that satisfies a supervising responsibility condition among the computers for each virtual space includes the application destination determining unit and the special control application unit.
  • the computer system can use the computer that includes the application destination determination unit and the special control application unit as a computer that satisfies the overall responsibility condition. If the supervising condition is a condition that can change (for example, a condition in which the processing load on each computer changes), then the computer equipped with the application destination determination section and the special control application section can be changed depending on the situation at the time. This makes it possible to switch flexibly.
  • the supervising condition is a condition that can change (for example, a condition in which the processing load on each computer changes)
  • a nineteenth disclosure is a virtual space control system comprising a server system which is the computer system, and a user terminal which is a man-machine interface for the user.
  • a 20th disclosure is a control method for a computer system to concurrently control each of the virtual spaces in which a plurality of users can participate in each virtual space set to a common worldview, the method comprising: This control method includes determining an application destination virtual space to which a given special control is applied based on a situation, and applying the special control to the application destination virtual space.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a central server system.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a game server system.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a user terminal.
  • 7 is a flowchart for explaining the flow of processing executed by the game server system in a modified example.
  • FIG. 1 is a diagram showing a configuration example of a virtual space control system 1000.
  • the virtual space control system 1000 is a system that provides a virtual experience in a virtual space to a large number of users.
  • the virtual space control system 1000 is a computer system including an operation system 1010 and user terminals 1500 (1500a, 1500b, . . . ) for each user, which are connected to each other for data communication via the network 9.
  • User terminal 1500 is a man-machine interface (MMIF).
  • MMIF man-machine interface
  • the virtual space control system 1000 provides various types of virtual experience services in a three-dimensional virtual space.
  • a game for example, MMOPRG (Massively Multiplayer Online Role-Playing Game) is provided as one of the virtual experience services, but the content of the virtual experience service is not limited to this.
  • MMOPRG Massively Multiplayer Online Role-Playing Game
  • the network 9 means a communication path that allows data communication. That is, the network 9 includes a LAN (Local Area Network) such as a dedicated line (dedicated cable) and Ethernet (registered trademark) for direct connection, as well as a telephone communication network, a cable network, and the Internet.
  • LAN Local Area Network
  • dedicated line dedicated cable
  • Ethernet registered trademark
  • the operation system 1010 is a computer system managed and operated by a service provider/system operator, and is a server system that includes a central server system 1100P and a plurality of game server systems 1100G (1100Ga, 1100Gb,).
  • the central server system 1100P and the game server system 1100G can achieve the same basic functions as computer systems. That is, the central server system 1100P and the game server system 1100G have a main unit, a keyboard, and a touch panel, and a control board 1150 is mounted on the main unit.
  • the control board 1150 includes various microprocessors such as a CPU (Central Processing Unit) 1151, a GPU (Graphics Processing Unit), and a DSP (Digital Signal Processor), various IC memories 1152 such as VRAM, RAM, and ROM, and a communication device 1153. It is installed. Note that part or all of the control board 1150 may be realized using an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or an SoC (System on a Chip).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • SoC System on a Chip
  • the central server system 1100P and the game server system 1100G realize separate functions by the control board 1150 performing arithmetic processing based on predetermined programs and data.
  • the central server system 1100P and the game server system 1100G are each depicted as being one server device, but they may be configured to be realized by multiple devices.
  • the central server system 1100P and the game server system 1100G may be configured to include a plurality of blade servers that share each function and are connected to each other via an internal bus so that data can be communicated.
  • the installation location of the hardware configuring the central server system 1100P and the game server system 1100G does not matter.
  • a configuration may be adopted in which a plurality of independent servers installed at remote locations are caused to perform data communication via the network 9, thereby functioning as the operational system 1010 as a whole.
  • the user terminal 1500 is a computer system used by a user to utilize the virtual space control system 1000.
  • the user terminal 1500 functions as a man-machine interface (MMIF) in the virtual space control system 1000.
  • MMIF man-machine interface
  • the user terminal 1500 is shown as a device called a smartphone, but if it is a computer system, it may be a wearable computer, a portable game device, a home game device, a tablet computer, a personal computer, or a standalone VR device.
  • a headset, etc. may also be used.
  • multiple electronic devices perform one function by being communicably connected, such as a combination of a smartphone, a smart watch connected to the smartphone, an optional VR headset, etc., these multiple electronic devices are It can be considered as one user terminal 1500.
  • the user terminal 1500 includes an operation input device (for example, a touch panel 1506, a keyboard, a game controller, a mouse, etc.), an image display device (for example, a touch panel 1506, a head-mounted display, a glass-type display, etc.), and a control board 1550. Be prepared.
  • an operation input device for example, a touch panel 1506, a keyboard, a game controller, a mouse, etc.
  • an image display device for example, a touch panel 1506, a head-mounted display, a glass-type display, etc.
  • a control board 1550 for example, Be prepared.
  • the control board 1550 is equipped with a CPU 1551, various microprocessors such as GPU and DSP, various IC memories 1552 such as VRAM, RAM, and ROM, a communication module 1553 connected to the network 9, and the like. These elements mounted on the control board 1550 are electrically connected via a bus circuit or the like, and are connected so that data can be read and written and signals can be transmitted and received. Part or all of the control board 1550 may be configured with ASIC, FPGA, or SoC.
  • the control board 1550 stores programs and various data in the IC memory 1552 for realizing the functions as a user terminal. By executing a predetermined application program, the user terminal 1500 realizes functions as a man-machine interface (MMIF) of the virtual space control system 1000 and as a game client.
  • MMIF man-machine interface
  • the user terminal 1500 is configured to download application programs and various data necessary for its execution from the game server system 1100G, it may also be configured to read them from a storage medium such as a memory card separately obtained by the user.
  • FIG. 2 is a diagram for explaining the virtual space 3 provided by the virtual space control system 1000.
  • the virtual space 3 includes a plurality of virtual spaces 3 (3a, 3b, . . . ) existing concurrently.
  • Each game server system 1100G (1100Ga, 1100Gb, . . . ) stores and manages at least one data of the virtual space 3 (3a, 3b, . . . ).
  • Each virtual space 3 (3a, 3b,...) is independent in its data entity, but the size of the virtual space 3, the structure of the virtual space 3, the position coordinate system, and the rules applied there are the same. , have a common basic structure with a common sense of the world.
  • Each virtual space 3 has a space and time flow different from reality, and continues to exist as data in the game server system 1100G even if the user is not logged in, and time passes in the virtual space as time passes in the real world. and are individually managed so that they continue to change.
  • the user operates his or her user terminal 1500 to log in to play the game to the game server system 1100G specified during the user registration procedure, and participates in the virtual space 3 of the game server system 1100G. do.
  • the game server system 1100G places the user character 4 of the user terminal 1500 that has logged in for play in the virtual space 3 (3a, 3b,%) managed by the game server system 1100G. Then, the game server system 1100G controls the actions of the user character 4 within the virtual space 3 according to the user's operation input, and as a result of the actions, objects forming the virtual space 3 (3a, 3b,...) appear. -Control movement, form change, and deletion.
  • the user can use the user terminal 1500 to participate in the virtual space 3 managed by the game server system 1100G, which is managed by the game server system 1100G, play an online game, and enjoy a virtual experience in the virtual space 3. can.
  • each virtual space 3 the situation changes flexibly depending on the time of day and the results of actions by a large number of participating users, and events may occur depending on the situation in the virtual space.
  • the virtual space control system 1000 performs special control on events that occur in each virtual space 3 and that are common to each virtual space 3 as target events.
  • Leveling means that users (event participating users) who are participating in the same event that is initially set in each of multiple virtual spaces 3 (events that are identified as having the same content in the initial settings) This is to "level out” the event so that the same virtual experience can be had even though the space 3 is different. Adding a difference is intentionally adding a difference to events that are initially set to have the same content.
  • FIG. 3 is a diagram for explaining an example of special control for the purpose of leveling.
  • a plurality of user terminals 1500 are connected to each of the three game server systems 1100G (1100Ga, 1100Gb, 1100Gc), and an online game based on a virtual space 3 (see FIG. 2) managed by each game server system 1100G is played.
  • the same type of event ⁇ (event ⁇ a, event ⁇ b, event ⁇ c) has already occurred and is in progress.
  • the central server system 1100P requests and acquires virtual space information 700 from each game server system 1100G at a given timing.
  • the virtual space information 700 includes various information indicating the status of the virtual space 3 managed by each game server system 1100G. For example, information such as (a) the number of space participating users, which is the number of users (space participating users) participating in the virtual space 3, and (b) event status information, which is information about the status of the ongoing event. including.
  • the "event status information” includes, for example, event occurrence status information and event progress status information.
  • the "event occurrence status information” is the number of events that have occurred in the virtual space 3 so far, the number of events that have occurred within a given calculation period, or the like.
  • Event progress information is elemental information for estimating the progress and excitement of an individual event by focusing on the event. For example, the number of users participating in the event, the behavior status of participating users, the chat statistics of comments that view the event in a positive manner (positive chat statistics), etc. good.
  • the "participating user's behavior status" is also the behavior status of the user character 4 of the participating user. For example, movements performed by the user character 4, predetermined actions that signify joy and excitement (e.g., V sign, fist pump, repeating jumps, etc.), user evaluation input operations (e.g., expressing liking) (e.g., operations to select points indicating the degree of favorability, operations to select coins to be tipped, etc.) may be used as the behavior status of the participating users.
  • predetermined actions that signify joy and excitement e.g., V sign, fist pump, repeating jumps, etc.
  • user evaluation input operations e.g., expressing liking
  • operations to select points indicating the degree of favorability e.g., operations to select coins to be tipped, etc.
  • “Positive chat statistics” are statistical values of comments that take a positive view of the event, such as the total number, the distribution of the number of comments per person, the average number of comments, the frequency distribution of comments per person, the average frequency, etc. You can also use it as
  • the central server system 1100P uses the virtual space information 700 acquired from each game server system 1100G to determine the virtual experience of the space participating users participating in each virtual space 3, especially the virtual experience of the event participating users participating in the event. Monitor superiority and inferiority. Then, focusing on a certain event, if the excitement of the event in a certain virtual space 3 is lower than that in other virtual spaces 3, the virtual space 3 is determined as the "applicable virtual space" and special control is performed. Execute.
  • a "change instruction" that specifies the event of interest as the application destination event and changes the application settings applied to the occurrence and progress of the event from the initial settings is sent to the application destination virtual space. It is transmitted to the game server system 1100G that manages it.
  • the number of users participating in the event ⁇ c is lower than that of the events ⁇ a and ⁇ b, and it is presumed that the event ⁇ c is less popular than the events ⁇ a and ⁇ b. Therefore, it is determined that the user participating in the event ⁇ c is not able to obtain the desired virtual experience at the event ⁇ , compared to the users participating in the event ⁇ a and ⁇ b.
  • the central server system 1100P transmits a change instruction that can be expected to make the event ⁇ c more exciting than the current situation, to the game server system 1100Gc that manages the virtual space 3 where the event ⁇ c is in progress.
  • the "change instruction” can be set as appropriate depending on the content of the event.
  • an instruction is given to additionally make an event NPC (Non Player Character) 6, such as a popular singer in the real world, appear at event ⁇ c, and
  • an event announcement is made to increase the number of users participating in the event. It includes an instruction to additionally arrange an event background object 7 in the virtual space 3.
  • event ⁇ c has not occurred in the game server system 1100Gc, by comparing the number of users participating in the space, it is possible to determine whether the number of users participating in event ⁇ c is likely to be lower than that of event ⁇ a or event ⁇ b. Estimate. If it is estimated that there is a high possibility that the game will be inferior, the central server system 1100P transmits a similar change instruction to the game server system 1100Gc. In this case, when the event ⁇ c occurs in the game server system 1100Gc, the application settings that reflect the contents of the change instruction will be applied to the contents of the initial settings of the event, so it will be better than the case where no special control is performed. There is a high possibility of excitement, and the purpose of leveling is fulfilled.
  • FIG. 4 is a diagram for explaining an example of special control for the purpose of adding a difference.
  • a plurality of user terminals 1500 are connected to each of the three game server systems 1100G (1100Ga, 1100Gb, 1100Gc), and an online game based on a virtual space 3 (see FIG. 2) managed by each game server system 1100G is played.
  • event ⁇ of the same type event ⁇ a and event ⁇ b have already occurred, and event ⁇ c has not yet occurred.
  • the event ⁇ is, for example, a live event in which a singer NPC performs a song, and is initially set so that the singer event NPC 6a appears.
  • the central server system 1100P requests and acquires virtual space information 700 (700a, 700b, 700c) from each game server system 1100G at a given timing.
  • the central server system 1100P compares the event status information of each virtual space information 700 and finds that the event NPC 6a has appeared with the default settings in all events ⁇ that have occurred so far, so there are slight differences. It is determined that it is necessary to create
  • the central server system 1100P creates and sends a change instruction to the game server system 1100Gc, where event ⁇ has not yet occurred, to make a preset event NPC 6b appear instead of the initial event NPC 6a. do.
  • the change instruction that has already been received is applied, and the event NPC 6b appears in the event ⁇ c.
  • an event NPC 6b may appear in addition to the initial event NPC 6a.
  • the song to be sung is a song by the event NPC 6a, and an instruction may be given to change the data of the song to be played so that the two singer NPCs perform a duet.
  • the virtual space control system 1000 performs the leveling described in FIG. 3 and the differentiation described in FIG. 4 for various events. This is achieved by the central server system 1100P having a cross-sectional view of each virtual space 3 in a parallel world type and individually controlling the occurrence and progress of events in each virtual space 3.
  • FIG. 5 is a block diagram showing an example of the functional configuration of the central server system 1100P.
  • the central server system 1100P includes an operation input section 100p, a processing section 200p, a sound output section 390p, an image display section 392p, a communication section 394p, and a storage section 500p.
  • the operation input unit 100p is a means for inputting various operations for managing the central server system 1100P. For example, keyboards, touch panels, mice, etc. fall under this category.
  • the processing unit 200p is realized by electronic components such as an IC memory in addition to a processor serving as an arithmetic circuit such as a CPU, GPU, ASIC, or FPGA, and is connected to each functional unit including an operation input unit 100p and a storage unit 500p. Controls data input/output.
  • the central server system 1100P operates by executing various calculation processes based on predetermined programs and data, operation input signals from the operation input unit 100p, data received from the user terminal 1500, the game server system 1100G, etc. control in an integrated manner.
  • the processing unit 200p includes a central server control unit 210, a clock unit 280p, a sound generation unit 290p, an image generation unit 292p, and a communication control unit 294p.
  • a central server control unit 210 includes a central server control unit 210, a clock unit 280p, a sound generation unit 290p, an image generation unit 292p, and a communication control unit 294p.
  • functional units other than these can also be included as appropriate.
  • the central server control unit 210 realizes a function as a central server in the virtual space control system 1000.
  • the central server control unit 210 includes an application destination determination unit 212 and a special control content determination unit 214.
  • the application destination determining unit 212 determines the application destination virtual space to which the given special control is applied based on the difference in the situation of each virtual space 3, especially the difference in the event situation of each virtual space 3.
  • the determination to determine the game server system 1100Gc as the application destination of special control corresponds to the determination by the application destination determination unit 212.
  • the special control content determining unit 214 variably determines the content of the special control including the control content of the target event based on the situation of each virtual space 3 (especially the event situation). Specifically, the special control content determination unit 214 variably determines the control content of the target event. As for the target event control contents, for target events that have not yet occurred, the occurrence timing, conditions for user participation in the target event, etc. are variably determined. Regarding the ongoing target event, the content of the event (for example, the control content of the appearing object), etc. is variably determined as the control content of the target event.
  • the clock unit 280p measures various times such as the current date and time and time limit using the system clock.
  • the sound generation unit 290p outputs the generated audio signal to the sound output unit 390p.
  • the sound output unit 390p is realized by a speaker or the like, and emits sound based on the audio signal.
  • the image generation unit 292p generates images of various management screens for system management of the central server system 1100P, and outputs image data to the image display unit 392p.
  • the image display unit 392p is realized by a device that displays images, such as a flat panel display, a head mounted display, or a projector.
  • the communication control unit 294p executes data processing related to data communication and realizes data exchange with an external device via the communication unit 394p.
  • the communication unit 394p connects to the network 9 to realize communication.
  • it is realized by a wireless communication device, a modem, a TA (terminal adapter), a jack for a wired communication cable, a control circuit, and the like. In the example of FIG. 1, this corresponds to the communication device 1153.
  • the storage unit 500p stores programs and various data for realizing various functions for causing the processing unit 200p to integrally control the central server system 1100P. Furthermore, the storage unit 500p is used as a work area for the processing unit 200p, and temporarily stores calculation results executed by the processing unit 200p according to various programs.
  • This function is realized by, for example, an IC memory such as a RAM or ROM, a magnetic disk such as a hard disk, an optical disk such as a CD-ROM or DVD, an online storage, and the like. In the example of FIG. 1, this corresponds to a storage medium such as an IC memory 1152 or a hard disk mounted on the main unit. Online storage may be included in the storage unit 500p.
  • the storage unit 500p stores the central server program 501, game server registration data 510, change instruction pattern definition data 520, received virtual space information 570, change instruction data 572, and current date and time 900. Note that the storage unit 500p also stores other programs and data (for example, timers, counters, various flags, etc.) as appropriate.
  • the central server program 501 is a program that is read and executed by the processing section 200p to cause the processing section 200p to function as the central server control section 210.
  • Game server registration data 510 is prepared for each game server system 1100G.
  • the game server registration data 510 includes a unique server ID, a virtual space ID managed by the game server system 1100G, and server access information required to connect to the game server system 1100G for data communication. ,including. Of course, data other than these can also be included as appropriate.
  • the change instruction pattern definition data 520 is prepared for each change instruction pattern according to various situations in the virtual space 3, event situations, and the like.
  • One change instruction pattern definition data 520 includes, for example, as shown in FIG. 6, a unique pattern ID 521, an application event ID 523 indicating to which event the definition data is applied, change instruction data 525, and application requirements. 527.
  • the change instruction data 525 stores various data specifying what and how to change the initial settings of the event indicated by the applied event ID 523 to make the applied settings applied to the event.
  • the change instruction data 525 is, for example, (a) Change destination event participation condition ID that specifies the type of event participation condition; (b) a change destination event occurrence condition ID that specifies the type of event occurrence condition; (c) a change destination branch pattern ID that specifies a change destination branch pattern in the event scenario; (d) a change destination event background object ID that specifies the type of the event background object 7; (e) a change target event background object motion ID that specifies the motion applied to the event background object; (f) Change destination event NPC ID that specifies the type of event NPC, (g) A change target event NPC movement ID that specifies the movement (motion) applied to the event NPC 6; (h) a change destination user character motion ID that specifies a motion that is specially applied to the user characters 4 of the event participating users in the event (for example, a simultaneous jump
  • the application requirements 527 describe the conditions that must be met in order for the definition data to be adopted, using individual requirements 530 and relative requirements 540.
  • the individual requirements 530 are requirements that are determined by referring to the virtual space information 700 (700a, 700b, ...; see FIGS. 3 and 4) individually, and are determined by combining one or more subconditions with AND or OR. Described. As sub-conditions of the individual requirement 530, a spatial participation user condition 531, an event occurrence status condition by virtual space 532, an event progress status condition by virtual space 533, and a date and time condition 534 may be used. Of course, sub-conditions with contents other than these may also be used in the description.
  • the spatial participation user conditions 531 are conditions related to users participating in the virtual space (space participation users), such as (a) the number of spatial participation users, (b) the attribute ratio of the number of spatial participation users, etc. Described as a threshold or range. Of course, information other than these may also be used for the description.
  • the attribute ratio of the number of users participating in the space for example, the male-female ratio, the age ratio, the attribute ratio of the user characters 4, etc. may be used.
  • the virtual space-specific event occurrence status conditions 532 are conditions related to the event occurrence status in the virtual space, and include, for example, thresholds such as (a) the number of events that have occurred in a given calculation period, (b) the frequency of occurrence, etc. Described as a range. Of course, conditions may be described using information other than these. For example, by focusing on a specific event (for example, an anniversary event, etc.), the presence or absence of its occurrence may also be used to describe the condition.
  • the virtual space-based event progress condition 533 is a condition regarding the progress and excitement of an event in progress in the virtual space.
  • the virtual space-based event progress condition 533 includes, for example, (a) the number of events in progress, (b) the number of users participating in the event, and (c) a value indicating the behavior status of the users participating in the event (for example, "like"). (e.g., number of user ratings), (d) chat statistics of comments that view the event positively among the chat contents of event-participating users who are participating in the event (positive chat statistics), (e) cancellation of participation midway through.
  • the event is a possible event, it is described as a threshold value or range, such as the average length of event participation time that event participating users participated in the event. Of course, conditions may be described using information other than these.
  • the date and time condition 534 is a condition regarding the current date and time 900 in the virtual space. For example, it may be used when setting a change instruction pattern for a specific period.
  • the relative requirement 540 is a requirement determined by comparing all the virtual space information 700, and is a requirement regarding the difference between the situation of the virtual space 3 and the situation of other virtual spaces 3. It is a requirement.
  • the relative requirement 540 is described by combining one or more sub-conditions with AND or OR.
  • sub-conditions of the relative requirement 540 a relative space participation user condition 541, a relative event occurrence condition 542, and a relative event progress condition 543 may be used. Of course, sub-conditions with contents other than these may also be used in the description.
  • the relative space participation user condition 541 is a condition regarding the difference between a space participation user in the virtual space and a space participation user in another virtual space.
  • the relative space participation user condition 541 is, for example, (a) The difference between the number of spatially participating users in that virtual space and the average value (or median) of the spatially participating users in other virtual spaces, (b) the difference between the male-female ratio of space-participating users in that virtual space and the average value (or median) of the male-female ratio of space-participating users in other virtual spaces; (c) the difference between the attribute ratio of the user character 4 of the space participating user in that virtual space and the attribute ratio of the user character 4 of the space participating user in another virtual space; It is described as a threshold value or range such as. Of course, information other than these may also be used for the description.
  • the relative event occurrence status condition 542 is a condition regarding the difference between event occurrence status information in the virtual space and event occurrence status information in another virtual space.
  • the relative event occurrence condition 542 is, for example, (a) The difference between the number of events that have occurred in a given calculation period in that virtual space and the average value (or median) of the number of events that have occurred in the same calculation period in other virtual spaces, (b) The difference between the frequency of occurrence in virtual space and the average value (or median) of frequency of occurrence in other virtual spaces, It is described as a threshold value or range such as. Of course, information other than these may also be used for the description.
  • the relative event progress condition 543 is a condition regarding the difference between event progress information in the virtual space and event progress information in another virtual space.
  • the relative event progress condition 543 is, for example, (a) The difference between the number of ongoing events in that virtual space and the average value (or median) of the number of ongoing events in other virtual spaces; (b) the difference between the number of users participating in the event in that virtual space and the average value (or median) of the number of users participating in the event in other virtual spaces; (c) the difference between the value indicating the behavioral status of the event participating user in that virtual space and the average value (or median) of the value indicating the behavioral status of the event participating user in other virtual spaces; (d) the difference between the positive chat statistics in that virtual space and the average (or median) of positive chat statistics in other virtual spaces; (e) the difference between the average event participation time length in that virtual space and the average value (or median) of the average event participation time length in other virtual spaces; It is described as a threshold value or range. Of course, information other than these may also be
  • the change instruction data 572 is temporarily created every time the central server system 1100P issues a change instruction to the game server system 1100G.
  • the change instruction data 572 includes, for example, an application destination virtual space ID, an application destination event ID, change instruction data (a copy of the change instruction data 525 of the change instruction pattern definition data 520 that satisfies the application requirements 527 in FIG. 6), including.
  • FIG. 7 is a block diagram showing an example of the functional configuration of the game server system 1100G (1100Ga, 1100Gb,).
  • the game server system 1100G includes an operation input section 100g, a processing section 200g, a sound output section 390g, an image display section 392g, a communication section 394g, and a storage section 500g.
  • the operation input unit 100g is a means for inputting various operations for managing the game server system 1100G.
  • keyboards, touch panels, mice, VR controllers, etc. fall under this category.
  • the processing unit 200g is realized by electronic components such as an IC memory in addition to a processor serving as an arithmetic circuit such as a CPU, GPU, ASIC, or FPGA, and is connected to each functional unit including an operation input unit 100g and a storage unit 500g. Controls data input/output.
  • the game server system 1100G executes various calculation processes based on predetermined programs and data, operation input signals from the operation input unit 100g, data received from the user terminal 1500, the central server system 1100P, etc. Control operations in an integrated manner.
  • the processing section 200g includes a game server control section 230, a clock section 280g, a sound generation section 290g, an image generation section 292g, and a communication control section 294g.
  • a game server control section 230 controls the processing section 200g.
  • the game server control unit 230 realizes a function as a game server.
  • the game server control unit 230 includes a user management unit 232, a virtual space control unit 234, a game progress control unit 236, a chat control unit 240, a user evaluation control unit 242, and a virtual space information providing unit. 244, and a special control application section 246.
  • the user management unit 232 performs processing related to user registration procedures, storage management of various information linked to user accounts, and play login/play logout processing.
  • the virtual space control unit 234 performs management control of the virtual space 3.
  • the game progress control unit 236 controls the progress of an online game using the virtual space 3 as a game. For example, it executes hit determination, play performance determination for each user character 4, scenario branch determination, and the like.
  • the chat control unit 240 realizes a chat function between users participating in the space.
  • the user evaluation control unit 242 realizes a user evaluation function by space participating users.
  • the virtual space information providing unit 244 performs control to generate virtual space information 700 of the virtual space 3 and send it back to the central server system 1100P in response to a virtual space information provision request from the central server system 1100P.
  • the special control application unit 246 applies, in the application destination virtual space, a given target event (a common event that can occur in each of the plurality of virtual spaces 3) in which users participating in the application destination virtual space can participate. Special control is applied based on the situation of each virtual space 3 (particularly the event situation). Specifically, the change indicated by the change instruction data 525 (see FIG. 6) included in the change instruction is applied to the event indicated by the application destination event ID of the change instruction received from the central server system 1100P.
  • the timekeeping unit 280g uses the system clock to measure various times such as the current date and time and time limit.
  • the sound generation unit 290g is realized by executing an IC and software that generates and decodes audio data, and performs system management of the game server system 1100G, operation sounds and sound effects related to providing online games, BGM, voice calls, etc. Generate or decode audio data. Then, audio signals related to system management are output to the sound output section 390g.
  • the sound output unit 390g is realized by a speaker or the like, and emits sound based on the audio signal.
  • the image generation unit 292g generates images of various management screens for system management of the game server system 1100G, and outputs a display control signal for displaying the generated images to the image display unit 392g.
  • the image generation unit 292g also generates images related to game play, and generates image data for displaying the generated images on the user terminal 1500.
  • the image display section 392g is realized by a device that displays images, such as a flat panel display, a head mounted display, or a projector.
  • the communication control unit 294g realizes data exchange with an external device via the communication unit 394g.
  • the communication unit 394g connects to the network 9 to realize communication.
  • it is realized by a wireless communication device, a modem, a TA (terminal adapter), a jack for a wired communication cable, a control circuit, and the like. In the example of FIG. 1, this corresponds to the communication device 1153.
  • the storage unit 500g stores programs and various data for realizing various functions for causing the processing unit 200g to integrally control the game server system 1100G. It is also used as a work area for the processing section 200g, and temporarily stores calculation results executed by the processing section 200g according to various programs.
  • This function is realized by, for example, an IC memory such as a RAM or ROM, a magnetic disk such as a hard disk, an optical disk such as a CD-ROM or DVD, an online storage, and the like. In the example of FIG. 1, this corresponds to a storage medium such as an IC memory 1152 or a hard disk mounted on the main unit. Online storage may be included in the storage unit 500g.
  • FIG. 8 is a diagram showing an example of programs and data stored in the storage unit 500g of the game server system 1100G.
  • the storage unit 500g stores, for example, a game server program 601, a distribution client program 603, user management data 606, game initial setting data 608, virtual space control data 650, received change instruction data 680, and a central server.
  • Virtual space information 700 to be submitted to the system 1100P and current date and time 900 are stored. Of course, data other than these may be stored as appropriate.
  • the game server program 601 is a program that is read and executed by the processing unit 200g to cause the processing unit 200g to function as the game server control unit 230.
  • the distribution client program 603 is an original application program provided to and executed by the user terminal 1500 accessing the game server system 1100G, and is a program for making the user terminal 1500 realize the function as a game client.
  • the user management data 606 is prepared for each user who has completed the registration procedure, stores various data related to the user, and is managed by the user management unit 232.
  • One piece of user management data 606 includes, for example, game save data in association with a user account specific to the user. Of course, data other than these can also be included as appropriate.
  • Game initial setting data 608 stores various initial setting data for realizing an online game. For example, event initial setting data 610 prepared for each event type is stored.
  • the event initial setting data 610 includes, for example, an event ID 611 unique to the event type, an event occurrence condition 612, one or more event participation conditions 614, event scenario data 616, and an initial event background object.
  • the event occurrence condition 612 is a condition for determining the timing of occurrence of the event.
  • the virtual experience is an MMOPRG, so for example, a predetermined period on the calendar has arrived, a specific date and time has arrived, a predetermined background object (for example, a trick object) has been activated in the virtual space 3, a specific It may also be that the user has had a conversation with an NPC, or that the number of users participating in the space has reached a predetermined value.
  • the event participation conditions 614 define conditions that must be met in order for a space participating user to be able to participate in the event.
  • One event participation condition 614 includes an event participation condition ID and condition definition data.
  • the condition definition data is written by combining, for example, one sub-condition or a plurality of sub-conditions with AND or OR.
  • sub-conditions of condition definition data include: (a) Threshold value and range of distance from a predetermined event occurrence position to the user character 4, (b) a range of character level thresholds that are automatically given according to the play performance of the user character 4; (c) Types of items and skills that the user character 4 should possess; (d) Play performance of user character 4 (or the party to which user character 4 belongs) (for example, number of dungeons cleared, number of missions cleared, etc.) (e) Specified date, specified time, period, etc. of the current date and time 900, It can be described using Of course, conditions may be described using information other than these.
  • the event scenario data 616 is initial setting data that determines the progress of the event. If the scenario includes a branch, it includes a plurality of branch pattern data 618 with different branching methods.
  • One branch pattern data 618 stores a branch pattern ID and a condition for selecting a branch destination for each branch point in association with each other.
  • the event background object initial setting data 620 is prepared for each type of event background object 7 (see FIG. 3) placed in the virtual space 3 at the event.
  • One event background object initial setting data 620 stores object model data, texture data, initial motion data (motion data), etc. in association with an object ID.
  • the event background object motion data 622 is preliminary motion data to be applied to the event background object 7, and is prepared in a single type or in a plurality of types with different motions.
  • One event background object action data 622 stores an applied background object ID, action ID, and action data in association with each other.
  • the game server system 1100G applies the action data of the specified action ID to the event background object 7 of the specified background object ID. Apply.
  • the event NPC initial setting data 624 is prepared for each type of event NPC 6 (see FIG. 3) to be placed in the virtual space 3 at the event, and a plurality of event NPCs are prepared for different characters.
  • One event NPC initial setting data 624 stores a character-specific NPC ID, object model data, texture data, initial motion data (motion data), etc. in association with each other.
  • the event NPC action data 626 is preliminary action data to be applied to the event NPC 6, and multiple types are prepared for different actions.
  • One event NPC action data 626 stores an application destination NPC ID, an NPC action ID, and action data in association with each other.
  • the game server system 1100G applies the action data of the specified action ID to the event NPC 6 of the specified NPC ID.
  • the event NPC 6 is set as a singer, this applies to the audio data of the song and the data of the choreographed movements of the song.
  • the event user character motion data 628 is motion data that is applied to the user character 4 of the event participating user of the event, and is prepared in multiple types with different motions.
  • One event user character motion data 628 stores a user character motion ID and motion data in association with each other. For example, in the case of an event where all the user characters 4 of the event participating users dance, the dance motion data corresponds to this.
  • the game server system 1100G applies the motion data of the specified user character motion ID to the user character 4 of the event participating user at a given timing.
  • the event video data 630 is video data to be broadcast within the event, and a plurality of data with different video contents are prepared.
  • One event video data 630 stores a video ID and a video file in association with each other.
  • the game server system 1100G displays the video of the designated video ID at a given timing.
  • the event effect data 632 is data of effects used in the event, and a plurality of data with different video contents are prepared.
  • the contents of the effect can be set as appropriate. For example, smoke, spotlights, fireworks, sound special effects, special effects for motion such as a snowstorm, and slow motion can be set as appropriate.
  • One event effect data 632 stores an effect ID and effect execution data in association with each other.
  • the game server system 1100G causes the effect of the specified effect ID to be executed at a given execution timing.
  • the standard setting data 640 specifies the standard content of the event. For example, (a) standard event participation condition ID, (b) standard branch pattern ID, (c) standard background object ID, (d) standard NPC ID, (e) standard user character action ID, (f) standard video type, (g ) Standard effect types, including.
  • the standard background object ID and standard NPC ID are omitted. If the user character 4 is not made to perform a special action, the standard user character action ID is omitted. When no video is shown or no effects are used, the standard video type and standard effect type are omitted.
  • the virtual space control data 650 stores various data for managing and controlling the virtual space 3.
  • the virtual space control data 650 includes a virtual space ID 651 and event control data 660 that is created every time an event occurs.
  • data other than these can also be included as appropriate.
  • FIG. 10 is a diagram showing an example data structure of event control data 660.
  • the event control data 660 includes an event ID 661, an occurrence date and time 662, an event participating user account list 664, scenario branching result data 666, application setting data 668, event object control data 670, and event NPC control data 672. , event screening control data 674 , event effect control data 676 , and event participation status information 678 . Of course, data other than these can also be included as appropriate.
  • the applied setting data 668 indicates various settings applied to control the event.
  • the application setting data 668 is a copy of the standard setting data 640 of the event initial setting data 610 (see FIG. 9) of the event indicated by the event ID 661.
  • the game server system 1100G receives a change instruction from the central server system 1100P and the applicable event corresponds to the application destination event, the contents of the applied setting data 668 are changed to the change instruction data 525 (see FIG. 6) of the applicable change instruction. ) is changed.
  • Event object control data 670, event NPC control data 672, event screening control data 674, and event effect control data 676 include the event background object 7, event NPC 6, event video, It is prepared for each event effect and stores various data for controlling the corresponding object, video, and effect.
  • Event participation status information 678 indicates the participation status of event participating users in the event, and stores various data that are the basis for estimating the level of excitement of the event.
  • the event participation status information 678 includes, in addition to the event ID of the event, (a) Number of users participating in the event, (b) Attribute ratio of the number of users participating in the event (for example, gender ratio, age ratio, attribute ratio of user character 4, etc.), (c) Value indicating the behavior status of event participating users (event participating user behavior status value) (d) Chat statistical values of comments that view the event in a positive light among the chat contents of event participating users who are participating in the event (positive chat statistical values), (e) If the event allows participation to be canceled midway through, the average length of event participation time during which event participating users participated in the event; Store one or more of the following.
  • the "event participation user behavior status value” includes the movement performed by the user character 4, the number of times a type of predetermined action that means joy or excitement (for example, V sign, fist pump, repeating a jump, etc.) is performed, and user evaluation input. This includes the number of times each type of operation (for example, an operation that expresses liking, an operation that selects points or coins that indicate the degree of liking, etc.) is performed, and the like.
  • the received change instruction data 680 has the same content as the change instruction data 572 (see FIG. 5) received from the central server system 1100P.
  • the virtual space information 700 stores various data indicating the status of the virtual space 3 managed by the game server system 1100G. This information is sent back to the central server system 1100P when a provision request is received from the central server system 1100P.
  • the virtual space information 700 includes a server ID 701 indicating the transmission source, a virtual space ID 703 indicating which virtual space 3 the information is about, space participation user information 705, and event occurrence status information 707. , event progress information 710, and date and time information 720 that is a copy of the current date and time 900 at the time of transmission.
  • the space participation user information 705 includes one or more pieces of information, such as the number of space participation users, the gender ratio of space participation users, the attribute ratio of the user characters 4 of space participation users, and the like.
  • the event occurrence status information 707 includes one or more pieces of information such as the number of events that have occurred up to now or in the most recent given calculation period, the number of ongoing events, and whether or not a specific event has occurred.
  • the event progress information 710 is created for each event in progress based on the respective event control data 660 (see FIG. 10).
  • One piece of event progress information 710 includes an event ID 711 , an occurrence date and time 712 , scenario branching result data 714 , application setting data 716 , and event participation status information 718 .
  • the applied setting data 716 stores various data indicating settings currently applied to the event. Initially, the standard setting data 640 (see FIG. 9) of the event indicated by the event ID 711 is copied to the application setting data 716, but if there is a change instruction that specifies the event as the application destination event, the data included in the change instruction is The contents of the change instruction data 525 (see FIG. 6) are changed.
  • the event participation status information 718 is a copy of the event participation status information 678 (see FIG. 10) for the event.
  • FIG. 12 is a functional block diagram showing an example of the functional configuration of the user terminal 1500.
  • the user terminal 1500 includes an operation input section 100, a terminal processing section 200, a sound output section 390, an image display section 392, a communication section 394, and a terminal storage section 500.
  • the operation input unit 100 outputs operation input signals corresponding to various operation inputs made by the user to the terminal processing unit 200.
  • it can be realized by a push switch, joystick, touch pad, trackball, acceleration sensor, gyro, VR controller, etc.
  • the terminal processing section 200 is realized by, for example, a microprocessor such as a CPU or GPU, or an electronic component such as an IC memory, and controls data input/output between each functional section including the operation input section 100 and the terminal storage section 500. conduct.
  • the operation of the user terminal 1500 is controlled by executing various calculation processes based on predetermined programs and data, operation input signals from the operation input unit 100, and various data received from the central server system 1100P and the game server system 1100G. Control.
  • the terminal processing unit 200 includes a client control unit 260, a clock unit 280, a sound generation unit 290, an image generation unit 292, and a communication control unit 294.
  • the client control unit 260 performs various controls to cause the user terminal 1500 to function as a man-machine interface (MMIF) as a game client.
  • the client control section 260 includes an operation input information providing section 261 and a display control section 262.
  • the operation input information providing unit 261 controls transmitting operation input information to the game server system 1100G in response to input from the operation input unit 100.
  • the display control unit 262 performs control to display various images based on data received from the game server system 1100G.
  • the clock unit 280 measures the current date and time, time limit, etc. using the system clock.
  • the sound generation unit 290 is realized by, for example, a digital signal processor (DSP), a processor such as a voice synthesis IC, an audio codec that can play audio files, etc., and generates sound signals for music, sound effects, and various operation sounds, It is output to the sound output section 390.
  • DSP digital signal processor
  • the sound output section 390 is realized by a device such as a speaker that outputs sound based on the sound signal input from the sound generation section 290.
  • the image generation unit 292 outputs a display control signal that causes the image display unit 392 to display an image based on the control of the client control unit 260.
  • this includes a GPU (Graphics Processing Unit), a graphics controller, a graphics board, etc. mounted on the control board 1550.
  • the image display unit 392 is realized by a device that displays images, such as a flat panel display, a head-mounted display, or a projector.
  • the communication control unit 294 executes data processing related to data communication and realizes data exchange with an external device via the communication unit 394.
  • the communication unit 394 connects to the network 9 to realize communication.
  • it is realized by a wireless communication device, a modem, a TA (terminal adapter), a jack for a wired communication cable, a control circuit, and the like.
  • this corresponds to the communication module 1553.
  • the terminal storage unit 500 stores programs and various data for making the terminal processing unit 200 realize a given function. It is also used as a work area for the terminal processing section 200, and temporarily stores calculation results executed by the terminal processing section 200 according to various programs, input data input from the operation input section 100, and the like.
  • These functions are realized by, for example, IC memories such as RAM and ROM, magnetic disks such as hard disks, optical disks such as CD-ROMs and DVDs, and the like. In the example of FIG. 1, this corresponds to the IC memory 1552 mounted on the control board 1550.
  • the terminal storage unit 500 stores a client program 800 (application program) for causing the user terminal 1500 to function as the client control unit 260, and the current date and time 900.
  • client program 800 application program
  • data other than these can also be stored as appropriate.
  • a part of the game initial setting data 608 may be downloaded and stored.
  • FIG. 13 is a flowchart for explaining the flow of the central processing executed by the central server system 1100P.
  • the central server system 1100P transmits a request to provide virtual space information 700 to each game server system 1100G at a given timing (for example, at a predetermined period). Then, virtual space information 700 is acquired from each game server system 1100G and stored as received virtual space information 570 (see FIG. 5) (step S12).
  • the central server system 1100P executes loop A for each game server system 1100G (steps S32 to S46).
  • the game server system 1100G executes loop B for each event that is in progress on the target server, which is the game server system 1100G that is the processing target of the current loop A (steps S34 to S44).
  • the event being executed on the target server can be determined from the event ID 711 of the event progress information 710 (see FIG. 11) included in the received virtual space information 570.
  • the game server system 1100G searches the change instruction pattern definition data 520 (see FIG. 6) for definition data in which the target event satisfies the application requirements 527. If there is corresponding definition data (YES in step S36), the game server system 1100G determines the target server as the virtual space to which the given special control is applied (step S38). Furthermore, the change instruction data 525 of the change instruction pattern definition data 520 determined to be applicable is determined as the content of special control (step S40).
  • change instruction data 572 regarding the target event of the target server is created and sent to the target server (step S42), and loop B is ended (step S44).
  • loop A ends (step S46). Then, once loop A has been executed for all game server systems 1100G, the process returns to step S12.
  • FIG. 14 is a flowchart for explaining the flow of game server processing executed by the game server system 1100G.
  • the game server system 1100G refers to the game initial setting data 608, places various objects in the three-dimensional virtual space, constructs a virtual space 3 that is a game space (step S50), and starts automatic control of the virtual space 3. (Step S52). That is, automatic control of NPCs and background objects in the virtual space 3 is started.
  • the game server system 1100G When the game server system 1100G receives the change instruction from the central server system 1100P (YES in step S54), the game server system 1100G saves it as received change instruction data 680 (step S56). Then, if the application destination event ID of the received change instruction indicates an event in progress (YES in step S58), the game server system 1100G follows the received change instruction to apply setting data 668 of the event (FIG. 10). ) and delete the received change instruction data 680 (step S60). As a result, the special control specified by the change instruction will be applied to the event in progress.
  • the game server system 1100G searches the received change instruction data 680 for an unoccurred event that satisfies the change destination event occurrence condition ID. If there is a corresponding event (YES in step S80), the game server system 1100G prepares event control data 660 (see FIG. 10) for the corresponding event. Then, the game server system 1100G copies the standard setting data 640 of the event initial setting data 610 (see FIG. 9) of the event to the applied setting data 668, and then copies the received change instruction data that is the basis for the determination in step S80. The change instruction 680 is reflected and the received change instruction data 680 is deleted (step S82).
  • the game server system 1100G places various objects related to the event in the virtual space 3, generates the event, and starts controlling its progress (step S88).
  • the special control specified by the change instruction will be applied to the newly generated event.
  • step S80 if there is no corresponding event in step S80 (NO in step S80), the game server system 1100G, if there is an unoccurred event that satisfies the event occurrence condition 612 of the event initial setting data 610 (step S84), Event control data 660 (see FIG. 10) for the event is prepared (step S86). Then, the game server system 1100G places various objects related to the event in the virtual space 3, generates the event, and starts controlling the progress of the event (step S88).
  • the game server system 1100G receives a request for providing virtual space information 700 from the central server system 1100P (YES in step S90), it creates virtual space information 700 and returns it (step S92). .
  • each virtual space can be It is possible to provide technology that can be controlled from a viewpoint.
  • the virtual space control system 1000 controls in parallel a plurality of virtual spaces 3 in which a plurality of users can participate in each virtual space 3. Then, the virtual space control system 1000 performs given special control (for example, changing event participation conditions, changing event occurrence conditions, changing event NPC 6 and event background object 7, etc.) from virtual space 3.
  • the application destination virtual space to which the control) is applied can be determined, and the special control can be applied to the application destination virtual space. In other words, each virtual space can be controlled from a cross-sectional perspective.
  • each virtual space 3 it is possible to strike a balance between providing an equal virtual experience to users and creating a topic regarding the event in the user community.
  • Modification 1 For example, in the above embodiment, an example was shown in which the virtual experience provided by the virtual space control system 1000 is an online game, but the virtual experience is not limited to a game. For example, explore virtual planets, interact with various fantastic animals in a virtual fantasy world, fall in love in a virtual world, raise animals and plants in a virtual world, do business in a virtual world, etc. It can be set as appropriate.
  • the central server system 1100P and the game server system 1100G are described as separate entities, but a configuration may be adopted in which one of the game server systems 1100G also functions as the central server system 1100P. That is, one computer among the computers for each virtual space that controls the virtual space 3 may include the application destination determining section 212, the special control content determining section 214, and the special control applying section 246.
  • the processing section 200p includes a central server control section 210 and a game server control section 230, but the central server control section 210 is activated by the central function switching control section 270 only when a given expression condition is satisfied. Specifically, when a predetermined transfer request is received from another game server system 1100G functioning as the central server system 1100P, it is considered that a predetermined expression condition is satisfied.
  • the storage unit 500g of the game server system 1100Gp stores programs and data stored in the game server system 1100G in the above embodiment, programs and data stored in the central server system 1100P in the above embodiment, can be memorized.
  • the storage unit 500g of the game server system 1100Gp stores a supervisory function switching program 902 and a supervisory flag 904.
  • the overall function switching program 902 is a program for causing the processing unit 200g of the game server system 1100Gp to realize the function as the overall function switching control unit 270.
  • the supervisor flag 904 is set to "1" when the game server system 1100Gp is functioning as the supervisor server system 1100P.
  • FIG. 17 is a flowchart for explaining the process flow of the game server system 1100Gp.
  • the game server system 1100Gp creates supervisory person determination information and exchanges the information with another game server system 1100G (step S100).
  • the supervisory person determination information is information for determining which server system is in a relatively light load state among the plurality of game server systems 1100Gp. For example, (a) the average value or median value of the calculation processing additional status value (so-called busy value) over a given calculation period (for example, the past few hours, the past 24 hours, the past several days, etc.), (b) the spatial participation user The average value, median value, etc. for a given calculation period may be used.
  • the game server system 1100Gp determines whether the own machine satisfies a predetermined supervisory condition based on the supervisory supervisor determination information of the own machine and the supervisory supervisor determination information acquired from the other game server systems 1100Gp.
  • the supervisory duty condition may be, for example, that the load is the lowest among the load states that can be determined from the supervisory duty determination information.
  • step S102 the game server system 1100Gp communicates with other game server systems 1100G to selectively select and determine the supervisor,
  • the supervising flag 904 is set to "1 (own machine is in charge of supervising)" (step S104). If the overall responsibility condition is not satisfied (NO in step S102), the overall supervisor flag 904 is set to "0" (step S106).
  • step S110 If the supervisor flag 904 is "1"("1" in step S110), the game server system 1100G executes the supervisory process (step S112; see FIG. 13), and then executes the game server process (step S114). ; see Figure 14). If the supervisor flag 904 is "0"("0" in step S110), the game server process is executed without executing the supervisor process (step S114).
  • one game server system 1000Gp that functions as the central server control unit 210 is selected, but multiple systems may be selected. In that case, the game server system 1000Gp responsible for the application destination determination section 212 and the game server system 1000Gp responsible for the special control content determination section 214 are selected separately, and the central server control section 210 is controlled by a total of two game server systems 1000Gp. It is also possible to have a structure that covers all of the above.
  • Virtual space 210 Central server control unit 212... Application destination determination unit 214... Special control content determination unit 230... Game server control unit 234... Virtual space control unit 244... Virtual space information provision unit 246... Special control application unit 270... Supervisory function switching control unit 501... Supervisory server program 520... Change instruction pattern definition data 525... Change instruction data 527... Application requirements 531... Space participation user conditions 532... Event occurrence status conditions by virtual space 533...

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

共通の世界観に設定され、各仮想空間に複数のユーザが参加可能な複数の仮想空間を並行に制御する仮想空間制御システム(1000)では、統括サーバシステム(1100P)が、仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定して、統括制御の内容を記述した変更指示をゲームサーバシステム(1100G)へ送信する。ゲームサーバシステム(1100G)は、適用先仮想空間に特別制御を適用する。

Description

コンピュータシステム、仮想空間制御システムおよび制御方法
 本発明は、仮想空間を制御するコンピュータシステム等に関する。
 コンピュータの演算処理により仮想空間(例えば、メタバース、多人数参加型オンラインゲームのゲーム空間、など)を構築し、利用者であるユーザのキャラクタ(例えば、アバター、プレーヤキャラクタ、など;以下「ユーザキャラクタ」という。)を配置して、ユーザに仮想空間での仮想体験を提供する技術が知られている。例えば、特許文献1には、1つの仮想空間を共有するユーザ間でコミュニケーションをとることができる技術が開示されている。
 ユーザ数が大規模に及ぶケースでは、共通する世界観に設定された仮想空間のデータを、複数のサーバシステムそれぞれに持たせて、各サーバシステムがそれぞれの仮想空間を個別に管理し、ユーザが使用するユーザ端末(クライアント端末)をそれらのサーバシステムに分散接続させるシステム構成が用いられる。当該システムで提供される仮想体験の元になる世界は、共通の世界観に設定されていて各仮想空間で並存する並行世界として構成されているとも言えるので、当該システムは「並行世界型」とも呼べる。
特開2001-312744号公報
 仮想空間においては、複数のユーザが同時に同じ体験をすることができることが仮想体験を彩る重要な要素の1つとなっている。例えば、複数のユーザが同時に参加可能な参加型イベントは、イベントへの参加が仮想体験の一部となるだけでなく、参加経験がその後のユーザコミュニティにおける重要な話題ともなり得る。ユーザコミュニティで話題になれば、それはユーザを仮想体験へ促す強いモチベーションになり、仮想空間の世界が多いに盛り上がるきっかけとなり得る。
 上述した並行世界型では、各サーバシステムは管理対象の仮想空間を、当該仮想空間の状況に着目して管理しているのが通常である。イベントの発生やイベントの進行制御についても同様であり、そこには他のサーバシステムが管理する他の仮想空間の状況は関与しなかった。その為、同じイベントなのに、ある仮想空間では大いに盛り上がったが、別の仮想空間では盛り上がらないことも起こり得た。
 本発明が解決しようとする課題は、共通の世界観に設定された複数の仮想空間を並存させ、それら仮想空間へユーザを分散参加させて仮想体験を提供するシステムにおいて、各仮想空間を横断的な観点からコントロールすることが可能な技術を提供すること、である。
 第1の開示は、共通の世界観に設定された各仮想空間に複数のユーザが参加可能な前記仮想空間それぞれを並行に制御するためのコンピュータシステムであって、
 前記仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定する適用先決定部と、
 前記適用先仮想空間に前記特別制御を適用する特別制御適用部と、を備えるコンピュータシステムである。
 ここで言う「コンピュータシステム」は、単数のコンピュータで構成される場合は勿論、複数のコンピュータによって連携して構成されるものでもよい。
 第1の開示によれば、コンピュータシステムは、各仮想空間に複数のユーザが参加可能な複数の仮想空間を並行に制御する際に、所与の特別制御を適用する適用先仮想空間を決定し、適用先仮想空間に特別制御を適用することができる。つまり、各仮想空間を横断的な観点からコントロールすることが可能になる。
 第2の開示は、前記適用先決定部が、前記仮想空間それぞれの状況の差に基づいて、前記適用先仮想空間を決定する、コンピュータシステムである。
 第2の開示によれば、コンピュータシステムは、仮想空間それぞれの状況の差に基づいて適用先仮想空間を決定することができる。
 第3の開示は、前記特別制御が、前記適用先仮想空間に参加しているユーザが参加可能な所与の対象イベントを対象とした特別制御である、コンピュータシステムである。
 第4の開示は、前記対象イベントが、前記複数の仮想空間それぞれで発生し得る共通のイベントである、コンピュータシステムである。
 適用先仮想空間に参加しているユーザが参加可能な対象イベントは、仮想体験の評価に直接的に影響を与え得るので、特別制御の対象とすると効果的である。
 第3又は第4の開示によれば、コンピュータシステムは、適用先仮想空間に参加しているユーザが参加可能な対象イベントに特別制御を行うことが可能となる。
 第5の開示は、前記仮想空間それぞれの状況に基づいて、前記特別制御の内容を可変に決定する特別制御内容決定部、を更に備えるコンピュータシステムである。
 第6の開示は、前記仮想空間それぞれの状況に基づいて、前記対象イベントの制御内容を可変に決定することで、前記特別制御の内容を決定する特別制御内容決定部、を更に備えるコンピュータシステムである。
 第5又は第6の開示によれば、コンピュータシステムは、仮想空間それぞれの状況に応じた内容の特別制御を実行できる。
 第7の開示は、前記特別制御内容決定部が、前記適用先仮想空間で未発生のイベントを前記対象イベントとして選択し、当該対象イベントの制御内容を可変に決定する、コンピュータシステムである。
 第7の開示によれば、コンピュータシステムは、未発生のイベントを対象イベントとして、その制御内容を変更できる。
 第8の開示は、前記特別制御内容決定部が、前記対象イベントの発生タイミングを可変に決定する、コンピュータシステムである。
 第8の開示によれば、コンピュータシステムは、未発生のイベントの発生タイミングを変更できるようになる。
 第9の開示は、前記特別制御内容決定部が、前記適用先仮想空間で進行中のイベントを前記対象イベントとして選択し、当該対象イベントの制御内容を可変に決定する、コンピュータシステムである。
 第9の開示によれば、コンピュータシステムは、適用先仮想空間で進行中のイベントの制御内容を変更できるようになる。
 第10の開示は、前記特別制御内容決定部が、前記対象イベントに登場する登場オブジェクトの制御内容を可変に決定する、コンピュータシステムである。
 第10の開示によれば、コンピュータシステムは、対象イベントに登場する登場オブジェクトの制御内容を変更できるようになる。
 第11の開示は、前記特別制御内容決定部が、前記対象イベントへのユーザ参加条件を可変に決定する、コンピュータシステムである。
 第11の開示によれば、コンピュータシステムは、対象イベントへのユーザ参加条件を変更できるようになる。
 第12の開示は、前記適用先決定部が、前記仮想空間それぞれのイベント状況に基づいて、前記適用先仮想空間を決定し、前記特別制御内容決定部は、前記仮想空間それぞれのイベント状況に基づいて、前記特別制御の内容を可変に決定する、コンピュータシステムである。
 第12の開示によれば、コンピュータシステムは、仮想空間それぞれのイベントの発生状況や進行状況等のイベント状況に応じて、適用先仮想空間を決定したり、特別制御の内容を決定できる。
 第13の開示は、前記イベント状況は、前記ユーザが参加可能なイベントのイベント参加状況を含み、前記適用先決定部は、前記仮想空間それぞれのイベント参加状況に基づいて、前記適用先仮想空間を決定し、前記特別制御内容決定部は、前記仮想空間それぞれのイベント参加状況に基づいて、前記特別制御の内容を可変に決定する、コンピュータシステムである。
 第13の開示によれば、コンピュータシステムは、イベントへのユーザの参加状況に応じて、適用先仮想空間を決定したり、特別制御の内容を決定できる。
 第14の開示は、前記仮想空間の状況は、当該仮想空間に参加している前記ユーザの参加状況を少なくとも含み、前記適用先決定部は、前記仮想空間それぞれの前記参加状況に基づいて、前記適用先仮想空間を決定する、コンピュータシステムである。
 第14の開示によれば、コンピュータシステムは、仮想空間に参加している前記ユーザの参加状況に応じて適用先仮想空間を決定できる。
 第15の開示は、前記参加状況が、参加人数、参加ユーザの属性、および、参加ユーザの当該仮想空間の行動状況のうちの何れかである、コンピュータシステムである。
 「参加ユーザの属性」は、ユーザの年齢、性別、居住地、プレーヤとしてのランクやレベル、プレーヤが使用するユーザキャラクタ(アバターやプレーヤキャラクタ)の種類や属性としてもよい。
 「参加ユーザの当該仮想空間の行動状況」は、参加ユーザの仮想空間内で行った行動であって、例えば、ユーザキャラクタ(アバターやプレーヤキャラクタ)が行う移動や、喜び・興奮を意味する所定動作(例えば、Vサイン、ガッツポーズ、ジャンプを繰り返す、など)、ユーザ評価入力操作(例えば、好感度を抱いていることを表明する操作、好感度の程度を示すポイントや投げ銭選択をする操作、など)、等とすることができる。
 第15の開示によれば、参加人数、参加ユーザの属性、および、参加ユーザの当該仮想空間の行動状況の何れかに応じて適用先仮想空間を決定することができる。
 第16の開示は、前記仮想空間毎に当該仮想空間を制御するコンピュータを具備して構成されるコンピュータシステムである。
 第16の開示によれば、コンピュータシステムは、仮想空間毎の管理に係る処理負荷の分散を図ることができる。
 第17の開示は、前記仮想空間を制御する前記仮想空間毎の前記コンピュータのうち、何れかのコンピュータが、前記適用先決定部および前記特別制御適用部を備える、コンピュータシステムである。
 第17の開示によれば、コンピュータシステムは、システムを構成するコンピュータ数を抑制できる。
 第18の開示は、前記仮想空間毎の前記コンピュータのうち、統括担当条件を満たすコンピュータが、前記適用先決定部および前記特別制御適用部を備える、コンピュータシステムである。
 第18の開示によれば、コンピュータシステムは、適用先決定部および特別制御適用部を備えるコンピュータを、統括担当条件を満たすコンピュータとすることができる。統括担当条件が変化し得る状況(例えば、各コンピュータの処理負荷が変化する状態など)についての条件とするならば、適用先決定部および特別制御適用部を備えるコンピュータを、その時々の状況に応じて臨機応変に切り換えることが可能になる。
 第19の開示は、前記コンピュータシステムであるサーバシステムと、前記ユーザのマンマシンインターフェースとなるユーザ端末と、を具備する仮想空間制御システムである。
 第19の開示によれば、上述した各開示と同様の効果をもたらす仮想空間制御システムを実現できる。
 第20の開示は、共通の世界観に設定された各仮想空間に複数のユーザが参加可能な前記仮想空間それぞれをコンピュータシステムが並行に制御するための制御方法であって、前記仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定することと、前記適用先仮想空間に前記特別制御を適用することと、を含む制御方法である。
 第20の開示によれば、上述した第1の開示と同様の作用効果をもたらす制御方法を実現できる。
仮想空間制御システムの構成例を示す図。 仮想空間について説明するための図。 平準化を目的とした特別制御の一例について説明するための図。 差異付加を目的とした特別制御の一例について説明するための図。 統括サーバシステムの機能構成例を示すブロック図。 変更指示パターン定義データのデータ構成例を示す図。 ゲームサーバシステムの機能構成例を示すブロック図。 ゲームサーバシステムの記憶部が記憶するプログラムやデータの例を示す図。 イベント初期設定データのデータ構成例を示す図。 イベント制御データのデータ構成例を示す図。 仮想空間情報のデータ構成例を示す図。 ユーザ端末の機能構成例を示すブロック図。 統括処理の流れを説明するためのフローチャート。 ゲームサーバ処理の流れを説明するためのフローチャート。 変形例におけるゲームサーバシステムの機能構成例を示すブロック図。 変形例におけるゲームサーバシステムの記憶部が記憶するプログラムやデータの例を示す図。 変形例におけるゲームサーバシステムが実行する処理の流れを説明するためのフローチャート。
 以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
 図1は、仮想空間制御システム1000の構成例を示す図である。
 仮想空間制御システム1000は、多数のユーザに対して仮想空間における仮想体験を提供するシステムである。仮想空間制御システム1000は、ネットワーク9を介してデータ通信可能に接続された運用システム1010およびユーザ別のユーザ端末1500(1500a,1500b,…)を含むコンピュータシステムである。ユーザ端末1500はマンマシンインターフェース(Man Machine Interface:MMIF)である。
 仮想空間制御システム1000は、3次元仮想空間における様々な種類の仮想体験サービスを提供する。以降では、仮想体験サービスの1つとしてゲーム、例えばMMOPRG(Massively Multiplayer Online Role-Playing Game)を提供する例を挙げて説明するが、仮想体験サービスの内容はこれに限らない。
 ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネットを含む。
 運用システム1010は、サービス提供者・システム運用者が管理運用するコンピュータシステムであって、統括サーバシステム1100Pと、複数のゲームサーバシステム1100G(1100Ga,1100Gb,…)とを有するサーバシステムである。
 統括サーバシステム1100Pとゲームサーバシステム1100Gとは、コンピュータシステムとしての基本的な機能は同様に実現できる。
 すなわち、統括サーバシステム1100Pおよびゲームサーバシステム1100Gは、本体装置、キーボード、タッチパネル、を有し、本体装置に制御基板1150を搭載する。制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153、が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現するとしてもよい。
 但し、統括サーバシステム1100Pとゲームサーバシステム1100Gとは、制御基板1150が所定のプログラムおよびデータに基づいて演算処理することによりそれぞれ別個の機能を実現する。
 図1には、統括サーバシステム1100Pおよびゲームサーバシステム1100Gは、それぞれ1台のサーバ装置であるかのように描いているが、複数の装置で実現する構成であってもよい。例えば、統括サーバシステム1100Pおよびゲームサーバシステム1100Gは、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であってもよい。また、統括サーバシステム1100Pおよびゲームサーバシステム1100Gを構成するハードウェアの設置場所は問わない。離れた場所に設置された独立した複数のサーバを、ネットワーク9を介してデータ通信させることで、全体として運用システム1010として機能させる構成であってもよい。
 ユーザ端末1500は、ユーザが仮想空間制御システム1000を利用するために使用するコンピュータシステムである。ユーザ端末1500は、仮想空間制御システム1000におけるマンマシンインターフェース(MMIF)の機能を担っている。
 図1では、ユーザ端末1500を、いわゆるスマートフォンと呼ばれる装置として表しているが、コンピュータシステムであれば、ウェアラブルコンピュータや、携帯型ゲーム装置、家庭用ゲーム装置、タブレット型コンピュータ、パソコン、スタンドアローン型VRヘッドセット、などでもよい。スマートフォンと、当該スマートフォンに通信接続されたスマートウォッチ、オプション型VRヘッドセット、などの組み合わせといった複数の電子機器が通信可能に接続することで1つの機能を果たす場合にはこれらの複数の電子機器を1つのユーザ端末1500とみなすことができる。
 ユーザ端末1500は、操作入力デバイス(例えば、タッチパネル1506、キーボード、ゲームコントローラ、マウスなど)と、画像表示デバイス(例えば、タッチパネル1506、ヘッドマウントディスプレイ、グラス型ディスプレイなど)と、制御基板1550と、を備える。
 制御基板1550は、CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、ネットワーク9に接続する通信モジュール1553、などを搭載する。制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、ユーザ端末としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。そして、ユーザ端末1500は、所定のアプリケーションプログラムを実行することにより、仮想空間制御システム1000のマンマシンインターフェース(MMIF)として、またゲームクライアントとしての機能を実現する。
 ユーザ端末1500は、アプリケーションプログラムやその実行に必要な各種データをゲームサーバシステム1100Gからダウンロードする構成としているが、ユーザが別途入手したメモリカードなどの記憶媒体から読み出す構成としてもよい。
 図2は、仮想空間制御システム1000が提供する仮想空間3について説明するための図である。
 仮想空間3には、同時並行的に存在する複数の仮想空間3(3a,3b,…)がある。各ゲームサーバシステム1100G(1100Ga,1100Gb,…)は、それぞれ少なくとも1つずつ仮想空間3(3a,3b,…)のデータを記憶・管理する。
 各仮想空間3(3a,3b,…)は、データとしての実体は独立しているが、仮想空間3の広さ、仮想空間3の構造、位置座標系、そこで適用されるルールは同じであり、共通の世界感を有する共通の基本構成を備える。
 各仮想空間3は、現実とは異なる空間と時間の流れを有し、ユーザがログインしていなくてもゲームサーバシステム1100Gのデータとして存在し続け、現実世界の時間経過とともに仮想空間でも時間が経過し、変化し続けるように個別に管理される。
 例えば、対応するゲームサーバシステム1100Gが設置されている場所の現実世界における時刻に基づいて管理される。その結果、複数の仮想空間3(3a,3b,…)の中には、仮想世界の時刻が同じ仮想空間3もあれば、異なる仮想空間3もあることになる。
 ユーザは、自身のユーザ端末1500を操作して、ユーザ登録手続の際に指定されたゲームサーバシステム1100Gにゲームプレイをするためのプレイログインを行って、当該ゲームサーバシステム1100Gの仮想空間3へ参加する。
 ゲームサーバシステム1100Gは、プレイログインしたユーザ端末1500のユーザキャラクタ4を、当該ゲームサーバシステム1100Gが管理する仮想空間3(3a,3b,…)の中に配置する。そして、ゲームサーバシステム1100Gは、ユーザの操作入力に応じてユーザキャラクタ4の行動を仮想空間3内で制御し、当該行動の結果として仮想空間3(3a,3b,…)を構成するオブジェクトの出現・移動・形態変更・消去を制御する。
 つまり、ユーザは、ユーザ端末1500を用いてプレイログインしたゲームサーバシステム1100Gが管理する仮想空間3にユーザキャラクタ4で参加して、オンラインゲームをプレイして仮想空間3での仮想体験を楽しむことができる。
 各仮想空間3では、それぞれの時刻や多数の参加ユーザによる行動の結果によって状況が臨機応変に変化し、当該仮想空間の状況に応じたイベントが発生する場合がある。
 仮想空間制御システム1000は、各仮想空間3で発生するイベントのうち、各仮想空間3に共通のイベントを対象イベントとして特別制御を実施する。
 「特別制御」は、複数の仮想空間3の状況を横断的・総合的に判断して、イベントの発生や進行を初期設定から変更して実行させる。特別制御の目的は、大きく、平準化と、差異付加との2種類がある。平準化とは、複数の仮想空間3それぞれで初期設定されている同じイベント(初期設定上、同じ内容として識別されるイベント)に参加しているユーザ(イベント参加ユーザ)が、参加している仮想空間3が違えども同じような仮想体験ができるように当該イベントを「平準化」することである。差異付加とは、本来同じ内容に初期設定されているイベントに意図的に差異を付加することである。
 図3は、平準化を目的とした特別制御の一例について説明するための図である。
 3つのゲームサーバシステム1100G(1100Ga、1100Gb、1100Gc)それぞれに、複数のユーザ端末1500が接続して、ゲームサーバシステム1100Gそれぞれで管理する仮想空間3(図2参照)に基づくオンラインゲームがプレイされており、同じ種類のイベントα(イベントαa、イベントαb、イベントαc)が発生済であり進行中にある。
 統括サーバシステム1100Pは、所与のタイミングで、各ゲームサーバシステム1100Gから仮想空間情報700の提供をリクエストして、これを取得する。
 仮想空間情報700(700a,700b,700c)は、各ゲームサーバシステム1100Gで管理している仮想空間3の状況を示す各種情報を含んでいる。例えば、(a)当該仮想空間3に参加しているユーザ(空間参加ユーザ)の人数である空間参加ユーザ数、(b)進行中のイベントの状況についての情報であるイベント状況情報、などの情報を含む。
 「イベント状況情報」は、例えば、イベント発生状況情報と、イベント進行状況情報と、を含む。
 「イベント発生状況情報」は、当該仮想空間3で今までに発生したイベント数、或いは所与の算定期間内に発生したイベントの数、などである。
 「イベント進行状況情報」は、個別のイベントに着目して、当該イベントの進み具合や盛り上がり具合を推定するための要素情報である。例えば、イベント参加ユーザ数、参加ユーザの行動状況、イベント参加中のイベント参加ユーザのチャットの内容のうちイベントを肯定的に捉えた発言のチャットの統計値(肯定的チャット統計値)、などとしてもよい。
 「参加ユーザの行動状況」は、参加ユーザのユーザキャラクタ4の行動状況でもある。例えば、ユーザキャラクタ4が行う移動や、喜び・興奮を意味する所定動作(例えば、Vサイン、ガッツポーズ、ジャンプを繰り返す、など)、ユーザ評価入力操作(例えば、好感度を抱いていることを表明する操作、好感度の程度を示すポイントや投げ銭選択をする操作、など)、を参加ユーザの行動状況としてもよい。
 「イベントを肯定的に捉えた発言」は、参加しているイベントで楽しんでいること、喜んでいること、興奮していること、を表す単語や記号である。例えば「いいね」「すごい」「こんなの見たことない」「!!!!!」「(^^)」などである。
 「肯定的チャット統計値」は、イベントを肯定的に捉えた発言の統計値、例えば、総数、1人当たりの発言回数分布、発言回数の平均値、1人当たりの発言頻度分布、頻度平均値、などとしてもよい。
 統括サーバシステム1100Pは、各ゲームサーバシステム1100Gから取得した仮想空間情報700から、各仮想空間3に参加している空間参加ユーザの仮想体験、特にイベントに参加しているイベント参加ユーザの仮想体験の優劣差を監視する。そして、あるイベントに着目して、ある仮想空間3での当該イベントの盛り上がりが、他の仮想空間3におけるそれより劣る場合に、当該仮想空間3を「適用先仮想空間」と決定して特別制御を実行する。
 具体的には、特別制御として、着目したイベントを適用先イベントに指定して、当該イベントの発生や進行に適用される適用設定を初期設定から変更する「変更指示」を、適用先仮想空間を管理するゲームサーバシステム1100Gへ送信する。
 図3の例では、イベントαcのイベント参加ユーザ数が、イベントαaおよびイベントαbと比べて劣っており、イベントαcは、イベントαaおよびイベントαbより盛り上がっていないと推測される。よって、イベントαcのイベント参加ユーザは、イベントαaおよびイベントαbのイベント参加ユーザと比べて、当該イベントαで体験してほしい仮想体験を得られていないと判断される。
 そこで、統括サーバシステム1100Pは、イベントαcについて現状よりも盛り上げる効果が期待できる変更指示を、イベントαcが進行中の仮想空間3を管理するゲームサーバシステム1100Gcへ送信する。
 「変更指示」は、イベントの内容に応じて適宜設定可能である。図3の例では、(a)現実世界で人気の歌手などのイベント用NPC(Non Player Character)6をイベントαcで追加登場させる指示、(b)イベント参加ユーザ数を増やすためのイベント告知をするイベント用背景オブジェクト7を仮想空間3に追加配置する指示、を含んでいる。
 もし、ゲームサーバシステム1100Gcで、イベントαcが未発生の場合、空間参加ユーザ数を比較することで、イベントαcへのイベント参加ユーザ数が、イベントαaやイベントαbよりも劣る可能性が高いか否かを推定する。劣る可能性が高いと推定した場合、統括サーバシステム1100Pは、同様の変更指示をゲームサーバシステム1100Gcへ送信する。この場合、やがてゲームサーバシステム1100Gcにてイベントαcが発生した際には、当該イベントの初期設定の内容に変更指示の内容が反映された適用設定が適用されるので、特別制御をしない場合よりも盛り上がる可能性が高く、平準化の目的が果たされる。
 図4は、差異付加を目的とした特別制御の一例について説明するための図である。
 3つのゲームサーバシステム1100G(1100Ga、1100Gb、1100Gc)それぞれに、複数のユーザ端末1500が接続して、ゲームサーバシステム1100Gそれぞれで管理する仮想空間3(図2参照)に基づくオンラインゲームがプレイされている。同じ種類のイベントβのうち、イベントβaおよびイベントβbは既に発生済であり、イベントβcは未発生である。イベントβは、例えば、歌手NPCが唄を披露するライブイベントであり、歌手のイベント用NPC6aが登場するように初期設定されている。
 統括サーバシステム1100Pは、所与のタイミングで、各ゲームサーバシステム1100Gから仮想空間情報700(700a,700b,700c)の提供をリクエストして、これを取得する。
 このケースでは、統括サーバシステム1100Pは、各仮想空間情報700のイベント状況情報を比較して、これまでに発生済のイベントβでは全てイベント用NPC6aが初期設定のまま登場しているので、ちょっとした差異の創出が必要であると判断する。
 そこで、統括サーバシステム1100Pは、イベントβが未発生のゲームサーバシステム1100Gcへ、初期設定されているイベント用NPC6aに代えて、予め予備設定されているイベント用NPC6bを登場させる変更指示を作成・送信する。やがてゲームサーバシステム1100Gcにてイベントβcが発生すると、既に受けている変更指示が適用されて、イベントβcではイベント用NPC6bが登場することになる。
 もし、イベントβcが進行中の場合は、初期設定のイベント用NPC6aに追加でイベント用NPC6bが登場するとしてもよい。その場合、唄われる曲は、イベント用NPC6aの曲であり、2人の歌手NPCがデュエットするように、再生される曲のデータを変更する指示をしてもよい。
 後日、ユーザコミュニティにおいてイベントβに関する話題が出ると、イベントβcを仮想体験したユーザ2cはイベント用NPC6bが登場したことを話すであろう。イベントβaやイベントβbを仮想体験したユーザ2aおよびユーザ2bは、それを知って驚き、会話が盛り上がるであろう。ユーザ2aやユーザ2bは、自分達もイベント用NPC6bのライブイベントを体験できるように、仮想空間3で様々な挑戦をするかもしれない。それはまた、仮想空間3に積極的に参加しようとするモチベーションとなり、仮想体験をより豊かにしてくれる。
 仮想空間制御システム1000は、図3で説明した平準化および図4で説明した差異付与を、様々なイベントについて行なう。統括サーバシステム1100Pが、並行世界型での各仮想空間3を横断的に俯瞰して、各仮想空間3でのイベントの発生や進行を個別にコントロールすることで実現する。
 次に、機能構成について説明する。
 図5は、統括サーバシステム1100Pの機能構成例を示すブロック図である。
 統括サーバシステム1100Pは、操作入力部100pと、処理部200pと、音出力部390pと、画像表示部392pと、通信部394pと、記憶部500pとを備える。
 操作入力部100pは、統括サーバシステム1100Pの管理のための各種操作を入力するための手段である。例えば、キーボード、タッチパネル、マウス、などがこれに該当する。
 処理部200pは、例えばCPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100pや記憶部500pを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100pからの操作入力信号、ユーザ端末1500やゲームサーバシステム1100Gなどから受信したデータ等に基づいて各種の演算処理を実行して、統括サーバシステム1100Pの動作を統合的に制御する。
 処理部200pは、統括サーバ制御部210と、計時部280pと、音生成部290pと、画像生成部292pと、通信制御部294pとを含む。勿論、これら以外の機能部も適宜含めることができる。
 統括サーバ制御部210は、仮想空間制御システム1000における統括サーバとしての機能を実現する。そして、統括サーバ制御部210は、適用先決定部212と、特別制御内容決定部214と、を有する。
 適用先決定部212は、仮想空間3それぞれの状況の差、特には仮想空間3それぞれのイベント状況の差に基づいて、所与の特別制御を適用する適用先仮想空間を決定する。図2および図3を参照して説明した、特別制御の適用先としてゲームサーバシステム1100Gcを決定する旨の判定が、適用先決定部212の決定に該当する。
 特別制御内容決定部214は、仮想空間3それぞれの状況(特にイベント状況)に基づいて、対象イベントの制御内容を含む特別制御の内容を可変に決定する。具体的には、特別制御内容決定部214は、当該対象イベントの制御内容を可変に決定する。対象イベントの制御内容として未発生の対象イベントについては、発生タイミングや、対象イベントへのユーザ参加条件等を可変に決定する。対象イベントの制御内容として進行中の対象イベントについては、イベントの内容(例えば、登場オブジェクトの制御内容)等を可変に決定する。
 計時部280pは、システムクロックを利用して現在日時や制限時間等の各種計時を行う。
 音生成部290pは、生成した音声信号を音出力部390pへ出力する。音出力部390pは、スピーカ等により実現され、音声信号に基づいて放音する。
 画像生成部292pは、統括サーバシステム1100Pのシステム管理のための各種管理画面の画像生成を行い、画像データを画像表示部392pに出力する。画像表示部392pは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
 通信制御部294pは、データ通信に係るデータ処理を実行し、通信部394pを介して外部装置とのデータのやりとりを実現する。通信部394pは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信装置1153がこれに該当する。
 記憶部500pは、処理部200pに統括サーバシステム1100Pを統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、記憶部500pは、処理部200pの作業領域として用いられ、処理部200pが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例では本体装置が搭載するICメモリ1152やハードディスクなどの記憶媒体がこれに該当する。オンラインストレージを記憶部500pに含めてもよい。
 記憶部500pは、統括サーバプログラム501と、ゲームサーバ登録データ510と、変更指示パターン定義データ520と、受信済仮想空間情報570と、変更指示データ572と、現在日時900と、を記憶する。なお、記憶部500pは、その他のプログラムやデータ(例えばタイマーや、カウンタ、各種フラグ、など)も適宜記憶する。
 統括サーバプログラム501は、処理部200pが読み出して実行することで、処理部200pを統括サーバ制御部210として機能させるためのプログラムである。
 ゲームサーバ登録データ510は、ゲームサーバシステム1100G毎に用意される。ゲームサーバ登録データ510は、固有のサーバIDと、当該ゲームサーバシステム1100Gにて管理される仮想空間IDと、当該ゲームサーバシステム1100Gへデータ通信可能に接続するために必要とされるサーバアクセス情報と、を含む。勿論、これら以外のデータも適宜含めることができる。
 変更指示パターン定義データ520は、仮想空間3の様々な状況やイベントの状況等に応じた変更指示のパターン毎に用意されている。
 1つの変更指示パターン定義データ520は、例えば図6に示すように、固有のパターンID521と、当該定義データがどのイベントに適用されるかを示す適用イベントID523と、変更指示データ525と、適用要件527と、を含む。
 変更指示データ525は、適用イベントID523の示すイベントの初期設定から何をどのように変更して当該イベントに適用する適用設定とするかを指定する各種データを格納する。変更指示データ525は、例えば、
(a)イベント参加条件の種類を指定する変更先イベント参加条件ID、
(b)イベント発生条件の種類を指定する変更先イベント発生条件ID、
(c)イベントシナリオにおける変更先の分岐パターンを指定する変更先分岐パターンID、
(d)イベント用背景オブジェクト7の種類を指定する変更先イベント用背景オブジェクトID、
(e)イベント用背景オブジェクトに適用される動作(モーション)を指定する変更先イベント用背景オブジェクト動作ID、
(f)イベント用NPCの種類を指定する変更先イベント用NPCID、
(g)イベント用NPC6に適用される動作(モーション)を指定する変更先イベント用NPC動作ID、
(h)イベント参加ユーザのユーザキャラクタ4へ当該イベントで特別に適用される動作(例えば、一斉ジャンプ、特異なポーズ、ダンス、など)を指定する変更先ユーザキャラクタ動作ID、
(i)イベント内で上映される映像(例えば、動画やインサートカットなど)を指定する変先更イベント用映像ID、
(j)イベント内で使用されるエフェクト(映像エフェクト、音声エフェクトなど)を指定する変更先イベント用エフェクトID、
 のうちの1つ又は複数を格納する。
 適用要件527は、当該定義データが採用されるために満たすべき条件を、個別要件530と、相対要件540と、で記述している。
 個別要件530は、仮想空間情報700(700a,700b,…;図3、図4参照)を個別に参照して判定される要件であって、単数又は複数のサブ条件のANDやORで組み合わせて記述される。個別要件530のサブ条件としては、空間参加ユーザ条件531と、仮想空間別イベント発生状況条件532と、仮想空間別イベント進行状況条件533と、日時条件534と、を用いても良い。勿論、これら以外の内容のサブ条件も記述に用いてもよい。
 空間参加ユーザ条件531は、その仮想空間に参加しているユーザ(空間参加ユーザ)に関する条件であって、例えば、(a)空間参加ユーザ数、(b)空間参加ユーザ数の属性比、などの閾値や範囲として記述される。勿論、これら以外の情報も記述に用いてもよい。空間参加ユーザ数の属性比は、例えば、男女比、年齢比、ユーザキャラクタ4の属性比、などを用いても良い。
 仮想空間別イベント発生状況条件532は、その仮想空間におけるイベント発生状況に関する条件であって、例えば、(a)所与の算定期間における発生済のイベント数、(b)発生頻度、などの閾値や範囲として記述される。勿論、これら以外の情報も用いて条件を記述してもよい。例えば、特定のイベント(例えば、アニバーサリーイベントなど)に着目して、その発生の有無なども条件の記述に用いてもよい。
 仮想空間別イベント進行状況条件533は、その仮想空間において進行中のイベントの進み具合や盛り上がり具合についての条件である。仮想空間別イベント進行状況条件533は、例えば、(a)進行中のイベント数、(b)イベント参加ユーザ数、(c)イベント参加ユーザの行動状況を示す値(例えば、「いいね」などのユーザ評価数など)、(d)イベント参加中のイベント参加ユーザのチャットの内容のうちイベントを肯定的に捉えた発言のチャットの統計値(肯定的チャット統計値)、(e)途中で参加中止可能なイベントであればイベント参加ユーザがイベントに参加していた平均イベント参加時間長、などの閾値や範囲として記述される。勿論、これら以外の情報を用いて条件を記述してもよい。
 日時条件534は、その仮想空間における現在日時900についての条件である。例えば、特定の期間限定の変更指示パターンを設定する場合に用いるとよい。
 相対要件540は、全ての仮想空間情報700を比較して判定される要件であって、その仮想空間3の状況が他の仮想空間3の状況と比べてどのような差異が生じているかについての要件である。相対要件540は、単数又は複数のサブ条件のANDやORで組み合わせて記述される。相対要件540のサブ条件としては、相対空間参加ユーザ条件541と、相対イベント発生状況条件542と、相対イベント進行状況条件543と、を用いてもよい。勿論、これら以外の内容のサブ条件も記述に用いてもよい。
 相対空間参加ユーザ条件541は、その仮想空間における空間参加ユーザと、他の仮想空間における空間参加ユーザとの差についての条件である。
 相対空間参加ユーザ条件541は、例えば、
(a)その仮想空間における空間参加ユーザ数と、他の仮想空間における空間参加ユーザ数の平均値(或いは中央値)との差、
(b)その仮想空間における空間参加ユーザの男女比と、他の仮想空間における空間参加ユーザの男女比の平均値(或いは中央値)との差、
(c)その仮想空間における空間参加ユーザのユーザキャラクタ4の属性比と、他の仮想空間における空間参加ユーザのユーザキャラクタ4の属性比との差、
 などの閾値や範囲として記述される。勿論、これら以外の情報も記述に用いてもよい。
 相対イベント発生状況条件542は、その仮想空間におけるイベント発生状況情報と、他の仮想空間におけるイベント発生状況情報との差についての条件である。
 相対イベント発生状況条件542は、例えば、
(a)その仮想空間における所与の算定期間における発生済のイベント数と、他の仮想空間における同じ算定期間における発生済のイベント数の平均値(或いは中央値)との差、(b)その仮想空間における発生頻度と、他の仮想空間における発生頻度の平均値(或いは中央値)との差、
 などの閾値や範囲として記述される。勿論、これら以外の情報も記述に用いてもよい。
 相対イベント進行状況条件543は、その仮想空間におけるイベント進行状況情報と、他の仮想空間におけるイベント進行状況情報との差についての条件である。
 相対イベント進行状況条件543は、例えば、
(a)その仮想空間における進行中のイベント数と、他の仮想空間における進行中のイベント数の平均値(或いは中央値)との差、
(b)その仮想空間におけるイベント参加ユーザ数と、他の仮想空間におけるイベント参加ユーザ数の平均値(或いは中央値)との差、
(c)その仮想空間におけるイベント参加ユーザの行動状況を示す値と、他の仮想空間におけるイベント参加ユーザの行動状況を示す値の平均値(或いは中央値)との差、
(d)その仮想空間における肯定的チャット統計値と、他の仮想空間における肯定的チャット統計値の平均値(或いは中央値)との差、
(e)その仮想空間における平均イベント参加時間長と、他の仮想空間における平均イベント参加時間長の平均値(或いは中央値)との差、
 の閾値や範囲として記述される。勿論、これら以外の情報も記述に用いてもよい。
 図5に戻って、変更指示データ572は、統括サーバシステム1100Pがゲームサーバシステム1100Gへ変更指示する毎に一時的に作成される。変更指示データ572は、例えば、適用先仮想空間IDと、適用先イベントIDと、変更指示データ(図6の適用要件527を満たした変更指示パターン定義データ520の変更指示データ525の写し)と、を含む。
 図7は、ゲームサーバシステム1100G(1100Ga,1100Gb,…)の機能構成例を示すブロック図である。ゲームサーバシステム1100Gは、操作入力部100gと、処理部200gと、音出力部390gと、画像表示部392gと、通信部394gと、記憶部500gとを備える。
 操作入力部100gは、ゲームサーバシステム1100Gの管理のための各種操作を入力するための手段である。例えば、キーボード、タッチパネル、マウス、VRコントローラなどがこれに該当する。
 処理部200gは、例えばCPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100gや記憶部500gを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100gからの操作入力信号、ユーザ端末1500や統括サーバシステム1100Pなどから受信したデータ、等に基づいて各種の演算処理を実行して、ゲームサーバシステム1100Gの動作を統合的に制御する。
 処理部200gは、ゲームサーバ制御部230と、計時部280gと、音生成部290gと、画像生成部292gと、通信制御部294gとを含む。勿論、これら以外の機能部も適宜含めることができる。
 ゲームサーバ制御部230は、ゲームサーバとしての機能を実現する。具体的には、ゲームサーバ制御部230は、ユーザ管理部232と、仮想空間制御部234と、ゲーム進行制御部236と、チャット制御部240と、ユーザ評価制御部242と、仮想空間情報提供部244と、特別制御適用部246と、を有する。
 ユーザ管理部232は、ユーザ登録手続きに係る処理、ユーザアカウントに紐付けられる各種情報の記憶管理、プレイログイン/プレイログアウトの処理を行う。
 仮想空間制御部234は、仮想空間3の管理制御を行う。
 ゲーム進行制御部236は、仮想空間3を使ったオンラインゲームのゲームとしての進行を制御する。例えば、ヒット判定、ユーザキャラクタ4毎のプレイ成績の判定、シナリオの分岐判定、などを実行する。
 チャット制御部240は、空間参加ユーザ間のチャット機能を実現する。
 ユーザ評価制御部242は、空間参加ユーザによるユーザ評価機能を実現する。
 仮想空間情報提供部244は、統括サーバシステム1100Pからの仮想空間情報の提供リクエストに応じて、仮想空間3の仮想空間情報700を生成して統括サーバシステム1100Pへ返信する制御を行う。
 特別制御適用部246は、適用先仮想空間に、当該適用先仮想空間に参加しているユーザが参加可能な所与の対象イベント(複数の仮想空間3それぞれで発生し得る共通のイベント)に、仮想空間3それぞれの状況(特にはイベント状況)に基づく特別制御を適用する。具体的には、統括サーバシステム1100Pから受信した変更指示の適用先イベントIDが示すイベントに、当該変更指示に含まれる変更指示データ525(図6参照)が示す変更を適用する。
 計時部280gは、システムクロックを利用して現在日時や制限時間等の各種計時を行う。
 音生成部290gは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、ゲームサーバシステム1100Gのシステム管理や、オンラインゲームの提供に係る操作音や効果音、BGM、音声通話、などの音声データを生成或いはデコードする。そして、システム管理に関する音声信号は音出力部390gへ出力する。音出力部390gは、スピーカ等により実現され、音声信号に基づいて放音する。
 画像生成部292gは、ゲームサーバシステム1100Gのシステム管理のための各種管理画面の画像生成を行い、生成した画像を表示させるための表示制御信号を画像表示部392gへ出力する。また、画像生成部292gは、ゲームプレイに係る画像の生成を行い、生成した画像をユーザ端末1500にて表示させるための画像データを生成する。画像表示部392gは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクター、などの画像を表示させるデバイスで実現される。
 通信制御部294gは、通信部394gを介して外部装置とのデータのやりとりを実現する。通信部394gは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信装置1153がこれに該当する。
 記憶部500gは、処理部200gにゲームサーバシステム1100Gを統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部200gの作業領域として用いられ、処理部200gが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えば、RAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例では本体装置が搭載するICメモリ1152やハードディスクなどの記憶媒体がこれに該当する。オンラインストレージを記憶部500gに含めてもよい。
 図8は、ゲームサーバシステム1100Gの記憶部500gが記憶するプログラムやデータの例を示す図である。記憶部500gは、例えば、ゲームサーバプログラム601と、配信用クライアントプログラム603と、ユーザ管理データ606と、ゲーム初期設定データ608と、仮想空間制御データ650と、受信済変更指示データ680と、統括サーバシステム1100Pへ提出するための仮想空間情報700と、現在日時900と、を記憶する。勿論、これら以外のデータを適宜記憶してもよい。
 ゲームサーバプログラム601は、処理部200gが読み出して実行することで、処理部200gをゲームサーバ制御部230として機能させるためのプログラムである。
 配信用クライアントプログラム603は、ゲームサーバシステム1100Gにアクセスするユーザ端末1500へ提供されて実行されるアプリケーションプログラムのオリジナルであり、ユーザ端末1500にゲームクライアントとしての機能を実現させるためのプログラムである。
 ユーザ管理データ606は、登録手続を済ませたユーザ別に用意され、当該ユーザに係る各種データを格納し、ユーザ管理部232により管理される。1つのユーザ管理データ606は、例えばユーザ固有のユーザアカウントと対応付けてゲームセーブデータなどを含む。勿論、これら以外のデータも適宜含めることができる。
 ゲーム初期設定データ608は、オンラインゲームを実現するための各種初期設定データを格納する。例えば、イベント種類毎に用意されたイベント初期設定データ610を格納する。
 イベント初期設定データ610は、例えば図9に示すように、イベント種類固有のイベントID611と、イベント発生条件612と、単数又は複数のイベント参加条件614と、イベントシナリオデータ616と、イベント用背景オブジェクト初期設定データ620と、イベント用背景オブジェクト動作データ622と、イベント用NPC初期設定データ624と、イベント用NPC動作データ626と、イベント用ユーザキャラクタ動作データ628と、イベント用映像データ630と、イベント用エフェクトデータ632と、標準設定データ640と、を含む。勿論、これら以外のデータも適宜含めることができる。
 イベント発生条件612は、当該イベントの発生タイミングを決定するための条件である。本実施形態では、仮想体験はMMOPRGなので、例えば、カレンダー上の所定期間になった、特定日時になった、仮想空間3において所定の背景オブジェクト(例えば、仕掛けのオブジェクト)が作動された、特定のNPCと会話した、空間参加ユーザ数が所定値に達した、などとしてもよい。
 イベント参加条件614は、空間参加ユーザが当該イベントに参加可能になるために満たすべき条件を定義する。1つのイベント参加条件614は、イベント参加条件IDと、条件定義データと、を含む。条件定義データは、例えば1つのサブ条件又は複数のサブ条件のANDやORを組み合わせて記述される。条件定義データのサブ条件としては、例えば、
(a)所定のイベント発生位置からユーザキャラクタ4までの距離の閾値や範囲、
(b)ユーザキャラクタ4のプレイ成績に応じて自動的に付与されるキャラクタレベルの閾値の範囲、
(c)ユーザキャラクタ4が所持しているべきアイテムやスキルの種類、
(d)ユーザキャラクタ4(或いはユーザキャラクタ4が所属するパーティ)のプレイ成績(例えば、クリアしたダンジョン数や、クリアしたミッション数、など)
(e)現在日時900の指定日・指定時間・期間など、
 を用いて記述することができる。勿論、これら以外の情報を用いて条件を記述してもよい。
 イベントシナリオデータ616は、当該イベントの進行を決める初期設定データである。シナリオに分岐が含まれる場合には、分岐の仕方が異なる複数の分岐パターンデータ618を含む。1つの分岐パターンデータ618は、分岐パターンIDと、分岐点毎に分岐先を選択するための条件と、を対応づけて格納している。
 イベント用背景オブジェクト初期設定データ620は、当該イベントにて仮想空間3に配置されるイベント用背景オブジェクト7(図3参照)の種類毎に用意される。1つのイベント用背景オブジェクト初期設定データ620は、オブジェクトIDと対応づけて、オブジェクトのモデルデータ、テクスチャデータ、初期動作データ(モーションデータ)、などを格納する。
 イベント用背景オブジェクト動作データ622は、イベント用背景オブジェクト7に適用される動作データの予備であって、単数又は動作違いで複数種類用意される。1つのイベント用背景オブジェクト動作データ622は、適用先背景オブジェクトIDと、動作IDと、動作データと、を対応付けて格納する。変更指示において、適用先背景オブジェクトIDおよび動作IDが指定されている場合、ゲームサーバシステム1100Gは、指定された背景オブジェクトIDのイベント用背景オブジェクト7に対して、指定された動作IDの動作データを適用する。
 イベント用NPC初期設定データ624は、当該イベントにて仮想空間3に配置されるイベント用NPC6(図3参照)の種類毎に用意され、キャラクタ違いで複数用意される。1つのイベント用NPC初期設定データ624は、キャラクタ固有のNPCID、オブジェクトのモデルデータ、テクスチャデータ、初期動作データ(モーションデータ)、などを対応づけて格納する。
 イベント用NPC動作データ626は、イベント用NPC6に適用される動作データの予備であって、動作違いで複数種類用意される。1つのイベント用NPC動作データ626は、適用先NPCIDと、NPC動作IDと、動作データと、を対応付けて格納する。変更指示において、適用先NPCIDと、NPC動作IDとが指定されている場合、ゲームサーバシステム1100Gは、指定されたNPCIDのイベント用NPC6に対して、指定された動作IDの動作データを適用する。イベント用NPC6が歌手に設定されている場合、楽曲の音声データと、楽曲の振り付け動作のデータとがこれに該当する。
 イベント用ユーザキャラクタ動作データ628は、当該イベントのイベント参加ユーザのユーザキャラクタ4に適用される動作データであって、動作が異なる複数種類が用意される。1つのイベント用ユーザキャラクタ動作データ628は、ユーザキャラクタ動作IDと動作データとを対応づけて格納する。例えば、イベント参加ユーザのユーザキャラクタ4の全員でダンスを踊るようなイベントの場合、ダンスの動作データがこれに該当する。変更指示において、キャラクタ動作IDが指定されている場合、ゲームサーバシステム1100Gは、指定されたユーザキャラクタ動作IDの動作データを、所与のタイミングでイベント参加ユーザのユーザキャラクタ4に適用する。
 イベント用映像データ630は、当該イベント内にて放映される映像のデータであって、映像内容が異なる複数が用意される。1つのイベント用映像データ630は、映像IDと動画ファイルとを対応付けて格納する。変更指示において、映像IDが指定されている場合、ゲームサーバシステム1100Gは、指示された映像IDの映像を、所与のタイミングで表示させる。
 イベント用エフェクトデータ632は、当該イベント内にて使用されるエフェクトのデータであって、映像内容が異なる複数が用意される。エフェクトの内容は、適宜設定可能である。例えば、スモーク、スポットライト、打ち上げ花火、音声特殊効果、花吹雪、スローモーションなどの動作の特殊効果、など適宜設定可能である。
 1つのイベント用エフェクトデータ632は、エフェクトIDとエフェクト実行データとを対応付けて格納する。変更指示において、エフェクトIDが指定されている場合、ゲームサーバシステム1100Gは、指示されたエフェクトIDのエフェクトを、所与の実行タイミングで実行させる。
 標準設定データ640は、当該イベントの標準とされる内容を指定する。例えば(a)標準イベント参加条件ID、(b)標準分岐パターンID、(c)標準背景オブジェクトID、(d)標準NPCID、(e)標準ユーザキャラクタ動作ID、(f)標準映像種類、(g)標準エフェクト種類、を含む。
 標準設定データ640は、イベント用NPC6やイベント用背景オブジェクト7を配置しない場合は、標準背景オブジェクトIDや標準NPCIDは省略される。ユーザキャラクタ4に特別な動作をさせない場合には、標準ユーザキャラクタ動作ID、を省略する。映像を上映しない場合やエフェクトを用いない場合は、標準映像種類や標準エフェクト種類を省略する。
 図8に戻って、仮想空間制御データ650は、仮想空間3を管理・制御するための各種データを格納する。例えば、仮想空間制御データ650は、仮想空間ID651と、イベント発生毎に作成されるイベント制御データ660と、を含む。勿論、これら以外のデータも適宜含めることができる。
 図10は、イベント制御データ660のデータ構成例を示す図である。
 イベント制御データ660は、イベントID661と、発生日時662と、イベント参加ユーザアカウントリスト664と、シナリオ分岐結果データ666と、適用設定データ668と、イベント用オブジェクト制御データ670と、イベント用NPC制御データ672と、イベント用上映制御データ674と、イベント用エフェクト制御データ676と、イベント参加状況情報678と、を含む。勿論、これら以外のデータも適宜含めることができる。
 適用設定データ668は、当該イベントの制御に適用されている各種設定を示す。基本的には、適用設定データ668は、イベントID661が示すイベントのイベント初期設定データ610(図9参照)の標準設定データ640がコピーされる。ゲームサーバシステム1100Gが統括サーバシステム1100Pから変更指示を受信し、その適用先イベントに当該イベントが該当する場合に、適用設定データ668の内容は、該当する変更指示の変更指示データ525(図6参照)で変更される。
 イベント用オブジェクト制御データ670、イベント用NPC制御データ672、イベント用上映制御データ674、イベント用エフェクト制御データ676は、当該イベントにて使用されるイベント用背景オブジェクト7、イベント用NPC6、イベント用映像、イベント用エフェクト別に用意され、対応するオブジェクト、映像、エフェクトを制御するための各種データを格納する。
 イベント参加状況情報678は、当該イベントへのイベント参加ユーザの参加状況を示し、イベントの盛り上がり具合を推定するための元になる各種データを格納する。例えば、イベント参加状況情報678は、当該イベントのイベントIDに加えて、
(a)イベント参加ユーザ数、
(b)イベント参加ユーザ数の属性比(例えば、男女比、年齢比、ユーザキャラクタ4の属性比など)、
(c)イベント参加ユーザの行動状況を示す値(イベント参加ユーザ行動状況値)
(d)イベント参加中のイベント参加ユーザのチャットの内容のうちイベントを肯定的に捉えた発言のチャットの統計値(肯定的チャット統計値)、
(e)途中で参加中止可能なイベントであればイベント参加ユーザがイベントに参加していた平均イベント参加時間長、
 などの1つ又は複数を格納する。
 「イベント参加ユーザ行動状況値」は、ユーザキャラクタ4が行う移動や、喜び・興奮を意味する所定動作(例えば、Vサイン、ガッツポーズ、ジャンプを繰り返す、など)の種別の実行回数、ユーザ評価入力操作(例えば、好感度を抱いていることを表明する操作、好感度の程度を示すポイントや投げ銭選択をする操作、など)の種別の実行回数、などである。
 図8に戻って、受信済変更指示データ680は、統括サーバシステム1100Pから受信した変更指示データ572(図5参照)と同じ内容のデータである。
 仮想空間情報700は、当該ゲームサーバシステム1100Gが管理する仮想空間3の状況を示す各種データを格納する。統括サーバシステム1100Pから提供リクエストを受信した場合に統括サーバシステム1100Pに返信する情報である。
 仮想空間情報700は、例えば図11に示すように、送信元を示すサーバID701と、どの仮想空間3についてであるかを示す仮想空間ID703と、空間参加ユーザ情報705と、イベント発生状況情報707と、イベント進行状況情報710と、送信時の現在日時900の写しである日時情報720と、を含む。
 空間参加ユーザ情報705は、例えば空間参加ユーザ数、空間参加ユーザの男女比、空間参加ユーザのユーザキャラクタ4の属性比、などの1つ又は複数の情報を含む。
 イベント発生状況情報707は、今まで又は直近の所与の算定期間において発生したイベント発生数、進行中イベント数、特定イベント発生の有無、などの1つ又は複数の情報を含む。
 イベント進行状況情報710は、進行中のイベント毎にそれぞれのイベント制御データ660(図10参照)に基づいて作成される。1つのイベント進行状況情報710は、イベントID711と、発生日時712と、シナリオ分岐結果データ714と、適用設定データ716と、イベント参加状況情報718と、を含む。
 適用設定データ716は、当該イベントに現在適用されている設定を示す各種データを格納する。適用設定データ716には、当初は、イベントID711の示すイベントの標準設定データ640(図9参照)がコピーされるが、当該イベントを適用先イベントとする変更指示がある場合、当該変更指示に含まれる変更指示データ525(図6参照)の内容に変更される。
 イベント参加状況情報718は、当該イベントのイベント参加状況情報678(図10参照)の写しである。
 図12は、ユーザ端末1500の機能構成例を示す機能ブロック図である。ユーザ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500と、を備える。
 操作入力部100は、ユーザによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、VRコントローラ、などによって実現できる。
 端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、統括サーバシステム1100Pやゲームサーバシステム1100Gから受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末1500の動作を制御する。
 端末処理部200は、クライアント制御部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を有する。
 クライアント制御部260は、ゲームクライアントとしての制御として、ユーザ端末1500をマンマシンインターフェース(MMIF)として機能させる各種制御を行う。具体的には、クライアント制御部260は、操作入力情報提供部261と、表示制御部262と、を有する。
 操作入力情報提供部261は、操作入力部100からの入力に応じて操作入力情報をゲームサーバシステム1100Gへ送信する制御を行う。
 表示制御部262は、ゲームサーバシステム1100Gから受信したデータに基づいて各種の画像を表示させるための制御を行う。
 計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
 音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部390に出力する。音出力部390は、スピーカなど音生成部290から入力される音信号に基づいて音出力(放音)する装置によって実現される。
 画像生成部292は、クライアント制御部260の制御に基づく画像を画像表示部392へ表示させる表示制御信号を出力する。図1の例では、制御基板1550に搭載されるGPU(Graphics Processing Unit)や、グラフィックコントローラ、グラフィックボード、などがこれに該当する。画像表示部392は、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
 通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
 通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信モジュール1553がこれに該当する。
 端末記憶部500は、端末処理部200に所与の機能を実現させるためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスクなどによって実現される。図1の例では、制御基板1550が搭載するICメモリ1552がこれに該当する。
 具体的には、端末記憶部500は、ユーザ端末1500をクライアント制御部260として機能させるためのクライアントプログラム800(アプリケーションプログラム)と、現在日時900と、を記憶する。勿論、これら以外のデータも適宜記憶できる。ユーザ端末1500にてゲーム画面に使用する画像の一部を生成する場合には、ゲーム初期設定データ608(図8参照)の一部をダウンロードして記憶するとしてもよい。
 図13は、統括サーバシステム1100Pが実行する統括処理の流れを説明するためのフローチャートである。
 統括サーバシステム1100Pは、所与のタイミング(例えば、所定周期)で各ゲームサーバシステム1100Gへ仮想空間情報700の提供リクエストを送信する。そして、それぞれのゲームサーバシステム1100Gから仮想空間情報700を取得し、受信済仮想空間情報570(図5参照)として記憶する(ステップS12)。
 次に、統括サーバシステム1100Pは、ゲームサーバシステム1100G毎にループAを実行する(ステップS32からステップS46)。
 ループAにおいて、ゲームサーバシステム1100Gは、今回のループAの処理対象となるゲームサーバシステム1100Gである対象サーバで進行中のイベント毎に、ループBを実行する(ステップS34からステップS44)。対象サーバで実行中のイベントは、受信済仮想空間情報570に含まれるイベント進行状況情報710(図11参照)のイベントID711から分かる。
 ループBにおいて、ゲームサーバシステム1100Gは、変更指示パターン定義データ520(図6参照)の中から対象イベントが適用要件527を満たしている定義データを検索する。該当する定義データがあるならば(ステップS36のYES)、ゲームサーバシステム1100Gは、対象サーバを、所与の特別制御を適用する適用先仮想空間として決定する(ステップS38)。更に、該当すると判定された変更指示パターン定義データ520の変更指示データ525を特別制御の内容として決定する(ステップS40)。
 そして、対象サーバの対象イベントについての変更指示データ572(図5参照)を作成し、これを対象サーバへ送信して(ステップS42)、ループBを終える(ステップS44)。
 対象サーバで進行中のイベント全てについてループBを実行したならば、ループAを終える(ステップS46)。そして、全てのゲームサーバシステム1100GについてループAを実行したならば、ステップS12に戻る。
 図14は、ゲームサーバシステム1100Gが実行するゲームサーバ処理の流れを説明するためのフローチャートである。
 ゲームサーバシステム1100Gは、ゲーム初期設定データ608を参照して3次元仮想空間に各種オブジェクトを配置してゲーム空間である仮想空間3を構築し(ステップS50)、仮想空間3の自動制御を開始する(ステップS52)。すなわち、仮想空間3内のNPCや背景オブジェクトの自動制御を開始する。
 ゲームサーバシステム1100Gは、統括サーバシステム1100Pから変更指示を受信すると(ステップS54のYES)、受信済変更指示データ680として保存する(ステップS56)。そして、受信した変更指示の適用先イベントIDが進行中のイベントを示しているならば(ステップS58のYES)、ゲームサーバシステム1100Gは受信した変更指示に従って、当該イベントの適用設定データ668(図10参照)を変更し、受信済変更指示データ680を消去する(ステップS60)。これにより、進行中の当該イベントには、変更指示で指定された特別制御が適用されることになる。
 次に、ゲームサーバシステム1100Gは、受信済変更指示データ680の中から変更先イベント発生条件IDの条件を満たした未発生イベントを検索する。
 ゲームサーバシステム1100Gは、該当するイベントがあれば(ステップS80のYES)、当該イベントのイベント制御データ660(図10参照)を準備する。そして、ゲームサーバシステム1100Gは、その適用設定データ668へ当該イベントのイベント初期設定データ610(図9参照)の標準設定データ640をコピーした後、ステップS80の判定元になった受信済変更指示データ680の変更指示を反映させ、当該受信済変更指示データ680を消去する(ステップS82)。
 そして、ゲームサーバシステム1100Gは、当該イベントに係る各種オブジェクトを仮想空間3に配置し、イベントを発生させて、その進行制御を開始する(ステップS88)。これにより、新たに発生したイベントに、変更指示で指定された特別制御が適用されることになる。
 一方、ステップS80にて該当するイベントが無い場合(ステップS80のNO)、ゲームサーバシステム1100Gは、イベント初期設定データ610のイベント発生条件612が満たされた未発生イベントがあれば(ステップS84)、当該イベントのイベント制御データ660(図10参照)を準備する(ステップS86)。そして、ゲームサーバシステム1100Gは、当該イベントに係る各種オブジェクトを仮想空間3に配置してイベントを発生させ、その進行制御を開始する(ステップS88)。
 次に、ゲームサーバシステム1100Gは、統括サーバシステム1100Pから仮想空間情報700の提供リクエストを受信したならば(ステップS90のYES)、仮想空間情報700を作成して、これを返信する(ステップS92)。
 以上、本実施形態によれば、共通の世界観に設定された複数の仮想空間を並存させ、それら仮想空間へユーザを分散参加させて仮想体験を提供するシステムにおいて、各仮想空間を横断的な観点からコントロールすることが可能な技術を提供することができる。
 すなわち、仮想空間制御システム1000は、各仮想空間3に複数のユーザが参加可能な複数の仮想空間3を並行に制御する。そして、仮想空間制御システム1000は、仮想空間3の中から、所与の特別制御(例えば、イベント参加条件を変更、イベント発生条件を変更、イベント用NPC6やイベント用背景オブジェクト7の変更、などの制御)を適用する適用先仮想空間を決定し、適用先仮想空間に特別制御を適用することができる。つまり、各仮想空間を横断的な観点からコントロールできるようになる。
 よって、各仮想空間3において、ユーザへの平等な仮想体験の提供と、ユーザコミュニティでのイベントに係る話題作りとのバランスを取ることが可能になる。
 〔変形例〕
 以上、本発明を適用した実施形態の一例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
 (変形例その1)
 例えば、上記実施形態では、仮想空間制御システム1000で提供する仮想体験をオンラインゲームとする例を示したが、ゲームに限定されない。例えば、仮想の惑星を探検する、仮想のファンタジー世界で様々なファンタジックな動物と触れ合う、仮想の世界で恋愛をする、仮想の世界で動物や植物を飼育する、仮想の世界で商売をする、など適宜設定可能である。
 (変形例その2)
 また、上記実施形態では、統括サーバシステム1100Pとゲームサーバシステム1100Gとを別の個体として説明したが、統括サーバシステム1100Pとしての機能を、何れかのゲームサーバシステム1100Gで兼ねる構成としてもよい。つまり、仮想空間3を制御する仮想空間毎のコンピュータのうち、一のコンピュータが、適用先決定部212・特別制御内容決定部214・特別制御適用部246を備える構成としてもよい。
 具体的には、当該構成におけるゲームサーバシステム1100Gpの機能構成は、例えば図15のようになる。処理部200pは、統括サーバ制御部210およびゲームサーバ制御部230を有するが、統括サーバ制御部210は統括機能切替制御部270により、所与の発現条件を満たした場合に限り発現される。具体的には、統括サーバシステム1100Pとして機能している他のゲームサーバシステム1100Gから所定の移管リクエストを受信したことをもって、所与の発現条件を満たしたとみなす。
 ゲームサーバシステム1100Gpの記憶部500gは、例えば図16に示すように、上記実施形態におけるゲームサーバシステム1100Gが記憶するプログラムおよびデータと、上記実施形態における統括サーバシステム1100Pが記憶するプログラムおよびデータと、を記憶し得る。
 また、ゲームサーバシステム1100Gpの記憶部500gは、統括機能切替プログラム902と、統括担当フラグ904と、を記憶する。
 統括機能切替プログラム902は、ゲームサーバシステム1100Gpの処理部200gに統括機能切替制御部270としての機能を実現させるためのプログラムである。
 統括担当フラグ904は、当該ゲームサーバシステム1100Gpが統括サーバシステム1100Pとしての機能を発現させているときに「1」に設定される。
 図17は、ゲームサーバシステム1100Gpの処理の流れを説明するためのフローチャートである。
 ゲームサーバシステム1100Gpは、統括担当判定用情報を作成して、他のゲームサーバシステム1100Gと当該情報を交換する(ステップS100)。
 統括担当判定用情報は、複数のゲームサーバシステム1100Gpのうち相対的に軽負荷状態にあるサーバシステムを判定するための情報である。例えば、(a)演算処理付加状況値(いわゆるビジー値)の所与の算定期間(例えば、過去数時間、過去24時間、過去数日など)の平均値や中央値、(b)空間参加ユーザの所与の算定期間の平均値や中央値、などを用いてもよい。
 次に、ゲームサーバシステム1100Gpは、自機の統括担当判定用情報および他のゲームサーバシステム1100Gpから取得した統括担当判定用情報に基づいて、自機が所定の統括担当条件を満たすかを判定する(ステップS102)。
 統括担当条件は、例えば統括担当判定用情報から判定できる負荷状態において最も低負荷であること、などとしてもよい。
 そして、統括担当条件を満たしている場合(ステップS102のYES)、ゲームサーバシステム1100Gpは、他のゲームサーバシステム1100Gと通信を行って択一的に決定される統括担当の選択・決定を行い、統括担当フラグ904を「1(自機が統括担当)」に設定する(ステップS104)。統括担当条件を満たしていなければ(ステップS102のNO)、統括担当フラグ904を「0」に設定する(ステップS106)。
 ゲームサーバシステム1100Gは、統括担当フラグ904が「1」であれば(ステップS110の「1」)、統括処理を実行し(ステップS112;図13参照)、次いでゲームサーバ処理を実行する(ステップS114;図14参照)。
 もし、統括担当フラグ904が「0」であれば(ステップS110の「0」)、統括処理は実行せずゲームサーバ処理を実行する(ステップS114)。
 当該構成によれば、統括サーバシステム1100Pとして専用のコンピュータシステムを用意しなくて済む。
 なお、当該構成では、統括サーバ制御部210を機能させるゲームサーバシステム1000Gpを1台選択することとしたが、複数台選択することとしてもよい。その場合、適用先決定部212を担うゲームサーバシステム1000Gpと、特別制御内容決定部214を担うゲームサーバシステム1000Gpとを別々に選択し、合計2台のゲームサーバシステム1000Gpで統括サーバ制御部210をまかなう構成としてもよい。
  3…仮想空間
  210…統括サーバ制御部
  212…適用先決定部
  214…特別制御内容決定部
  230…ゲームサーバ制御部
  234…仮想空間制御部
  244…仮想空間情報提供部
  246…特別制御適用部
  270…統括機能切替制御部
  501…統括サーバプログラム
  520…変更指示パターン定義データ
  525…変更指示データ
  527…適用要件
  531…空間参加ユーザ条件
  532…仮想空間別イベント発生状況条件
  533…仮想空間別イベント進行状況条件
  540…相対要件
  541…相対空間参加ユーザ条件
  542…相対イベント発生状況条件
  543…相対イベント進行状況条件
  572…変更指示データ
  601…ゲームサーバプログラム
  610…イベント初期設定データ
  650…仮想空間制御データ
  660…イベント制御データ
  680…受信済変更指示データ
  700…仮想空間情報
  705…空間参加ユーザ情報
  707…イベント発生状況情報
  710…イベント進行状況情報
  718…イベント参加状況情報
  902…統括機能切替プログラム
  904…統括担当フラグ
  1000…仮想空間制御システム
  1010…運用システム
  1100G…ゲームサーバシステム
  1100P…統括サーバシステム
  1500…ユーザ端末

Claims (20)

  1.  共通の世界観に設定された各仮想空間に複数のユーザが参加可能な前記仮想空間それぞれを並行に制御するためのコンピュータシステムであって、
     前記仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定する適用先決定部と、
     前記適用先仮想空間に前記特別制御を適用する特別制御適用部と、
     を備えるコンピュータシステム。
  2.  前記適用先決定部は、前記仮想空間それぞれの状況の差に基づいて、前記適用先仮想空間を決定する、
     請求項1に記載のコンピュータシステム。
  3.  前記特別制御は、前記適用先仮想空間に参加しているユーザが参加可能な所与の対象イベントを対象とした特別制御である、
     請求項1又は2に記載のコンピュータシステム。
  4.  前記対象イベントは、前記複数の仮想空間それぞれで発生し得る共通のイベントである、
     請求項3に記載のコンピュータシステム。
  5.  前記仮想空間それぞれの状況に基づいて、前記特別制御の内容を可変に決定する特別制御内容決定部、
     を更に備える請求項1から4の何れか一項に記載のコンピュータシステム。
  6.  前記仮想空間それぞれの状況に基づいて、前記対象イベントの制御内容を可変に決定することで、前記特別制御の内容を決定する特別制御内容決定部、
     を更に備える請求項3又は4に記載のコンピュータシステム。
  7.  前記特別制御内容決定部は、前記適用先仮想空間で未発生のイベントを前記対象イベントとして選択し、当該対象イベントの制御内容を可変に決定する、
     請求項6に記載のコンピュータシステム。
  8.  前記特別制御内容決定部は、前記対象イベントの発生タイミングを可変に決定する、
     請求項7に記載のコンピュータシステム。
  9.  前記特別制御内容決定部は、前記適用先仮想空間で進行中のイベントを前記対象イベントとして選択し、当該対象イベントの制御内容を可変に決定する、
     請求項6に記載のコンピュータシステム。
  10.  前記特別制御内容決定部は、前記対象イベントに登場する登場オブジェクトの制御内容を可変に決定する、
     請求項6から9の何れか一項に記載のコンピュータシステム。
  11.  前記特別制御内容決定部は、前記対象イベントへのユーザ参加条件を可変に決定する、
     請求項6から10の何れか一項に記載のコンピュータシステム。
  12.  前記適用先決定部は、前記仮想空間それぞれのイベント状況に基づいて、前記適用先仮想空間を決定し、
     前記特別制御内容決定部は、前記仮想空間それぞれのイベント状況に基づいて、前記特別制御の内容を可変に決定する、
     請求項5から11の何れか一項に記載のコンピュータシステム。
  13.  前記イベント状況は、前記ユーザが参加可能なイベントのイベント参加状況を含み、
     前記適用先決定部は、前記仮想空間それぞれのイベント参加状況に基づいて、前記適用先仮想空間を決定し、
     前記特別制御内容決定部は、前記仮想空間それぞれのイベント参加状況に基づいて、前記特別制御の内容を可変に決定する、
     請求項12に記載のコンピュータシステム。
  14.  前記仮想空間の状況は、当該仮想空間に参加している前記ユーザの参加状況を少なくとも含み、
     前記適用先決定部は、前記仮想空間それぞれの前記参加状況に基づいて、前記適用先仮想空間を決定する、
     請求項1から13の何れか一項に記載のコンピュータシステム。
  15.  前記参加状況は、参加人数、参加ユーザの属性、および、参加ユーザの当該仮想空間の行動状況のうちの何れかである、
     請求項14に記載のコンピュータシステム。
  16.  前記仮想空間毎に当該仮想空間を制御するコンピュータを具備して構成される請求項1から15の何れか一項に記載のコンピュータシステム。
  17.  前記仮想空間を制御する前記仮想空間毎の前記コンピュータのうち、何れかのコンピュータが、前記適用先決定部および前記特別制御適用部を備える、
     請求項16に記載のコンピュータシステム。
  18.  前記仮想空間毎の前記コンピュータのうち、統括担当条件を満たすコンピュータが、前記適用先決定部および前記特別制御適用部を備える、
     請求項17に記載のコンピュータシステム。
  19.  請求項1から18の何れか一項に記載のコンピュータシステムであるサーバシステムと、
     前記ユーザのマンマシンインターフェースとなるユーザ端末と、
     を具備する仮想空間制御システム。
  20.  共通の世界観に設定された各仮想空間に複数のユーザが参加可能な前記仮想空間それぞれをコンピュータシステムが並行に制御するための制御方法であって、
     前記仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定することと、
     前記適用先仮想空間に前記特別制御を適用することと、
     を含む制御方法。
PCT/JP2023/009091 2022-03-30 2023-03-09 コンピュータシステム、仮想空間制御システムおよび制御方法 WO2023189361A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-056822 2022-03-30
JP2022056822A JP2023148675A (ja) 2022-03-30 2022-03-30 コンピュータシステム、仮想空間制御システムおよび制御方法

Publications (1)

Publication Number Publication Date
WO2023189361A1 true WO2023189361A1 (ja) 2023-10-05

Family

ID=88200735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/009091 WO2023189361A1 (ja) 2022-03-30 2023-03-09 コンピュータシステム、仮想空間制御システムおよび制御方法

Country Status (2)

Country Link
JP (1) JP2023148675A (ja)
WO (1) WO2023189361A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011110139A (ja) * 2009-11-25 2011-06-09 Namco Bandai Games Inc サーバシステム、及びアイテム管理方法
JP2012245054A (ja) * 2011-05-25 2012-12-13 Taito Corp ゲームサーバ処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011110139A (ja) * 2009-11-25 2011-06-09 Namco Bandai Games Inc サーバシステム、及びアイテム管理方法
JP2012245054A (ja) * 2011-05-25 2012-12-13 Taito Corp ゲームサーバ処理システム

Also Published As

Publication number Publication date
JP2023148675A (ja) 2023-10-13

Similar Documents

Publication Publication Date Title
US20230020322A1 (en) Game System, Game Controlling Method, and Game Controlling Program
JP7351966B2 (ja) コンピュータシステム、制御方法、視聴者端末、及びプログラム
US8628424B1 (en) Interactive spectator features for gaming environments
JP6339347B2 (ja) プログラム、ゲーム装置およびサーバシステム
JP5869512B2 (ja) サーバシステムおよびプログラム
WO2023189361A1 (ja) コンピュータシステム、仮想空間制御システムおよび制御方法
JP2023087059A (ja) コンピュータシステム、ゲームシステム、ゲーム実行制御方法及びプログラム
JP7430046B2 (ja) コンピュータシステム、サーバシステム、ゲームシステム及びプログラム
JP7386659B2 (ja) コンピュータシステム、サーバシステム、ゲームシステム及びプログラム
JP2019063207A (ja) プログラム、コンピュータシステム、サーバシステム及びゲームシステム
JP2023076039A (ja) 情報処理システム及びプログラム
JP7038513B2 (ja) プログラム、コンピュータシステム、サーバシステム及びゲームシステム
WO2023053697A1 (ja) コンピュータシステム、ゲームシステム、プレーヤ端末、及び提供方法
WO2023189363A1 (ja) コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法
WO2023189364A1 (ja) コンピュータシステム、サイバースペース制御システムおよび管理方法
JP2023098275A (ja) コンピュータシステムおよび反映制御方法
JP7303003B2 (ja) サーバシステム、ゲームシステムおよび制御方法
WO2023189362A1 (ja) コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法
JP2023049983A (ja) サーバシステム、プログラム、プレーヤ端末、及び提供方法
JP7430047B2 (ja) コンピュータシステム、サーバシステム、ゲームシステム及びプログラム
JP7405556B2 (ja) コンピュータシステム、サーバシステム及びプログラム
JP7398318B2 (ja) サーバシステムおよびシステム
JP2023049984A (ja) サーバシステム、プレーヤ端末、及び提供方法
JP2023049986A (ja) サーバシステム、端末装置及び提供方法
JP2023060951A (ja) プログラム及び情報処理システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23779387

Country of ref document: EP

Kind code of ref document: A1