(第1の実施の形態)
本実施の形態のゲーム装置は、高低差のある地形を含むゲームフィールドにおいて、味方キャラクタを敵キャラクタと戦わせ、敵キャラクタを倒すことを目的とするゲームを提供する。ユーザは、ゲームフィールドに、キャラクタが移動可能な通路を形成したり、味方のキャラクタを発生させたりすることができる。キャラクタは、人工知能の制御により自律的に行動し、敵キャラクタと遭遇すると戦闘を行う。ユーザは、キャラクタを直接的に操作することはできないが、一部のキャラクタは水の流れとともに移動するので、通路を形成して水を移動させることにより、キャラクタを間接的に移動させることができる。
図1は、実施の形態に係るゲーム装置10の構成を示す。ゲーム装置10は、コントローラ20、入力部30、制御部40、フィールドテーブル60、キャラクタテーブル62、画像処理部66、及び表示装置68を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
入力部30は、プレイヤーが操作するコントローラ20から入力される制御信号を受け付ける。制御部40は、入力部30が受け付けたユーザからの指示に基づいて、図示しない記録媒体から読み出したゲームプログラムを実行し、ゲームを進行させる。フィールドテーブル60は、ゲームフィールドに関する情報を保持する。キャラクタテーブル62は、キャラクタの属性を表すパラメータなどを保持する。画像処理部66は、制御部40により制御されるゲームの画面を生成し、表示装置68に表示させる。各構成の動作の詳細については、以降の説明において詳述する。
図2は、実施の形態に係るゲーム装置10の外観を示す。ゲーム装置10の前面には、表示装置68及びコントローラ20が設けられている。コントローラ20は、十字キー21、アナログパッド22、ボタン24を含む。十字キー21及びアナログパッド22には、カーソルを移動させる機能が、ボタン24には、カーソルの現在位置の土を掘削して通路を形成する機能が、それぞれ割り当てられている。
図3は、実施の形態に係るゲーム装置10により提供されるゲームの画面の例を示す。ゲーム画面には、高低差のある地形を含むゲームフィールド(ダンジョン)100が表示されている。ゲームフィールド100には、ユーザが操作可能なツルハシ型のカーソル110が表示されている。ユーザは、カーソル110を上下左右に移動させ、カーソル110の現在位置にある、ゲームフィールド100を構成する土102を掘削して、キャラクタ及び水が移動可能な通路104を形成することができる。
土102には、キャラクタの活動の源となるエネルギーが養分として蓄積されており、エネルギーが第1閾値以上第2閾値未満(以下、「第1レベル」という)である位置には、第1レベルである旨を示す第1図形112が、第2閾値以上第3閾値未満(以下、「第2レベル」という)である位置には、第2レベルである旨を示す第2図形114が、第3閾値以上(以下、「第3レベル」という)である位置には、第3レベルである旨を示す第3図形116が、それぞれ表示されている。また、後述するように、通路104に水を導入するためのアイテムが設置されている位置には、その旨を示す図形118が表示されている。
通路104には、複数の種別のキャラクタが配置されている。これらのキャラクタは、後述するように、エネルギーが蓄積された土102を掘削することにより発生する。ここでは、第1レベルのエネルギーが蓄積された土102から発生する第1陸生キャラクタ120、第2レベルのエネルギーが蓄積された土102から発生する第2陸生キャラクタ122、第3レベルのエネルギーが蓄積された土102から発生する第3陸生キャラクタ124が表示されている。これらのキャラクタは、自律的に動作し、敵キャラクタとの間で戦闘を行う。
図4は、フィールドテーブル60の内部データの例を示す。フィールドテーブル60には、位置欄71、エネルギー欄72、及びステータス欄73が設けられている。位置欄71は、ゲームフィールドの位置を示す座標が格納する。図3に示すように、ゲームフィールドは、所定のサイズの矩形により分割されたブロックを単位として管理されている。エネルギー欄72は、ブロックに蓄積されたエネルギーの値を格納する。ステータス欄73は、ブロックのステータスを格納する。ブロックのステータスには、「土」、「通路」、「水」などがある。
図5は、キャラクタテーブル62の内部データの例を示す。キャラクタテーブル62には、キャラクタID欄75、キャラクタ種別欄76、位置欄77、及びエネルギー欄78が設けられている。キャラクタID欄75は、ゲームフィールドに配置されているキャラクタのIDを格納する。キャラクタ種別欄76は、キャラクタの種別を格納する。キャラクタの種別には、「第1陸生キャラクタ」、「第2陸生キャラクタ」、「第3陸生キャラクタ」、「第1水生キャラクタ」、「第2水生キャラクタ」、「第3水生キャラクタ」、「ボスキャラクタ」、「敵キャラクタ」などがある。位置欄77は、キャラクタの現在位置の座標を格納する。エネルギー欄78は、キャラクタが有しているエネルギーを格納する。
図1に戻り、各構成の説明を続ける。ゲーム制御部41は、ゲームの進行を制御する。ゲーム制御部41は、ゲーム開始から所定時間が経過すると、ゲームフィールドにボスキャラクタと敵キャラクタを配置する。ユーザは、敵キャラクタがゲームフィールドに配置されるまでの間に、ボスキャラクタを守り、敵キャラクタを倒すのに十分な味方キャラクタを発生させるよう、後述するように、ゲームフィールドを構築する。ゲーム制御部41は、ゲームフィールドに配置された全ての敵キャラクタが味方キャラクタに倒されると、ユーザにポイントを与え、ゲームを終了させる。ゲーム制御部41は、ボスキャラクタが敵キャラクタによりゲームフィールドから連れ去られると、ゲームオーバーとする。
通路形成部42は、ユーザからの指示に応じてゲームフィールドに通路を形成する。通路形成部42は、カーソルの現在位置を示す座標を保持し、コントローラ20の十字キー21又はアナログパッド22が入力されると、上下左右のうち指示された方向にカーソルを移動させる。通路形成部42は、コントローラのボタン24が入力されると、カーソルの現在位置の土を掘削して通路を形成する。このとき、通路形成部42は、フィールドテーブル60において、カーソルの現在位置のステータス欄73を「土」から「通路」に変更する。
エネルギー管理部43は、キャラクタを発生させたりキャラクタを活動させたりするためのエネルギーとなるパラメータの増減を管理する。エネルギー管理部43は、ゲームの開始時に、ゲームフィールドの各ブロックに対してエネルギーを設定し、フィールドテーブル60のエネルギー欄72に格納する。エネルギー管理部43は、後述するように、キャラクタがゲームフィールドに蓄積されたエネルギーを吸い取ったり、キャラクタがゲームフィールドへエネルギーを与えたりしたときに、キャラクタ又はゲームフィールドのエネルギーを増減させる。また、エネルギー管理部43は、キャラクタが敵キャラクタを倒したり、別のキャラクタを捕食したりしたときに、キャラクタのエネルギーを増加させる。エネルギー管理部43は、水が存在する通路に隣接する土から、その土に蓄積されたエネルギーを、水に移動させてもよい。
流体制御部48は、通路に導入された流体を制御する。通路形成部42により、ゲームフィールドが掘削されて通路が形成されたとき、掘削された位置のゲームフィールドに、水を発生させるアイテムが設置されていた場合、流体制御部48は、アイテムが設置されていた位置から水を発生させ、発生した水の流れを制御する。流体制御部48は、水の流れを所定のアルゴリズムにより計算し、フィールドテーブル60において、水が存在するブロックのステータス欄73を、「通路」から「水」へ変更する。水の流れを制御するためのアルゴリズムについては後述する。
陸生キャラクタ制御部44は、水が存在しない通路において発生した陸生キャラクタを制御する。通路形成部42により、ゲームフィールドが掘削されて通路が形成されたとき、掘削された位置の土に、第1レベル以上のエネルギーが蓄積されていた場合、陸生キャラクタ制御部44は、蓄積されていたエネルギーに応じて、陸生キャラクタを発生させる。陸生キャラクタ制御部44は、掘削された土に蓄積されていたエネルギーが第1レベル以上第2レベル未満であれば第1陸生キャラクタを、第2レベル以上第3レベル未満であれば第2陸生キャラクタを、第3レベル以上であれば第3陸生キャラクタを発生させる。陸生キャラクタ制御部44は、陸生キャラクタを発生させると、キャラクタテーブル62に発生させた陸生キャラクタの情報を登録する。
陸生キャラクタ制御部44は、陸生キャラクタのエネルギーや、周囲の状況などに応じて、人工知能により、自動的に陸生キャラクタの行動を決定し、陸生キャラクタを行動させる。陸生キャラクタ制御部44は、所定のタイミングで陸生キャラクタの次の行動を選択する。陸生キャラクタ制御部44は、例えば、画像処理部66が生成するゲーム画面のフレームごとに陸生キャラクタの行動を選択してもよいし、所定数のフレームごとに陸生キャラクタの行動を選択してもよい。
陸生キャラクタ制御部44は、通常、上に移動、下に移動、右に移動、左に移動、移動しないの選択肢の中から、陸生キャラクタの次の行動を選択する。陸生キャラクタ制御部44は、陸生キャラクタの行動を選択する前に、フィールドテーブル60を参照して、陸生キャラクタが移動可能な方向を取得してから行動を選択してもよいし、次の行動を選択してからフィールドテーブル60を参照して選択した方向に移動可能か確認し、移動可能でなければ再び別の行動を選択してもよい。陸生キャラクタ制御部44は、決定された方向にキャラクタを移動させ、キャラクタテーブル62の位置欄77を更新する。陸生キャラクタ制御部44は、陸生キャラクタを移動させると、所定のエネルギーを減じるようエネルギー管理部43に指示してもよい。
陸生キャラクタ制御部44は、陸生キャラクタが存在するブロックに隣接するブロックに、その陸生キャラクタが捕食可能なキャラクタが存在する場合、次の行動を決定するための選択肢として、そのキャラクタを捕食する行動を追加する。そのキャラクタを捕食する行動が選択された場合、陸生キャラクタ制御部44は、キャラクタテーブル62において、捕食したキャラクタのエネルギー欄78を増加させ、捕食されたキャラクタの情報をキャラクタテーブル62から削除する。陸生キャラクタ制御部44は、捕食されたキャラクタが有していたエネルギーを捕食したキャラクタに与えてもよいし、捕食したキャラクタに所定値のエネルギーを与えてもよい。陸生キャラクタ制御部44は、他のキャラクタだけでなく、隣接する土のブロックに蓄積された養分(エネルギー)を捕食できるようにしてもよい。また、陸生キャラクタ制御部44は、陸生キャラクタが有しているエネルギーを隣接する土のブロックに与えてもようエネルギー管理部43へ指示してもよい。
陸生キャラクタのエネルギーが所定値を上回ると、陸生キャラクタ制御部44は、その陸生キャラクタから新しいキャラクタを発生させ、キャラクタを繁殖させる。陸生キャラクタ制御部44は、同種の陸生キャラクタを発生させてもよいし、別種のキャラクタを発生させてもよい。また、予め決められた種別のキャラクタを発生させてもよいし、発生させるキャラクタの種別をランダムに選択してもよい。また、複数のキャラクタを同時に発生させてもよい。陸生キャラクタ制御部44は、新しいキャラクタを発生させると、発生させた新しいキャラクタの情報をキャラクタテーブル62に登録する。
陸生キャラクタのエネルギーが所定値を下回ると、陸生キャラクタ制御部44は、その陸生キャラクタを消滅させるとともに、その陸生キャラクタが持っていたエネルギーを周囲のゲームフィールド(土のブロック)へ与える。陸生キャラクタ制御部44は、消滅させる陸生キャラクタの情報をキャラクタテーブル62から消去し、その陸生キャラクタが持っていたエネルギーを、陸生キャラクタの現在地に隣接するゲームフィールドへ与えるようエネルギー管理部43へ指示する。
このように、陸生キャラクタ制御部44は、陸生キャラクタの生態系をシミュレーションする。特定の種別の陸生キャラクタのみを大量に発生させても、捕食可能なキャラクタが少なければ繁殖できずに減少していくので、ユーザは、捕食可能なキャラクタも含めてバランスよくキャラクタを発生させる必要がある。
陸生キャラクタ制御部44は、陸生キャラクタが存在するブロックに隣接するブロックに、敵キャラクタが存在する場合、次の行動を決定するための選択肢として、敵キャラクタと戦闘する行動を追加する。陸生キャラクタが敵キャラクタと隣接したときに必ず戦闘を開始するようにしてもよい。陸生キャラクタと敵キャラクタとの戦闘は、戦闘制御部47により制御される。
水生キャラクタ制御部45は、水が存在する通路において発生した水生キャラクタを制御する。水生キャラクタ制御部45は、水が存在する通路に隣接する土に蓄積されたエネルギーが所定値に達すると、エネルギーのレベルに応じて、水生キャラクタの卵を発生させ、水が存在する通路に配置する。ユーザが、ツルハシにより卵をつつくと、すなわち、ユーザがカーソルを卵が配置されたブロックに合わせてボタン24を押すと、水生キャラクタ制御部45は、水生キャラクタを発生させる。水生キャラクタ制御部45の主な機能は、陸生キャラクタ制御部44と同様である。
水生キャラクタ制御部45は、水生キャラクタが、水に溶け込んだ養分としてのエネルギーを捕食できるようにしてもよいし、土に蓄積されている養分としてのエネルギーを取り込めるようにしてもよい。水生キャラクタ制御部45は、水生キャラクタが、水が存在しない通路へ移動しないように制御してもよいし、水が存在しない通路へ移動する行動の選択を劣後させてもよい。また、水生キャラクタ制御部45は、水生キャラクタが、水が存在しない通路を移動するときに、水が存在する通路を移動するときよりも多くのエネルギーを消費するようにしてもよい。
水生キャラクタ制御部45は、水生キャラクタが存在している通路の水が、流体制御部48により流されたとき、水生キャラクタを水とともに移動させる。水生キャラクタ制御部45は、キャラクタテーブル62を参照して、水生キャラクタが存在しているブロックの位置を取得し、流体制御部48により水が移動されると、フィールドテーブル60を参照して水の移動先の位置を取得し、キャラクタテーブル62の位置欄も同様に更新する。これにより、ユーザは、通路を形成して水を移動させることにより、間接的に水生キャラクタを移動させることができる。陸生キャラクタは、水とともに移動させなくてもよい。
敵キャラクタ制御部46は、ゲームフィールドに配置された敵キャラクタを制御する。敵キャラクタ制御部46は、ボスキャラクタが配置されたブロックに隣接するブロックに敵キャラクタが到達すると、敵キャラクタにボスキャラクタを捕獲させ、以降、ボスキャラクタを敵キャラクタとともに移動させる。敵キャラクタ制御部46は、敵キャラクタがボスキャラクタを捕獲した後は、敵キャラクタがゲームフィールドの出入口へ向かって移動するように敵キャラクタを制御してもよい。例えば、敵キャラクタ制御部46は、敵キャラクタがゲームフィールドの出入口からボスキャラクタに到達するまでに通った経路を記憶しておき、記憶していた経路から出入口までの最短経路を算出して、算出した最短経路を通るように敵キャラクタを移動させてもよい。また、敵キャラクタ制御部46は、敵キャラクタの次の行動を選択するときに、上方向への移動を優先的に選択するようにしてもよい。また、ゲームフィールドの出入口がゲームフィールドの上端中央付近に設けられている場合、敵キャラクタがゲームフィールドの右半分に存在する場合には左方向への移動を優先的に選択し、左半分に存在する場合には右方向への移動を優先的に選択してもよい。前述したように、敵キャラクタがボスキャラクタをともなってゲームフィールドの出入口に到達すると、ゲームオーバーとなる。
敵キャラクタ制御部46は、敵キャラクタの動作として、ゲームフィールドに存在する水を凍らせて移動不能とする魔法を選択可能とする。敵キャラクタ制御部46が、敵キャラクタに、水を凍らせる魔法を実行させると、流体制御部48は、魔法が解けるまでの間、水の移動を禁止する。流体制御部48は、所定の時間が経過したときに魔法を解除してもよいし、所定の条件が満たされたとき、例えば、水生キャラクタが氷を溶かす魔法を実行したときに、魔法を解除してもよい。水生キャラクタ制御部45は、水が氷になっている間、新しい水生キャラクタの卵を生成しないようにしてもよい。
戦闘制御部47は、味方キャラクタと敵キャラクタとの間の戦闘を制御する。戦闘制御部47は、味方キャラクタの種別と敵キャラクタの種別とをキャラクタテーブル62から読み出し、それらのキャラクタの属性を図示しないキャラクタデータベースから読み出して、それらのキャラクタの間の戦闘を制御する。戦闘制御部47は、両者のキャラクタの属性から戦闘の勝敗を決定してもよいし、両者のキャラクタが戦闘において選択可能な行動の選択肢をキャラクタデータベースから読み出し、人工知能により両者の戦闘をシミュレーションして、戦闘の勝敗を決定してもよい。また、戦闘制御部47は、キャラクタテーブル62から両者のキャラクタのエネルギーを読み出し、それらのエネルギーに基づいて戦闘の勝敗を決定してもよい。
つづいて、ゲーム装置10により提供されるゲーム画面を参照しながら、各構成の動作について説明する。
図6は、ゲーム装置10により提供されるゲーム画面の例を示す。図3に示した画面において、ユーザがボタン24を押すと、通路形成部42は、カーソル110の現在位置の土が掘削されて通路になる様子を画像処理部66に表示させるとともに、フィールドテーブル60において、カーソル110の現在位置のブロックのステータス欄73を「土」から「通路」に変更する。このときの画面を図6に示す。
図7は、ゲーム装置10により提供されるゲーム画面の例を示す。図6に示した画面において、ユーザがカーソル110を1ブロック左に移動させ、ボタン24を押すと、通路形成部42は、カーソル110の現在位置の土が掘削されて通路になる様子を画像処理部66に表示させるとともに、フィールドテーブル60において、カーソル110の現在位置のブロックのステータス欄73を「土」から「通路」に変更する。ここで、掘削された土には、第1レベルのエネルギーが蓄積されていたので、陸生キャラクタ制御部44は、掘削されたブロックの位置に、第1陸生キャラクタ120を発生させる。このときの画面を図7に示す。
図8は、ゲーム装置10により提供されるゲーム画面の例を示す。ユーザが、水を発生させるためのアイテムが設置されたことを示す図形118が表示されたブロックにカーソル110を合わせてボタン24を押すと、通路形成部42は、カーソル110の現在位置の土が掘削されて通路になる様子を画像処理部66に表示させるとともに、フィールドテーブル60において、カーソル110の現在位置のブロックのステータス欄73を「土」から「通路」に変更する。このとき、流体制御部48は、掘削されたブロックの位置から水106を発生させる。このときの画面を図8に示す。
図9は、ゲーム装置10により提供されるゲーム画面の例を示す。流体制御部48は、掘削されたブロックの位置から所定量の水を発生させる。ここでは、9ブロック分の通路を満たす量の水106が発生するものとする。流体制御部48は、所定のタイミングで水106の移動状態を決定し、画像処理部66に表示させる。流体制御部48は、まず、フィールドテーブル60において、水106の発生位置のブロックのステータス欄73を「水」に変更する。つづいて、そのブロックの下のブロックのステータスを確認し、ステータスが「通路」であれば、水を下のブロックに移動させる。下のブロックのステータスが「土」であれば、左右のブロックのステータスを確認し、いずれかのブロックのステータスが「通路」であれば、そのブロックに水を移動させる。左右両方のブロックのステータスが「通路」である場合、例えば左のブロックに優先的に水を移動させてもよいし、左右交互に水を移動させて水が分岐して流れるようにしてもよい。5ブロック分の水が発生したときの画面を図9に示す。
図10は、ゲーム装置10により提供されるゲーム画面の例を示す。流体制御部48は、掘削されたブロックの位置から9ブロック分の水を発生させた後も、水を低い位置へ向かって移動させ、発生位置から上に上がらずに到達できる最も低い位置から順に水を満たす。このときの画面を図10に示す。流体制御部48は、水面が平らになるように、水面の高さにあるブロックには一部に水が満たされるようにしてもよい。
図11は、ゲーム装置10により提供されるゲーム画面の例を示す。水生キャラクタ制御部45は、フィールドテーブル60を参照して、水が存在する通路に隣接する土に、所定値以上のエネルギーが蓄積されている場合、所定のタイミングで、水生キャラクタの卵131を発生させ、水が存在する通路に配置する。このときの画面を図11に示す。
図12は、ゲーム装置10により提供されるゲーム画面の例を示す。ユーザが、第1水生キャラクタの卵131にカーソル110を合わせてボタン24を押すと、水生キャラクタ制御部45は、そのブロックの位置に第1水生キャラクタ130を発生させる。このときの画面を図12に示す。
図13は、ゲーム装置10により提供されるゲーム画面の例を示す。エネルギー管理部43は、水が存在する通路に隣接する土に蓄積されているエネルギーを、所定のタイミングで、水が存在する通路に移動させる。エネルギー管理部43は、例えば、ランダムなタイミングで、フィールドテーブル60において、水が存在する通路に隣接する土のブロックのエネルギー欄72を「0」に変更し、そのブロックに蓄積されていたエネルギーの値を、隣接する水が存在する通路のブロックのエネルギー欄72に加える。このときの画面を図13に示す。
図14は、ゲーム装置10により提供されるゲーム画面の例を示す。ゲーム制御部41は、ゲーム開始から所定の時間が経過すると、敵キャラクタ142がゲームフィールドに侵入してくる旨をユーザに告知し、ボスキャラクタ140の配置位置をユーザに問い合わせる。ゲーム制御部41は、ユーザから受け付けた位置にボスキャラクタ140を配置させ、キャラクタテーブル62に登録する。ボスキャラクタ140は、配置された位置から移動しない。敵キャラクタ142は、敵キャラクタ制御部46により制御される。このときの画面を図14に示す。
図15は、ゲーム装置10により提供されるゲーム画面の例を示す。敵キャラクタ制御部46により制御される敵キャラクタ142が、陸生キャラクタ制御部44により制御される陸生キャラクタ又は水生キャラクタ制御部45により制御される水生キャラクタに遭遇すると、戦闘制御部47により戦闘が開始される。このときの画面を図15に示す。
図16は、ゲーム装置10により提供されるゲーム画面の例を示す。図15に示したゲーム画面において、第1陸生キャラクタ120が敵キャラクタ142に倒されると、敵キャラクタ142とボスキャラクタ140の間に味方のキャラクタが存在しないので、ボスキャラクタ140が敵キャラクタ142に連れ去られる可能性が高まる。ユーザは、ボスキャラクタ140の周囲の土から陸生キャラクタを新たに発生させることもできるが、図15に示したゲーム画面においては、ボスキャラクタ140の周囲の土にはエネルギーが十分に蓄積されていないので、陸生キャラクタを迅速に発生させることが困難である。
このとき、ユーザは、ゲームフィールド左上の水が満たされている通路と、ボスキャラクタ140が配置されている通路の間を掘削し、通路でつなぐことにより、水106を、より低い位置にあるボスキャラクタ140の周辺に、水に生息している水生キャラクタもろとも移動させることができる。水が満たされている通路と、ボスキャラクタ140が配置されている通路の間を掘削したときの画面を図16に示す。
図17は、ゲーム装置10により提供されるゲーム画面の例を示す。流体制御部48により水106が移動されるとともに、水生キャラクタ制御部45により、水106の中に生息していた第1水生キャラクタ130及び第2水生キャラクタ132が水106とともに移動される。このときの画面を図17に示す。このように、ユーザは、自律的に動作し、直接的には操作できないキャラクタを、間接的に移動させることができる。これにより、ボスキャラクタ140の周辺に水生キャラクタを移動させ、敵キャラクタ142と対戦させることができる。
図18−図20は、水の流れを制御するアルゴリズムを説明するための図である。流体制御部48は、図18に示すように、水が落ちる位置からの経路が短い順にブロックに番号を割り当てて、移動を管理する。流体制御部48は、水が落ちる位置からの経路が同じ距離にあるブロックについては、例えば、左にあるブロックに小さい番号を割り当てる。流体制御部48は、番号の小さい順に水を移動させていくが、水が流れて行く経路が分岐する場合には、左右に交互に水を移動させる。例えば、図18に示したゲームフィールドの分岐108において、流体制御部48は、1番の水を左へ、2番の水を右へ、3番の水を左へ、というように水を移動させる。したがって、図19に示した状態を経由して、最終的には、図20に示した状態となる。
図21は、ゲーム装置10により提供されるゲーム画面の例を示す。図16に示したゲーム画面において、図15に示したように通路が形成された場合、流体制御部48により水が移動されるとともに、水生キャラクタ制御部45により水生キャラクタが移動されて、図21に示した状態となる。1番の水の位置に存在していた第2水生キャラクタ132は、1番の水とともに左側の分岐に移動し、4番の水の位置に存在していた第1水生キャラクタ130は、4番の水とともに右側の分岐に移動する。
(第2の実施の形態)
第2の実施の形態では、第1の実施の形態で説明したゲームを、複数のプレイヤーでプレーするゲームモードについて説明する。本実施の形態では、複数のプレイヤーが、互いに協力してゲームを進めることも、対戦することも可能なゲームについて説明するが、説明の便宜のため、協力してゲームを進める場合にも「対戦」という語を用いる。また、二人のプレイヤーが対戦する例について説明するが、三人以上のプレイヤーが対戦する場合も同様である。
図22は、第2の実施の形態に係るゲーム装置10の構成を示す。第2の実施の形態のゲーム装置10は、図1に示した第1の実施の形態のゲーム装置10の構成に加えて、通信部32、データ送信部34、データ受信部36を更に備える。通信部32は、対戦相手のゲーム装置10との間でデータの送受信を行う。通信部32は、対戦相手のゲーム装置10と直接通信を行ってもよいし、ゲーム装置間におけるデータの送受信を管理するサーバを介して通信を行ってもよい。
図23は、第2の実施の形態に係るゲームの画面の例を示す。ゲームフィールドはゲームに参加するゲーム装置の数、ここでは2つのエリアに分割されており、左半分のエリアがプレイヤー1Pに割り当てられ、右半分のエリアがプレイヤー2Pに割り当てられている。プレイヤー1Pはカーソル110aを、プレイヤー2Pはカーソル110bをそれぞれ操作して、主に、自分が担当するゲームフィールドを掘削してキャラクタを生成し、生成したキャラクタを繁殖させる。他のプレイヤーが担当するゲームフィールドを掘削することもできるが、掘削した土からキャラクタが生成した場合、掘削したプレイヤーではなく、そのゲームフィールドを担当するプレイヤーに属するキャラクタとなる。図23に示すように、各キャラクタに、そのキャラクタが属するプレイヤーを識別するための情報、例えばプレイヤーのIDなどを表示してもよい。
プレイヤー1Pが担当するゲームフィールドと、プレイヤー2Pが担当するゲームフィールドは、通路で接続されているので、プレイヤー1Pに属するキャラクタがプレイヤー2Pに属するゲームフィールドに移動したり、プレイヤー2Pに属するキャラクタがプレイヤー1Pに属するゲームフィールドに移動したりすることもできる。また、プレイヤーは、自身が担当するゲームフィールドを掘削して形成した通路と、他のプレイヤーが担当するゲームフィールドの通路とを接続する通路を掘削により形成することで、自身が担当するゲームフィールドにおいて繁殖させたキャラクタを、他のプレイヤーが担当するゲームフィールドに送り込むこともできる。
第1の実施の形態に係るゲームと同様に、ゲーム開始から所定の時間が経過すると、ゲーム制御部41は、ゲームフィールドにボスキャラクタと敵キャラクタを配置する。ゲーム制御部41は、対戦に参加している全てのプレイヤーに、自身のボスキャラクタを、自身が担当するゲームフィールドに配置させる。ゲーム制御部41は、ゲームフィールドに配置された全ての敵キャラクタが、いずれかのプレイヤーに属するキャラクタに倒されると、敵キャラクタを倒したキャラクタが属するプレイヤーにポイントを与え、ゲームを終了させる。ゲーム制御部41は、全てのボスキャラクタが敵キャラクタによりゲームフィールドから連れ去られると、ゲームオーバーとする。いずれかのプレイヤーに属するボスキャラクタが敵キャラクタに連れ去られても、所定時間以内に敵キャラクタを全滅させれば、ゲームクリアとしてもよい。
図24は、第2の実施の形態に係るフィールドテーブル60の内部データの例を示す。第2の実施の形態のフィールドテーブル60には、図4に示した第1の実施の形態のフィールドテーブル60の内部データに加えて、プレイヤー欄74が設けられている。プレイヤー欄74は、ゲームフィールドのブロックが属するゲーム装置10のプレイヤーのIDを格納する。
図25は、第2の実施の形態に係るキャラクタテーブル62の内部データの例を示す。第2の実施の形態のキャラクタテーブル62には、図5に示したキャラクタテーブル62の内部データに加えて、プレイヤー欄79が更に設けられている。プレイヤー欄79は、キャラクタが属するプレイヤーのIDを格納する。
図22に戻り、各構成の説明を続ける。データ送信部34は、所定のタイミングで、対戦相手のゲーム装置10に送信するデータを作成し、通信部32を介して対戦相手のゲーム装置10に送信する。データ送信部34は、例えば、画像処理部66が1フレームのゲーム画面を生成するごとにデータを送信してもよいし、2以上のフレームごとにデータを送信してもよい。データ送信部34は、入力部30が受け付けたコントローラ20からの制御信号や、コントローラ20の操作指示の内容を対戦相手のゲーム装置10に送信してもよいし、自装置のゲームの状態を示すパラメータ、例えば、フィールドテーブル60及びキャラクタテーブル62の内容を送信してもよい。後者の場合、データ送信部34は、フィールドテーブル60及びキャラクタテーブル62のうち、対戦相手のゲーム装置10において必要なパラメータを抽出して送信してもよいし、変化したパラメータのみを抽出して送信してもよい。
本実施の形態のゲームでは、カーソルの移動や土の掘削などは、コントローラ20による操作指示の内容を取得すれば、対戦相手のゲーム装置10においても再現できる。したがって、各キャラクタの行動や成長、ゲームフィールドやキャラクタに蓄積されたエネルギーの変化などにランダムな要素がなく、ゲームに参加している複数のゲーム装置10において同一のアルゴリズムで制御される場合には、それぞれのゲーム装置10におけるコントローラ20による操作入力を共有すれば、それぞれのゲーム装置10において同じ状態が再現できる。この場合、ゲーム開始時にゲームの初期パラメータ、例えば、ゲームフィールドにおける土やエネルギーなどの分布に関する情報などをゲーム装置間で共有し、以降は、コントローラ20による操作入力をゲーム装置間で共有する。各キャラクタの行動や成長、エネルギーの変化などにランダムな要素が取り入れられる場合には、複数のゲーム装置10において同一の状態を再現するために、それらの状態又は変化を示すパラメータを更に互いに送受信する必要がある。
データ受信部36は、通信部32を介して、対戦相手のゲーム装置10から送信されたデータを受信する。データ受信部36は、他のゲーム装置10におけるコントローラ20による操作指示を取得した場合、その情報を制御部40の各構成に通知し、操作指示に応じて他のゲーム装置10において実現されたはずの状態を再現させる。例えば、十字キー21が入力されていた場合は、通路形成部42に、そのゲーム装置10のプレイヤーに属するゲームフィールドのカーソルを移動させ、ボタン24が入力されていた場合は、通路形成部42に、カーソルの現在位置の土を掘削して通路を形成させる。
データ受信部36は、他のゲーム装置10におけるゲームの状態を示すパラメータ、又はその変化を示すパラメータを取得した場合、その情報を制御部40の各構成に通知し、他のゲーム装置10において実現されている状態を再現させる。例えば、キャラクタが移動したことを示すパラメータを取得した場合は、陸生キャラクタ制御部44又は水生キャラクタ制御部45に、キャラクタを移動させる。
通路形成部42は、第1の実施の形態と同様に、自装置のコントローラ20から入力される操作指示に応じてカーソルを移動させ、ゲームフィールドを構成する土を掘削して通路を形成する。通路形成部42は、土を掘削して通路を形成するために必要なパラメータの増減を管理する。通路形成部42は、他装置のプレイヤーに割り当てられたエリアを掘削して通路を形成するときに、自装置のプレイヤーに割り当てられたエリアを掘削して通路を形成するときよりも大きい値を、パラメータの現在値から減じる。これにより、他のプレイヤーに割り当てられたエリアに通路を形成することを可能としつつ、その代償を大きくすることで、他のプレイヤーのエリアに対する過度の干渉を抑止し、ゲームの難易度や娯楽性を適切に調整することができる。
通路形成部42により通路が形成されたとき、掘削された位置の土に、第1レベル以上のエネルギーが蓄積されていた場合、陸生キャラクタ制御部44は、蓄積されていたエネルギーに応じて、陸生キャラクタを発生させる。このとき、陸生キャラクタ制御部44は、キャラクタテーブル62に、発生させた陸生キャラクタの情報を登録するとともに、掘削された土が属するゲームフィールドを担当するプレイヤーのIDを登録する。発生した陸生キャラクタは、以降、そのキャラクタが属するプレイヤーのゲーム装置10の陸生キャラクタ制御部44により制御される。
水生キャラクタの卵が配置されたブロックにカーソルがあるときに、ボタン24が入力されると、水生キャラクタ制御部45は、水生キャラクタを発生させる。このとき、水生キャラクタ制御部45は、キャラクタテーブル62に、発生させた水生キャラクタの情報を登録するとともに、卵の発生源の土が属するゲームフィールドを担当するプレイヤーのIDを登録する。発生した水生キャラクタは、以降、そのキャラクタが属するプレイヤーのゲーム装置10の水生キャラクタ制御部45により制御される。
陸生キャラクタ制御部44及び水生キャラクタ制御部45は、陸生キャラクタ又は水生キャラクタが存在するブロックに隣接するブロックに、そのキャラクタが捕食可能なキャラクタが存在する場合、同じプレイヤーに属するキャラクタではなくても、キャラクタを捕食可能とする。すなわち、自身のゲームフィールドにおいて発生させたキャラクタを、自身のゲームフィールドにおいて繁殖させるだけでなく、通路を介して他のプレイヤーに属するゲームフィールドに移動させ、周囲に存在する他のプレイヤーに属するキャラクタを捕食して繁殖するようにさせることもできる。
このような戦略によれば、他のプレイヤーに属するゲームフィールドに蓄積されたエネルギーを利用して、自身のキャラクタを繁殖させることができるので、より有利にゲームを進めることができる。しかし、キャラクタのエネルギーが所定値を下回って、キャラクタが消滅するときには、その周囲のゲームフィールドへエネルギーが与えられるので、結果的に、自身のゲームフィールドのエネルギーが他のプレイヤーのゲームフィールドに移動する可能性もある。このように、プレイヤーは、今までにない新しい要素を考慮しながらゲームを進める必要があるので、新しい戦略を考える楽しさをプレイヤーに与えることができる。
図26は、第2の実施の形態に係るゲームの画面の例を示す。ゲーム制御部41は、ゲーム開始から所定の時間が経過すると、敵キャラクタ142がゲームフィールドに侵入してくる旨をプレイヤーに告知し、ボスキャラクタ140の配置位置をプレイヤーに問い合わせる。ゲーム制御部41は、それぞれのプレイヤーから受け付けた位置にボスキャラクタ140a及び140bを配置させ、キャラクタテーブル62に登録する。敵キャラクタ142は、ゲームに参加しているゲーム装置10のうち、ホストとなるゲーム装置10の敵キャラクタ制御部46により制御される。敵キャラクタの行動は、ホストとなるゲーム装置10から、他のゲーム装置10へ通知される。
敵キャラクタ制御部46は、敵キャラクタが配置されたときに形成されていた通路のみを通るように、敵キャラクタを移動させる。敵キャラクタが配置された後に形成された通路は、敵キャラクタは移動しないが、他のキャラクタは移動できるので、プレイヤーは、敵キャラクタが配置された後も、通路を形成することにより、キャラクタを発生させたり、移動させたりすることができる。また、第1の実施の形態で説明したように、通路に導入された水を移動させることにより、キャラクタを共に移動させることができる。
敵キャラクタが、いずれかのプレイヤーのキャラクタに倒されると、ゲーム制御部41は、敵キャラクタを倒したキャラクタが属するプレイヤーにボーナスポイントを与える。したがって、敵キャラクタを自身のゲームフィールドに誘い込んで、自身のキャラクタと戦わせる方が、ボーナスポイントを得られる可能性が高まるが、逆に、自身のボスキャラクタが連れ去られる危険も高まる。また、敵キャラクタがどの通路を移動するかはプレイヤーは制御できないので、他のプレイヤーのゲームフィールドに敵キャラクタが移動する可能性もある。その場合は、敵キャラクタが移動した方のゲームフィールドと自身のゲームフィールドを接続する通路を形成することにより、敵キャラクタが存在するゲームフィールドへ自身のキャラクタを移動させて戦闘させることができる。
ゲーム装置10は、敵キャラクタが移動する方向を制御したり、敵キャラクタやボスキャラクタの配置位置を変更したりする機能を提供してもよい。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施の形態では、ゲームフィールドが2次元である例について説明したが、ゲームフィールドは3次元であってもよい。また、実施の形態では、ゲームフィールドを矩形のブロックに分割して管理する例について説明したが、地形やキャラクタなどの2次元又は3次元の形状データを用意して、ゲームフィールドをレンダリングしてもよい。また、実施の形態では、水の流れを制御するアルゴリズムとして、ブロックを単位として水を移動させる例について説明したが、物理計算を用いたシミュレーションにより水の流れを制御してもよい。