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

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

Info

Publication number
JP2023148675A
JP2023148675A JP2022056822A JP2022056822A JP2023148675A JP 2023148675 A JP2023148675 A JP 2023148675A JP 2022056822 A JP2022056822 A JP 2022056822A JP 2022056822 A JP2022056822 A JP 2022056822A JP 2023148675 A JP2023148675 A JP 2023148675A
Authority
JP
Japan
Prior art keywords
event
virtual space
computer system
special control
virtual
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2022056822A
Other languages
English (en)
Inventor
昌平 中野渡
Shohei Nakanowatari
量一 加来
Ryoichi Kako
明生 恩田
Akio Onda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bandai Namco Entertainment Inc
Original Assignee
Bandai Namco Entertainment Inc
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 Bandai Namco Entertainment Inc filed Critical Bandai Namco Entertainment Inc
Priority to JP2022056822A priority Critical patent/JP2023148675A/ja
Priority to PCT/JP2023/009091 priority patent/WO2023189361A1/ja
Publication of JP2023148675A publication Critical patent/JP2023148675A/ja
Pending legal-status Critical Current

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

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)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】共通の世界観に設定された複数の仮想空間を並存させ、それら仮想空間へユーザを分散参加させて仮想体験を提供するシステムにおいて、各仮想空間を横断的な観点からコントロールすることが可能な技術を提供すること。【解決手段】共通の世界観に設定され、各仮想空間に複数のユーザが参加可能な複数の仮想空間を並行に制御する仮想空間制御システム1000は、統括サーバシステム1100Pで、仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定して、統括制御の内容を記述した変更指示をゲームサーバシステム1100Gへ送信する。ゲームサーバシステム1100Gは、適用先仮想空間に特別制御を適用する。【選択図】図1

Description

本発明は、仮想空間を制御するコンピュータシステム等に関する。
コンピュータの演算処理により仮想空間(例えば、メタバース、多人数参加型オンラインゲームのゲーム空間、など)を構築し、利用者であるユーザのキャラクタ(例えば、アバター、プレーヤキャラクタ、など;以下「ユーザキャラクタ」という。)を配置して、ユーザに仮想空間での仮想体験を提供する技術が知られている。例えば、特許文献1には、1つの仮想空間を共有するユーザ間でコミュニケーションをとることができる技術が開示されている。
ユーザ数が大規模に及ぶケースでは、共通する世界観に設定された仮想空間のデータを、複数のサーバシステムそれぞれに持たせて、各サーバシステムがそれぞれの仮想空間を個別に管理し、ユーザが使用するユーザ端末(クライアント端末)をそれらのサーバシステムに分散接続させるシステム構成が用いられる。当該システムで提供される仮想体験の元になる世界は、共通の世界観に設定されていて各仮想空間で並存する並行世界として構成されているとも言えるので、当該システムは「並行世界型」とも呼べる。
特開2001-312744号公報
仮想空間においては、複数のユーザが同時に同じ体験をすることができることが仮想体験を彩る重要な要素の1つとなっている。例えば、複数のユーザが同時に参加可能な参加型イベントは、イベントへの参加が仮想体験の一部となるだけでなく、参加経験がその後のユーザコミュニティにおける重要な話題ともなり得る。ユーザコミュニティで話題になれば、それはユーザを仮想体験へ促す強いモチベーションになり、仮想空間の世界が多いに盛り上がるきっかけとなり得る。
上述した並行世界型では、各サーバシステムは管理対象の仮想空間を、当該仮想空間の状況に着目して管理しているのが通常である。イベントの発生やイベントの進行制御についても同様であり、そこには他のサーバシステムが管理する他の仮想空間の状況は関与しなかった。その為、同じイベントなのに、ある仮想空間では大いに盛り上がったが、別の仮想空間では盛り上がらないことも起こり得た。
本発明が解決しようとする課題は、共通の世界観に設定された複数の仮想空間を並存させ、それら仮想空間へユーザを分散参加させて仮想体験を提供するシステムにおいて、各仮想空間を横断的な観点からコントロールすることが可能な技術を提供すること、である。
上記した課題を解決するための第1の発明は、共通の世界観に設定され、各仮想空間に複数のユーザが参加可能な複数の仮想空間を並行に制御するコンピュータシステムであって、
前記仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定する適用先決定手段(例えば、図1の統括サーバシステム1100P、図5の処理部200p、適用先決定部212、図13のステップS32からステップS46)と、
前記適用先仮想空間に前記特別制御を適用する特別制御適用手段(例えば、図1のゲームサーバシステム1100G、図7の処理部200g、特別制御適用部246、図14のステップS60、ステップS82)と、を備えるコンピュータシステムである。
ここで言う「コンピュータシステム」は、単数のコンピュータで構成される場合は勿論、複数のコンピュータによって連携して構成されるものでもよい。
第1の発明によれば、コンピュータシステムは、各仮想空間に複数のユーザが参加可能な複数の仮想空間を並行に制御する際に、所与の特別制御を適用する適用先仮想空間を決定し、適用先仮想空間に特別制御を適用することができる。つまり、各仮想空間を横断的な観点からコントロールすることが可能になる。
また、第2の発明は、前記適用先決定手段が、前記仮想空間それぞれの状況の差に基づいて(例えば、図6の変更指示パターン定義データ520、適用要件527の相対要件540)、前記適用先仮想空間を決定する、第1の発明のコンピュータシステムである。
第2の発明によれば、コンピュータシステムは、仮想空間それぞれの状況の差に基づいて適用先仮想空間を決定することができる。
第3の発明は、前記特別制御が、前記適用先仮想空間に参加しているユーザが参加可能な所与の対象イベントを対象とした特別制御である、第1又は第2の発明のコンピュータシステムである。
また、第4の発明は、前記対象イベントが、前記複数の仮想空間それぞれで発生し得る共通のイベントである、第3の発明のコンピュータシステムである。
適用先仮想空間に参加しているユーザが参加可能な対象イベントは、仮想体験の評価に直接的に影響を与え得るので、特別制御の対象とすると効果的である。
第3又は第4の発明によれば、コンピュータシステムは、適用先仮想空間に参加しているユーザが参加可能な対象イベントに特別制御を行うことが可能となる。
第5の発明は、前記仮想空間それぞれの状況に基づいて、前記特別制御の内容を可変に決定する特別制御内容決定手段(例えば、図1の統括サーバシステム1100P、図5の特別制御内容決定部214、図6の変更指示パターン定義データ520、図13のステップS36からステップS38)、を更に備える第1から第4の何れかの発明のコンピュータシステムである。
また、第6の発明は、前記仮想空間それぞれの状況に基づいて、前記対象イベントの制御内容を可変に決定することで、前記特別制御の内容を決定する特別制御内容決定手段、を更に備える第3又は第4の発明のコンピュータシステムである。
第5又は第6の発明によれば、コンピュータシステムは、仮想空間それぞれの状況に応じた内容の特別制御を実行できる。
第7の発明は、前記特別制御内容決定手段が、前記適用先仮想空間で未発生のイベントを前記対象イベントとして選択し、当該対象イベントの制御内容を可変に決定する、第6の発明のコンピュータシステムである。
第7の発明によれば、コンピュータシステムは、未発生のイベントを対象イベントとして、その制御内容を変更できる。
第8の発明は、前記特別制御内容決定手段が、前記対象イベントの発生タイミングを可変に決定する(例えば、図6の変更指示データ525における変更先イベント発生条件ID)、第7の発明のコンピュータシステムである。
第8の発明によれば、コンピュータシステムは、未発生のイベントの発生タイミングを変更できるようになる。
第9の発明は、前記特別制御内容決定手段が、前記適用先仮想空間で進行中のイベントを前記対象イベントとして選択し、当該対象イベントの制御内容を可変に決定する、第6の発明のコンピュータシステムである。
第9の発明によれば、コンピュータシステムは、適用先仮想空間で進行中のイベントの制御内容を変更できるようになる。
第10の発明は、前記特別制御内容決定手段が、前記対象イベントに登場する登場オブジェクトの制御内容を可変に決定する(例えば、図6の変更指示データ525における変更先イベント用背景オブジェクトID、変更先イベント用背景オブジェクト動作ID、変更先イベント用NPC(Non Player Character)ID、変更先イベント用NPC動作ID)、第6から第9の何れかの発明のコンピュータシステムである。
第10の発明によれば、コンピュータシステムは、対象イベントに登場する登場オブジェクトの制御内容を変更できるようになる。
第11の発明は、前記特別制御内容決定手段が、前記対象イベントへのユーザ参加条件を可変に決定する(例えば、図6の変更指示データ525における変更先イベント参加条件ID)、第6から第10の何れかの発明のコンピュータシステムである。
第11の発明によれば、コンピュータシステムは、対象イベントへのユーザ参加条件を変更できるようになる。
第12の発明は、前記適用先決定手段が、前記仮想空間それぞれのイベント状況に基づいて、前記適用先仮想空間を決定し、前記特別制御内容決定手段は、前記仮想空間それぞれのイベント状況に基づいて(例えば、図11の仮想空間情報700、イベント発生状況情報707、イベント進行状況情報710)、前記特別制御の内容を可変に決定する、第5から第11の何れかの発明のコンピュータシステムである。
第12の発明によれば、コンピュータシステムは、仮想空間それぞれのイベントの発生状況や進行状況等のイベント状況に応じて、適用先仮想空間を決定したり、特別制御の内容を決定できる。
第13の発明は、前記イベント状況は、前記ユーザが参加可能なイベントのイベント参加状況を含み(例えば、図11のイベント参加状況情報718)、前記適用先決定手段は、前記仮想空間それぞれのイベント参加状況に基づいて、前記適用先仮想空間を決定し、前記特別制御内容決定手段は、前記仮想空間それぞれのイベント参加状況に基づいて、前記特別制御の内容を可変に決定する、第12の発明のコンピュータシステムである。
第13の発明によれば、コンピュータシステムは、イベントへのユーザの参加状況に応じて、適用先仮想空間を決定したり、特別制御の内容を決定できる。
第14の発明は、前記仮想空間の状況は、当該仮想空間に参加している前記ユーザの参加状況(例えば、図11のイベント参加状況情報718におけるイベント参加ユーザ行動状況値)を少なくとも含み、前記適用先決定手段は、前記仮想空間それぞれの前記参加状況に基づいて、前記適用先仮想空間を決定する、第1から第13の何れかの発明のコンピュータシステムである。
第14の発明によれば、コンピュータシステムは、仮想空間に参加している前記ユーザの参加状況に応じて適用先仮想空間を決定できる。
第15の発明は、前記参加状況が、参加人数、参加ユーザの属性、および、参加ユーザの当該仮想空間の行動状況のうちの何れかである、第14の発明のコンピュータシステムである。
「参加ユーザの属性」は、ユーザの年齢、性別、居住地、プレーヤとしてのランクやレベル、プレーヤが使用するユーザキャラクタ(アバターやプレーヤキャラクタ)の種類や属性としてもよい。
「参加ユーザの当該仮想空間の行動状況」は、参加ユーザの仮想空間内で行った行動であって、例えば、ユーザキャラクタ(アバターやプレーヤキャラクタ)が行う移動や、喜び・興奮を意味する所定動作(例えば、Vサイン、ガッツポーズ、ジャンプを繰り返す、など)、ユーザ評価入力操作(例えば、好感度を抱いていることを表明する操作、好感度の程度を示すポイントや投げ銭選択をする操作、など)、等とすることができる。
第15の発明によれば、参加人数、参加ユーザの属性、および、参加ユーザの当該仮想空間の行動状況の何れかに応じて適用先仮想空間を決定することができる。
第16の発明は、前記仮想空間毎に当該仮想空間を制御するコンピュータを具備して構成される第1から第15の何れかの発明のコンピュータシステムである。
第16の発明によれば、コンピュータシステムは、仮想空間毎の管理に係る処理負荷の分散を図ることができる。
第17の発明は、前記仮想空間を制御する前記仮想空間毎の前記コンピュータのうち、何れかのコンピュータが、前記適用先決定手段および前記特別制御適用手段(例えば、図15のゲームサーバシステム1100Gp、特別制御適用部246、統括機能切替制御部270)を備える、第16の発明のコンピュータシステムである。
第17の発明によれば、コンピュータシステムは、システムを構成するコンピュータ数を抑制できる。
第18の発明は、前記仮想空間毎の前記コンピュータのうち、統括担当条件を満たすコンピュータが、前記適用先決定手段および前記特別制御適用手段を備える、第17の発明のコンピュータシステムである。
第18の発明によれば、コンピュータシステムは、適用先決定手段および特別制御適用手段を備えるコンピュータを、統括担当条件を満たすコンピュータとすることができる。統括担当条件が変化し得る状況(例えば、各コンピュータの処理負荷が変化する状態など)についての条件とするならば、適用先決定手段および特別制御適用手段を備えるコンピュータを、その時々の状況に応じて臨機応変に切り換えることが可能になる。
第19の発明は、第1から第18の何れかの発明のコンピュータシステムであるサーバシステムと、前記ユーザのマンマシンインターフェースとなるユーザ端末と、を具備する仮想空間制御システムである。
第19の発明によれば、第1から第18の何れかの発明と同様の効果をもたらす仮想空間制御システムを実現できる。
第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毎に用意され、固有のサーバ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は、その仮想空間において進行中のイベントの進み具合や盛り上がり具合についての条件であって、(a)進行中のイベント数、(b)イベント参加ユーザ数、(c)イベント参加ユーザの行動状況を示す値(例えば、「いいね」などのユーザ評価数など)、(d)イベント参加中のイベント参加ユーザのチャットの内容のうちイベントを肯定的に捉えた発言のチャットの統計値(肯定的チャット統計値)、(e)途中で参加中止可能なイベントであればイベント参加ユーザがイベントに参加していた平均イベント参加時間長、などの閾値や範囲として記述される。勿論、これら以外の情報を用いて条件を記述してもよい。
日時条件534は、その仮想空間における現在日時900についての条件である。例えば、特定の期間限定の変更指示パターンを設定する場合に用いるとよい。
相対要件540は、全ての仮想空間情報700を比較して判定される要件であって、その仮想空間3の状況が他の仮想空間3の状況と比べてどのような差異が生じているかについての要件である。相対要件540は、単数又は複数のサブ条件のANDやORで組み合わせて記述される。相対要件540のサブ条件としては、相対空間参加ユーザ条件541と、相対イベント発生状況条件542と、相対イベント進行状況条件543と、を用いてもよい。勿論、これら以外の内容のサブ条件も記述に用いてもよい。
相対空間参加ユーザ条件541は、その仮想空間における空間参加ユーザと、他の仮想空間における空間参加ユーザとの差についての条件である。
例えば、
(a)その仮想空間における空間参加ユーザ数と、他の仮想空間における空間参加ユーザ数の平均値(或いは中央値)との差、
(b)その仮想空間における空間参加ユーザの男女比と、他の仮想空間における空間参加ユーザの男女比の平均値(或いは中央値)との差、
(c)その仮想空間における空間参加ユーザのユーザキャラクタ4の属性比と、他の仮想空間における空間参加ユーザのユーザキャラクタ4の属性比との差、
などの閾値や範囲として記述される。勿論、これら以外の情報も記述に用いてもよい。
相対イベント発生状況条件542は、その仮想空間におけるイベント発生状況情報と、他の仮想空間におけるイベント発生状況情報との差についての条件である。
例えば、
(a)その仮想空間における所与の算定期間における発生済のイベント数と、他の仮想空間における同じ算定期間における発生済のイベント数の平均値(或いは中央値)との差、
(b)その仮想空間における発生頻度と、他の仮想空間における発生頻度の平均値(或いは中央値)との差、
などの閾値や範囲として記述される。勿論、これら以外の情報も記述に用いてもよい。
相対イベント進行状況条件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参照)を準備して、その適用設定データ668へ当該イベントのイベント初期設定データ610(図9参照)の標準設定データ640をコピーした後、ステップS80の判定元になった受信済変更指示データ680の変更指示を反映させ、当該受信済変更指示データ680を消去する(ステップS82)。
そして、ゲームサーバシステム1100Gは、当該イベントに係る各種オブジェクトを仮想空間3に配置し、イベントを発生させて、その進行制御を開始する(ステップS88)。これにより、新たに発生したイベントに、変更指示で指定された特別制御が適用されることになる。
一方、ステップS80にて該当するイベントが無い場合(ステップS80のNO)、ゲームサーバシステム1100Gは、イベント初期設定データ610のイベント発生条件612が満たされた未発生イベントがあれば(ステップS84)、当該イベントのイベント制御データ660(図10参照)を準備して(ステップS86)、当該イベントに係る各種オブジェクトを仮想空間3に配置してイベントを発生させ、その進行制御を開始する(ステップS88)。
次に、ゲームサーバシステム1100Gは、統括サーバシステム1100Pから仮想空間情報700の提供リクエストを受信したならば(ステップS90のYES)、仮想空間情報700を作成して、これを返信する(ステップS92)。
以上、本実施形態によれば、共通の世界観に設定された複数の仮想空間を並存させ、それら仮想空間へユーザを分散参加させて仮想体験を提供するシステムにおいて、各仮想空間を横断的な観点からコントロールすることが可能な技術を提供することができる。
すなわち、仮想空間制御システム1000では、各仮想空間3に複数のユーザが参加可能な複数の仮想空間3を並行に制御し、仮想空間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. 共通の世界観に設定され、各仮想空間に複数のユーザが参加可能な複数の仮想空間をコンピュータシステムが並行に制御する制御方法であって、
    前記仮想空間それぞれの状況に基づいて、所与の特別制御を適用する適用先仮想空間を決定することと、
    前記適用先仮想空間に前記特別制御を適用することと、
    を含む制御方法。
JP2022056822A 2022-03-30 2022-03-30 コンピュータシステム、仮想空間制御システムおよび制御方法 Pending JP2023148675A (ja)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2023148675A true JP2023148675A (ja) 2023-10-13

Family

ID=88200735

Family Applications (1)

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

Country Status (2)

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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5457146B2 (ja) * 2009-11-25 2014-04-02 株式会社バンダイナムコゲームス サーバシステム、及びアイテム管理方法
JP5797012B2 (ja) * 2011-05-25 2015-10-21 株式会社タイトー ゲームサーバ処理システム

Also Published As

Publication number Publication date
WO2023189361A1 (ja) 2023-10-05

Similar Documents

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

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20230630