図面を参照してこの発明の実施形態であるゲームプログラムおよびゲームシステムについて説明する。
図1は、ゲーム装置1(ハードウェア)の外観図、図2は、ゲーム装置1のブロック図である。まず、これら図1、図2を参照してゲーム装置1の構成を説明する。図1において、ゲーム装置1は、ヒンジで接続される上部筐体1Aおよび下部筐体1Bを有する。上部筐体1Aには、上部ディスプレイ10、スピーカ16が設けられている。下部筐体1Bには、下部ディスプレイ11、A/B/X/Yボタン、十字ボタン、SELECTボタン、HOMEボタン、STARTボタンを含むボタンスイッチ群13、スライドパッド14が設けられている。また、下部ディスプレイ11の表面には透明のタッチパネル12が設けられている。上部ディスプレイ10、下部ディスプレイ11は、バックライト付きの液晶ディスプレイで構成される。
上部ディスプレイ10には主としてゲーム空間の画像が表示され、下部ディスプレイ11には主として操作パネルの画像が表示される。ゲーム空間の画像には、ユーザ(プレイヤ)がコントロールするプレイヤキャラクタの姿も映されている。ユーザ(プレイヤ)は、上部ディスプレイ10に表示されるゲーム空間の画像を見ながら、下部ディスプレイ11に表示される操作パネルの画像をタッチパッド12で操作したり、ボタンスイッチ群13を操作したりしながら、プレイヤキャラクタをコントロールしてゲームを進めてゆく。
図2において、ゲーム装置1は、バス26上に、制御部20、操作部30、メディアインタフェース31および無線通信回路部32を有している。制御部20は、CPU21、ROM(フラッシュメモリ)22、RAM23、画像プロセッサ24および音声プロセッサ25を含んでいる。画像プロセッサ24には、ビデオRAM(VRAM)40が接続され、VRAM40には表示部41が接続されている。表示部41は、上述の上部ディスプレイ10、下部ディスプレイ11を含んでいる。音声プロセッサ25には、D/Aコンバータを含むアンプ42が接続され、アンプ42にはスピーカ16およびイヤホン端子17が接続されている。
無線通信回路部32は、Wi−Fi、Bluetooth(登録商標)により、他のゲーム装置1やサーバ装置と通信する。他のゲーム装置1と通信し、ユーザの操作データを互いに交換することにより、複数のゲーム装置1で複数のプレイヤキャラクタをそれぞれ制御するマルチプレイが行われる。
操作部30は、上述のタッチパネル12、ボタンスイッチ群13、スライドパッド14を含んでいる。操作部30は、ユーザ(プレイヤ)によるタッチパネル12、ボタンスイッチ群13、スライドパッド14の操作を検出し、その操作信号をCPU21に入力する。
メディアインタフェース31にはメモリカード5が接続される。メモリカード5は、ゲーム装置1専用の半導体メディアであってもよく、汎用のメディア、たとえばマイクロSDカードなどであってもよい。メモリカード5には、ゲームプログラム50が記憶されている。ゲームプログラム50は、プログラム本体のほか、ゲームの進行に必要なアイテム画像などのゲームデータを含んでいる。
RAM23には、CPU20がゲームプログラム50を実行する際に使用されるワークエリアが設定される。ワークエリアには、ゲームの進行に伴って発生する各種パラメータなどが含まれる。ROM22には、ゲームプログラム50を実行するための基本プログラムが記憶されている。また、ROM22はフラッシュメモリであり、基本プログラムのほか、ユーザによるゲームプレイの履歴データなども記憶される。
画像プロセッサ24は、ゲーム映像を生成可能なGPU(Graphics Processing Unit,グラフィックス・プロセッシング・ユニット)を備えている。画像プロセッサ24は、CPU21の指示に従ってゲーム空間を生成し、このゲーム空間を仮想のカメラで撮影した画像をゲーム画像としてVRAM40上に描画する。
音声プロセッサ25は、ゲーム音声を生成するDSP(Digital Signal Processor:デジタル・シグナル・プロセッサ)を有している。音声プロセッサ25は、生成したゲーム音声をアンプ42に出力する。アンプ42は、この音声信号を増幅してスピーカ16およびイヤホン端子17に出力する。
図3は、ゲームシステム100の機能ブロック図である。ゲームシステム100は、図1、図2に示したゲーム装置1および該ゲーム装置1のメモリカード5に保存されているゲームプログラム50との協働によって実現される。また、図4、図5および図6は、ゲームシステム100で実行されるゲームの一部を説明する図である。
まず、図4〜図6を参照して、ゲームシステム100で実行されるゲームについて説明する。ゲームシステム100で実行されるゲームは、複数のキャラクタが協力しながらミッションをクリアしてゆくゲームである。この実施形態では、キャラクタの数は3人であり、それぞれ別々のゲームシステム100(100A,100B,100C)で制御されるプレイヤキャラクタである。各ゲームシステム100A,100B,100Cは、無線通信で相互に操作データを交換し、各ゲームシステムで3人のキャラクタ200A,200B,200Cの行動を同期させる。各キャラクタは、ミッションをクリアするために、各種の攻撃技を繰り出して敵キャラクタを攻撃する。この攻撃技のなかに協力技と呼ばれるものがある。協力技は、複数(3人)のキャラクタ3人が一定範囲の場所に集まって同じ行動をとることによって繰り出される威力の大きい技である。
以下、図4〜図6を参照して、協力技が繰り出される手順について説明する。以下の説明において、プレイヤの操作を、その操作の結果としてのキャラクタ100の活動として説明する場合がある。
図4は、協力技が繰り出される流れを示すフローチャートである。図5(A)〜(E)は、協力技が繰り出される各タイミングにおける上部ディスプレイ10または下部ディスプレイ11に表示される画像の例を示す図である。また、図6(A)〜(E)は、協力技が繰り出される各タイミングにおける3人のキャラクタ200(200A,200B,200C)の位置関係を説明する図である。図5において、図5(A)は下部ディスプレイ11に表示される操作パネルの画像である。操作パネルには、協力技を繰り出すための協力技ボタン230のほか、1人技を繰り出すための1人技ボタン231、周囲に居る敵キャラクタを探索するためのレーダースコープ232が表示されている。
また、図5(B)〜(E)は、上部ディスプレイ10に表示される画像である。なお、これらの画像のうち、図5(B),(D),(E)は、キャラクタ200Aをコントロールするゲームシステム100Aの上部ディスプレイ10に表示される画像であり、図5(C)は、他のキャラクタ200B,200Cをコントロールするゲームシステム100B,100Cの上部ディスプレイ10に表示される画像である。
協力技は、まず1人のキャラクタ200が繰り出し動作を行い、他の2人のキャラクタがこれに追従して繰り出し動作を行うことによって繰り出される。以下、最初の1人の繰り出し動作を「発動」と呼び、これに追従する他の2人の繰り出し動作を「承認」と呼ぶ。また、以下の説明では、キャラクタ100Aが協力技を発動し、キャラクタ100B,100Cがこれを承認する場合について説明する。「協力技」が本発明の「協力動作」に対応し、「発動」が本発明の「準備」に対応し、「承認」が本発明の「参加」に対応する。ただし、本発明の「協力動作」、「準備」および「参加」は、この実施形態のものに限定されない。
図6(A)に示すように、3人のキャラクタ100A,100B,100Cがいるゲーム空間で、キャラクタ200Aが一定の条件を満たすと、協力技の発動が可能になる。一定の条件とは、具体的には、技を繰り出すためのエネルギ値であるゲージが一定値(1200)まで蓄えられることである。協力技の発動が可能になると、図5(A)に示すように、下部ディスプレイ11に表示されている操作パネルの協力技ボタン230が点灯する。条件が満たされないとき、協力技ボタン230は、消灯(ブラックアウト)している。点灯した協力技ボタン230がプレイヤによってオンされると、キャラクタ200Aによって協力技が発動される(S1)。
キャラクタ200Aによって協力技が発動されると、図5(B)、図6(B)に示すように、キャラクタ200Aは、両腕を前方に突き出した待機状態になり(S2)、その周囲にサークル210(210A)が生成される(S3)。サークル210Aは、他のキャラクタ200B,200Cが、この協力技の繰り出しに協力することができる範囲であり、キャラクタ200B,200Cが、このサークル210A内に移動して、協力技の繰り出しを承認すると、協力技の繰り出し条件が成立し、協力技が繰り出される。すなわち、協力技のビーム215が発生する。なお、図6において、キャラクタ100A,100B,100Cを示す小円のうち網掛けされたものは、協力技ボタン230がオンされ待機状態になっているキャラクタを示している。ここで、待機状態とは、協力技を発動し、または、他キャラクタが発動した協力技を承認して、協力技が繰り出されるまで同じポーズで待機している状態である。この状態のとき、キャラクタは移動したり他の行動をすることができない。なお、この待機状態の間、敵キャラクタの攻撃を受けてもダメージを受けない無敵の状態にしてもよい。
S3以下を順を追って説明する。サークル210Aが生成されると、図5(C)に示すように、他のキャラクタ200B,200Cをサークル210へ誘導する誘導マーカ211B,211Cが表示される(S4)。上述したように、図5(C)は、キャラクタ200B,200Cをコントロールするゲームシステム100B,100Cに表示される画像である。すなわち、誘導マーカ211B,211Cは、協力技を発動したキャラクタ(ここではキャラクタ200A)以外のキャラクタ(ここではキャラクタ200B,200C)をコントロールするゲームシステム(ここではゲームシステム100B,100C)のディスプレイにそれぞれ表示されるものである。すなわち、ゲームシステム100Bの上部ディスプレイ10には誘導マーカ211Bが表示され、ゲームシステム100Cの上部ディスプレイ10には誘導マーカ211Cが表示される。
この誘導マーカ211B,211Cに導かれて、図5(D)、図6(C)に示すように、キャラクタ200B,200Cがサークル210A内に移動する(S5)。すなわち、ゲームシステム100B,100Cのプレイヤが、この誘導マーカ211B,211Cを見てキャラクタ200B,200Cをサークル210A内に移動させる。
キャラクタ200B,200Cがサークル210A内に移動すると、ゲームシステム100B,100Cの下部ディスプレイ11に表示されている協力技ボタン230が点灯する。ゲームシステム100B,100Cのプレイヤは、協力技ボタン230をオンすることで協力技の繰り出しを承認する(S6)。ゲームシステム100B,100Cのプレイヤが協力技の繰り出しを承認すると(図6(D)参照)、協力技の繰り出し条件が成立し、図5(E)、図6(E)に示すように、協力技であるビーム215が発生する(S7)。
このように、キャラクタ200Aが協力技を発動したとき、キャラクタ200Aまたはそのサークル210Aがどの方向にあるかを示す誘導マーカ211B,211Cが表示されるため、キャラクタ200B,200Cは、この誘導マーカ211B,211Cに従って移動することで、速やか且つ容易にサークル210A内へ移動することが可能になる。
図3の機能ブロック図を参照して、ゲームシステム100について説明する。この図では、キャラクタ200Aをコントロールするゲームシステム100Aを例にあげて説明するが、ゲームシステム100B,100Cも同様の構成である。ゲームシステム100は、ゲーム進行処理部110、操作データ入力部120、通信部130、描画部140、および、音声発生部150を有している。
操作データ入力部120は、制御部20、操作部30およびゲームプログラム50の協働によって実現される。操作データ入力部120は、ユーザによる操作部30の操作を検出し、操作データとしてゲーム進行処理部110に入力する。
通信部130は、制御部20、無線通信回路部32およびゲームプログラム50の共同によって実現される。通信部130は、他のゲームシステム100(100B,100C)と通信し、相互に操作データを交換する。通信部130は、他のゲームシステム100から受信した操作データをゲーム進行処理部110入力する。また、通信部130は、このゲームシステム100で発生した操作データをゲーム進行処理部110から取得して他のゲームシステム100に対して送信する。
ゲーム進行処理部110は、制御部20およびゲームプログラム50の協働によって実現される。ゲーム進行処理部110は、入力された操作データに基づいて、ゲームを進行させてゆく処理部であり、入力された操作データなどに基づいてゲームを進行させ、進行するゲームの各タイミング毎(各フレーム毎)に、ゲーム画像の描画、ゲーム音声の発生等を演算する。この演算結果は、描画部140および音声発生部150に出力される。
以上の処理を実行するため、ゲーム進行処理部110は、ゲーム空間処理部111、オブジェクト処理部112、および、キャラクタ処理部113を有している。ゲーム空間処理部111は、ゲーム空間を生成し、ゲームの進行に伴う時間経過やキャラクタ100の移動に応じて、ゲーム空間の状態を更新する。オブジェクト処理部112は、ゲーム空間に存在する種々のオブジェクトを生成する。たとえば、上述のサークル210、誘導マーカ211およびビーム215等もこのオブジェクト処理部112によって生成される。また、キャラクタ処理部113は、ゲーム空間内で活動するキャラクタ200(200A,200B,200C)を生成し、活動を制御する。
描画部140は、制御部20、VRAM40、表示部41およびゲームプログラム50の協働によって実現される。描画部140は、ゲーム進行処理部110から入力されるゲーム空間、オブジェクト、キャラクタ、操作パネルなどの描画情報に基づいて、上部ディスプレイ10、下部ディスプレイ11に表示する画像を描画する。
音声発生部150は、音声プロセッサ25を含む制御部20、アンプ42、および、ゲームプログラム50の協働によって実現される。音声発生部150は、ゲーム進行処理部110から入力される発音指示情報に基づいて、キャラクタ200等の足音や技の繰り出し音などの音声を発生する。
次に、図7〜図10のフローチャートを参照して、ゲームシステム100の動作を説明する。これらの動作は、定期的に(たとえば1フレーム(=1/60秒)毎に)繰り返し実行される。なお、このフローチャートでは、キャラクタ200Aをコントロールするゲームシステム100Aの動作を例にあげて説明している。
図7は、プレイヤキャラクタ(キャラクタ200A)の制御動作を示すフローチャートである。まず、待機状態であるか否かを判断する(S10)。待機状態でない場合には(S10でNO)、S11以下の処理を実行する。待機状態の場合には(S10でYES)、移動等の活動ができないため何もしないでこの処理を終了する。
待機状態でない場合には(S10でNO)、操作データ入力部120から操作データを取り込み(S11)、取り込まれた操作データに応じてキャラクタ200Aを活動させ(S12)、この活動に応じて発生するゲージGを加算する(S13)。ゲージGとは、キャラクタ200Aが持つエネルギーを示す値であり、この値が一定値に達したときキャラクタ200Aが攻撃技を繰り出すことができる。この実施形態では、ゲージGが1000以上になったとき1人で繰り出す攻撃技である一人技を繰り出すことができるようになり、ゲージGが1200以上になったとき3人で協力して繰り出す攻撃技である協力技を繰り出すことができるようになる。なお、攻撃技が繰り出されたとき、ゲージGは全て消費されて0になる。
S13におけるゲージGの加算により、ゲージGが1000以上になったかを判定する(S14)。ゲージGが1000以上になっていれば(S14でYES)、1人技ボタン231を点灯して操作可能にする(S15)。ゲージGが1000未満の場合には1人技ボタン231を消灯(ブラックアウト)する(S16)。
次に、ゲージGが1000以上であった場合、ゲージGがさらに1200以上であるかを判断する(S17)。ゲージGが1200以上であった場合には(S17でYES)、協力技ボタン230を点灯し(S18)、キャラクタ200Aが他のキャラクタ200Bまたは200Cが発動した協力技のサークル210(210Bまたは210C)内にいるかを判定する(S19)。サークル内にいる場合には(S19でYES)、サークル210内にいることを示すサークル内フラグ(フラグFC)をセットし(S20)、それまで表示していた誘導マーカ211を消去する(S21)。また、キャラクタ200Aがサークル210内にいない場合、または、他のキャラクタ200B,Cが協力技を発動しておらず、サークル210がないには(S19でNO)、サークル内フラグFCをリセットする(S27)。そして、他のキャラクタ200Bまたは200Cが協力技を発動している場合、すなわち発動フラグFA(B)または発動フラグFA(C)のいずれかがセットされている場合には(S28でYES)、誘導マーカ211を表示する(S29)。他のキャラクタ200B,Cがともに協力技を発動していない場合には(S28でNO)、そのまま動作を終了する。なお、発動フラグFA(B)、発動フラグFA(C)は、それぞれキャラクタ200B、200Cが協力技を発動したことを示す発動フラグである。
また、ゲージGが1000未満で1人技ボタン231を消灯した場合(S16)、または、S17でゲージGが1200未満であると判断された場合(S17でNO)には、キャラクタ200Aが他のキャラクタが発動した協力技のサークル210(210Bまたは210C)内にいるか(S22)を判定する。キャラクタ200Aがサークル210にいる場合には(S22でYES)、協力技ボタン230を点灯し(S23)、サークル内フラグFCをセットし(S24)、それまで表示していた誘導マーカ211を消去する(S25)。すなわち、他のキャラクタが発動した協力技のサークル210内に入った場合には、自分のゲージGが1200に達していなくても協力技ボタン230が点灯して他のキャラクタが発動した協力技を承認することができる。
一方、また、キャラクタ200Aがサークル210内にいない場合、または、他のキャラクタ200B,Cが協力技を発動しておらず、サークル210がない場合には(S22でNO)、協力技ボタン230を消灯(ブラックアウト)し(S26)、サークル内フラグFCをリセットする(S27)。他のキャラクタ200Bまたは200Cが協力技を発動している場合には(S28でYES)、誘導マーカ211を表示する(S29)。他のキャラクタ200B,Cがともに協力技を発動していない場合には(S28でNO)、そのまま動作を終了する。
図8は、協力技ボタン230の操作対応動作を示すフローチャートである。ここで、フラグFAは、このゲームシステム100Aでコントロールされるキャラクタ200Aが協力技を発動した状態であることを示す発動フラグである。また、FA(B)、FA(C)は、それぞれキャラクタ200B、200Cが協力技を発動したことを示す発動フラグである。さらに、フラグFBは、キャラクタ200Aが他のキャラクタ(たとえば200B)が発動した協力技を承認したことを示す承認フラグである。
まず、点灯している協力技ボタン230がオンされたか否かを判断する(S30)。協力技ボタン230がオンされなかった場合には(S30でNO)、何もしないでこの処理を終了する。協力技ボタン230がオンされた場合には、S31以下の動作を実行する。S31以下では、発動フラグFAがセットされているか否か(S31)、承認フラグFBがセットされているか否か(S32)、または、サークル内フラグFCがセットされているか否か(S33)を判定する。
発動フラグFA、承認フラグFBおよびサークル内フラグFCがいずれもセットされていない場合には(S31でNO且つS32でNO且つS33でNO)、キャラクタ200Aが協力技を発動したとして、発動フラグFAをセットし(S50)、キャラクタ200Aを待機状態にし(S51)、キャラクタ200Aの周囲にサークル210Aを生成する(S52)。そして、この協力技を発動または承認した人数をカウントするカウンタPNに1を入力する(S53)。そして、他のキャラクタ200Bまたは200Cが協力技を発動しているか否か、すなわち発動フラグFA(B)または発動フラグFA(C)のいずれかがセットされているかを判断し(S54)、協力技を発動している場合には、そのサークル210Bまたは210Cへ向かう誘導マーカを消去する(S55)。すなわち、キャラクタ200Aが、他のキャラクタのサークルに入らず自分で協力技を発動した場合には、他のキャラクタのサークルへ向かう誘導マーカは消去される。
また、発動フラグFAおよび承認フラグFBがセットされておらずサークル内フラグFCがセットされている場合には(S31でNO且つS32でNO且つS33でYES)、キャラクタ200Aが、他のキャラクタ200Bまたは200Cが発動した協力技を承認したとして、承認フラグFBをセットし(S45)、キャラクタ200を待機状態にする(S46)。そして、キャラクタ200Bまたは200Cによって発動された協力技を発動または承認した人数をカウントする人数カウンタPN(B),PN(C)のうち対応する方に1を加算する(S47)。
一方、発動フラグFAがセットされている場合には(S31でYES)、協力技を発動している状態で再度協力技ボタン230がオンされたため、協力技の発動を取り消す。すなわち、発動フラグFAをリセットし(S34)、キャラクタ200Aを待機状態から通常モードにもどし(S35)、キャラクタ200Aの周囲に生成されていたサークル210Aを消去し(S36)、人数カウンタPNを0にリセットする(S37)。今回の発動フラグFAのリセットにより、発動フラグFA(B)または発動フラグFA(C)がセットされていれば、次のタイムスロットで実行されるプレイヤキャラクタ制御動作(図7)で誘導マーカが表示される。
また、承認フラグFBがセットされている場合には(S32でYES)、他のキャラクタ200Bまたは200Cが発動した協力技を承認している状態で再度協力技ボタン230がオンされたため、この承認を取り消す。すなわち、承認フラグFBをリセットし(S41)、キャラクタ200Aを待機状態から通常モードにもどす(S42)。そして、この協力技の人数カウンタPN(B),PN(C)のうち対応する方から1を減算する(S43)。
図9は、通信処理動作を示すフローチャートである。まず、通信部130が他のゲームシステム100B,100Cから、キャラクタ200B,200Cの活動を制御する操作データを受信したか否かを判断する(S60)。操作データを受信していない場合には、何もしないでこの処理を終了する。操作データを受信している場合にはS61以下の処理を実行する。
S61以下では、受信した操作データに、協力技を発動した旨のデータが含まれるか否か(S61)、発動した協力技を取り消した旨のデータが含まれるか否か(S62)、キャラクタ200Aが発動した協力技を承認した旨のデータを含まれるか否か(S63)、および、キャラクタ200Aが発動した協力技に対する承認を取り消した旨のデータが含まれるか否か(S64)を判断する。
受信した操作データに、協力技を発動した旨のデータが含まれている場合には(S61でYES)、発動フラグFA(B),FA(C)のうち対応する方をセットし(S65)、そのキャラクタ200Bまたは200Cの周囲にサークル210Bまたは210Cを生成し (S66)、この協力技の発動または承認人数をカウントする人数カウンタPN(B),PN(C)のうち対応する方に1をセットする(S67)。今回の発動フラグFA(B/C)のセットにより、次のタイムスロットで実行されるプレイヤキャラクタ制御動作(図7)で誘導マーカが表示される。
受信した操作データに、発動した協力技を取り消した旨のデータが含まれている場合には(S62でYES)、発動フラグFA(B),FA(C)のうち対応する方をリセットし(S71)、そのキャラクタ200Bまたは200Cの周囲に生成されていたサークル210Bまたは210Cを消去し(S72)、この協力技の人数カウンタPN(B),PN(C)のうち対応する方を0にリセットする(S73)。そして、キャラクタ200Aがこの協力技を承認している場合、すなわち、承認フラグFBがセットされている場合には(S74でYES)、承認フラグFBをリセットし(S75)、キャラクタ200Aを待機状態から通常モードにもどす(S76)。こののち、S82に進む。承認フラグFBがセットされていない場合には(S74でNO)、今回発動を取り消したキャラクタ200B/Cのマーカ211Aを消去したのち(S77)、S82に進む。なお、キャラクタ200Aが協力技を発動中の場合(発動フラグFAがセットされている場合)、誘導マーカ211Aは元より表示されていない。
受信したデータに、キャラクタ200Aが発動した協力技を承認した旨のデータが含まれている場合には(S63でYES)、人数カウンタPNに1を加算して(S80)、S82に進む。また、受信したデータに、キャラクタ200Aが発動した協力技に対する承認を取り消した旨のデータが含まれている場合には(S64でYES)、人数カウンタPNから1を減算して(S81)、S82に進む。また、S61〜S64の判断が全てが否定的(NO)であった場合もS82に進む。
S82では、受信した操作データに含まれる活動情報に基づいて、そのキャラクタ200Bまたは200Cをゲーム空間内で活動させる。
図10は、協力技のビーム生成処理を示すフローチャートである。まず、人数カウンタPN、PN(B)またはPN(C)のいずれかが3になったか否かを判断する(S90)。いずれかが3になっていればS91以下の処理を実行する。いずれも3になっていない場合には、何もしないでこの処理を終了する。
S91では、協力技を発動したキャラクタ200A,200Bまたは200Cの周囲に形成されているサークル210を消去する(S91)、そして、キャラクタ200A,B,C全員のポーズを図5(E)に示すような、片腕を上にあげ、技(ビーム)を発生させるポーズに変更する(S92)。そして図5(E)、図6(E)に示すようなビーム215を生成し(S93)、この技の効果を発生させるゲーム処理を行う(S94)。技の効果とは、たとえば敵キャラクタにダメージを与える(HPを減算する)、技の繰り出し音声を発生させる、などである。そして、発動フラグFA,FA(B/C)、承認フラグFB、サークル内フラグFCの全てをリセットし(S95)、人数カウンタPNまたはPN(B/C)を0にリセットする(S96)。この協力技を発動/承認したキャラクタ200A,B,C全員のゲージを0にし(S97)、活動の制限を解除して通常モードにもどす(S98)。
誘導マーカ211B,211Cは、キャラクタ200B,200Cから、協力技を発動しているキャラクタ200Aに向かう方向を指示するものであるが、この「方向」は、キャラクタ200B,200Cからキャラクタ200Aへ向かう直線の方向であってもよく、その他の方向、たとえば、キャラクタ200B,200Cが最も早く到達可能な経路に沿った方向を指示するものであってもよい。
すなわち、図11に示すように、協力技を発動しているキャラクタ200Aの近傍に壁や崖などの障害物250がある場合、キャラクタ200Cの場合、この障害物250を乗り越えて直線的にサークル210Aに到達する経路221Cよりも、この障害物250を迂回してサークル210Aに到達する経路220Cのほうが早いと考えられる。この場合、誘導マーカ211Cは迂回する経路220Cに沿った方向を指し示すように表示される。
一方、キャラクタ200Bの場合、障害物250を大きく迂回する経路221Bよりも、障害物250を乗り越えて直線的にサークル210Aに到達する経路のほうが、早いと考えられる。この場合には、直線的に到達する経路220Bにそった方向を指し示すように、誘導マーカ211Bが表示される。
また、図8、図9のフローチャートに示したように、先にいずれかのキャラクタ(たとえば200B)により協力技が発動されていても、そのサークル210B外にキャラクタ200Aがいるときにで協力技ボタン230がオンされれば、キャラクタ200Aがさらに協力技を発動することができる。この場合、残りのキャラクタ200C(ゲームシステム100C)に対して誘導マーカ211Cが表示されるが、誘導マーカ211Cは、キャラクタ200A,200B(サークル210A,210B)の両方に向けて表示されてもよく、いずれか一方のみに対して表示されてもよい。
キャラクタ200A,200B(サークル210A,210B)のうち、いずれか一方のみに対して誘導マーカ211Cを表示する場合、図12(A)に示すように、キャラクタ200Cからキャラクタ200A,200Bまでの距離dist(C,A)およびdist(C,B)を比較して、その距離が短いほうを選択してもよい。
また、図12(B)に示すように、ゲーム空間に崖や壁などの障害物250が存在する場合、キャラクタ200Cのキャラクタ200A,200B(サークル210A,210B)への到達時間time(C,A)、time(C,B)をそれぞれ推算し、この到達時間が短いほうに誘導マーカを形成してもよい。この図の例では距離は長いが到達時間が短いキャラクタ200B(サークル210B)の方向に誘導マーカ211Cが表示されている。
なお、この実施形態では、協力技を発動したキャラクタ(サークル)への移動方向を誘導マーカ211と呼ばれる画像を表示することで行っているが、表示形態はこれに限定されない。たとえば、文言等であってもよい。また、表示ではなく、音声でガイドするなど他の方式で行ってもよい。また、これらを複合して行ってもよい。
以上の説明では、キャラクタ200A,200B,200Cを、それぞれ別々のゲームシステム100A,100B,100Cによってコントロールされるプレイヤキャラクタとして説明しているが、これら3人のキャラクタ200A,200B,200Cのうち、少なくとも1人がプレイヤキャラクタであればよく、残りのキャラクタはゲーム進行処理部110の演算によってコントロールされるノンプレイヤキャラクタであってもよい。
また、この実施形態では、ゲームに登場するキャラクタの数が3人で協力技の繰り出しに必要な人数も3人と同数に設定している。しかし、ゲームに登場するキャラクタの数は3に限定されず、協力技の繰り出しに必要な人数も3に限定されない。また、ゲームに登場するキャラクタの数と協力技の繰り出しに必要な人数とが同数である必要はない。ゲームに登場するキャラクタの数が協力技の繰り出しに必要な人数以上であればよい。
また、上述したように、「参加」を必要とする「協力動作」はビームを発生させる技に限定されない。協力動作は、例えばボール技でもよい。すなわち、一方のキャラクタが、火の玉をパートナーのキャラクタにパスする。パートナーのキャラクタは、パスされた火の玉を自分が所持する火の玉に合体させて敵に投げつけて攻撃する、あるいは、パートナーのキャラクタは、パスされた火の玉を蹴って敵に当てる攻撃を行う、などの形態であってもよい。このような協力動作(攻撃技)の形態の場合、サークルを設定してキャラクタがそこに集まる必要はない。したがって、誘導マーカ211は、ボールの飛んでくる方向を指示するように表示されればよい。
また、オブジェクトはキャラクタに限定されず、乗り物などでもよい。
図1に示したゲームシステムでは、複数のゲームシステムがP2Pで直接通信してゲームを進めてゆく形態であったが、複数のゲームシステムのうち全部または一部がWIFIネットワークを介して通信してもよく、また、ゲームサーバを介して通信する形態であってもよい。
上の説明では、ハードウェアとして専用のゲーム装置1を例示しているが、ゲーム装置1は、専用機でないスマートフォンやタブレット端末などでもよい。