以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.ゲームシステム
図1に本実施形態のゲームシステムのネットワーク構成の例を示す。図1では、サーバシステム500(情報処理システム)が、ネットワーク510を介して、店舗A、店舗B、店舗C・・・店舗Xのゲーム装置及びゲーム管理装置や、プレーヤの通信端末装置TCMと通信接続されている。例えば店舗Aのゲーム装置GM1A〜GM4Aはゲーム管理装置MNA(ターミナル)を介してサーバシステム500と通信接続される。店舗Bのゲーム装置GM1B〜GM4Bはゲーム管理装置MNBを介してサーバシステム500と通信接続される。他の店舗X等も同様である。各店舗A、B・・Xは、例えば、東京、横浜、大阪等の異なる地域にあるアミューズメント施設である。なお、以下では、各店舗のゲーム装置GM1A〜GM4A、GM1B〜GM4B・・・GM1X〜GM4Xを、適宜、ゲーム装置GM1〜GM4と記載し、各店舗のゲーム管理装置MNA、MNB・・・MNXを、適宜、ゲーム管理装置MNと記載する。
例えばサーバシステム500はホストであり、ゲーム管理装置MN(MNA、MNB等)、ゲーム装置GM1〜GM4(GM1A〜GM4A、GM1B〜GM4B等)、通信端末装置TCMはクライアントである。具体的には、店舗等のアミューズメント施設には、複数のゲーム装置GM1〜GM4と、ゲーム装置GM1〜GM4に通信接続されるゲーム管理装置MNが設置される。ゲーム管理装置MNはターミナルとも呼ばれ、ゲームプレイはできない非ゲーム装置であるが、ゲーム装置GM1〜GM4についての種々の管理処理を行う。そしてゲーム管理装置MNは、ゲーム装置GM1〜GM4に対しては親機となり、ゲーム管理装置MNとゲーム装置GM1〜GM4とはLAN等により通信接続される。そしてサーバシステム500とゲーム装置GM1〜GM4との間の通信接続は、ゲーム管理装置MNを介して行われる。なお、以下では、本実施形態のゲームシステム及びその処理を、主にサーバシステム500により実現する場合を例にとり説明するが、ゲームシステム及びその処理の一部を、ゲーム装置GM1〜GM4やゲーム管理装置MNや通信端末装置TCMにより実現してもよい。
サーバシステム500は例えば1又は複数のサーバ(ゲームサーバ、マッチングサーバ、データベースサーバ、管理サーバ、課金サーバ、サービス提供サーバ、コンテンツ配信サーバ、認証サーバ、又は通信サーバ等)により実現できる。このサーバシステム500は、コミュニティ型ウェブサイトやオンラインゲームを運営するための各種サービスを提供し、ゲーム実行に必要なデータの管理や、クライアントプログラム及び各種データ等の配信を行うことができる。
ネットワーク510(配信網、通信回線)は、例えばインターネットや無線LAN等を利用した通信路であり、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLANの他、電話通信網やケーブル網や無線LAN等の通信網を含むことができる。また通信方法については有線/無線を問わない。
通信端末装置TCMは、ネット接続機能(インターネット接続機能)を有する端末である。これらの通信端末装置TCMとしては、例えばスマートフォン、携帯電話機、或いはフューチャーフォン等の種々の端末装置を用いることができる。
図2にゲーム装置GM1〜GM4、ゲーム管理装置MNの例を示す。GM1〜GM4の各ゲーム装置は、後述する図4の表示部190として機能するモニター10を有する。モニター10は例えばドーム形状のモニターであり、プロジェクションマッピング等により迫力のある画像が映し出される。またGM1〜GM4の各ゲーム装置は、図4の操作部160として機能する操作レバー22、23及びペダル24、25や、カードリーダ28などを有する。プレーヤは、ゲーム装置のシートに着座し、操作レバー22、23、ペダル24、25などを操作して、ロボット対戦ゲーム(チーム対戦)を楽しむ。また、プレーヤが所持するゲームカード(広義には携帯型情報記憶媒体)をカードリーダ28にタッチすることで、自身のユーザ情報等をサーバシステム500からダウンロードして呼び出すことができる。
ゲーム管理装置MNは、各種情報を表示するためのモニター40や、各種情報を入力するためのタッチパネルモニター42や、ゲームカードのカードリーダ44や、プレーヤが購入したゲームカードの搬出口46や、引き継ぎ用磁気カードの投入口48などを有する。
図3に本実施形態のサーバシステム500(広義にはゲームシステム)の構成例を示す。サーバシステム500は、処理部600、操作部660、記憶部670、通信部696を含む。処理部600は、受信処理部602、送信処理部604、マッチング処理部606、ゲーム処理部608、登録処理部610、課金処理部616、管理処理部618、表示処理部620、音処理部630を含む。なお、サーバシステム500の構成は図3に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
受信処理部602は情報の受信処理を行う。例えばネットワーク510を介してゲーム管理装置MN、ゲーム装置GM1〜GM4、通信端末装置TCM等からの情報を受信するための処理を行う。送信処理部604は情報の送信処理を行う。例えばネットワーク510を介してゲーム管理装置MN、ゲーム装置GM1〜GM4、通信端末装置TCM等に対して情報を送信する処理を行う。ここで受信処理は、通信部696に情報の受信を指示したり、通信部696が受信した情報を取得して記憶部670に書き込む処理などである。送信処理は、通信部696に情報の送信を指示したり、送信する情報を通信部696に指示する処理などである。
マッチング処理部606は、プレーヤの所属するグループ等を決定するためのマッチング処理を行い、ゲーム処理部608は、ゲーム進行処理等のゲーム処理を行う。登録処理部610は、ユーザ情報等についての登録処理を行う。これらのマッチング処理部606、ゲーム処理部608、登録処理部610の詳細については後述する。
課金処理部616は、種々の課金処理(課金の決定処理、課金データの作成処理、保存処理等)を行う。記憶部670の課金情報記憶部676は、課金処理部616の課金処理の対象となる課金情報を記憶する。
管理処理部618は、サーバの各種の管理処理を行う。例えば、サーバが提供する各種サービスの管理処理や、サーバ管理情報などの各種情報の管理処理を行う。
例えばプレーヤは、サーバシステム500が提供するサービスを利用するために、所定の手続きを行ってアカウントを取得する。取得したアカウントと対応づけられるパスワードを入力してログインすることで、プレーヤは、ネットワークゲームのプレイや、ゲーム用サイトでのサービスや、アイテム等のオンライショッピングや、プレーヤ間でのメッセージ交換や、フレンドユーザの登録などの各種サービスを利用できるようになる。管理処理部618は、このようなプレーヤのアカウント情報の管理処理等も行う。
表示処理部620は、ゲーム装置等の端末装置で画像を表示するための各種の表示処理を行う。例えば画像を生成するための画像生成用データの生成処理等を行う。音処理部630は、ゲーム装置等の端末装置で音を出力するための各種の音処理を行う。例えば音(音声、ゲーム音、効果音)を生成するための音生成用データを生成する。ここで、画像を生成するための画像生成用データとは、本実施形態の手法により生成された画像をゲーム装置等の端末装置において生成(表示)するためのデータであり、画像データそのものであってもよいし、ゲーム装置等の端末装置が画像を生成するために使用する各種データ(表示画面の設定データ、オブジェクトデータ等)であってもよい。音処理部630が生成する音生成用データについても同様である。
操作部660は、システムの管理者(運営者)が種々の情報を入力するためのものである。
記憶部670は各種の情報を記憶する。例えばデータベース形式で各種情報を記憶する。また記憶部670は、処理部600や通信部696などのワーク領域として機能する。記憶部670の機能は、RAM(DRAM、SRAM、VRAM)やSSD(Solid State Drive)やHDD(Hard Disk Drive)などにより実現できる。
記憶部670は、ゲームデータ記憶部672、マッチング情報記憶部674、課金情報記憶部676、ユーザ情報記憶部678を含む。ゲームデータ記憶部672はゲームデータを記憶する。ゲームデータは、ゲームに登場する移動体又はゲームに使用されるアイテムのデータや、ゲーム音楽、ゲーム画像又はゲーム映像等のゲームコンテンツのデータである。マッチング情報記憶部674はマッチング情報を記憶する。マッチング情報は例えばマッチング処理により得られた情報であり、ルームの情報、各ルームに入室したプレーヤの情報、又はルームに入室したプレーヤにより編成されたグループの情報等である。課金情報記憶部676は、課金処理部616により行われる課金処理の情報を記憶する。ユーザ情報記憶部678は、プレーヤの個人情報(名前、性別、生年月日、メールアドレス等)をユーザ情報として記憶する。例えば、前述したプレーヤのアカウント情報もユーザ情報として記憶される。課金情報記憶部676に記憶される課金情報は、各プレーヤの各アカウント情報に対応づけられる。
情報記憶媒体680(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、HDD、メモリ(ROM等)、或いは光ディスク(CD、DVD)などにより実現できる。この情報記憶媒体680には、本実施形態のゲームシステム(サーバシステム等)の各部をコンピュータ(操作部、処理部、記憶部、出力部を備える装置)として機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
通信部696は、有線や無線のネットワーク510を介してゲーム管理装置MN、ゲーム装置GM1〜GM4、通信端末装置TCM等との通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
図4に本実施形態のゲーム装置(GM1〜GM4)の構成例を示す。なお、ゲーム装置の構成は図4に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ(角速度センサ、加速度センサ等)、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、SRAM、VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、各種プロジェクター型ディスプレイ、或いはHMDなどにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、プレーヤがゲームプレイするための各種情報が記憶されるものであり、ICカード(メモリーカード)、USBメモリ、或いは磁気カードなどにより実現できる。
携帯型情報記憶媒体195がICカード(ゲームカード)である場合に、I/F部194は、ICカードから情報を読み取る図2のカードリーダ28により実現できる。
通信部196は、有線や無線のネットワークを介して外部装置(例えば他のゲーム装置、ゲーム管理装置、サーバシステム等)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバシステム(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなサーバシステムによる情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、表示制御処理、或いは音出力処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、ゲーム処理部102、オブジェクト空間設定部104、移動体演算部106、仮想カメラ制御部108、受信処理部110、送信処理部114、対戦処理部116、表示制御部120、音制御部130を含む。なおこれらの構成要素の一部を省略したり、他の構成要素を追加するなどの変形実施が可能である。
ゲーム処理部102は種々のゲーム処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
オブジェクト空間設定部104は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、移動体(ロボット、車、人、飛行機、船舶、動物等)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部172には、オブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部104は、例えば各フレームごとにこのオブジェクトデータを更新する処理などを行う。
移動体演算部106は、移動体を移動させるための演算を行う。また移動体(移動体オブジェクト)を動作させるための演算も行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒等)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部108は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
受信処理部110は、サーバシステム、ゲーム管理装置等の外部装置からの情報の受信処理を行う。送信処理部114は、サーバシステム、ゲーム管理装置等の外部装置への情報の送信処理を行う。ここで受信処理は、通信部196に情報の受信を指示したり、通信部196が受信した情報を取得して記憶部170に書き込む処理などである。送信処理は、通信部196に情報の送信を指示したり、送信する情報を通信部196に指示する処理などである。
対戦処理部116は、対戦プレイのための種々の処理を行う。例えば、操作部160からの操作情報に基づき制御されるプレーヤ移動体と、コンピュータ又は他のプレーヤの操作により制御される敵移動体との対戦処理を行う。
表示制御部120は、表示部190に画像を表示するための処理を行う。例えば処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に表示する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ176(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
音制御部130は、音出力部192により音を出力するための制御を行う。例えば処理部100で行われる種々の処理の結果に基づいて音の処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192により出力する。
なお図4には図1、図2のゲーム装置GM1〜GM4の構成を示したが、ゲーム管理装置MNについても図4と同様の構成により実現できる。例えばゲーム管理装置MNも、ゲーム装置と同様に、処理部、操作部、記憶部、表示部、音出力部、I/F部、通信部等を有する。ゲーム管理装置MNの処理部は、ゲーム演算等を行わない他は、図4の処理部100と同様の構成により実現できる。ゲーム管理装置MNの記憶部、表示部、音出力部、I/F部、通信部も、図4の記憶部170、表示部190、音出力部192、I/F部194、通信部196と同様の構成に実現できる。なおゲーム管理装置MNのI/F部は図2のカードリーダ44により実現できる。またゲーム管理装置MNの通信部は、ネットワーク510を介してサーバシステム500との間で通信を行う。また通信部は、アミューズメント施設内に設けられたLAN等のネットワークを介してゲーム装置GM1〜GM4との通信を行う。
また図5(A)に、本実施形態のゲームシステムのネットワーク構成の他の例を示す。図5(A)では、サーバシステム500と、ゲーム装置等の端末装置TM1〜TMnとが、ゲーム管理装置等を介さずに通信接続されている。これらの端末装置TM1〜TMnとしては、例えば図5(B)の家庭用ゲーム装置(据え置き型)、図5(C)の携帯型ゲーム装置、図5(D)の携帯型の通信端末装置(スマートフォン、フューチャーフォン、携帯電話機)、或いは図5(E)の業務用ゲーム装置などの種々の装置を用いることができる。或いは、端末装置TM1〜TMnとして、パーソナルコンピュータ(PC)やタブレット型コンピュータなどの情報処理装置を用いてもよい。
そして図3に示すように本実施形態ではサーバシステム500(ゲームシステム)が、マッチング処理部606、ゲーム処理部608を含む。
マッチング処理部606は、同じキーワードを入力したプレーヤを同じグループ(チーム等)に所属させるマッチング処理を行う。具体的には、例えば同じグループに所属して通信ゲームを行うプレーヤを識別するためのキーワード(ID)を入力(登録)した第1のプレーヤの端末装置(ゲーム装置)から、グループへの参加依頼(マッチング依頼)が来たとする。この場合に、マッチング処理部606は、このキーワードに対応するルームを作成する。そして同じキーワードを入力(登録)した第2のプレーヤの端末装置から参加依頼が来た場合に、その第2のプレーヤを当該ルームに入室させる処理を行う。例えば、第1のプレーヤによるグループへの参加依頼によりルームが形成された後、それと同じキーワードを入力した第2〜第N(Nは2以上の整数)のプレーヤの端末装置から参加依頼が来た場合に、その第2〜第Nのプレーヤを当該ルームに入室させる処理を行う。これにより、同じキーワードを入力したプレーヤ(第1〜第Nのプレーヤ)を同じグループに所属させるマッチング処理が実現されて、これらのプレーヤによるグループが編成されるようになる。そしてゲーム処理部608は、マッチング処理により編成したグループを用いた通信ゲーム(Network game)のための処理を行う。
ここで、キーワードは、例えば文字(日本語、英語等)、数字、又は記号等で表されるものである。例えばキーワードは、プレーヤ同士がグループを編成するために取り決めた合い言葉などである。このキーワードは、グループへの参加依頼時に、プレーヤ(第1、第2のプレーヤ)が入力するものであってもよいし、後述する登録処理部610の登録処理により、ユーザ情報等として登録されたものであってもよい。
またプレーヤの端末装置からのグループへの参加依頼は、例えばプレーヤが端末装置を用いて、当該グループを用いた通信ゲームの開始を選択したり、或いは、グループのマッチング依頼などを行った場合に、例えば端末装置からサーバシステムに送信される。
また、ルームは、例えば通信ゲームの開始前の待ち合わせ(準備)のためにプレーヤが待機する場所(仮想空間での場所)である。またグループは、共同ゲームを行う複数のプレーヤにより編成されるものであってもよい、対戦ゲームを行う複数のプレーヤにより編成されるものであってもよい。或いは、グループは、共同ゲームを行う1又は複数のプレーヤと対戦ゲームを行う1又は複数のプレーヤにより編成されるものであってもよい。
また通信ゲームは、例えばインターネット等のネットワークを介して通信接続されるサーバシステムと端末装置とで情報を通信しながら行われるゲームである。そして、グループを用いた通信ゲームとしては、グループ同士での対戦ゲーム、グループ同士での共同ゲーム、グループ内のプレーヤ同士での対戦ゲーム、或いはグループ内のプレーヤ同士での共同ゲームなど種々の形態のゲームを想定できる。また、この通信ゲームは、図2のような業務用ゲーム装置により実現されるゲームであってもよいし、家庭用ゲーム装置により実現されるゲームであってもよい。或いは、通信ゲームは、パーソナルコンピュータ用のゲームであってもよいし、スマートフォン等の携帯型の通信端末装置により実現されるSNS(ソーシャルネットワーク)のゲームなどであってもよい。またゲーム処理部608が行う通信ゲームのための処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム成績の演算処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。これらの処理は、サーバシステム等(ゲームシステム)が単独で行う処理であってもよいし、サーバシステムと端末装置の分散処理により実現されるものであってもよい。
またマッチング処理部606は、キーワードを入力した第1のプレーヤの端末装置から参加依頼が来た場合に、マッチング期間を開始する。即ち、マッチング期間の制限時間のカウントを開始する。そして開始されたマッチング期間内において、同じキーワードを入力した第2のプレーヤの端末装置から参加依頼が来た場合に、その第2のプレーヤをルームに入室させる処理を行う。例えば第1のプレーヤの参加依頼によりルームが作成されて、マッチング期間が開始し、そのマッチング期間内において、同じキーワードを入力した第2〜第Nのプレーヤから参加依頼が来た場合に、第2〜第Nのプレーヤを、そのルームに入室させる。
またマッチング処理部606は、マッチング期間内において、ルームに入室したプレーヤの端末装置からマッチング終了の指示があった場合に、マッチング期間を終了させる。例えばプレーヤの入室人数がルームの定員数に達しなかった場合にも、ルームに入室したプレーヤの端末装置からマッチング終了の指示があった場合には、マッチング期間を打ち切って終了させる。マッチング終了の指示は、例えばプレーヤが端末装置の操作部を用いて入力することができる。
この場合にマッチング処理部606は、マッチング期間内において、例えば第1のプレーヤの端末装置からマッチング終了の指示があった場合に、マッチング期間を終了させる。即ち、ルームを作成して、そのルームのホストとなった第1のプレーヤの端末装置からマッチング終了の指示があった場合に、マッチング期間を終了させる。この場合には、他のプレーヤの端末装置からのマッチング終了の指示では、マッチング期間を終了させない。
またマッチング処理部606は、マッチング期間の開始後、マッチング期間の終了まで、マッチング状況情報をプレーヤに報知するための処理を行う。つまり、マッチング期間の間、マッチング状況情報をプレーヤに報知する。ここで、マッチング状況情報は、例えばルームに入室したプレーヤを識別するための情報(プレーヤのアイコン画像、名前、ニックネーム等)、プレーヤの入室順番の情報、入室したプレーヤの人数の情報、或いはプレーヤへの報知情報などである。例えばマッチング期間内において、このマッチング状況情報がリアルタイムに変化した場合に、その変化をプレーヤに報知する処理を行う。この報知処理は、例えば、マッチング状況情報を報知するための画像や音などの出力により実現できる。
またマッチング処理部606は、マッチング期間内に、同じキーワードを入力してルームに入室したプレーヤの人数が定員数に達した場合に、ルームへの入室を締め切る。例えば、ルームの定員数に達した後は、同じキーワードを入力したプレーヤからの参加依頼があった場合にも、そのプレーヤを、当該ルーム(定員数に達したルーム)に入室させないようにする。
この場合にマッチング処理部606は、マッチング期間内において開催されている通信ゲームに応じて、ルームの入室人数の定員数を変化させてもよい。例えばマッチング期間(マッチング期間の時間帯)において開催されている通信ゲームに応じて、定員数を設定する。なお、マッチング期間において第1、第2の通信ゲームが開催されており、第1の通信ゲームの方が第2の通信ゲームよりもグループの定員数が多かったとする。この場合には、ルームの定員数を、例えば第1の通信ゲームにおけるグループの定員数に設定することが望ましい。
また、マッチング処理部606は、マッチング期間が終了したときに、同じキーワードを入力してルームに入室したプレーヤの人数が定員数未満の場合には、マッチングにより得られた他のプレーヤをグループに所属させる処理を行う。例えばネットワーク上のプレーヤから、プレーヤのレベル等にマッチングするプレーヤを検索し、そのプレーヤをグループに所属させる。なお、適切なプレーヤを検索できなかった場合には、例えばコンピュータプレーヤ(所与のアルゴリズムによりプレイするプレーヤ)をグループに所属させる。
またマッチング処理部606は、マッチング期間の終了後に、同じキーワードを入力した別のプレーヤの端末装置から参加依頼が来た場合に、別のルームを作成して、その別のルームにその別のプレーヤを入室させる処理を行う。例えば、ルームに入室したプレーヤの人数が定員数に達したり、マッチング期間の制限時間が経過するなどして、マッチング期間が終了し、その後に、同じキーワードを入力した別のプレーヤの端末装置から参加依頼が来たとする。この場合にマッチング処理部606は、別のルームを作成して、その別のルームにその別のプレーヤを入室させる処理を行う。例えば第1のルームへのプレーヤの入室人数が定員数に達したり、制限時間が経過するなどして、マッチング期間が終了し、その後に、その第1のルームのキーワードと同じキーワードを入力した別のプレーヤが参加依頼した場合には、第2のルームを作成して、その第2のルームに別のプレーヤを入室させる。この場合に第1のルームについては、別のプレーヤには見えないようにする。そして、その後に同じキーワードを入力した他のプレーヤが参加依頼した場合には、そのプレーヤを第2のルームに入室させる。第2のルームのマッチング期間が終了すると、今度は第3のルームを作成する。このように、マッチング期間が終了するごとに、別のルームを作成する。なお、この場合のマッチング期間の終了としては、例えば、定員数への到達による終了、制限時間の経過による終了、或いはプレーヤからの終了指示による終了などを想定できる。
また図3のサーバシステム500(ゲームシステム)は登録処理部610を含む。登録処理部610はプレーヤのユーザ情報等の登録処理を行う。例えば登録処理部610は、キーワードをプレーヤが入力した場合に、キーワードの入力を受け付ける。そして、受け付けたキーワードをプレーヤに関連づけて記憶部670に登録する処理を行う。例えば、記憶部670のユーザ情報記憶部678を参照して、キーワードを入力したプレーヤのユーザ情報を検索する。そして、検索されたユーザ情報の中のキーワードのフィールドに、入力したキーワードを書き込む。こうすることで、書き込まれたキーワードが、プレーヤに関連づけられて記憶されることになる。
このように、キーワードが登録された場合に、登録処理部610は、キーワードが登録されているプレーヤに対して、キーワードにより編成されたグループによりプレイするゲームモードの選択を許可するための処理を行う。例えば、キーワードの登録を行っていないプレーヤの端末装置では、キーワードにより編成されたグループによりプレイするゲームモードを選択できないようにする。例えば当該プレーヤの端末装置でのゲームモード選択画面において、このようなゲームモードの選択項目を表示させないようにする。一方、キーワードの登録を行ったプレーヤの端末装置では、キーワードにより編成されたグループによりプレイするゲームモードを選択できるようにする。例えば当該プレーヤの端末装置でのゲームモード選択画面において、このようなゲームモードの選択項目を表示するようにする。例えば、サーバシステム500は、キーワードの登録を行っていないプレーヤの端末装置に対しては、キーワードのフィールド(項目)が空欄になったユーザ情報を送信する。一方、サーバシステム500は、キーワードの登録を行ったプレーヤの端末装置に対しては、当該フィールドにキーワードが書き込まれたユーザ情報を送信する。こうすることで、キーワードが登録されているプレーヤに対してだけ、キーワードにより編成されたグループによりプレイするゲームモードを許可できるようになる。
またマッチング処理部606は、同じキーワードを入力して入室可能な複数のルームの情報をプレーヤに表示するための処理を行ってもよい。例えば複数のルームの情報が表示される画面(ロビー画面)が、端末装置において表示されるようにする。例えば本実施形態の手法により編成された第1のグループのプレーヤが入室した第1のルームの情報と、本実施形態の手法により編成された第2のグループのプレーヤが入室した第2のルームの情報とが、端末装置において表示されるようにする。この場合に、第1のグループと第2のグループの間で対戦ゲームが行われるようにしてもよいし、第1のグループと第2のグループとで、共同の目的を達成する共同ゲームが行われるようにしてもよい。
2.本実施形態の手法
次に本実施形態の手法について説明する。なお、以下では、本実施形態の手法を、ゲーム装置に通信接続されるサーバシステムにより実現する場合について主に説明するが、本実施形態の手法はこれに限定されない。また、以下では、サーバシステムを、適宜、サーバと記載する。
2.1 キーワードによるグループ編成
ネットワークを利用した通信ゲーム(Network game)では、プレーヤが所属するグループを決定するためのマッチング処理が行われる。例えばグループ同士で対戦するグループ対戦(以下、適宜、チーム対戦と呼ぶ)のゲームを行う場合に、そのゲームの開始に先立って、マッチング処理によりグループ(以下、適宜、チームと呼ぶ)を編成する。
例えば第1の比較例の手法では、図2のように同一店舗内に設置されたゲーム装置GM1〜GM4に、仲間同士である第1〜第4のプレーヤが乗り込む。そして第1〜第4の各プレーヤは、各ゲーム装置GM1〜GM4のゲームモード選択画面において、チームのメンバが一斉出撃する一斉出撃モード(バースト出撃)を選択する。そして、全ての第1〜第4のプレーヤが一斉出撃モードを選択して、第1〜第4のプレーヤのチーム(広義にはグループ)が編成されると、全国に存在する他のプレーヤにより編成されたチームと対戦する全国対戦が行われる。このようにすることで、プレーヤは、気の合った仲間同士でチームを編成し、他のプレーヤのチームとの対戦ゲームを楽しむことができる。ロボット対戦ゲームを例にとれば、第1のチームを構成する第1〜第4のプレーヤにより操作される第1〜第4のロボットと、第2のチームを構成する第5〜第8のプレーヤにより操作される第5〜第8のロボットとの間で、チーム対戦が行われる。
しかしながら、この第1の比較例の手法では、気の合った仲間同士がチームを組むためには、全てのプレーヤが同一店舗のゲーム装置でプレイする必要がある。このため、例えば東京の店舗と大阪の店舗というように、離れた店舗のプレーヤ同士でチームを組んで、チーム対戦を行うことはできなかった。
また第2の比較例の手法として、対戦日時や参加メンバ等を予め決めておいて、これらの情報を対戦予約情報としてサーバのデータベースに登録し、サーバがこの対戦予約情報を管理して、プレーヤに対戦ゲームを行わせる手法が考えられる。この第2の比較例の手法では、サーバは、登録(予約)された対戦日時が近づくと、登録された参加メンバに対して、メール等により、対戦ゲームが間もなく開始されることを通知する。そして、登録した対戦日時になると、登録された参加メンバによる対戦ゲームが自動的に開始される。
しかしながら、この第2の比較例の手法では、対戦日時を予め登録(予約)しておく必要がある。このため、例えば登録された対戦日時において、メンバの一人が都合が悪くなったり、店舗のゲーム装置が他のプレーヤのゲームプレイにより空いていなかった場合には、予定した対戦日時にゲームを開始できなくなる事態が生じてしまう。また、この第2の比較例の手法では、対戦予約情報の管理等をサーバが行う必要があるため、サーバの処理負荷や処理データ量が多くなってしまい、サーバの負担が大きくなってしまうという問題もある。
そこで本実施形態では、グループ編成のマッチング処理に、プレーヤが入力したキーワードを用いる手法を採用する。例えば、仲間同士で決めた合い言葉等をキーワードとしてプレーヤが入力し、そのキーワードに基づいて、上述の第2の比較例の手法に比べて、緩い制限のマッチング処理を行う。具体的には、入力されたキーワードに基づいて通信ゲームのためのルームを作成し、同じキーワードを入力したプレーヤをそのルームに入室させる。即ち、同じグループに所属して通信ゲームを行うプレーヤを識別するためのキーワードをプレーヤが入力し、通信ゲームのグループへの参加依頼(マッチング依頼)を行うと、そのキーワードに対応するルームを作成する。そして、その後に、同じキーワードを入力した他のプレーヤが参加依頼(マッチング依頼)を行うと、キーワードを入力した他のプレーヤを当該ルームに入室させる。これにより、同じキーワードを入力したプレーヤを同じグループに所属させるマッチング処理が実現される。
図6、図7(A)、図7(B)は本実施形態の手法を説明する図である。図6のA1では、横浜、大宮、品川に住む3人のプレーヤが、LINE(登録商標)などのSNSやメール等を介して、「明日の9時からキーワード出撃しよう」などの対話を行っている。そしてA2では、キーワード出撃のためのキーワードが、例えば「まつりだいすき」というキーワードであることを、SNS等により他のプレーヤに伝えている。この「まつりだいすき」のキーワードは、3人のプレーヤの合い言葉であり、仲間同士で決めた言葉である。その後、これらの3人のプレーヤは、A1で決めた約束時間である9時付近に、各プレーヤの居住地(横浜、大宮、品川)にある店舗のゲーム装置に乗り込み、A5に示すように「まつりだいすき」のキーワードを入力する。そして、3人のプレーヤの全員が同じキーワードを入力することで、これらの3人のプレーヤは、同じチームに所属することが可能になる。従って、離れた場所に居る仲間同士が、同じチームに所属して、他のチームとの間の対戦ゲームをプレイできるようになる。
また図6のA3では、インターネット上の掲示板において、名古屋に住むプレーヤが「今度の日曜、誰かキーワード出撃しませんか?」と問いかけている。この問いかけに対して、大宮、北九州に住むプレーヤが、「夕方からなら参加できます」、「自分も仲間に入れてください」と答えている。そしてA4では、名古屋のプレーヤが「このキーワードでお願いします」と話して、「まつりだいすき」のキーワードを掲示板に書き込んでいる。大宮、北九州に住むプレーヤは、この書き込みによりキーワードを知り、キーワード出撃のためのキーワードとして登録する旨を約束する。その後、これらの3人のプレーヤは、日曜日の夕方に、各プレーヤの居住地(名古屋、大宮、北九州)にある店舗のゲーム装置に乗り込んで、A5に示すように「まつりだいすき」のキーワードを入力する。そして、3人のプレーヤの全員が同じキーワードを入力することで、これらの3人のプレーヤは、同じチームに所属することが可能になる。従って、例えば同じ腕前、同じ意識を持つプレーヤ同士が、離れた場所に住んでいても、同じチームに所属して、他のチームとの間の対戦ゲームをプレイできるようになる。
図7(A)では、横浜に住むプレーヤ(タナカ)が、約束の時間において、一番初めにキーワード出撃に参加依頼(エントリー)している。例えば、このプレーヤは、横浜の店舗のゲーム装置に乗り込んで、キーワードによりチームを編成して出撃するキーワード出撃のゲームモードを選択している。このように、本実施形態では、一番初めのプレーヤが参加依頼を行うと、そのタイミングで、そのキーワードに対応するルームを作成する。例えば図7(A)では、「まつりだいすき」のキーワードに対応するルームが作成されている。そして、当該ルームについてのマッチング期間が開始する。
その後、「まつりだいすき」のキーワードを入力した大宮のプレーヤ(ヨシダ)がキーワード出撃を選択すると、その大宮のプレーヤは、「まつりだいすき」のルームに2番目のプレーヤとして入室することになる。次に、「まつりだいすき」のキーワードを入力した品川のプレーヤ(アオキ)がキーワード出撃を選択すると、その品川のプレーヤは、3番目のプレーヤとして当該ルームに入室することになる。
そして、一番初めの横浜のプレーヤが参加依頼してから、所与の制限時間が経過すると、マッチング期間が終了して、当該ルームへの入室が締め切られる。その後、3人のプレーヤがチームを組んで、他のチームとの対戦ゲームが行われる。
図7(B)のB1では、対戦ゲームの終了後に、3人のプレーヤが、SNS等で、今回のゲームの反省等をして、次の対戦の戦略について話し合っている。その後、これらのプレーヤは、図6のA1等に示すような約束をして、再度、同じチームを組んで、次の対戦に挑むことになる。またB2では、3人のプレーヤが掲示板で、次の対戦を例えばその時間の35分に行うことを約束している。そして3人のプレーヤは、各自の時計等を見ながら、35分になったら、ゲーム装置にてキーワード出撃を選択する。こうすることで、再度、同じチームを組んで、次の対戦ゲームを楽しむことが可能になる。
以上の本実施形態の手法によれば、複数のプレーヤが合い言葉等のキーワードを入力することで、同じキーワードを入力したプレーヤによりグループが編成されて、編成されたグループを用いた通信ゲームが行われるようになる。従って、気の合う仲間同士や、同じ腕前や同じ意識を持つプレーヤ同士で、離れた場所に居てもグループを作って、一緒に通信ゲームをプレイして楽しめるようになる。例えば、これまでのゲームシステムでは、いつものメンバがゲームに参加できなくなった場合や、友達が就職などで離れ離れになった場合などには、一緒にグループを組む相手が居なくなり、例えば一人プレイでゲームをプレイせざるを得なかった。本実施形態の手法によれば、このような場合にも、離れた店舗で同じキーワードを入力して通信ゲームに参加することで、グループによる対戦ゲームや共同ゲームを楽しむことが可能になる。
また、前述の第2の比較例の手法では、対戦日時や対戦メンバ等の対戦予約情報を予め入力して、サーバのデータベース等に登録しておく必要がある。従って、サーバの処理負荷や処理データ量が増加してしまうという問題点がある。また、一度、対戦日時や対戦メンバを登録すると、それを変更することは難しく、一部のプレーヤが約束の対戦日時に間に合わなかった場合に、これに対応することが困難であるという問題点がある。
この点、本実施形態では、キーワードによるマッチングという緩い制限のマッチング処理により、グループを編成している。従って、対戦日時や対戦メンバなどを予めサーバのデータベースに登録しておく必要がなくなるため、サーバの処理負荷や処理データ量の増加を抑制できる。
また本実施形態においては、プレーヤ間で決めておく必要があるのは、キーワードだけで済み、対戦日時や参加メンバについては、SNSやインターネット上の掲示板での対話により、柔軟に変更できる。従って、一部のプレーヤが約束の対戦日時に間に合わなかったり、突然のメンバ変更があった場合等においても、これに柔軟に対処できるようになる。即ち、現在では、SNS等の普及により、ゲームを管理するサーバを介在させなくても、プレーヤ間において、対戦日時や参加メンバ等の情報をSNS等により簡単に即時的に伝達できる。本実施形態では、この点に着目し、対戦日時や参加メンバ等の情報の伝達については、SNS等による情報伝達に任せる。そしてプレーヤは、仲間の間ではキーワードだけを取り決めしておき、SNS等を使って伝達した対戦日時に、キーワードを入力して通信ゲームに参加する。こうすることで、サーバの負荷の増加を抑制しながら、同じキーワードを入力したプレーヤ同士でグループを編成して対戦ゲームや共同ゲームを楽しむことが可能になる。
2.2 マッチング処理、マッチング期間
図8(A)〜図9(B)は本実施形態のマッチング処理やマッチング期間についての詳細な説明図である。図8(A)では、例えば「まつりだいすき」のキーワードを入力したプレーヤPA(第1のプレーヤ)のゲーム装置GMA(広義には端末装置)から、サーバに対して参加依頼(エントリー)が来ている。具体的には、プレーヤPAがゲーム装置GMAにおいて、キーワードを入力して出撃するキーワード出撃を選択しており、これを受けたゲーム装置GMAが、サーバに対してグループへの参加依頼(グループマッチングの依頼)を出している。
すると図8(B)に示すように本実施形態では、例えばサーバ(マッチングサーバ)がキーワードに対応するルームを作成する。即ち、「まつりだいすき」のキーワードが対応づけられたルームを作成する。例えばマッチング処理のチャンネルがルームとして形成され、そのチャンネルに「まつりだいすき」のキーワードが対応づけられる。そして、このようにルームが作成されると、マッチング期間が開始し、マッチング期間の残り時間(制限時間)が例えば240秒であることがプレーヤに知らされる。
次に図8(C)では、プレーヤPAと同じキーワード(「まつりだいすき」)を入力したプレーヤPB(第2のプレーヤ)のゲーム装置GMBから、サーバに対して参加依頼が来ている。具体的には、プレーヤPBがゲーム装置GMBにおいてキーワード出撃を選択して、これを受けたゲーム装置GMBが、サーバに対してグループへの参加依頼(グループマッチングの依頼)を出している。
すると図8(D)に示すように、プレーヤPBを「まつりだいすき」のルームに入室させる処理が行われる。これにより、同じキーワードを入力したプレーヤPA、PBが、当該キーワードに対応するルームに入室することになり、プレーヤPA、PBを同じグループに所属させるマッチング処理が実現される。なお、この際に、マッチング期間の残り時間は、図8(B)の240秒から減少して、例えば195秒になっている。
以上のようにして、本実施形態では、同じキーワードを入力したプレーヤを、順次、そのキーワードに対応するルームに入室させる処理が行われる。具体的には図9(A)に示すように、プレーヤPA(第1のプレーヤ)が参加依頼を行うことで、ルームが形成されて、マッチング期間が開始している。そして開始したマッチング期間内において、同じキーワードを入力したプレーヤPB、PC、PDのゲーム装置から参加依頼が来ると、これらのプレーヤPB、PC、PDを、キーワードに対応するルームに入室させる処理が行われる。
そして、マッチング期間が終了(例えば240秒が経過)すると、当該ルームへの入室は締め切られる。具体的には図9(B)に示すように、マッチング期間の残り時間が0秒になり、参加依頼の受け付けが終了したことが、その後に参加依頼したプレーヤに伝えられる。そして、マッチング期間の終了後に、プレーヤPA、PB、PC、PDにより編成されるチームを用いた通信ゲームが開始する。
以上のように本実施形態では、図9(A)に示すように一番目のプレーヤPAがキーワードを入力して参加依頼すると、マッチング期間TAが開始する。そして、そのマッチング期間TA内において、同じキーワードを入力した他のプレーヤPB、PC、PDが参加依頼を行うと、これらのプレーヤPB、PC、PDを当該ルームに入室させる処理が行われる。そして、制限時間が経過すると、マッチング期間TAが終了して、当該ルームへの入室が締め切られ、対戦ゲーム等が開始する。
このようにすれば、前述した第2の比較例の手法のように対戦日時を予め登録(予約)しておかなくても、一番目のプレーヤの参加依頼によりマッチング期間を開始し、マッチング期間の終了後に、キーワード入力により編成されたグループを用いた対戦ゲーム等を開始できるようになる。従って、サーバのデータベースに対戦日時等を登録しておく必要がなくなり、サーバの負荷を軽減できる。
また、例えばSNS等による事前の話し合いでは、対戦ゲームの開始が18時であったのが、メンバの一人が仕事等の都合により、19時にならないと対戦ゲームを開始できなくなった、というようなケースを想定する。このようなケースでは、本実施形態によれば、そのメンバの一人がSNS等により、参加が遅れることを他のプレーヤに伝える。これを受けたキーメンバのプレーヤが、キーワード出撃への参加依頼を、18時から19時に遅らせる。すると、当初は18時にスタートする予定であったマッチング期間の開始が遅れて、19時になる。そして、例えば240秒等の制限時間の経過により、マッチング期間が終了して、対戦ゲームが開始されるようになる。従って、19時頃から対戦ゲームを開始できるようになり、仕事等の都合により遅れたプレーヤも、グループに参加して対戦ゲームをプレイできるようになる。従って、本実施形態の手法は、第2の比較例の手法に比べて、メンバの事情等による開始時間の変更等にも柔軟に対応できるという利点がある。
また、キーワード入力によるマッチングでは、意図しないプレーヤがグループに参加してしまうおそれもある。例えば、第1〜第4のプレーヤがキーワードを決めて、グループを作ろうとしたが、偶然に第5のプレーヤが同じキーワードを入力して参加依頼すると、その第5のプレーヤが、第1〜第4のプレーヤのグループに編入されてしまう事態が生じる。
この点、本実施形態では、マッチング期間を設けて、例えば240秒というような短い制限時間でマッチング期間を終了させている。従って、例えば第1のプレーヤの参加依頼によりマッチング期間が開始し、その後、例えば240秒以内に上述の第5のプレーヤが同じキーワードを入力して参加依頼しない限り、その第5のプレーヤは当該グループに編入されないようになる。従って、このような第5のプレーヤが偶然に第1〜第4のグループに編入されてしまうような事態の発生を効果的に抑制できる。
また、マッチング期間の長さが長いと、対戦ゲーム開始前のプレーヤの待ち時間が長くなり、ゲーム装置の稼働率が低下するおそれがある。この点、本実施形態では、マッチング期間を設けて、マッチング期間を短い期間で終了させることで、このようなゲーム装置の稼働率の低下を抑制している。
なお図8(B)、図8(D)、図9(B)に示すように本実施形態では、マッチング期間の開始後、マッチング期間の終了まで、マッチング状況情報をプレーヤに報知するための処理を行っている。例えば図8(B)では、ルームを作成した一番目のプレーヤの情報(名前、アイコン顔画像等)や、マッチング期間の残り時間の情報が、プレーヤに報知(表示)されている。図8(D)では、一番目のプレーヤに加えて2番目のプレーヤの情報が報知されている。また、マッチング期間内であり、参加受付中である点や、マッチング期間の残り時間が、プレーヤに報知されている。また図8(B)から図8(D)のように画面が変化することで、ルームへの入室メンバや入室人数が変化したことが、プレーヤに報知される。また図9(B)では、マッチング期間が終了して、参加の受け付けが終了した点や、グループの最終構成メンバのプレーヤの情報が報知されている。
このように、マッチング期間内におけるマッチング状況情報をプレーヤに報知することで、参加依頼しようとするプレーヤに対して、参加依頼するにあたって必要な適切な情報を効果的に伝えることが可能になる。例えば、プレーヤは、マッチング状況情報を見ることで、そのルームに入室しているプレーヤが、確かに自分の友達等なのかを確認できる。また、マッチング期間が、あとどれくらいで終了するのか、参加予定であったのに参加依頼していない友達の情報などを確認できるようになる。
また本実施形態では、マッチング期間内において、ルームに入室したプレーヤのゲーム装置(端末装置)からマッチング終了の指示があった場合に、マッチング期間を終了させる。具体的には、例えばマッチング期間内において、ルームを作成した一番目のプレーヤ(第1のプレーヤ)のゲーム装置からマッチング終了の指示があった場合に、マッチング期間を終了させる。
例えば図10(A)では、3人のプレーヤがルームに入室しており、入室人数は、後述する定員数=4人に達していない。またマッチング期間の制限時間も経過していないため、参加受付中である点が画面に表示されている。また、プレーヤがゲーム装置のスタートボタンを押すことで募集打ち切りになり、マッチング期間が終了する点が、画面に表示されている。
そして図10(B)では、マッチング期間内において、ルームに入室しているプレーヤからマッチング期間の終了指示があり、これによりマッチング期間が終了している。具体的には、一番目のプレーヤPAが、そのゲーム装置に設けられるスタートボタンを押すことで、募集が打ち切られ、マッチング期間が終了している。即ち、制限時間が経過していないにも関わらず、プレーヤの意思によりマッチング期間が終了している。
例えば、当初の参加予定人数は4人であったが、一人のプレーヤの都合がつかず、参加人数が3人に減ったケースを想定する。キーメンバである一番目のプレーヤPAは、都合がつかないプレーヤの不参加を、SNSやメール等による連絡で知っている。従って、このような場合に、マッチング期間が続いても、時間の無駄になってしまう。そこで、プレーヤPAは、他のプレーヤPB、PCの参加を図10(A)の画面で確認した後、制限時間の経過前に、自身のゲーム装置のスタートボタンを押すことで、マッチング期間を終了させる。このようにマッチング期間を終了させることで、キーワード出撃による他のチームとの対戦ゲームを直ぐに開始できるようになる。即ち、図10(A)において、マッチング期間の終了を待つと、例えば対戦ゲームの開始前に、少なくとも150秒の間、プレーヤは何もせずに待つことになってしまう。
この点、プレーヤの終了指示により、図10(B)にようにマッチング期間を終了できれば、このような150秒の待ち時間の経過を待つこと無く、直ぐに他のプレーヤのチームとの対戦を開始できるようになる。従って、プレーヤの感じるストレスを解消できると共にゲーム装置の稼働率も向上できる。
なお図10(A)、図10(B)では、一番目の参加依頼プレーヤPAを、キーメンバのプレーヤとして、マッチング期間を終了させたり、ゲームプレイの各オプション等を選択する権限を与えている。このように一人のプレーヤPAにだけ、当該権限を与えることで、多数のプレーヤが異なる選択を行うことで混乱が生じてしまうような事態を防止できる。また、プレーヤPAに、キーワード対戦の設定等のための選択を任せることで、そのプレーヤPAをキーメンバのプレーヤに設定して、ゲームをスムーズに進行させることなどが可能になる。
また本実施形態では、同じキーワードを入力してルームに入室したプレーヤの人数が定員数に達した場合に、当該ルームへの入室を締め切るようにしている。即ち、マッチング期間の制限時間が経過しなくても、入室人数が定員数に達すると、当該ルームの入室は締め切られ、それ以降は、当該ルームに他のプレーヤが入室することができなくなる。このように定員数を設けることで、適切な人数構成のチーム同士で、対戦等を行うことが可能になる。
この場合に本実施形態では、マッチング期間内において開催されている通信ゲームに応じて、定員数を変化させている。例えば本実施形態では、開催日(開催日時)に応じて、定員数が異なる通信ゲームを開催している。
具体的には図11(A)では、対戦モードとして、全国対戦モードとイベント対戦モードが用意されており、プレーヤは任意に選択できる。全国対戦モードは、全国から集まったプレーヤがチームを組んで対戦するモードである。イベント対戦モードは、参加条件や特殊ルールが設定された対戦モードであり、全国対戦モードと同様に、全国から集まったプレーヤがチームを組んで対戦する。そして図11(A)に示すように、全国対戦モードの定員数は4人で一定であるが、イベント対戦モードでは、開催日によって定員数が異なる。例えば7月1日開催のイベントEの対戦の定員数は6人であり、7月2日開催のイベントFの対戦の定員数は3人になっている。
そして本実施形態では、全国対戦モードとイベント対戦モードで定員数が異なる場合には、ルームの入室人数の定員数を、多い方の対戦モードの定員数に設定する。従って、7月1日では、入室人数の定員数は6人(=イベントEの対戦の定員数)に設定され、7月2日では、定員数は4人(=全国対戦の定員数)に設定される。このように、開催日(或いは開催日時)に応じて、マッチング期間の入室人数の定員数が変化する。即ち、マッチング期間内において開催されている通信ゲーム(全国対戦、イベント対戦)に応じて入室人数の定員数が変化している。
従って、マッチング期間が属する日にちが7月1日である場合には、図11(B)に示すようにルームの入室人数の定員数は6人(=イベントEの対戦の定員数)に設定されており、入室人数が6人に達すると、受け付け終了となる。即ち、マッチング期間の制限時間が経過していなくても、入室は締め切られて、チームの編成人数は6人になる。つまり、この後に、プレーヤが、全国対戦とイベント対戦のどちらの対戦モードを選ぶかは、定かではないため、入室人数の定員数は、多い方の対戦モードの定員数に合わせる。なお、6人のチームが組まれた場合、プレーヤ(一番目のプレーヤ)のゲーム装置の画面には、対戦モードの選択肢として、定員数が4人である全国対戦モードは表示されないようになる。従って、プレーヤは、全国対戦のプレイを望む場合には、入室人数が4人に達したところで、募集を打ち切ればよい。
また本実施形態では、ルームの入室人数が定員数に達するなどして、マッチング期間が終了した場合には、別のルームを作成して、その後のプレーヤを、その別のルームに入室させる手法を採用している。具体的には、ルームへの入室人数が定員数に達したり、制限時間が経過したり、プレーヤからの終了指示により、マッチング期間が終了し、マッチング期間の終了後に、同じキーワードを入力した別のプレーヤの端末装置から参加依頼が来たとする。この場合には、別のルームを作成して、その別のルームに当該別のプレーヤを入室させる。
例えば図12では、キーワードを入力したプレーヤPAが参加依頼を行うことで、ルームR1が作成され、マッチング期間TA1が開始している。そしてマッチング期間TA1内に、プレーヤPAと同じキーワードを入力したプレーヤPB、PC、PDが参加依頼を行うと、これらのプレーヤPB、PC、PDをルームR1に入室させる。そして入室人数が定員数である4人に達すると、ルームR1への入室は締め切られて、マッチング期間TA1が終了する。或いは、マッチング期間TA1の制限時間が経過したり、プレーヤPAの終了指示があった場合にも、マッチング期間TA1が終了する。
そしてマッチング期間TA1が終了した後に、プレーヤPAと同じキーワードを入力した別のプレーヤPEが参加依頼を行ったとする。すると、この場合には、ルームR1とは別のルームR2を作成して、マッチング期間TA2を開始する。そしてマッチング期間TA2内に、プレーヤPAやPEと同じキーワードを入力したプレーヤPF、PG、PHが参加依頼を行うと、これらのプレーヤPF、PG、PHをルームR2に入室させる。そして入室人数が定員数である4人に達すると、ルームR2への入室は締め切られて、マッチング期間TA2が終了する。或いは、マッチング期間TA2の制限時間が経過したり、プレーヤPEの終了指示があった場合にも、マッチング期間TA2が終了する。
そしてマッチング期間TA2が終了した後に、プレーヤPAやPEと同じキーワードを入力した別のプレーヤPIが参加依頼を行った場合には、別のルームR3を作成して、マッチング期間TA3を開始する。そしてマッチング期間TA3内に、プレーヤPAやPEやPIと同じキーワードを入力したプレーヤPJ、PK、PLが参加依頼を行うと、これらのプレーヤPJ、PK、PLをルームR3に入室させる。そして入室人数が定員数である4人に達すると、ルームR3への入室は締め切られて、マッチング期間TA3が終了する。或いは、マッチング期間TA3の制限時間が経過したり、プレーヤPIの終了指示があった場合にも、マッチング期間TA3が終了する。
以上のようにすれば、ルームへのプレーヤの入室人数が定員数に達したり、制限時間が経過するなどしてマッチング期間が終了した場合にも、その後に同じキーワードを入力したプレーヤを別のルームに入室させて、その別のルームによりチームを編成することが可能になる。
例えば図6のA3、A4のように、インターネット上の掲示板にキーワードを書き込んで、チームを組む仲間を募った場合には、多数のプレーヤが同じキーワードを入力して、参加依頼して来る可能性がある。このような場合にも、図12に示すように、前のルームのマッチング期間が終了するごとに別のルームを作成する手法を採用すれば、同じキーワードを入力した多数のプレーヤが、各チームを組んで、対戦等を楽しむことが可能になる。また、仲間で決めたキーワードが、他のプレーヤのキーワードと偶然に同じキーワードになってしまう場合もあり得る。このような場合にも、図12の手法を採用して、別のルームを作成すれば、仲間同士を同じチームに所属させて、対戦ゲームをプレイさせることが可能になる。
また本実施形態では、マッチング期間が終了したときに、同じキーワードを入力してルームに入室したプレーヤの人数が定員数未満の場合には、マッチングにより得られた他のプレーヤをグループに所属させる処理を行う。
例えば図13(A)では、ルームの定員数が4人であるのに、定員数に満たない3人のプレーヤしか集まっていない状態で、募集が打ち切られている。例えば当初は4人の仲間が集まる予定であったのに、一人が都合により来られなくなり、それを知った一番目のプレーヤが、ゲーム装置のスタートボタンを押して募集を打ち切っている。或いは、定員数に満たない3人のプレーヤしか集まっていない状態で、制限時間が経過して、マッチング期間が終了する場合もある。
このように、ルームに入室したプレーヤの人数が定員数未満の場合には、定員を埋めるために、マッチングにより得られた他のプレーヤをチーム(グループ)に所属させる。例えば図13(B)では、既に参加している3人のプレーヤと同一レベルのプレーヤを全国から検索し、そのプレーヤを4人目のプレーヤとしてチームに所属させている。これにより、チームの人数が、例えば全国対戦モードの定員数である4人に達し、この4人のプレーヤがチームを組んで、他のチームとの対戦を行うことが可能になる。なお、4人目のプレーヤが全国から検索できなかった場合には、所与のアルゴリズムで動作するコンピュータプレーヤを、チームに所属させればよい。
2.3 登録処理
本実施形態では、プレーヤが入力したキーワードを、プレーヤに関連づけて記憶部に登録する処理を行うことが望ましい。即ち図3の登録処理部610は、キーワードをプレーヤが入力した場合に、そのキーワードの入力を受け付ける。そして、受け付けたキーワードをプレーヤに関連づけて記憶部670(データベース)に登録する。具体的には、入力されたキーワードをプレーヤのユーザ情報に書き込んで登録する。このようにすることで、例えばプレーヤがキーワード対戦を選択するごとにキーワードを入力しなければならないというような手間を省くことが可能になる。
例えば図14(A)では、プレーヤは、ユーザ情報をサーバ(データベースサーバ)のユーザ情報記憶部に登録する。このユーザ情報は、ゲームカードCD(ICカード)や通信端末装置TCMに関連づけられる。即ち、プレーヤは、ゲームカードCDや通信端末装置TCMを用いることで、このユーザ情報を呼び出したり、ユーザ情報を書き換えたりすることが可能になる。
図14(B)に、ユーザ情報の一例を示す。このユーザ情報は、ユーザID、名前、階級、キーワードなどのフィールド(項目)を有している。図14(B)では、ユーザID、名前、階級のフィールドには、対応する情報が書き込まれているが、キーワードのフィールドは空欄になっている。即ち、ユーザが未だキーワードを入力していないため、当該フィールドは空欄になっている。
図15(A)では、プレーヤは、図2のゲーム管理装置MN(ターミナル)のカードリーダにゲームカードCDをタッチしている。これにより、サーバからゲーム管理装置MNに対して、図14(B)のユーザ情報がダウンロードされる。即ち、ゲームカードCDに記録されるIDをキーにして、プレーヤのユーザ情報がサーバの記憶部670(ユーザ情報記憶部)から読み出されて、ゲーム管理装置MNにダウンロードされる。
次にプレーヤは、仲間の間の合い言葉であるキーワードを、ゲーム管理装置MNにおいて入力する。これにより、図14(B)では空欄であったキーワードのフィールドに、入力したキーワードである「まつりだいすき」が書き込まれる。そして、キーワードが書き込まれたユーザ情報はゲーム管理装置MNからサーバに対してアップロードされて、サーバの記憶部670(ユーザ情報記憶部)に保存される。
以上のようにして、プレーヤが入力したキーワードが、そのプレーヤ(ユーザ情報)に関連づけて記憶部670に登録されるようになる。
次に、プレーヤがゲーム装置GMに乗り込んで、ゲーム装置GMのカードリーダにゲームカードをタッチする。すると、上述のようにして登録されたプレーヤのユーザ情報が、サーバからゲーム装置GMに対してダウンロードされる。ダウンロードされたユーザ情報のキーワードのフィールドには、「まつりだいすき」のキーワードが書き込まれている。従って、ゲーム装置GMのゲームモードの選択画面には、キーワードによりチームを編成して出撃するキーワード出撃の選択肢が表示されるようになる。即ち、ユーザ情報のキーワードのフィールドが図14(B)のように空欄である場合には、ゲームモードの選択画面には、キーワード出撃の選択肢は表示されないが、当該フィールドにキーワードが書き込まれていると、キーワード出撃の選択肢が表示されるようになる。
そして、プレーヤが、キーワード出撃を選択すると、キーワードのルームへの入室が可能になる。具体的には図15(B)では、プレーヤは、仲間の中で、一番初めにキーワード出撃を選択したため、当該プレーヤの参加依頼を元に「まつりだいすき」のキーワードが対応づけられたルームが作成される。その後、同じキーワードを登録した仲間のプレーヤがキーワード出撃を、他のゲーム装置において選択すると、その仲間のプレーヤは、作成されたルームに入室して、プレーヤとチームを組むことになる。
以上のように本実施形態では、プレーヤが入力したキーワードを、プレーヤ(ユーザ情報)に関連づけて登録している。これにより、図15(B)のようにプレーヤがゲーム装置GMに乗り込んでキーワード出撃を選択した場合に、キーワードを、再度、入力しなくても済むようになる。即ち、キーワード出撃のゲームモードを選択するだけで、登録したキーワードに対応するルームに入室できるようになる。そして、例えば、1回目のキーワード出撃が終了して、2回目のキーワード出撃を行う場合にも、キーワードの再度の入力は不要になる。従って、同じキーワードでキーワード出撃を行う限り、キーワード出撃のごとにキーワードを入力する手間が不要になり、ユーザの利便性を向上できる。
また本実施形態では、キーワードが登録されているプレーヤに対して、キーワードにより編成されたチーム(グループ)によりプレイするゲームモードの選択を許可するための処理が行われている。具体的には図15(B)に示すように、キーワードを登録して、ユーザ情報のキーワードのフィールドにキーワードが書き込まれると、キーワードにより編成されたチームによりプレイするキーワード出撃の選択が可能になる。このキーワード出撃の選択を許可するための処理は、例えばゲーム装置GMのカードリーダにプレーヤがゲームカードCDをタッチしたときに、サーバ(登録処理部)が、ユーザ情報をゲーム装置GMにダウンロードする処理などにより実現される。このようすれば、キーワードを登録していたプレーヤに対しては、ゲームモードの選択肢として、キーワード出撃の選択肢が表示されるようになる。そして、プレーヤがこの選択肢を選択することで、自動的にチームについてのマッチング処理が実行されるようになる。
なお、以上では、キーワードを入力して入室可能なルームとして、1つのルームだけを表示する場合について説明したが、本実施形態はこれに限定されない。本実施形態では、同じキーワードを入力して入室可能な複数のルームの情報をプレーヤに表示するための処理を行うようにしてもよい。
例えば図16では、「まつりだいすき」のキーワードを入力して入室可能なルームとして、4つのルームR1、R2、R3、R4の情報が表示されている。例えば図6のA3、A4のように、掲示板にキーワードを書き込んで参加プレーヤを募った場合には、不特定多数のプレーヤがキーワード出撃に参加することが想定される。一方、各ルーム(チーム)の定員数はそれほど多くない。従って、このような場合には、図16に示すように、同じキーワードを入力して入室可能なルームとして、複数のルームの情報を表示する。このようにすれば、参加した各プレーヤは、自身が所望するルームに入室して、チームを組んで、チーム同士の対戦ゲームを楽しむことが可能になる。例えば仲間グループ1のプレーヤはルームR1に入室して、チームを組み、仲間グループ2のプレーヤは、ルームR2に入室して、チームを組むことなどが可能になる。これにより、ユーザの利便性を更に向上できる。
また、複数のルームの情報を表示する場合に、そのルームのチームが属する軍ごとに区分けして表示するようにしてもよい。例えば図17では、Y軍に属するチームのルームを左側の区画領域(第1の領域)に表示し、Z軍に属するチームのルームを右側の区画領域(第2の領域)に表示している。このようにすれば、Y軍への所属を所望するプレーヤは、Y軍のチームのルームRY1、RY2に入室して、チームを組み、Z軍への所属を所望するプレーヤは、Z軍のチームのルームRZ1、RZ2に入室して、チームを組むことが可能になる。そして、例えばY軍のルームRY1のチームとZ軍のルームRZ1のチームとで対戦を行い、Y軍のルームRY2のチームとZ軍のルームRZ2のチームとで対戦を行うことが可能になる。これにより、各軍への所属も考慮したチーム分けが可能になる。
なお、図18に示すように、グループ内に、敵と味方のプレーヤを混在させてもよい。例えば図18では、1番目、2番目、4番目、8番目に入室したプレーヤは、Y軍(味方)に所属し、3番目、5番目、6番目、7番目に入室したプレーヤは、Z軍(敵)に所属する。そして、Y軍に所属する1、2、4、8番目のプレーヤで第1のチームを組み、Z軍に所属する3、5、6、7番目のプレーヤで第2のチームを組み、第1のチームと第2のチームとで対戦ゲームを行う。このようにルームを構成するプレーヤの態様としては種々の態様を想定できる。
また、キーワード出撃の選択、又は、ユーザ情報の送信を要求したゲーム装置に、同じキーワードを登録している他のプレーヤの情報を抽出して送信し、チームを組む候補となるプレーヤの情報を表示するための処理を行うようにしてもよい。これにより、登録は済んでいるが、ゲームを開始していないプレーヤの状況を、先にゲームを開始したプレーヤが確認することができる。
例えば、仲間である第1〜第4のプレーヤが「まつりだいすき」のキーワードを登録しており、これらの第1〜第4のプレーヤのうち第1のプレーヤが、図15(B)に示すようにキーワード出撃の選択を行ってゲームを開始する場合を想定する。この場合に、サーバは、「まつりだいすき」のキーワードを登録している第2〜第4のプレーヤの情報(他のプレーヤの情報)を抽出して、第1のプレーヤのゲーム装置に送信する。こうすることで、先にゲームを開始した第1のプレーヤは、未だゲームを開始していない第2〜第4のプレーヤの状況を確認することが可能になる。
3.詳細な処理
次に本実施形態の詳細な処理例について図19、図20、図21のフローチャートを用いて説明する。
図19は、図14(A)〜図15(B)で説明したキーワードの登録処理を説明するためのフローチャートである。
まず、プレーヤがキーワード登録を選択したか否かを判断する(ステップS1)。例えば図15(A)で、プレーヤが、ゲーム管理装置MNのカードリーダにゲームカードCDをタッチする。そしてプレーヤが、ゲーム管理装置MNの選択画面でキーワード登録を選択すると、プレーヤがキーワード登録を選択したと判断する。
次に、そのプレーヤに関して、キーワードは未登録か否かを判断する(ステップS2)。そして未登録であった場合には、図15(A)に示すようにキーワードの入力画面を表示する(ステップS3)。例えば図14(B)のようにユーザ情報のキーワードのフィールドが空欄であった場合には、キーワードが未登録であると判断されて、キーワードの入力画面が表示される。そして、キーワードの登録が成功したか否かが判断され(ステップS4)、成功した場合には、ユーザ情報を更新して、入力されたキーワードを登録する(ステップS5)。例えば、ユーザ情報のキーワードのフィールドに対して、プレーヤが入力したキーワードが書き込まれ、キーワードが書き込まれたユーザ情報が、ゲーム管理装置MNからサーバにアップロードされる。
一方、ステップS2でキーワードが登録済みであると判断された場合には、登録されているキーワードを表示する(ステップS6)。例えば「まつりだいすき」のキーワードを登録していた場合には、そのキーワードがゲーム管理装置MNの表示部に表示される。そして、プレーヤがキーワードの登録の解除を選択したか否かを判断する(ステップS7)。そして、登録の解除を選択した場合には、ユーザ情報を更新して、キーワードの登録を解除する(ステップS8)。これにより、ユーザ情報のキーワードのフィールドは空欄になり、プレーヤは、新しいキーワードを登録できるようになる。
図20、図21は本実施形態のマッチング処理を説明するためのフローチャートである。
まず、プレーヤからキーワード出撃への参加依頼があったか否かを判断する(ステップS11)。例えば図15(B)のゲームモード選択画面において、プレーヤがキーワード出撃を選択すると、参加依頼があったと判断される。そして参加依頼があった場合には、そのプレーヤのユーザ情報を参照して、プレーヤが入力したキーワードを取得する(ステップS12)。例えばサーバの記憶部670のユーザ情報を検索して、ユーザ情報のキーワードのフィールドに書き込まれているキーワードを抽出する。
次に、そのキーワードのルームが既に作成されているか否かを判断する(ステップS13)。そして、ルームが未だ作成されていない場合には、そのキーワードのルームを作成する(ステップS14)。例えば図8(A)、図8(B)で説明したように、一番目のプレーヤが参加依頼をした場合には、そのキーワードのルームを作成する。そして図9(A)で説明したようにマッチング期間を開始する(ステップS15)。
一方、ステップS13でルームが既に作成されていると判断された場合には、図8(C)、図8(D)で説明したように、プレーヤをそのルームに入室させる(ステップS16)。そして、プレーヤの入室人数が定員数に達したか否かを判断し(ステップS17)、定員数に達した場合には、図9(A)、図9(B)で説明したようにマッチング期間を終了する(ステップS18)。
図21に示すように、マッチング期間が開始したと判断された場合には(ステップS21)、マッチング期間の制限時間をカウントする(ステップS22)。そして、制限時間が経過したか否かを判断し(ステップS23)、制限時間が経過した場合には、マッチング期間を終了させる(ステップS25)。一方、制限時間が経過していない場合には、プレーヤからマッチング期間の終了指示があったか否かを判断する(ステップS24)。そして終了指示があった場合には、図10(A)、図10(B)で説明したようにマッチング期間を終了させる(ステップS25)。一方、終了指示がなかった場合には、ステップS22に戻る。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(グループ、端末装置、ゲームシステム等)と共に記載された用語(チーム、ゲーム装置、サーバシステム等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、キーワードによるルームの作成・入室処理、マッチング処理、マッチング期間の制御処理、キーワードの登録処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々のゲーム装置に適用できる。