以下、添付図面を参照して、本発明の実施の形態について説明する。
図1は、この実施の形態にかかる通信ゲームシステムの構成を示すブロック図である。図示するように、この通信ゲームシステムは、複数(ここでは、3つのみを図示)の据置型ビデオゲーム装置100と、携帯型ビデオゲーム装置500と、サーバ装置200とから構成される。据置型ビデオゲーム装置100は、それぞれサーバ装置200にネットワーク151を介して接続される。また、携帯型ビデオゲーム装置500は、据置型ビデオゲーム装置100と無線による通信接続が可能である。据置型ビデオゲーム装置100の1台毎に携帯型ビデオゲーム装置500が1台ずつ、対になるよう用意されている。
この通信ゲームシステムで適用されるゲームでは、携帯型ビデオゲーム装置500を利用する各プレイヤは、全てのプレイヤに共通の仮想空間(ゲーム空間)に形成されたフィールド上で自己のプレイヤキャラクタを移動させていくことによりゲームを進行していく。プレイヤキャラクタには、各プレイヤが入力した指示に従って動作する操作キャラクタと、操作キャラクタの動作に追随して動作するものの具体的な動作はAI(人工知能)ルーチンによって決められるAIキャラクタとがある。
この通信ゲームシステムにおけるゲームは、基本的には、各プレイヤが単独で自己のプレイヤキャラクタをフィールド上で移動させていき、フィールド上の随所で遭遇する敵キャラクタとのバトルを行っていくことにより行われる。但し、バトルにおいて戦闘不能となったプレイヤキャラクタ(操作キャラクタまたはAIキャラクタ)に代えて、或いはプレイヤの設定により戦闘不能か否かに関わらずにAIキャラクタに代えて、他のプレイヤのプレイヤキャラクタ(操作キャラクタ)を当該バトルに参加させることができるものとなっている。
バトルを行った各キャラクタは、そのバトルにおいて敵キャラクタを倒すことによって経験値を得ることができる。これによって、プレイヤは自己のプレイヤキャラクタを強化することができ、さらに強力な敵キャラクタを倒すことができるようになる。他のプレイヤが行うバトルに参加したキャラクタも、当該バトルの結果に応じて経験値を得ることができるものとなっている。なお、通信ゲームシステムにおけるゲームの詳細は、さらに後述する。
図2は、図1の据置型ビデオゲーム装置100の構成を示すブロック図である。図示するように、据置型ビデオゲーム装置100は、装置本体101を中心として構築される。この装置本体101は、その内部バス119に接続された制御部103、RAM(Random Access Memory)105、ハードディスク・ドライブ(HDD)107、サウンド処理部109、グラフィック処理部111、DVD/CD−ROMドライブ113、通信インターフェイス115、及びインターフェイス部117を含む。
この装置本体101のサウンド処理部109は、スピーカーであるサウンド出力装置125に、グラフィック処理部111は、表示画面122を有する表示装置121に接続されている。DVD/CD−ROMドライブ113には、記録媒体(本実施の形態では、DVD−ROMまたはCD−ROM)131を装着し得る。通信インターフェイス115は、ネットワーク151に接続される。インターフェイス部117には、発光部160と受信部161とメモリーカード162とが接続されている。
制御部103は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD107や記録媒体131上に格納されたプログラムを実行し、装置本体101の制御を行う。制御部103は、現在時刻を計時する内部タイマを備えている。RAM105は、制御部103のワークエリアである。HDD107は、プログラムやデータを保存するための記憶領域である。サウンド処理部109は、制御部103により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置125にサウンド信号を出力する。
グラフィック処理部111は、制御部103から出力される描画命令に従って、フレームメモリ(フレームバッファ)112(図では、グラフィック処理部111の外側に描かれているが、グラフィック処理部111を構成するチップに含まれるRAM内に設けられる)に画像を展開し、表示装置121の表示画面122上に画像を表示するビデオ信号を出力する。グラフィック処理部111から出力されるビデオ信号に含まれる画像の1フレーム時間は、例えば30分の1秒である。
DVD/CD−ROMドライブ113は、記録媒体131に対しプログラム及びデータの読み出しを行う。通信インターフェイス115は、ネットワーク151に接続され、他のコンピュータとの通信を行う。
入力装置163は、受光部163aと、加速度センサ163bと、送信部163cを含んでいる。受光部163aは、発光部160に含まれる各LEDから照射された光を受光する。入力装置163の向きによって、受光部163aが光を受光できるLEDの数及び位置に違いが生じる。加速度センサ163bは、3軸以上の多軸加速度センサからなり、入力装置163の傾き及び3次元の動きを検出する。入力装置163は、また、方向キー及び複数の操作ボタンを備えている。据置型ビデオゲーム装置100の入力装置163が備える操作ボタンや方向キーの操作、或いは入力装置163の傾き及び3次元の動きによって、ロビーへの入場、ルームへの入室、或いは、ルームの作成などの操作指示が与えられるものとなる。
送信部163cは、入力装置163の状況に応じた赤外線信号、より詳しくは、受光部163aの受光状態、加速度センサ163bにより検出された入力装置163の傾き、並びに入力装置163の動く方向及び速度、方向キー及び操作ボタンからの入力に応じた赤外線信号を送信する。送信部163cから送信された赤外線信号は、入力装置163からの入力データとして受信部161により受信される。
インターフェイス部117は、受信部161により受信された入力データをRAM105に出力し、制御部103がそれを解釈して演算処理を実施する。インターフェイス部117は、また、制御部103からの指示に基づいて、RAM105に記憶されているゲームの進行状況を示すデータをメモリーカード162に保存させ、メモリーカード162に保存されている中断時のゲームのデータを読み出して、RAM105に転送する。
据置型ビデオゲーム装置100でゲームを行うためのプログラム及びデータは、最初は、例えば、記録媒体131に記憶されている。記録媒体131に記憶されているデータとしては、ゲーム空間に存在するオブジェクト(ゲーム空間に形成されたフィールド、自身及び他者のプレイヤキャラクタ、敵キャラクタ)を構成するためのグラフィックデータを全て含んでいる。
記録媒体131に記憶されたプログラム及びデータは、実行時にDVD/CD−ROMドライブ113により読み出されて、RAM105にロードされる。制御部103は、RAM105にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部111に出力し、サウンド出力の指示をサウンド処理部109に出力する。制御部103が処理を行っている間の中間的なデータは、RAM105に記憶される。
図3は、図1のサーバ装置200の構成を示すブロック図である。図示するように、サーバ装置200は、装置本体201を中心として構築される。装置本体201は、その内部バス219に接続された制御部203、RAM205、ハードディスク・ドライブ(HDD)207、DVD/CD−ROMドライブ213、通信インターフェイス215を含む。DVD/CD−ROMドライブ213には、記録媒体(DVD−ROMまたはCD−ROM)231を装着し得る。
制御部203は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD207や記録媒体231上に格納されたプログラムを実行し、サーバ装置200の制御を行う。制御部203は、現在時刻を計時する内部タイマを備えている。RAM205は、制御部203のワークエリアである。HDD207は、プログラムやデータを保存するための記憶領域である。通信インターフェイス215は、ネットワーク151に接続され、据置型ビデオゲーム装置100又はサーバ装置200のそれぞれとの通信を行う。
サーバ装置200で通信ゲームを行うためのプログラム及びデータは、最初、例えば、記録媒体231に記憶され、ここからHDD207にインストールされる。そして、このプログラム及びデータは実行時にHDD207から読み出されて、RAM205にロードされる。制御部203は、RAM205にロードされたプログラム及びデータを処理し、据置型ビデオゲーム装置100のそれぞれから送られてくるメッセージなどを元に通信ゲームを進行させる。制御部203が処理を行っている間の中間的なデータは、RAM205に記憶される。
図4は、図1の携帯型ビデオゲーム装置500の構成を示すブロック図である。図示するように、携帯型ビデオゲーム装置500は、装置本体501を中心として構築される。この装置本体501は、その内部バス519に接続された制御部503、RAM(Random Access Memory)505、ハードディスク・ドライブ(HDD)507、サウンド処理部509、グラフィック処理部511、DVD/CD−ROMドライブ513、通信インターフェイス515、及びインターフェイス部517を含む。
この装置本体501のサウンド処理部509は、スピーカーであるサウンド出力装置525に、グラフィック処理部511は、表示画面522を有する表示装置521に接続されている。DVD/CD−ROMドライブ513には、記録媒体(本実施の形態では、DVD−ROMまたはCD−ROM)531を装着し得る。通信インターフェイス515は、据置型ビデオゲーム装置100と無線による通信接続が可能である。
制御部503は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD507や記録媒体531上に格納されたプログラムを実行し、装置本体501の制御を行う。制御部503は、現在時刻を計時する内部タイマを備えている。RAM505は、制御部503のワークエリアである。HDD507は、プログラムやデータを保存するための記憶領域である。サウンド処理部509は、制御部503により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置525にサウンド信号を出力する。
グラフィック処理部511は、制御部503から出力される描画命令に従って、フレームメモリ(フレームバッファ)512(図では、グラフィック処理部511の外側に描かれているが、グラフィック処理部511を構成するチップに含まれるRAM内に設けられる)に画像を展開し、表示装置521の表示画面522上に画像を表示するビデオ信号を出力する。グラフィック処理部511から出力されるビデオ信号に含まれる画像の1フレーム時間は、例えば30分の1秒である。
DVD/CD−ROMドライブ513は、記録媒体531に対しプログラム及びデータの読み出しを行う。通信インターフェイス515は、ネットワーク151に接続され、他のコンピュータとの通信を行う。
入力装置563は、方向キー及び複数の操作ボタンを備えている。当該携帯型ビデオゲーム装置500を使用するプレイヤが操作するプレイヤキャラクタの動作は、入力装置563が備える操作ボタンや方向キーの操作によって指示が与えられるものとなる。
インターフェイス部517は、受信部561により受信された入力データをRAM505に出力し、制御部503がそれを解釈して演算処理を実施する。インターフェイス部517は、また、制御部503からの指示に基づいて、RAM505に記憶されているゲームの進行状況を示すデータをメモリーカード562に保存させ、メモリーカード562に保存されている中断時のゲームのデータを読み出して、RAM505に転送する。
携帯型ビデオゲーム装置500でゲームを行うためのプログラム及びデータは、最初は、例えば、記録媒体531に記憶されている。記録媒体531に記憶されているデータとしては、ゲーム空間に存在するオブジェクト(ゲーム空間に形成されたフィールド、自身及び他者のプレイヤキャラクタ、敵キャラクタ)を構成するためのグラフィックデータを全て含んでいる。
記録媒体531に記憶されたプログラム及びデータは、実行時にDVD/CD−ROMドライブ513により読み出されて、RAM505にロードされる。制御部503は、RAM505にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部511に出力し、サウンド出力の指示をサウンド処理部509に出力する。制御部503が処理を行っている間の中間的なデータは、RAM505に記憶される。
以下、この通信ゲームシステムにおいて行われるゲームについて、さらに詳細に説明する。本発明の通信ゲームシステムでは、複数のプレイヤが据置型ビデオゲーム装置100からサーバ装置200へアクセスし、コミュニティサイトへログインすることが可能である。コミュニティサイト内には、複数の「ワールド」が存在し、ワールドは複数の「ロビー」から構成されている。サーバ装置200では、ロビー毎に入場しているプレイヤのプレイヤIDを管理しており、据置型ビデオゲーム装置100を使用しているプレイヤは、ワールド及びロビーの混雑具合(1つのロビーに入場が可能な上限に対する、実際に入場している人数の割合)等を表示画面122にて確認することが可能である。ロビーを示すアイコンの色に応じて混雑具合を表示することが可能である。例えば、ロビーのアイコンが青色に表示されていれば、ロビー内は空いており、赤色に表示されていれば、ロビー内は混んでいるといったことを表す。プレイヤは、これらの混雑具合を確認しながら、入力装置163への入力により、いずれのワールドのいずれのロビーに入場するかを選択できる。
プレイヤがロビーに入場すると、サーバ装置200に設定されたロビー管理テーブルにて、ロビーを特定するロビーIDと、ロビーに入場しているプレイヤを特定するプレイヤIDが関連付けて記憶される。プレイヤは、ロビーに入場すると、表示画面122にロビー空間内の様子を確認することができる。プレイヤごとに対応するアバターが予め設定されており、表示画面122には、同じロビーに入場しているプレイヤに設定されたアバターとプレイヤ名が表示される。サーバ装置200は、ロビーに新たに入場したプレイヤのプレイヤIDを、そのロビーに既に入場している他のプレイヤの据置型ビデオゲーム装置100に通知する。通知を受けた他のプレイヤの据置型ビデオゲーム装置100では、新たにロビーに入場したプレイヤのプレイヤ名とアバターが表示される。プレイヤがロビーから退場すると、ロビー管理テーブルから、退場したプレイヤのプレイヤIDは削除され、退場したプレイヤに設定されたアバターも表示画面122に表示されなくなる。
ロビーに入場したプレイヤは、ロビー内に、新たにルームを開設することも可能である。サーバ装置200は、据置型ビデオゲーム装置100から通知された新たなルーム名を記憶し、また、他の据置型ビデオゲーム装置100に通知する。また、各ルームにはコメントを設定することが可能である。例えば、ルームの目的をコメントに設定することが可能である。例えば、特定のジャンルや特定のタイトルのゲームをプレイの対象とするプレイヤのために開設されたルームであることを表示したり、又は、或るゲームタイトルの特定のクエストを達成することを目的とするルームであることを表示することができる。このコメントは、ルームを開設したプレイヤにより設定される。
ルームに入室したプレイヤはゲームを開始するため、自身の所有する携帯型ビデオゲーム装置500においてゲームプログラムを起動する。プレイヤが所有する携帯型ビデオゲーム装置500と据置型ビデオゲーム装置100の無線による通信接続が確立されると、該携帯型ビデオゲーム装置500からサーバ装置200を介して、他の携帯型ビデオゲーム装置500との接続を要求する接続要求が送信される。接続要求が送信された、他の据置型ビデオゲーム装置100は、その接続要求を該据置型ビデオゲーム装置100と、無線にて通信接続を行っている携帯型ビデオゲーム装置500に対して送信する。同じルーム内に入室したプレイヤが使用する、複数の携帯型ビデオゲーム装置500間で、この一連の接続処理が行われることで、携帯型ビデオゲーム装置500間での仮想的なネットワークが形成される。
このような仮想的ネットワークを形成することで、ホストとなるプレイヤの携帯型ビデオゲーム装置500にてゲームをプレイする際に生成される仮想空間内で、複数のプレイヤが同時にプレイすることが可能となる。この場合、携帯型ビデオゲーム装置500に装填された記録媒体531に記録されたゲームプログラムが実行される。
本発明では、ホストとなるプレイヤが援軍要請を行うと、同じルームに属する、ゲストとなり得るプレイヤの据置型ビデオゲーム装置100又は携帯型ビデオゲーム装置500に対して、援軍要請の通知がなされる。ゲストとなりうるプレイヤの据置型ビデオゲーム装置100又は携帯型ビデオゲーム装置500が援軍要請の通知を受けると、他のプレイヤは援軍要請を受けて、ホストプレイヤがプレイしているゲームに参加するか否かの選択を行う。
前述したとおり、各携帯型ビデオゲーム装置500を利用しているプレイヤのプレイヤキャラクタには、操作キャラクタとAIキャラクタとが存在するが、操作キャラクタは、プレイヤ毎に1体でゲームの開始から終了まで固定されている。AIキャラクタは、10種類の候補の中からプレイヤが任意の2体を選択することができる。AIキャラクタは、同じプレイヤの操作キャラクタが移動するのに追随してフィールド上を移動するものであり、操作キャラクタとAIキャラクタの合計3体のプレイヤキャラクタがパーティを組んで、プレイヤ毎にゲームを進めていくものとなっている。
操作キャラクタ及びAIキャラクタからなるプレイヤキャラクタのパーティが、フィールド上に複数箇所設定されたバトルポイントの何れかに到達すると、当該バトルポイントに設定された敵キャラクタが1体以上出現し、プレイヤキャラクタのパーティと敵キャラクタとのバトルが開始されるものとなる。プレイヤキャラクタのパーティと闘う敵キャラクタには、リーダーが設定されている場合もあり、また、1体だけの非常に強固な敵キャラクタであるボスキャラとなっている場合もある。
バトルにおいて各キャラクタ(プレイヤキャラクタ及び敵キャラクタ)は、相手から受けた攻撃に応じてHP(ヒットポイント:プレイヤキャラクタの体力を示す値)を減らしていき、このHPの値が0になったキャラクタは、バトルにおいて行動不能となる(敵キャラクタは、HPが0になるとバトルから退場させられる)。バトル中は、単に敵キャラクタに対して攻撃を仕掛けたり敵キャラクタからの攻撃を防御したりする他に、バトルフィールドにある宝箱を開けてアイテムを取得したり、敵キャラクタが持っているアイテムを盗み取ることもできる。
全ての敵キャラクタのHPを0として敵キャラクタを全滅させると、プレイヤキャラクタのパーティの勝利となり、バトルに参加した各プレイヤキャラクタに経験値(プレイヤキャラクタのゲームにおける経験を示す値であり、この値の増加によって各キャラクタが強化されていく)が与えられ、また、倒した敵キャラクタの種類によっては、プレイヤキャラクタにアイテムが与えられる。
この通信ゲームシステムにおけるゲームでは、基本的には、異なるプレイヤのプレイヤキャラクタ同士でパーティを組むのではなく、プレイヤ毎に自己のプレイヤキャラクタを行動させてゲームを進めていくが、プレイヤ同士で情報交換を行うためのチャット機能が備えられている。例えば、チャット機能を利用して、プレイヤはフィールド上の危険な箇所の情報を教えあったり、ゲームを進める上で有用なアイテムが得られる場所を教えあったりすることができる。
もっとも、この通信ゲームシステムにおけるチャット機能は、単にプレイヤ間の情報交換のためだけに止まるものではない。バトルにおいて行動不能となったプレイヤキャラクタが生じたときにプレイヤが入力装置163又は入力装置563から所定の入力を行うと、他のプレイヤの据置型ビデオゲーム装置100又は携帯型ビデオゲーム装置500に、サーバ装置200を介して救援要請のメッセージが送信されるものとなっている。この救援要請のメッセージは、例えば、救援を要請するプレイヤと同じルーム内にいる他のプレイヤの据置型ビデオゲーム装置100に送信されるが、ホストプレイヤと同じルーム内に入室していないプレイヤであっても、フィールド上で比較的近くにプレイヤキャラクタを位置させている他のプレイヤの据置型ビデオゲーム装置100に送信してもよい。また、ゲストとなる他のプレイヤが携帯型ビデオゲーム装置500にてゲームをプレイすることなく待機している時だけでなく、ゲームをプレイしている時であっても、救援要請のメッセージを受け取ることは可能である。ゲストとなる他のプレイヤが自らのゲームをプレイしている途中に救援の要請を受けて、ホストプレイヤのゲームに参加する場合は、該他のプレイヤが進行中のゲームは途中中断される。
救援要請のメッセージを受けた他のプレイヤは、救援要請を送ったプレイヤの行動不能となったプレイヤキャラクタに代えて、自己の操作キャラクタを他のプレイヤのプレイヤキャラクタが行っているバトルに参加させることができるものとなる。但し、バトルに参加できる他のプレイヤの操作キャラクタは、行動不能となったプレイヤキャラクタの数までであり、さらに他のプレイヤが自己の操作キャラクタを救援に向かわせたいと思っても、先にバトルに参加している他のプレイヤの操作キャラクタが後述するように当該バトルから退出させられるまでは、当該バトルへの参加を待機させられることとなる。
また、各プレイヤは、救援要請によらなくても他のプレイヤの操作キャラクタをバトルに参加させることが可能なゲスト参加モードに予め設定しておくことが可能であり、入力装置163からゲスト参加モードへの設定を指示してサーバ装置200に通知すると、サーバ装置200は、当該プレイヤのプレイヤキャラクタのパーティが行うバトルについてゲスト参加モードの設定を行う。ゲスト参加モードに設定されているプレイヤキャラクタのパーティがバトルを行っている場合には、他のプレイヤの据置型ビデオゲーム装置100にてもその旨がわかる表示がなされる。
ゲスト参加モードの設定がなされたプレイヤキャラクタのパーティのバトルに対して他のプレイヤは、当該パーティのうちのAIキャラクタに代えて、自己の操作キャラクタを他のプレイヤのプレイヤキャラクタが行っているバトルに参加させることができるものとなる。ここでバトルに参加できる他のプレイヤの操作キャラクタは、当該パーティ中のAIキャラクタの数(2体)までであり、さらに他のプレイヤが自己の操作キャラクタを救援に向かわせたいと思っても、先にバトルに参加している他のプレイヤの操作キャラクタが後述するように当該バトルから退出させられるまでは、当該バトルへの参加を待機させられることとなる。
他のプレイヤのプレイヤキャラクタのパーティが行っているバトルに参加した操作キャラクタに対しても、当該バトルが勝利で終了した時点まで参加を継続していた場合には、経験値の付与やアイテムの付与が行われる。また、他のプレイヤのプレイヤキャラクタのパーティが行っているバトルに参加した操作キャラクタにも、行動そのものの制限はなく、バトル中に宝箱を開けてアイテムを取得したり、敵キャラクタが所持しているアイテムを盗み取ることができる。
上記した救援要請によるかゲスト参加モードへの設定によるかに関わらず、他のプレイヤのプレイヤキャラクタのパーティが行っているバトルに参加する操作キャラクタには、当該バトルに参加可能な時間の制限が課されている。つまり、他のプレイヤのプレイヤキャラクタのパーティが行っているバトルに操作キャラクタを参加させても、当該操作キャラクタが参加開始してからの経過時間が制限時間に達すると、当該バトルから退出させられることとなる。
もっとも、他のプレイヤのプレイヤキャラクタのパーティが行っているバトルに参加している操作キャラクタが制限時間となる前に所定の条件を達成すると、当該操作キャラクタがバトルに参加可能な制限時間が延長されるものとなっている。操作キャラクタがバトルに参加可能な制限時間を延長するための条件としては、敵キャラクタを倒すこと(再延長毎に倒すことが必要な敵キャラクタの数が追加される)、宝箱からアイテムを取得すること、敵キャラクタからアイテムを盗み出すこと、敵キャラクタのうちのリーダーを倒すことなどがある。
例えば、当初の制限時間は30秒に設定されているが、30秒を経過するまでに少なくとも1体の敵キャラクタを倒していると、制限時間が30秒延長されて、バトルへの参加開始から60秒まで操作キャラクタをバトルに継続して参加させておくことができる。延長された60秒の制限時間が経過するまでに敵キャラクタを5体以上倒していると、さらに制限時間が30秒延長されて、バトルへの参加開始から90秒まで操作キャラクタをバトルに継続して参加させておくことができる。延長された90秒の制限時間が経過するまでに宝箱からアイテムを取得していると、さらに制限時間が30秒延長されて、バトルへの参加開始から120秒まで操作キャラクタをバトルに継続して参加させておくことができる。
なお、以下の説明において、ゲストキャラクタと言った場合には、他のプレイヤのプレイヤキャラクタのパーティが行っているバトルに参加している操作キャラクタを指すものとし、待機キャラクタと言った場合には、他のプレイヤのプレイヤキャラクタのパーティが行っているバトルへの参加を待機させられている操作キャラクタを指すものとする。ゲストキャラクタが参加したバトルを元々行っていたパーティのプレイヤキャラクタをホストキャラクタと言うものとする。また、ホストゲーム装置と言った場合には、自己のプレイヤキャラクタのパーティに敵キャラクタとのバトルを行わせているプレイヤが使用する携帯型ビデオゲーム装置500を指し、ゲストゲーム装置と言った場合には、ゲストキャラクタまたは待機キャラクタのプレイヤが使用する携帯型ビデオゲーム装置500を指すものとする。また、ホスト仲介装置と言った場合には、ホストゲーム装置を操作するプレイヤが使用するもので、該ホストゲーム装置と無線による通信接続をして、ゲストゲーム装置との通信接続を仲介する据置型ビデオゲーム装置100を指す。ゲスト仲介装置と言った場合には、ゲストゲーム装置を操作するプレイヤが使用するもので、該ゲストゲーム装置と無線による通信接続をして、ホストゲーム装置との通信接続を仲介する据置型ビデオゲーム装置100を指す。
以下、この通信ゲームシステムにおいて行われるゲームについて、さらに詳細に説明する。
以下、この実施の形態にかかる通信ゲームシステムで各プレイヤが自己のプレイヤキャラクタに敵キャラクタとのバトルを行わせ、また、当該バトルを他のプレイヤの操作キャラクタを参加させて行うために必要なデータについて説明する。
図5は、ホストゲーム装置で管理される各種データを示す図であり、図5(a)は、プレイヤ別キャラクタ管理テーブルを、図5(b)は、バトル別キャラクタ管理テーブルを示す。
図5(a)のプレイヤ別キャラクタ管理テーブル300は、各プレイヤを一意に特定するプレイヤID301を含む。また、プレイヤ別キャラクタ管理テーブル300には、操作キャラクタ情報310、AIキャラクタ情報311〜320が登録されている。
操作キャラクタ情報310もAIキャラクタ情報311〜320の何れも、各々のプレイヤキャラクタを一意に識別するキャラクタID310I〜320Iと、各々のプレイヤキャラクタに設定されたHPなどのパラメータを示すパラメータ情報310P〜320Pとを含んでいる。AIキャラクタ情報311〜320は、さらに選択フラグ311S〜320Sを含んでおり、10種類のAIキャラクタのうちでプレイヤが選択したAIキャラクタについての選択フラグ311S〜320Sがセットされるものとなっている。
図5(b)のバトル別キャラクタ管理テーブル400は、何れかのプレイヤのプレイヤキャラクタのパーティと敵キャラクタとのバトルが開始される度にバトル毎に生成され、当該バトルが終了することによって消去させられるものである。バトル別キャラクタ管理テーブル400は、当該バトルを一意に特定するバトルID401と、当該バトルを生じさせたパーティに対応するプレイヤがゲスト参加モードに設定しているか否かを示す参加モードフラグ402と、当該パーティ中の何れかのプレイヤキャラクタが行動不能となって他のプレイヤに対して救援要請を行ったか否かを示す救援要請フラグ403とを含む。
また、バトル別キャラクタ管理テーブル400には、操作キャラクタ情報410、AIキャラクタ情報411、412、ゲストキャラクタ情報413、414、待機キャラクタ情報415…が登録され得る。バトルの開始時点においては、操作キャラクタ情報410とAIキャラクタ情報411、412だけがバトル別キャラクタ管理テーブル400に登録される。
操作キャラクタ情報410とAIキャラクタ情報411、412は、バトルの開始時にプレイヤ別キャラクタ管理テーブル300から操作キャラクタ情報310と選択フラグ311S〜320SがセットされているAIキャラクタ情報311〜320がコピーされて生成されるものであり、パラメータ情報410P〜412Pが含まれている。また、プレイヤキャラクタを一意に特定するためのキャラクタID410I〜412Iも含まれるとともに、当該バトルに参加中である(行動不能となってなく、ゲストキャラクタに代わられていない)ことを示す参加フラグ410J〜412Jも含まれている。
ゲストキャラクタ情報413、414は、キャラクタID413I、414Iとパラメータ情報413P、414Pを含むとともに、バトルに参加してからの経過時間を示す参加時間タイマ413T、414T、バトルに参加可能な制限時間413L、414L、参加時間の延長条件の達成フラグ413Fa…、414Fa…を含んでいる。参加時間タイマ413T、414Tに示す時間が制限時間413L、414Lとなったときに、達成フラグ413Fa…、414Fa…が参照され、その結果に応じて制限時間413L、414Lの延長、または当該ゲストキャラクタのバトルからの退出が行われる。
待機キャラクタ情報415…は、キャラクタID415I…とパラメータ情報415P〜とを含むとともに、バトルに参加しようとした順番にふられる待機順序情報415O…を含んでいる。他のプレイヤの操作キャラクタがバトルに参加しようとした場合には、一旦、当該操作キャラクタに関する情報が一旦待機キャラクタ情報415…としてバトル別キャラクタ管理テーブル400に登録され、バトルに参加可能な条件(救援要請があるかゲスト参加モードとなっている、先に参加したゲストキャラクタで埋められていない、待機順序が最も先)が整っていれば、当該操作キャラクタをゲストキャラクタとしてゲストキャラクタ情報413、414に登録する。
以下、この実施の形態にかかる通信ゲームシステムにおいて実行される処理について説明する。また、本発明の特徴部分に関わる処理はバトルにおける処理であるが、プレイヤキャラクタと敵キャラクタの相手に対する攻撃など、従来のバトルにおける処理についての説明は省略し、本発明の特徴に関わる部分についてフローチャートを示して説明するものとする。
図6は、ホストプレイヤの携帯型ビデオゲーム装置500(ホストゲーム装置)において実行される処理を示すフローチャートである。何れかのプレイヤのプレイヤキャラクタのパーティがフィールド上のバトルポイントに到達すると、当該バトルポイントでのバトルが発生し、本発明に関わる処理の実行が開始されることとなる。バトルポイントに到達したパーティに含まれるプレイヤキャラクタが、ホストキャラクタとなる。
なお、ゲストゲーム装置の入力装置563に入力された操作指示に関する情報、又は、該プレイヤキャラクタのHPなどのステータスに関する情報、その他の所定のゲーム情報は、ゲスト仲介装置、ホスト仲介装置及びサーバ装置200を介して、ホストゲーム装置に送信される。また、ホストゲーム装置の制御部503では、受信した該ゲーム情報と、ホストゲーム装置の入力装置563に入力された操作指示に関する情報等をもとに、ゲームプログラムが実行される。その結果、ゲームプログラムの処理により演算されて得られる、キャラクタのステータス情報や位置情報、その他の所定のゲーム情報については、ホスト仲介装置、ゲスト仲介装置及びサーバ装置200を介して、ゲストゲーム装置に送信され、ホストゲーム装置とゲストゲーム装置が同期される。
処理が開始されると、ホストプレイヤの携帯型ビデオゲーム装置500の制御部503は、当該バトルについてのバトル別キャラクタ管理テーブル400を作成する(ステップS101)。初期状態のバトル別キャラクタ管理テーブル400の作成は、当該プレイヤのプレイヤ別キャラクタ管理テーブル300に登録されている操作キャラクタ情報310と、選択フラグ311S〜320SがセットされているAIキャラクタのAIキャラクタ情報311〜320とをコピーし、それぞれ操作キャラクタ情報410、AIキャラクタ情報411、412として登録することにより行われる。また、当該プレイヤがゲスト参加モードに設定している場合には、参加モードフラグ402をセットする。
次に、制御部503は、入力装置163又は入力装置563から救援要請の入力がされたか否かを判定する(ステップS102)。救援要請が入力されていなければ、ステップS104の処理に進む。救援要請が入力されていれば、バトル別キャラクタ管理テーブル400の救援要請フラグ403をセットして(ステップS103)、ステップS104の処理に進む。
ステップS104では、制御部503は、当該バトルに操作キャラクタを参加させようとする旨の指示を何れかのゲストゲーム装置から受け取っているかどうかを判定する。ゲストゲーム装置から操作キャラクタを参加させようとする旨の指示を受け取っていない場合には、ステップS107の処理に進む。
ゲストゲーム装置から操作キャラクタを参加させようとする旨の指示を受け取っている場合には、制御部503は、バトル別キャラクタ管理テーブル400において参加モードフラグ402か救援要請フラグ403の何れかがセットされているかを判定する(ステップS105)。参加モードフラグ402も救援要請フラグ403もセットされていなければ、ステップS107の処理に進む。
参加モードフラグ402か救援要請フラグ403の何れかがセットされていれば、制御部503は、参加させようとしている操作キャラクタの操作キャラクタ情報310をプレイヤ別キャラクタ管理テーブル300(ステップS101で説明したのとは異なるプレイヤのもの)から読み出し、これを待機キャラクタ情報415…としてバトル別キャラクタ管理テーブル400に登録する。また、これまで登録されている待機キャラクタの次の順序(登録されている待機キャラクタがなければ順序は1)を、待機順序情報415Oとして登録する(ステップS106)。そして、ステップS107の処理に進む。
ステップS107では、制御部503は、待機キャラクタ情報415…が登録されている他のプレイヤの操作キャラクタを当該バトルに参加させてもよいだけの条件(救援要請があるかゲスト参加モードとなっている、先に参加したゲストキャラクタで埋められていない、待機順序が最も先)が整っているかどうかを判定する。参加させてもよいだけの条件が整っていなければ、ステップS109の処理に進む。
参加させてもよいだけの条件が整っていれば、制御部503は、バトルに参加可能となったものの待機キャラクタ情報415…をゲストキャラクタ情報413、414に移す。ここで、ホストキャラクタ(操作キャラクタかAIキャラクタかを問わない)に代えてゲストキャラクタをバトルに参加させる場合には、ゲストキャラクタに代えられるホストキャラクタについての参加フラグ410J〜412Jをリセットする。また、制限時間413L、414Lの初期値をセットし、参加時間タイマ413T、414Tの計時を開始させる(ステップS108)。そして、ステップS109の処理に進む。
ステップS109では、制御部503は、バトルに参加しているゲストキャラクタがバトルでの行動において、制限時間413L、414Lの延長条件を達成したかを判定する。制限時間413L、414Lの延長条件を達成していなければ、ステップS111の処理に進む。制限時間413L、414Lの延長条件を達成していれば、制御部503は、達成した延長条件に応じて、当該ゲストキャラクタについての達成フラグ413Fa…、414Fa…をセットする(ステップS110)。そして、ステップS111の処理に進む。
ステップS111では、制御部503は、参加時間タイマ413T、414Tの計時するバトルへの参加開始からの経過時間が制限時間413L、414Lに到達したゲストキャラクタが存在するかどうかを判定する。制御部503は、参加時間タイマ413T、414Tの計時するバトルへの参加開始からの経過時間が制限時間413L、414Lに到達したゲストキャラクタが存在しない場合には、ステップS115の処理に進む。
制御部503は、参加時間タイマ413T、414Tの計時するバトルへの参加開始からの経過時間が制限時間413L、414Lに到達したゲストキャラクタが存在する場合には、当該ゲストキャラクタについて、制限時間413L、414Lを延長するのに必要な条件を満たす達成フラグ413Fa…、414Fa…がセットされているかどうかを判定する(ステップS112)。
制限時間413L、414Lを延長するのに必要な条件を満たす達成フラグ413Fa…、414Fa…がセットされていない場合には、制御部503は、当該ゲストキャラクタについてのゲストキャラクタ情報413、414をバトル別キャラクタ管理テーブル400から削除して(ステップS113)、ステップS115の処理に進む。制限時間413L、414Lを延長するのに必要な条件を満たす達成フラグ413Fa…、414Fa…がセットされている場合には、制御部503は、当該ゲストキャラクタについての制限時間413L、414Lを延長登録して(ステップS114)、ステップS115の処理に進む。
ステップS115では、制御部503は、当該バトルの終了条件が成立したかどうかを判定する。当該バトルの終了条件が成立していなければ、ステップS102の処理に戻る。当該バトルの終了条件が成立していれば、このフローチャートの処理を終了する。
以上説明したように、この実施の形態にかかる通信ゲームシステムでは、各プレイヤは、他のプレイヤのプレイヤキャラクタとの団体行動ではなく、自己のプレイヤキャラクタのパーティをフィールド上で移動させていきながらゲームを進めていくものとなっているが、プレイヤキャラクタのパーティがフィールド上に設定されたバトルポイントに到達すると、そこで敵キャラクタとのバトルが開始されるものとなっている。
プレイヤキャラクタのパーティは、入力装置563の操作に従って動作する操作キャラクタと、操作キャラクタに追随して移動するが具体的な動作はAIルーチンによって決められる2体のAIキャラクタとの合計3体とからなるが、バトルを行っていくうちには、その3体のうちの何れかのプレイヤキャラクタのHPが0になってしまって行動が不能となってしまうことがある。
バトルにおいて3体のプレイヤキャラクタのうちの何れかが行動不能となってしまうと、バトルのその後の展開がプレイヤにとって不利なものとなってしまう。このような場合において、この実施の形態にかかる通信ゲームシステムで用意されたチャット機能を利用して他のプレイヤに救援を要請し、行動不能となったプレイヤキャラクタに代えて他のプレイヤの操作キャラクタを参加させてバトルを行うことができるようにすることで、行動不能となったプレイヤキャラクタが生じたことによる不利を補うことができるものとなる。
また、他のプレイヤにとっても、このような救援要請がされることで、自分のものではないプレイヤキャラクタのパーティについて開始されたバトルに自己の操作キャラクタを容易に参加させることができるものとなる。自己の操作キャラクタを他のプレイヤのバトルに参加させたプレイヤにとっても、当該バトルに勝利すれば経験値やアイテムを得ることができるものとなっているので、これによるメリットを享受することができる。
また、この実施の形態にかかる通信ゲームシステムでは、予め決まったプレイヤ同士が常に一緒にゲームを進めるのではなく、敵キャラクタとのバトルが行われる都度他のプレイヤの協力を得てバトルを進めさせるようにすることで、より多くのプレイヤによる協力プレイを容易に実現することができるようになる。
また、各プレイヤは、予めゲスト参加モードに設定することが可能となっているが、ゲスト参加モードに設定されている場合には、AIキャラクタが行動不能となっているか否かに関わらず、AIキャラクタに代えてゲストキャラクタをバトルに参加させることができるものとなっている。これにより、他のプレイヤのパーティにおいて生じたバトルにゲストキャラクタを参加させる機会が増えるので、より多くのプレイヤによる協力プレイをさらに容易に実現することができるようになる。一方、行動不能となっていなくてもゲストキャラクタに交替させられるのはAIキャラクタだけであって操作キャラクタは含まないので、自己のプレイヤキャラクタのパーティにバトルを発生させたプレイヤが当該バトルに関われなくなってしまうということがない。
さらに、ゲストキャラクタがバトルに参加することができる時間には制限時間が設けられているが、この制限時間は、当該ゲストキャラクタがバトルにおいて一定の条件を達成する度に延長されるものとなっている。つまり、バトルで活躍しているゲストキャラクタは長い間継続してバトルに参加することができるが、活躍のみられないゲストキャラクタは早々にバトルから退出させられるものとなっている。これにより、各プレイヤは、ゲストキャラクタの参加によりバトルを優位に進めることができるようになる。
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
上記の実施の形態では、プレイヤ毎にパーティを形成させる3体のキャラクタは、固定された1体の操作キャラクタと、10種類の中からプレイヤが選択する2体のAIキャラクタとから構成されていた。これに対して、操作キャラクタをゲームの開始から終了するまで固定とするのではなく、プレイヤキャラクタとして選択可能な複数種類のキャラクタのうちからプレイヤが1体を操作キャラクタとして、他の2体をAIキャラクタとして指定するものとしてもよい。
また、パーティを形成する複数のプレイヤキャラクタは、AIルーチンにより自動動作させられるAIキャラクタを含まず、全てプレイヤが入力装置563から入力した指示に従って動作するものとしてもよい。この場合において、入力装置563からの指示に応じて動作するプレイヤキャラクタの種類をプレイヤの操作で入れ替えていったり、入力装置563からの指示に応じて動作するプレイヤキャラクタが所定の順番で自動的に入れ替えられるものとしてもよい。
上記の実施の形態では、ゲストキャラクタがバトルに参加可能な時間は、参加時間タイマ413T、414Tの計時する時間が制限時間413L、414Lに到達したときに一定の条件を達成していることで延長することで、その長さを可変としていた。もっとも、ゲストキャラクタがバトルに参加可能な時間を可変とする手法は、これに限られず、例えば、ゲストキャラクタが一定の課題を達成する度に、参加時間タイマ413T、414Tが計時を進めるのを一定時間だけ一時停止することなどにより実現するものとしてもよい。
上記の実施の形態では、バトルを開始させたパーティのプレイヤが救援要請をした場合か、予めゲスト参加モードの設定をした場合のみ、ゲストキャラクタをバトルに参加させることが可能となっていた。もっとも、救援要請やゲスト参加モードの設定がなくても、ゲストキャラクタがバトルに参加できる(但し、行動不能となっていない操作キャラクタは交替させられない)ようにしてもよい。また、予めゲスト参加モードに設定している場合であっても、プレイヤが救援要請を出せるようにしてもよい。
上記の実施の形態では、各プレイヤのプレイヤキャラクタのパーティと敵キャラクタとのバトルにおいて、一定の条件の下にゲストキャラクタを参加させるものとしていた。もっとも、本発明の手法によりゲストキャラクタの参加を認めるゲームは、敵キャラクタとのバトルに限るものではなく、他のゲームイベント、例えば、フィールド上に点在しているアイテムの捜索などとしてもよい。
上記の実施の形態では、バトルを行っているプレイヤの携帯型ビデオゲーム装置500からの救援要請のメッセージは、フィールド上で比較的近くにプレイヤキャラクタを位置させている他のプレイヤの携帯型ビデオゲーム装置500を選んで送られても良いものとなっていた。もっとも、単にフィールド上で近くにいるというだけでは、当該バトルで他のプレイヤの操作キャラクタが全く役に立たないこともあり得るので、一定のマッチング処理により救援に適した他のプレイヤの操作キャラクタを抽出し、抽出された操作キャラクタに対応する据置型ビデオゲーム装置100又は携帯型ビデオゲーム装置500のみに救援要請のメッセージを送るものとしてもよい。
上記の実施の形態では、サーバ装置200と、該サーバ装置200にネットワーク151を介して接続された複数の据置型ビデオゲーム装置100と、該据置型ビデオゲーム装置100と無線による通信接続をしている携帯型ビデオゲーム装置500とで構成される通信ゲームシステムを例として、本発明の通信ゲームシステムを説明した。もっとも、本発明を実行可能な通信ゲームシステムは、このようなシステム構成のものに限られるものではない。据置型ビデオゲーム装置100の代わりに、携帯ゲーム機、携帯電話機、PDA、汎用のパーソナルコンピュータなどが用いられてもよく、これらが混在するシステムであってもよい。
また、据え置き型ゲーム装置と、該据え置き型ゲーム装置と赤外線やブルートゥース(登録商標)などで通信を行う複数の携帯ゲーム機とで構成される通信ゲームシステムで、本発明を実現することもできる。このようなシステム構成の通信ゲームシステムでは、据え置き型ゲーム装置が上記の実施の形態におけるサーバ装置200の機能を担うものとすることができる。
据え置き型ゲーム装置と複数の携帯ゲーム機とで構成されるシステムでは、1の携帯ゲーム機のプレイヤ(ホストプレイヤ)が据置型ゲーム装置にアクセスしてそこに予めルームを作り、そこに他のゲーム機のプレイヤ(ゲストプレイヤ)の参加要請を登録しておいてから、ホストプレイヤが自らの携帯ゲーム機でゲーム(上記の実施の形態と同様のバトルを含む)を進行させるものとすることができる。そして、ゲストプレイヤが、自己の携帯ゲーム機から据置型ゲーム装置にアクセスしてホストプレイヤの作ったルームを選択して入出し、ホストプレイヤが行っているゲーム(バトル)に途中参加するような仕組みのものとすることができる。
ホストプレイヤが行っているゲーム(バトル)にゲストプレイヤを参加させようとする場合、まず、救援要請をゲストプレイヤの携帯ゲーム機に通知し、この要請が受諾されることでゲーム(バトル)への参加が可能になるものとすることができる。或いは、ホストプレイヤが救援OKの状態でゲーム(バトル)をプレイしている場合に、ゲストプレイヤのゲーム(バトル)への参加を可能にすることもできる。
さらに、サーバ装置200に相当する装置を有さず、複数の据置型ビデオゲーム装置100をピアツーピアで接続した通信ゲームシステム、或いは、複数の携帯ゲーム機をアドホック通信で接続した通信ゲームシステムでも、本発明のゲームを実現することができる。この場合、自己のプレイヤキャラクタのパーティにバトルを開始させたプレイヤの据置型ビデオゲーム装置100や携帯ゲーム機が、上記の実施の形態におけるサーバ装置200の機能を担うものとすることができる。
上記の実施の形態では、サーバ装置200のプログラム及びデータは、記録媒体231に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク上に存在する他のサーバ装置が有する固定ディスク装置に格納しておき、装置本体201にネットワークを介して配信するものとしてもよい。サーバ装置200において、通信インターフェイス215がサーバ装置から受信したプログラム及びデータは、HDD207に保存し、実行時にRAM205にロードすることができる。
上記の実施の形態では、ホストゲーム装置とゲストゲーム装置が、ホスト仲介装置、ゲストゲーム装置及びサーバ装置を介して、所定のデータが送受信され、ホストゲーム装置にてゲームプログラムを実行する構成としたが、ゲームの進行のためのデータを全てサーバ装置200に集中させ、サーバ装置200の制御によりゲームを進めても良い。この場合、サーバ装置200のRAM205またはHDD207にて、図5のプレイヤ別キャラクタ管理テーブル及びバトル別キャラクタ管理テーブル等のゲームデータが管理される。
各プレイヤは、自己の操作キャラクタに対する動作の指示を自己の携帯型ビデオゲーム装置500の入力装置563から入力する。入力装置563から入力された指示に基づいたプレイヤキャラクタの処理は、携帯型ビデオゲーム装置500では行われず、据置型ビデオゲーム装置100を介して、サーバ装置200に集中される。サーバ装置200において各プレイヤのプレイヤキャラクタ(操作キャラクタ及びAIキャラクタ)の動作を処理し、その処理結果を各携帯型ビデオゲーム装置500に返送している。なお、この場合、図6に示すステップS101〜S115における、バトル別キャラクタ管理テーブルを生成してからバトルが終了するまでの一連の処理は、サーバ装置200の制御部203にて実行される。
また、上記の実施の形態では、ホストプレイヤとゲストプレイヤが携帯型ビデオゲーム装置500を操作し、通信ネットワークに接続された据置型ビデオゲーム装置100をホストプレイヤとゲストプレイヤがそれぞれ使用し、据置型ビデオゲーム装置100とサーバ装置200を介して通信接続させることで、ネットワークゲームを実行するような構成としていたが、仲介のための装置を介することなく、ホストプレイヤとゲストプレイヤが操作するビデオゲーム装置が、通信ネットワークによりサーバ装置200と通信接続されている場合にも適用できる。この場合、サーバ装置200のRAM205またはHDD207にて、図5のプレイヤ別キャラクタ管理テーブル及びバトル別キャラクタ管理テーブル等のゲームデータが管理される。図6に示すステップS101〜S115における一連の処理は、サーバ装置200の制御部203にて実行される。