(57)【特許請求の範囲】
【請求項１】
ユーザが操作する操作部と、表示部と、が接続されるゲーム装置を、
仮想ゲーム空間に生成される前記ユーザが前記操作部を介して操作するプレイヤオブジェクトと、複数のノンプレイヤオブジェクトと、各オブジェクトに設定されたパラメータと、を管理するパラメータ管理手段、
前記プレイヤオブジェクトと、前記ノンプレイヤオブジェクトが前記プレイヤオブジェクトとの衝突によって変化する追従オブジェクトと、を含む魚群オブジェクトを構成し、当該追従オブジェクトを前記プレイヤオブジェクトに追従するように移動させる魚群オブジェクト制御手段、
前記ノンプレイヤオブジェクト同士が衝突したこと、前記ノンプレイヤオブジェクトと前記プレイヤオブジェクトとが衝突したこと、または前記ノンプレイヤオブジェクトと前記追従オブジェクトとが衝突したことを判定する衝突判定手段、
前記衝突判定手段によって、前記ノンプレイヤオブジェクト同士が衝突したと判定された場合、衝突したノンプレイヤオブジェクト同士のパラメータを比較し、当該パラメータが小さい方のノンプレイヤオブジェクトを前記仮想ゲーム空間から消去するノンプレイヤオブジェクト制御手段、
前記衝突判定手段によって、前記ノンプレイヤオブジェクトと前記プレイヤオブジェクトとが衝突したと判定された場合、当該ノンプレイヤオブジェクトのパラメータと当該プレイヤオブジェクトのパラメータとを比較し、当該プレイヤオブジェクトのパラメータが当該ノンプレイヤオブジェクトのパラメータ以上であるとき、前記衝突によって当該ノンプレイヤオブジェクトを変化させた前記追従オブジェクトを前記魚群オブジェクトに加えるプレイヤオブジェクト制御手段、
として機能させ、
前記魚群オブジェクト制御手段は、前記衝突判定手段によって、前記ノンプレイヤオブジェクトと前記追従オブジェクトとが衝突したと判定された場合、当該ノンプレイヤオブジェクトのパラメータと当該プレイヤオブジェクトのパラメータとを比較し、当該プレイヤオブジェクトのパラメータが当該ノンプレイヤオブジェクトのパラメータ未満であるとき、当該追従オブジェクトを前記仮想ゲーム空間から消去し、
前記プレイヤオブジェクト制御手段は、所定条件を満したとき、前記プレイヤオブジェクトのパラメータを更新することを特徴とするゲームプログラム。
【請求項２】
前記ノンプレイヤオブジェクト制御手段は、前記ノンプレイヤオブジェクトに基づいて設定される所定範囲内に、当該ノンプレイヤオブジェクトのパラメータ以上である前記プレイヤオブジェクト、および当該ノンプレイヤオブジェクトのパラメータより大きい他のノンプレイヤオブジェクトの少なくともいずれか一つが位置するか否かを判定し、
その結果、前記所定範囲に当該プレイヤオブジェクト、および当該他のノンプレイヤオブジェクトの少なくともいずれか一つが位置すると判定した場合、
所定範囲に位置する当該プレイヤオブジェクトまたは当該他のノンプレイヤオブジェクトから離れる方向に、前記ノンプレイヤオブジェクトが移動するよう制御することを特徴とする請求項１記載のゲームプログラム。
【請求項３】
前記ノンプレイヤオブジェクト制御手段は、前記ノンプレイヤオブジェクトに基づいて設定される所定範囲内に、前記ノンプレイヤオブジェクトのパラメータより小さい前記プレイヤオブジェクト、および他のノンプレイヤオブジェクトの少なくともいずれか一つが位置するか否かを判定し、
その結果、前記所定範囲に当該プレイヤオブジェクト、および当該他のノンプレイヤオブジェクトの少なくともいずれか一つが位置すると判定した場合、
前記所定範囲内に位置する当該プレイヤオブジェクトまたは当該他のノンプレイヤオブジェクトに近づく方向に、前記ノンプレイヤオブジェクトが移動するよう制御することを特徴とする請求項１または２に記載のゲームプログラム。
【請求項４】
前記プレイヤオブジェクト制御手段は、前記衝突判定手段によって前記プレイヤオブジェクトと前記ノンプレイヤオブジェクトとが衝突したと判定された場合、当該ノンプレイヤオブジェクトのパラメータと当該プレイヤオブジェクトのパラメータとを比較し、
その結果、前記プレイヤオブジェクトのパラメータが前記ノンプレイヤオブジェクトのパラメータ未満であるとき、ユーザにとって不利な所定のペナルティを与えることを特徴とする請求項１〜３のいずれか一つに記載のゲームプログラム。
【請求項５】
請求項１〜４のいずれか一つに記載のゲームプログラムを記憶した記憶部と、前記ゲームプログラムを実行するコンピュータと、を備えるゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの操作するプレイヤオブジェクトが魚群を形成し、プレイヤオブジェクトのパラメータが変化することにより、プレイヤオブジェクトとノンプレイヤオブジェクトとの関係が変化するゲームを実行するゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来から、ユーザの操作するプレイヤオブジェクトの大きさが変化することで、敵オブジェクト（ノンプレイヤオブジェクト）の種類が変化するゲームがある（非特許文献１）。このゲームは、プレイヤオブジェクトのサイズより小さなノンプレイヤオブジェクトを食べることによって、プレイヤオブジェクトのサイズが大きくなるアクションゲームであり、サイズが大きくなることで食べられるノンプレイヤオブジェクトの種類が増加する。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】プラ、無料ゲーム Get Play!“Evolvo PLUS”、［online］、［平成２７年８月１１日検索］、インターネット<URL：http://getplay.jp/game2593.html>
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非特許文献１のゲームは、ユーザの操作するプレイヤオブジェクトが仮想ゲーム空間を一方向に移動するノンプレイヤオブジェクトを食べることでサイズが徐々に大きくなるものである。しかし、非特許文献１のゲームは、プレイヤオブジェクトが魚群を形成し、その魚群が大きくなることによってプレイヤオブジェクトのパラメータが変化するものではない。また、パラメータに応じてノンプレイヤオブジェクトが逃げたり、攻撃したりするものでもない。
【０００５】
さらに、非特許文献１のゲームは、プレイヤオブジェクトが、プレイヤオブジェクトより大きいノンプレイヤオブジェクトに食べられると即座にゲーム―オーバーとなるものである。しかし、非特許文献１のゲームは、魚群の一部がプレイヤオブジェクトのパラメータより大きいノンプレイヤオブジェクトに攻撃されると、その魚群の一部のみが消去されるものではない。
【０００６】
そこで、本発明は、ユーザの操作するプレイヤオブジェクトが魚群を形成し、プレイヤオブジェクトのパラメータが変化することにより、プレイヤオブジェクトとノンプレイヤオブジェクトとの関係が変化するゲームを実行するゲームプログラムおよびゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明によって提供されるゲームプログラムは、ユーザが操作する操作部と、表示部と、が接続されるゲーム装置を、仮想ゲーム空間に生成される前記ユーザが前記操作部を介して操作するプレイヤオブジェクトと、複数のノンプレイヤオブジェクトと、各オブジェクトに設定されたパラメータと、を管理するパラメータ管理手段、前記プレイヤオブジェクトと、前記ノンプレイヤオブジェクトが前記プレイヤオブジェクトとの衝突によって変化する追従オブジェクトと、を含む魚群オブジェクトを構成し、当該追従オブジェクトを前記プレイヤオブジェクトに追従するように移動させる魚群オブジェクト制御手段、前記ノンプレイヤオブジェクト同士が衝突したこと、前記ノンプレイヤオブジェクトと前記プレイヤオブジェクトとが衝突したこと、または前記ノンプレイヤオブジェクトと前記追従オブジェクトとが衝突したことを判定する衝突判定手段、前記衝突判定手段によって、前記ノンプレイヤオブジェクト同士が衝突したと判定された場合、衝突したノンプレイヤオブジェクト同士のパラメータを比較し、当該パラメータが小さい方のノンプレイヤオブジェクトを前記仮想ゲーム空間から消去するノンプレイヤオブジェクト制御手段、前記衝突判定手段によって、前記ノンプレイヤオブジェクトと前記プレイヤオブジェクトとが衝突したと判定された場合、当該ノンプレイヤオブジェクトのパラメータと当該プレイヤオブジェクトのパラメータとを比較し、当該プレイヤオブジェクトのパラメータが当該ノンプレイヤオブジェクトのパラメータ以上であるとき、前記衝突によって当該ノンプレイヤオブジェクトを変化させた前記追従オブジェクトを前記魚群オブジェクトに加えるプレイヤオブジェクト制御手段、として機能させ、前記魚群オブジェクト制御手段は、前記衝突判定手段によって、前記ノンプレイヤオブジェクトと前記追従オブジェクトとが衝突したと判定された場合、当該ノンプレイヤオブジェクトのパラメータと当該プレイヤオブジェクトのパラメータとを比較し、当該プレイヤオブジェクトのパラメータが当該ノンプレイヤオブジェクトのパラメータ未満であるとき、当該追従オブジェクトを前記仮想ゲーム空間から消去し、前記プレイヤオブジェクト制御手段は、所定条件を満したとき、前記プレイヤオブジェクトのパラメータを更新することを特徴とする。
【０００８】
また、上記第１の発明によって提供されるゲームプログラムは、前記ノンプレイヤオブジェクト制御手段は、前記ノンプレイヤオブジェクトに基づいて設定される所定範囲内に、当該ノンプレイヤオブジェクトのパラメータ以上である前記プレイヤオブジェクト、および当該ノンプレイヤオブジェクトのパラメータより大きい他のノンプレイヤオブジェクトの少なくともいずれか一つが位置するか否かを判定し、その結果、前記所定範囲に当該プレイヤオブジェクト、および当該他のノンプレイヤオブジェクトの少なくともいずれか一つが位置すると判定した場合、所定範囲に位置する当該プレイヤオブジェクトまたは当該他のノンプレイヤオブジェクトから離れる方向に、前記ノンプレイヤオブジェクトが移動するよう制御することが望ましい。
【０００９】
また、上記第１の発明によって提供されるゲームプログラムは、前記ノンプレイヤオブジェクト制御手段は、前記ノンプレイヤオブジェクトに基づいて設定される所定範囲内に、前記ノンプレイヤオブジェクトのパラメータより小さい前記プレイヤオブジェクト、および他のノンプレイヤオブジェクトの少なくともいずれか一つが位置するか否かを判定し、その結果、前記所定範囲に当該プレイヤオブジェクト、および当該他のノンプレイヤオブジェクトの少なくともいずれか一つが位置すると判定した場合、前記所定範囲内に位置する当該プレイヤオブジェクトまたは当該他のノンプレイヤオブジェクトに近づく方向に、前記ノンプレイヤオブジェクトが移動するよう制御することが望ましい。
【００１０】
また、上記第１の発明によって提供されるゲームプログラムは、前記プレイヤオブジェクト制御手段は、前記衝突判定手段によって前記プレイヤオブジェクトと前記ノンプレイヤオブジェクトとが衝突したと判定された場合、当該ノンプレイヤオブジェクトのパラメータと当該プレイヤオブジェクトのパラメータとを比較し、その結果、前記プレイヤオブジェクトのパラメータが前記ノンプレイヤオブジェクトのパラメータ未満であるとき、ユーザにとって不利な所定のペナルティを与えることが望ましい。
【００１１】
第２の発明によって提供されるゲーム装置は、上記ゲームプログラムを記憶した記憶部と、上記ゲームプログラムを実行するコンピュータとを備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ユーザの操作するプレイヤオブジェクトが魚群を形成し、プレイヤオブジェクトのパラメータが変化することにより、プレイヤオブジェクトとノンプレイヤオブジェクトとの関係が変化するゲームを実行するゲームプログラムおよびゲーム装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態におけるゲームシステムを説明する図である。
【図２】上記ゲーム装置のゲーム画面の一例を示す図である（パラメータ１）。
【図３】上記ゲーム装置のゲーム画面の一例を示す図である（パラメータ１）。
【図４】上記ゲーム装置のゲーム画面の一例を示す図である（パラメータ２）。
【図５】上記ゲーム装置のゲーム画面の一例を示す図である（パラメータ２）。
【図６】上記ゲーム装置のゲーム画面の一例を示す図である（パラメータ３）。
【図７】上記ゲーム装置の制御部の構成を示す機能ブロック図である。
【図８】上記ゲーム装置の処理の流れを示すフローチャートである。
【図９】上記ゲーム装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
（実施形態）
図面を参照して、本発明の実施形態であるゲームプログラムについて説明する。
【００１５】
なお、本発明の構成および各フローチャートの処理手順については、本実施形態に限定されるものではない。
【００１６】
＜ゲームシステムの説明＞
図１は、ゲームシステム１の構成を説明する図である。本実施形態のゲームシステム１は、ネットワーク４を介して相互に通信可能なサーバ装置２、ゲーム装置３で構成される。
【００１７】
ゲーム装置３は、インターネット通信などの通信回線３１を備える。これにより、ゲーム装置３はネットワーク４に接続することができる。また、このゲーム装置３は、図１に示す各機能を備える。
【００１８】
＜ゲーム装置のハードウェア構成＞
ゲーム装置３は、図１に示すようにバス３００上に制御部３０、通信回線３１、および記憶部３２を備える。
【００１９】
制御部３０は、ＣＰＵ３０Ａ、ＲＯＭ（フラッシュメモリ）３０Ｂ、画像プロセッサ３０Ｃ、ＲＡＭ３０Ｄ、操作部３０Ｅ、および音声プロセッサ３０Ｆを備える。
【００２０】
ＣＰＵ３０Ａは、後述するように、ゲーム装置３で実行されるゲームを制御する。
【００２１】
ＲＯＭ３０Ｂには、ゲームプログラムを実行するための基本プログラムが記憶されている。
【００２２】
画像プロセッサ３０Ｃは、ゲーム画面５（図２〜６参照）を生成可能なＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：グラフィックス・プロセッシング・ユニット）を備えている。画像プロセッサ３０Ｃには、ビデオＲＡＭ（ＶＲＡＭ）３３が接続されている。ＶＲＡＭ３３には表示部３４が接続されている。表示部３４は、ディスプレイ（タッチパネル５００）を備える。画像プロセッサ３０Ｃは、ＣＰＵ３０Ａの指示に従って仮想ゲーム空間を生成する。この仮想ゲーム空間を仮想カメラで撮影した画像などがゲーム画面５としてＶＲＡＭ３３上に描画される。
【００２３】
ＲＡＭ３０Ｄには、ＣＰＵ３０Ａがゲームプログラムを実行する際に使用されるワークエリアが設定される。ワークエリアには、ゲームの進行に伴って発生する各種パラメータなどが含まれる。
【００２４】
操作部３０Ｅは、タッチパネル５００を含む。操作部３０Ｅは、ユーザによるタッチパネル５００への操作内容（タップ、フリック等）および操作位置などの操作信号を検出する。操作部３０Ｅは、この操作信号をＣＰＵ３０Ａに送信する。
【００２５】
音声プロセッサ３０Ｆは、ゲーム音声を生成するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ：デジタル・シグナル・プロセッサ）を備える。音声プロセッサ３０Ｆは、生成したゲーム音声をＤ／Ａコンバータを含むアンプ３５に送信する。アンプ３５は、この音声信号を増幅してスピーカ３６に送信する。
【００２６】
通信回線３１は、インターネット回線などを介してデータ通信を行う。データ通信によってゲーム装置３およびサーバ装置２との間で通信が行われることにより、ゲームプログラムのダウンロードおよび他のゲーム装置３との通信対戦などが行われる。ゲームプログラムは、インターネット回線でダウンロードするのみならず、ＵＳＢなどのインタフェース経由で取得することもできる。また、通信対戦はインターネット回線で対戦するのみならず、近距離無線通信などで対戦することもできる。
【００２７】
また、通信回線３１は、ゲームプレイに必要なユーザ情報（ユーザＩＤなど）、ユーザと他のユーザとの関係情報（フレンド情報など）およびゲームスコアなどをサーバ装置２およびゲーム装置３に送信したり、他のユーザのゲームスコアなどを受信したりする。
【００２８】
記憶部３２は、ハードディスクであり、たとえば、予め記憶されたゲームプログラムのほか、サーバ装置２からダウンロードしたゲームプログラムなどが記憶される。このゲームプログラムには、プログラム本体のほか、ゲームの進行に必要なキャラクタ画像、背景画像およびステージ画像などの様々なゲームデータが含まれる。
【００２９】
＜ゲームの説明＞
以下、本実施形態におけるゲーム装置３において実行されるゲームプログラムによって提供されるゲームについて説明する。
【００３０】
本ゲームは、所定の制限時間内（たとえば、９９秒）に、プレイヤが操作部３０Ｅを介して魚型のプレイヤオブジェクト５０を操作し、プレイヤオブジェクト５０の敵であるノンプレイヤオブジェクト６０に衝突することで魚群オブジェクト７０を形成し、得点を競うゲームである。
【００３１】
（プレイヤオブジェクト５０）
プレイヤオブジェクト５０は、所定のサイズの魚型オブジェクトであり、所定の速度で移動することができる。また、所定条件（たとえば、１０体のノンプレイヤオブジェクト６０と衝突）を満たすことにより、プレイヤオブジェクト５０は進化し、レベル、大きさおよび最高速度などのパラメータが変化する。以下、レベル（パラメータ）が１〜３と異なるプレイヤオブジェクト５０を、それぞれプレイヤオブジェクト５０Ａ〜５０Ｃとして説明する。
【００３２】
（ノンプレイヤオブジェクト６０）
ノンプレイヤオブジェクト６０は、所定のサイズの魚型オブジェクトであり、所定の速度で移動することができる。また、予め設定されたレベル、大きさおよび最高速度のパラメータを有し、プレイヤオブジェクト５０と敵対する敵オブジェクトである。また、ノンプレイヤオブジェクト６０は、プレイヤオブジェクト５０と区別して表示される。ノンプレイヤオブジェクト６０は、パラメータが異なる複数種類のノンプレイヤオブジェクト６０が生成され、仮想ゲーム空間を移動する。以下、レベル（パラメータ）が１〜３と異なるノンプレイヤオブジェクト６０を、それぞれノンプレイヤオブジェクト６０Ａ〜６０Ｃとして説明する。
【００３３】
各ノンプレイヤオブジェクト６０は、自身のパラメータ以上の（自身のパラメータより大きい）プレイヤオブジェクト５０および他のノンプレイヤオブジェクト６０から離れる（逃げる）ように移動する。
【００３４】
具体的には、各ノンプレイヤオブジェクト６０に、各ノンプレイヤオブジェクト６０の所定部位（たとえば、頭）を中心とする所定の範囲を設定し、その範囲に自身のパラメータより大きいプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０が位置するか否かを判定する。ここで、所定範囲内に該当するプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０がいる場合、そのオブジェクトから離れる（逃げる）ように移動する制御を行う。
【００３５】
また、各ノンプレイヤオブジェクト６０は、自身のパラメータ未満の（自身のパラメータより小さい）プレイヤオブジェクト５０および他のノンプレイヤオブジェクト６０に近づく（衝突する）ように移動する。
【００３６】
具体的には、各ノンプレイヤオブジェクト６０に、各ノンプレイヤオブジェクト６０の所定部位（たとえば、頭）を中心とする所定の範囲を設定し、その範囲に自身のパラメータ未満のプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０が位置するか否かを判定する。ここで、所定範囲内に該当するプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０がいる場合、そのオブジェクトに近づく（衝突する）ように移動する制御を行う。
【００３７】
（魚群オブジェクト７０）
魚群オブジェクト７０は、プレイヤオブジェクト５０を先頭に形成される魚群である。プレイヤオブジェクト５０が魚群を形成していない状態で、プレイヤオブジェクト５０のパラメータ以下（プレイヤオブジェクト５０のパラメータより小さいまたは同一）のノンプレイヤオブジェクト６０と衝突すると、そのノンプレイヤオブジェクト６０に対応した追従オブジェクト７００を加えた魚群オブジェクト７０を形成することができる。
【００３８】
すなわち、プレイヤオブジェクト５０のパラメータが、ノンプレイヤオブジェクト６０のパラメータ以上である場合、そのノンプレイヤオブジェクト６０に対応した追従オブジェクト７００加えた魚群オブジェクト７０を形成することができる。追従オブジェクト７００は、先頭のプレイヤオブジェクト５０に追従するように移動制御される。
【００３９】
さらに、プレイヤオブジェクト５０が魚群を形成している状態で、プレイヤオブジェクト５０のパラメータ以下（プレイヤオブジェクト５０のパラメータより小さいまたは同一）のノンプレイヤオブジェクト６０と衝突すると、そのノンプレイヤオブジェクト６０に対応する追従オブジェクト７００を魚群オブジェクト７０に追加することができる。このように、ユーザは多数のノンプレイヤオブジェクト６０に接触することで、魚群オブジェクト７０を大きくすることができる（追従オブジェクト７００を増やすことができる）。
【００４０】
所定数以上の追従オブジェクト７００を魚群オブジェクト７０に加えると（魚群オブジェクト７０が大きくなると）プレイヤオブジェクト５０が進化し、このプレイヤオブジェクト５０のレベルおよび最高速度などのパラメータが増加する。プレイヤオブジェクト５０のパラメータが増加すると、魚群オブジェクト７０に加えることができる追従オブジェクト７００（ノンプレイヤオブジェクト６０）の種類が増加する。
【００４１】
一方、プレイヤオブジェクト５０が魚群を形成していない状態で、プレイヤオブジェクト５０のパラメータ以上の（プレイヤオブジェクト５０のパラメータより大きい）ノンプレイヤオブジェクト６０と接触すると、ゲームオーバー（ペナルティ）となる。
【００４２】
また、プレイヤオブジェクト５０が魚群オブジェクト７０を形成している状態で、プレイヤオブジェクト５０のパラメータより大きいノンプレイヤオブジェクト６０と接触した場合も、ゲームオーバーとなる。
【００４３】
なお、本実施形態では、プレイヤオブジェクト５０がノンプレイヤオブジェクト６０と衝突することで、プレイヤオブジェクト５０に基づいた魚群オブジェクト７０を形成することについて説明する。しかし、これに限らず、ノンプレイヤオブジェクト６０が他のノンプレイヤオブジェクト６０に衝突することで、ノンプレイヤオブジェクト６０に基づいた魚群オブジェクト７０を形成するようにしてもよい。
【００４４】
（追従オブジェクト７００）
追従オブジェクト７００は、魚群オブジェクト７０の先頭に位置するプレイヤオブジェクト５０に追従するように移動するオブジェクトである。すなわち、ユーザは、操作部３０Ｅを介してプレイヤオブジェクト５０を操作することで、魚群オブジェクト７０全体を移動させることができる。
【００４５】
また、プレイヤオブジェクト５０のパラメータ以上の（プレイヤオブジェクト５０より大きい）ノンプレイヤオブジェクト６０と、追従オブジェクト７００とが接触することで、この追従オブジェクト７００は魚群オブジェクト７０から消去される。すなわち、即座にゲーム―オーバーとならないが、魚群オブジェクト７０を構成する追従オブジェクト７００の数が減少する（魚群オブジェクト７０が小さくなる）というペナルティが与えられる。
【００４６】
このように本ゲームは、プレイヤオブジェクト５０のパラメータ以下の（プレイヤオブジェクト５０のパラメータより小さい）ノンプレイヤオブジェクト６０を追いかけつつ、プレイヤオブジェクト５０のパラメータより大きいノンプレイヤオブジェクト６０から逃げるという、刻々と変化するゲーム進行のスリル感を味わうことができる興趣性の高いゲームである。
【００４７】
（ゲーム画面５）
図２〜図６は、ゲーム装置３の表示部３４に表示されるゲーム画面５の一例を示す図である。以下、各図に示すゲーム画面５について説明する。なお、各図に示す矢印は、各オブジェクトの攻撃対象を示す。プレイヤオブジェクト５０は、自身のパラメータ以下（自身のパラメータより小さいまたは同一）のオブジェクトを攻撃対象とする。また、ノンプレイヤオブジェクト６０は、自身のパラメータ未満（自身のパラメータより小さい）オブジェクトを攻撃対象とする。
【００４８】
図２に示すゲーム画面５には、プレイヤオブジェクト５０（５０Ａ）、ノンプレイヤオブジェクト６０Ａ、６０Ｂおよび６０Ｃが表示される。ここで、プレイヤオブジェクト５０Ａのパラメータは１であり、ノンプレイヤオブジェクト６０Ａ〜６０Ｃのパラメータはそれぞれ１〜３である。
【００４９】
プレイヤオブジェクト５０Ａ（パラメータ１）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）である。プレイヤオブジェクト５０Ａがノンプレイヤオブジェクト６０Ａを攻撃（衝突）することにより、魚群オブジェクト７０にそのノンプレイヤオブジェクト６０Ａに対応した追従オブジェクト７００を追加することができる。
【００５０】
また、衝突したノンプレイヤオブジェクト６０の種類等に応じて所定の得点が加算される。たとえば、パラメータが１であるノンプレイヤオブジェクト６０Ａを魚群オブジェクト７０に追加した場合は１点加算され、パラメータが２であるノンプレイヤオブジェクト６０Ｂを魚群オブジェクト７０に追加した場合は２点加算される。
【００５１】
追従オブジェクト７００の数が所定値を超過した場合、プレイヤオブジェクト５０が進化し、パラメータが増加する。たとえば、プレイヤオブジェクト５０のパラメータが１から２に増加する条件は、追従オブジェクト７００の数が１０を超過することであり、パラメータが２から３に増加する条件は追従オブジェクト７００の数が２０を超過することである。なお、加算される得点または進化の条件などはこれに限られず、適宜選択されるものである。
【００５２】
ノンプレイヤオブジェクト６０Ｂ（パラメータ２）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）およびプレイヤオブジェクト５０Ａ（パラメータ１）である。ノンプレイヤオブジェクト６０Ｂがノンプレイヤオブジェクト６０Ａを攻撃（衝突）することにより、そのノンプレイヤオブジェクト６０Ａは仮想ゲーム空間から消去される。また、ノンプレイヤオブジェクト６０Ｂがプレイヤオブジェクト５０Ａを攻撃（衝突）することにより、ゲームオーバーとなる。
【００５３】
ノンプレイヤオブジェクト６０Ｃ（パラメータ３）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ２）、ノンプレイヤオブジェクト６０Ｂ（パラメータ１）およびプレイヤオブジェクト５０Ａ（パラメータ１）である。ノンプレイヤオブジェクト６０Ｃがノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂを攻撃（衝突）することにより、そのノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂは仮想ゲーム空間から消去される。また、ノンプレイヤオブジェクト６０Ｃがプレイヤオブジェクト５０Ａを攻撃（衝突）することにより、ゲームオーバーとなる。
【００５４】
プレイヤオブジェクト５０は、自身のパラメータが同一のノンプレイヤオブジェクト６０を攻撃できる。しかし、ノンプレイヤオブジェクト６０は、パラメータが同一のノンプレイヤオブジェクト６０を攻撃することができないよう制御される。すなわち、図２を例にとれば、ノンプレイヤオブジェクト６０Ａ（パラメータ１）は、プレイヤオブジェクト５０Ａを含むいずれのオブジェクトも攻撃できない。
【００５５】
ユーザが操作部３０Ｅを介した操作に基づいて、プレイヤオブジェクト５０Ａは、ノンプレイヤオブジェクト６０Ｂおよびノンプレイヤオブジェクト６０Ｃから逃げながら、ノンプレイヤオブジェクト６０Ａを攻撃（衝突）する。
【００５６】
ノンプレイヤオブジェクト６０Ａは、自身のパラメータより大きいプレイヤオブジェクト５０Ａ、ノンプレイヤオブジェクト６０Ｂおよびノンプレイヤオブジェクト６０Ｃから離れる（逃げる）ように移動する。
【００５７】
ノンプレイヤオブジェクト６０Ｂは、自身のパラメータより大きいノンプレイヤオブジェクト６０Ｃから離れる（逃げる）ように移動する。また、ノンプレイヤオブジェクト６０Ｂは、自身のパラメータ未満の（自身のパラメータより小さい）プレイヤオブジェクト５０Ａおよびノンプレイヤオブジェクト６０Ａに近づく（衝突する）ように移動する。
【００５８】
ノンプレイヤオブジェクト６０Ｃは、自身のパラメータ未満の（自身のパラメータより小さい）プレイヤオブジェクト５０Ａ、ノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂに近づく（衝突する）ように移動する。
【００５９】
図３は、図２に示す状況において、プレイヤオブジェクト５０Ａが、３体のノンプレイヤオブジェクト６０Ａに衝突した後の状態を示す図である。
【００６０】
同図に示すゲーム画面５には、ノンプレイヤオブジェクト６０Ａ〜６０Ｃのほか、プレイヤオブジェクト５０Ａを先頭にした魚群オブジェクト７０Ａが表示される。プレイヤオブジェクト５０Ａが３体のノンプレイヤオブジェクト６０Ａと衝突したことにより、魚群オブジェクト７０Ａには３体のノンプレイヤオブジェクト６０Ａに対応した追従オブジェクト７００が追加されている。
【００６１】
プレイヤオブジェクト５０がノンプレイヤオブジェクト６０に衝突した場合、両オブジェクトのパラメータを比較する。その結果、プレイヤオブジェクト５０のパラメータがノンプレイヤオブジェクト６０のパラメータ以上である場合、魚群オブジェクト７０にこのノンプレイヤオブジェクト６０に対応した追従オブジェクト７００が追加される。
【００６２】
魚群オブジェクト７０Ａ（追従オブジェクト７００）は、プレイヤオブジェクト５０Ａに依存する。そのため、追従オブジェクト７００は、プレイヤオブジェクト５０Ａおよび他のノンプレイヤオブジェクト６０との関係に応じて逃げたり、近づいたりといった移動制御は実行されない。追従オブジェクト７００は、プレイヤオブジェクト５０Ａに追従するように移動する。
【００６３】
また、追従オブジェクト７００は、プレイヤオブジェクト５０Ａのパラメータより大きいノンプレイヤオブジェクト６０Ｂまたは６０Ｃと衝突した場合に、仮想ゲーム空間から消去される。
【００６４】
このように、プレイヤオブジェクト５０は、自身のパラメータ以下の（自身のパラメータより小さいまたは同一の）ノンプレイヤオブジェクト６０に衝突することを繰り返し、追従オブジェクト７００の数を増やすことができる。一方、追従オブジェクト７００が、プレイヤオブジェクト５０より大きいノンプレイヤオブジェクト６０に衝突することで、追従オブジェクト７００の数が減少する。
【００６５】
また、追従オブジェクト７００の数が所定数を超過した場合（たとえば、１０を超過した場合）、プレイヤオブジェクト５０Ａのパラメータは２となり、プレイヤオブジェクト５０Ｂの形状に進化（変化）する。
【００６６】
図４は、プレイヤオブジェクト５０Ａ（魚群オブジェクト７０Ａ）が、プレイヤオブジェクト５０Ｂに進化（変化）した状態を示す図である。同図に示すように、魚群オブジェクト７０Ａに代わって、プレイヤオブジェクト５０Ｂが表示される。
【００６７】
同図に示すゲーム画面５には、ノンプレイヤオブジェクト６０Ａ〜６０Ｃのほか、プレイヤオブジェクト５０Ｂが表示される。ここで、プレイヤオブジェクト５０Ｂのパラメータは２であり、ノンプレイヤオブジェクト６０Ａ〜６０Ｃのパラメ―タはそれぞれ１〜３である。
【００６８】
プレイヤオブジェクト５０Ｂ（パラメータ２）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）およびノンプレイヤオブジェクト６０Ｂ（パラメータ２）である。プレイヤオブジェクト５０Ｂがノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂを攻撃（衝突）することにより、魚群オブジェクト７０にそのノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂに対応した追従オブジェクト７００を追加することができる。
【００６９】
追従オブジェクト７００を魚群オブジェクト７０に追加した場合、ノンプレイヤオブジェクト６０の種類等に応じて所定の得点が加算される。
【００７０】
ノンプレイヤオブジェクト６０Ｂ（パラメータ２）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）である。ノンプレイヤオブジェクト６０Ｂがノンプレイヤオブジェクト６０Ａを攻撃（衝突）することにより、そのノンプレイヤオブジェクト６０Ａは仮想ゲーム空間から消去される。
【００７１】
ノンプレイヤオブジェクト６０Ｃ（パラメータ３）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）、ノンプレイヤオブジェクト６０Ｂ（パラメータ２）およびプレイヤオブジェクト５０Ｂ（パラメータ２）である。ノンプレイヤオブジェクト６０Ｃがノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂを攻撃（衝突）することにより、そのノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂは仮想ゲーム空間から消去される。また、ノンプレイヤオブジェクト６０Ｃがプレイヤオブジェクト５０Ａを攻撃（衝突）することにより、ゲームオーバーとなる。
【００７２】
ユーザが操作部３０Ｅを介した操作に基づき、プレイヤオブジェクト５０Ｂは、ノンプレイヤオブジェクト６０Ｃから逃げながら、ノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂを攻撃（衝突）する。
【００７３】
ノンプレイヤオブジェクト６０Ａは、自身のパラメータより大きいプレイヤオブジェクト５０Ｂおよびノンプレイヤオブジェクト６０Ｃから離れる（逃げる）ように移動する。
【００７４】
ノンプレイヤオブジェクト６０Ｂは、自身のパラメータと同一のプレイヤオブジェクト５０Ｂおよび自身のパラメータより大きいノンプレイヤオブジェクト６０Ｃから離れる（逃げる）ように移動する。また、ノンプレイヤオブジェクト６０Ｂは、自身のパラメータより小さいノンプレイヤオブジェクト６０Ａに近づく（衝突する）ように移動する。
【００７５】
ノンプレイヤオブジェクト６０Ｃは、自身のパラメータより小さいプレイヤオブジェクト５０Ｂ、ノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂに近づく（衝突する）ように移動する。
【００７６】
図５は、図４に示す状況において、プレイヤオブジェクト５０Ｂが、２体のノンプレイヤオブジェクト６０Ａと１体のノンプレイヤオブジェクト６０Ｂとに衝突した後の状態を示す図である。
【００７７】
同図に示すゲーム画面５には、ノンプレイヤオブジェクト６０Ａ〜６０Ｃのほか、プレイヤオブジェクト５０Ｂを先頭にした魚群オブジェクト７０Ｂが表示される。プレイヤオブジェクト５０Ｂが２体のノンプレイヤオブジェクト６０Ａと１体のノンプレイヤオブジェクト６０Ｂと衝突したことにより、魚群オブジェクト７０Ｂには２体のノンプレイヤオブジェクト６０Ａと１体のノンプレイヤオブジェクト６０Ｂ（追従オブジェクト７００）が追加されている。
【００７８】
魚群オブジェクト７０Ｂ（追従オブジェクト７００）は、プレイヤオブジェクト５０Ｂに依存する。そのため、追従オブジェクト７００は、プレイヤオブジェクト５０Ｂおよび他のノンプレイヤオブジェクト６０との関係に応じて逃げたり、近づいたりといった移動制御は実行されない。追従オブジェクト７００は、プレイヤオブジェクト５０Ｂに追従するように移動する。
【００７９】
また、追従オブジェクト７００は、プレイヤオブジェクト５０Ｂのパラメータより大きいノンプレイヤオブジェクト６０Ｃに衝突した場合に、仮想ゲーム空間から消去される。
【００８０】
このように、プレイヤオブジェクト５０は、自身のパラメータ以下の（自身のパラメータより小さいまたは同一の）ノンプレイヤオブジェクト６０に衝突することを繰り返し、追従オブジェクト７００の数を増やすことができる。一方、追従オブジェクト７００が、プレイヤオブジェクト５０より大きいノンプレイヤオブジェクト６０に衝突することで、追従オブジェクト７００の数が減少する。
【００８１】
また、追従オブジェクト７００の数が所定数を超過した場合（たとえば、２０を超過した場合）、プレイヤオブジェクト５０Ｂのパラメータが３となり、プレイヤオブジェクト５０Ｃの形状に進化（変化）する。
【００８２】
図６は、プレイヤオブジェクト５０Ｂが、プレイヤオブジェクト５０Ｃに進化（変化）した状態を示す図である。
【００８３】
同図に示すゲーム画面５には、ノンプレイヤオブジェクト６０Ａ〜６０Ｃのほか、プレイヤオブジェクト５０Ｃが表示される。ここで、プレイヤオブジェクト５０Ｃのパラメータは３であり、ノンプレイヤオブジェクト６０Ａ〜６０Ｃのパラメータはそれぞれ１〜３である。
【００８４】
プレイヤオブジェクト５０Ｃ（パラメータ３）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）およびノンプレイヤオブジェクト６０Ｂ（パラメータ２）およびノンプレイヤオブジェクト６０Ｃ（パラメータ３）である。プレイヤオブジェクト５０Ｃがノンプレイヤオブジェクト６０Ａ〜６０Ｃを攻撃（衝突）することにより、魚群オブジェクト７０にそのノンプレイヤオブジェクト６０Ａ〜６０Ｃに対応した追従オブジェクト７００を追加することができる。
【００８５】
ノンプレイヤオブジェクト６０Ｂ（パラメータ２）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）である。ノンプレイヤオブジェクト６０Ｂがノンプレイヤオブジェクト６０Ａを攻撃（衝突）することにより、そのノンプレイヤオブジェクト６０Ａは仮想ゲーム空間から消去される。
【００８６】
ノンプレイヤオブジェクト６０Ｃ（パラメータ３）の攻撃対象は、矢先が向いているノンプレイヤオブジェクト６０Ａ（パラメータ１）、ノンプレイヤオブジェクト６０Ｂ（パラメータ２）である。ノンプレイヤオブジェクト６０Ｃがノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂを攻撃（衝突）することにより、そのノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂは仮想ゲーム空間から消去される。
【００８７】
また、図示しないが、プレイヤオブジェクト５０Ｃのパラメータより大きいノンプレイヤオブジェクト６０を仮想ゲーム空間に生成してもよい。プレイヤオブジェクト５０Ｃは、このノンプレイヤオブジェクト６０から攻撃されることにより、ゲームオーバーとなる。
【００８８】
ユーザが操作部３０Ｅを介した操作に基づいて、プレイヤオブジェクト５０Ｃは、ノンプレイヤオブジェクト６０Ａ〜６０Ｃを攻撃（衝突）する。
【００８９】
ノンプレイヤオブジェクト６０Ａは、自身のパラメータより大きいプレイヤオブジェクト５０Ｃ、ノンプレイヤオブジェクト６０Ｂおよびノンプレイヤオブジェクト６０Ｃから離れる（逃げる）ように移動する。
【００９０】
ノンプレイヤオブジェクト６０Ｂは、自身のパラメータより大きいプレイヤオブジェクト５０Ｃおよびノンプレイヤオブジェクト６０Ｃから離れる（逃げる）ように移動する。また、ノンプレイヤオブジェクト６０Ｂは、自身のパラメータより小さいノンプレイヤオブジェクト６０Ａに近づく（衝突する）ように移動する。
【００９１】
ノンプレイヤオブジェクト６０Ｃは、自身のパラメータと同一のプレイヤオブジェクト５０Ｃから離れる（逃げる）ように移動する。また、ノンプレイヤオブジェクト６０Ｃは、自身のパラメータより小さいノンプレイヤオブジェクト６０Ａおよびノンプレイヤオブジェクト６０Ｂに近づく（衝突する）ように移動する。
【００９２】
ここまで、パラメータ１〜３のオブジェクトについて説明したが、本実施形態はこれに限らない。パラメータが４以上においても、各オブジェクトのパラメータの大小によって攻撃対象が変化する。また、パラメータ∞のノンプレイヤオブジェクト６０を仮想ゲーム空間に生成してもよく、このノンプレイヤオブジェクト６０は、全てのオブジェクトを攻撃できるようにしてもよい。また、ノンプレイヤオブジェクト６０同士は攻撃しないようにしてもよい。
【００９３】
なお、追従オブジェクト７００とノンプレイヤオブジェクト６０とが衝突した場合、このノンプレイヤオブジェクト６０のパラメータとプレイヤオブジェクト５０のパラメータとを比較するとした。この場合において、ノンプレイヤオブジェクト６０のパラメータがプレイヤオブジェクト５０のパラメータ未満である場合、追従オブジェクト７００を仮想ゲーム空間から消去しない。
【００９４】
＜制御部の説明＞
図７は、ゲーム装置３の機能ブロック図である。
ゲーム装置３は、記憶部３２に記憶されたゲームプログラムと制御部３０との協働によって同図に示す機能を実現する。また、制御部３０は、操作入力部３００Ａ、ゲーム画面生成部３００Ｂ、描画部３００Ｃ、衝突判定部３００Ｄ、パラメータ管理部３００Ｅ、ノンプレイヤオブジェクト制御部３００Ｆ、プレイヤオブジェクト制御部３００Ｇ、魚群オブジェクト制御部３００Ｈおよびゲーム進行部３００Ｉを備える。
【００９５】
操作入力部３００Ａは、ユーザが操作する操作部３０Ｅ（タッチパネル５００）からの操作信号を受信する。ユーザは、ゲーム装置３のタッチパネル５００に接触することで操作を入力する。操作内容には、タップ、フリック、長押し、スワイプなどがある。操作入力部３００Ａは、タッチパネル５００の接触座標、操作内容などの操作情報を取得して衝突判定部３００Ｄへ送信する。
【００９６】
ゲーム画面生成部３００Ｂは、制御部３０およびゲームプログラムの協働によって実現される。ゲーム画面生成部３００Ｂは、仮想ゲーム空間上でプレイヤオブジェクト５０、ノンプレイヤオブジェクト６０および魚群オブジェクト７０（追従オブジェクト７００）が海などの水中ステージを移動するゲーム画面５、および制限時間やスコアなどのユーザインターフェース（ＵＩ）を、進行するゲームのタイミングごと（フレームごと）に演算・生成する。この演算結果（描画情報）は、描画部３００Ｃ等に出力される。
【００９７】
描画部３００Ｃは、制御部３０、ＶＲＡＭ３３、表示部３４およびゲームプログラムの協働によって実現される。描画部３００Ｃは、ゲーム画面生成部３００Ｂから入力される仮想ゲーム空間、プレイヤオブジェクト５０、ノンプレイヤオブジェクト６０、魚群オブジェクト７０（追従オブジェクト７００）および制限時間やスコアなどのユーザインターフェース（ＵＩ）などの描画情報に基づいて、タッチパネル５００上に表示するためのゲーム画面５を描画する。
【００９８】
衝突判定部３００Ｄは、ゲーム画面生成部３００Ｂからの情報を受けて、各オブジェクトが衝突したか否かを判定する。また、衝突判定部３００Ｄは、各オブジェクトがいずれのオブジェクトに衝突したかを判定し、その判定結果をゲーム画面生成部３００Ｂ、パラメータ管理部３００Ｅおよびゲーム進行部３００Ｉに送信する。
【００９９】
なお、衝突判定部３００Ｄから判定結果を受信したゲーム画面生成部３００Ｂは、プレイヤオブジェクト５０がノンプレイヤオブジェクト６０に衝突したゲーム画面５を生成する。その後、ゲーム画面生成部３００Ｂは、これらの情報を描画部３００Ｃに送信する。
【０１００】
パラメータ管理部３００Ｅは、衝突判定部３００Ｄの判定結果を受信し、所定条件を満たす場合にはプレイヤオブジェクト５０のパラメータおよびモデルを更新する。また、更新したプレイヤオブジェクト５０のパラメータに基づいて、プレイヤオブジェクト５０とノンプレイヤオブジェクト６０との関係性を更新する。
【０１０１】
パラメータ管理部３００Ｅは、更新した関係性に基づいて、ノンプレイヤオブジェクト６０の態様を更新する。すなわち、パラメータ管理部３００Ｅは、ノンプレイヤオブジェクト６０がプレイヤオブジェクト５０に攻撃される態様のノンプレイヤオブジェクト６０であるのか、プレイヤオブジェクト５０を攻撃する態様のノンプレイヤオブジェクト６０であるのかを判断して管理する。
【０１０２】
ノンプレイヤオブジェクト制御部３００Ｆは、衝突判定部３００Ｄによってノンプレイヤオブジェクト６０（敵オブジェクト）同士が衝突したと判定した場合、衝突したノンプレイヤオブジェクト６０同士のパラメータを比較し、パラメータが小さい方のノンプレイヤオブジェクト６０を仮想ゲーム空間から消去する。ノンプレイヤオブジェクト制御部３００Ｆは、これらの情報をゲーム画面生成部３００Ｂへ送信する。
【０１０３】
さらに、ノンプレイヤオブジェクト制御部３００Ｆは、更新した態様に基づいて、各ノンプレイヤオブジェクト６０の行動を制御する。すなわち、ノンプレイヤオブジェクト制御部３００Ｆは、ノンプレイヤオブジェクト６０を中心とする所定範囲内にプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０が存在するか否かを判定する。
【０１０４】
所定範囲内にプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０がいる場合、そのオブジェクトから逃げるように移動するのかまたは近づくように（攻撃するように）移動するのかを決定してノンプレイヤオブジェクト６０の行動を制御する。また、ノンプレイヤオブジェクト制御部３００Ｆは、これらの情報をゲーム画面生成部３００Ｂへ送信する。
【０１０５】
プレイヤオブジェクト制御部３００Ｇは、衝突判定部３００Ｄによってプレイヤオブジェクト５０とノンプレイヤオブジェクト６０が衝突したと判定した場合、このプレイヤオブジェクト５０のパラメータとノンプレイヤオブジェクト６０のパラメータを比較する。
【０１０６】
その比較の結果、プレイヤオブジェクト５０のパラメータがノンプレイヤオブジェクト６０のパラメータ以上（ノンプレイヤオブジェクト６０のパラメータより大きいまたは同一）であるとき、このノンプレイヤオブジェクト６０に対応する追従オブジェクト７００を魚群オブジェクト７０に加える。プレイヤオブジェクト制御部３００Ｇは、これらの情報をゲーム画面生成部３００Ｂへ送信する。
【０１０７】
魚群オブジェクト制御部３００Ｈは、魚群オブジェクト７０に含まれる追従オブジェクト７００をプレイヤオブジェクト５０に追従するように移動させる。また、魚群オブジェクト制御部３００Ｈは、衝突判定部３００Ｄによって追従オブジェクト７００とノンプレイヤオブジェクト６０とが衝突したと判定した場合、この追従オブジェクト７００のパラメータとノンプレイヤオブジェクト６０のパラメータとを比較する。
【０１０８】
その比較の結果、プレイヤオブジェクト５０のパラメータがノンプレイヤオブジェクト６０のパラメータ未満である（ノンプレイヤオブジェクト６０のパラメータより小さい）とき、この追従オブジェクト７００を仮想ゲーム空間（魚群オブジェクト７０）から消去する。魚群オブジェクト制御部３００Ｈは、これらの情報をゲーム画面生成部３００Ｂへ送信する。
【０１０９】
ゲーム進行部３００Ｉは、ゲームの制限時間、得点（ゲーム結果）および所定のアイテムなどを管理する。制限時間は、１回のゲームの制限時間（たとえば、９９秒）である。ゲームを開始してからカウントダウンし制限時間が０になるとゲームを終了する。なお、ゲーム進行部３００Ｉは、プレイヤオブジェクト５０が自身のパラメータより小さいノンプレイヤオブジェクト６０に衝突する毎、または所定期間内に所定回数連続して自身のパラメータより小さいノンプレイヤオブジェクト６０に衝突した場合に、制限時間を延長する（たとえば、１．５秒以内に３回衝突すると、制限時間が３秒延長する）。
【０１１０】
ゲーム進行部３００Ｉは、制限時間および得点などをゲーム画面生成部３００Ｂへ送信する。また、ゲーム進行部３００Ｉは、得点を記憶部３２に記憶し、サーバ装置２または他のゲーム装置３に得点情報を送信できるよう管理する。
【０１１１】
記憶部３２は、ゲーム画面５に表示する画像データ、得点および再生する楽曲や効果音などの音声データなどを格納する。
【０１１２】
＜処理の流れ＞
次に、上記ゲーム装置３の処理の流れについて説明する。
図８は、本ゲーム装置３のプレイヤオブジェクト５０の処理の流れを示すフローチャートである。この処理は、所定の間隔（たとえば６０ｆｐｓ間隔）で実行される。なお、ゲームの全体的なフローなどについては省略する。また、各フローの順序は本実施形態に限らず、適宜変更されるものであってもよい。
【０１１３】
まず、衝突判定部３００Ｄは、プレイヤオブジェクト５０がノンプレイヤオブジェクト６０と衝突したか否かを判定する（ステップＳ１０１）。衝突判定部３００Ｄが、衝突したと判定した場合（ステップＳ１０１：ＹＥＳ）、プレイヤオブジェクト制御部３００Ｇはプレイヤオブジェクト５０のパラメータとノンプレイヤオブジェクト６０のパラメータとを比較する（ステップＳ１０２）。
【０１１４】
そして、プレイヤオブジェクト制御部３００Ｇがプレイヤオブジェクト５０のパラメータがノンプレイヤオブジェクト６０のパラメータ以上（ノンプレイヤオブジェクト６０より大きいまたは同一）であると判定した場合（ステップ１０３：ＹＥＳ）、魚群オブジェクト７０にそのノンプレイヤオブジェクト６０に対応した追従オブジェクト７００を追加する（ステップＳ１０４）。
【０１１５】
次に、ゲーム進行部３００Ｉは、衝突したノンプレイヤオブジェクト６０に基づいた得点および追従オブジェクト７００の数を更新する（ステップＳ１０５）。
【０１１６】
パラメータ管理部３００Ｅは、追従オブジェクト７００の数が所定値を超えたか否かを判定し（ステップ１０６）、所定値を超えたと判定した場合は（ステップ１０６：ＹＥＳ）プレイヤオブジェクト５０のパラメータを更新し、プレイヤオブジェクト５０を進化（変化）させる（ステップ１０７）。
【０１１７】
なお、制御部３０は、衝突判定部３００ＤがステップＳ１０１にて、プレイヤオブジェクト５０がノンプレイヤオブジェクト６０と衝突したと判定しない場合は（ステップＳ１０１：ＮＯ）、このフローの処理を終了する。
【０１１８】
また、制御部３０は、プレイヤオブジェクト制御部３００ＧがステップＳ１０３にてプレイヤオブジェクト５０のパラメータがノンプレイヤオブジェクト６０のパラメータ未満（ノンプレイヤオブジェクト６０よりと小さい）であると判定した場合（ステップＳ１０３：ＮＯ）は、ゲームオーバーとなる処理を実行し（ステップＳ１０８）、このフローの処理を終了する。
【０１１９】
制御部３０は、ステップＳ１０６にて、パラメータ管理部３００Ｅが追従オブジェクト７００の数が所定値を超えていないと判定した場合は（ステップ１０６：ＮＯ）、プレイヤオブジェクト５０のパラメータを更新せずにこのフローの処理を終了する。
【０１２０】
図９は、本ゲーム装置３の各ノンプレイヤオブジェクト６０の処理の流れを示すフローチャートである。この処理は、所定の間隔（たとえば６０ｆｐｓ間隔）で実行され、各ノンプレイヤオブジェクト６０すべてに対してそれぞれ実行される。なお、各フローの順序は本実施形態に限らず、適宜変更されるものであってもよい。
【０１２１】
まず、ノンプレイヤオブジェクト制御部３００Ｆは、ノンプレイヤオブジェクト６０を中心とする所定範囲内にプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０（以下、他のオブジェクトという）が位置するか否かを判定する（ステップＳ２０１）。なお、所定範囲に位置するか否かの判定は、仮想ゲーム空間内の座標に基づいて判定する。
【０１２２】
ノンプレイヤオブジェクト制御部３００Ｆは、所定範囲内に他のオブジェクトが位置すると判定した場合（ステップＳ２０１：ＹＥＳ）、当該他のオブジェクトのパラメータがノンプレイヤオブジェクト６０のパラメータより大きいか否かを判定する（ステップＳ２０２）。
【０１２３】
他のオブジェクトのパラメータがノンプレイヤオブジェクト６０のパラメータより大きいと判定した場合（ステップＳ２０２：ＹＥＳ）、制御対象であるノンプレイヤオブジェクト６０を他のオブジェクトから離れる方向に移動するよう制御する。
【０１２４】
一方、他のオブジェクトのパラメータが制御対象であるノンプレイヤオブジェクト６０のパラメータより小さいと判定した場合（ステップＳ２０２：ＮＯ）、制御対象であるノンプレイヤオブジェクト６０を他のオブジェクトに近づく方向に移動する（衝突する）よう制御する（ステップ２０４）。
【０１２５】
次に、衝突判定部３００Ｄは、ノンプレイヤオブジェクト６０同士が衝突したか否かを判定する（ステップＳ２０５）。すなわち、他のオブジェクトが他のノンプレイヤオブジェクト６０であるか否かを判定する。
【０１２６】
そして、ノンプレイヤオブジェクト６０同士が衝突したと判定した場合（ステップＳ２０５：ＹＥＳ）、ノンプレイヤオブジェクト制御部３００Ｆは、両ノンプレイヤオブジェクト６０のパラメータを比較し（ステップＳ２０６）、パラメータが小さい方のノンプレイヤオブジェクト６０を仮想ゲーム空間から消去する（ステップＳ２０７）。
【０１２７】
なお、制御部３０は、パラメータ管理部３００ＥがステップＳ２０５にて、ノンプレイヤオブジェクト６０とプレイヤオブジェクト５０が衝突したと判定した場合は（ステップＳ２０５：ＮＯ）、このフローの処理を終了する。なお、プレイヤオブジェクト５０とノンプレイヤオブジェクト６０が衝突した際の処理は、図７で説明したプレイヤオブジェクト５０のフローにて処理される。
【０１２８】
＜作用効果＞
本実施形態によれば、プレイヤオブジェクト５０のパラメータ（すなわち、プレイヤオブジェクト５０とノンプレイヤオブジェクト６０との関係性）がゲームを進める中で刻々と変化する。そのため、プレイヤオブジェクト５０の敵となるノンプレイヤオブジェクト６０が目まぐるしく変化する。従来のゲームによれば、プレイヤオブジェクト５０の敵となるノンプレイヤオブジェクト６０は予め固定されており興趣性などを欠くことになっていた。しかし、本実施形態によれば、ゲームのスリル感やゲームの攻略の戦略が豊富になり、興趣性の高いゲームを提供することができる。
【０１２９】
また、ノンプレイヤオブジェクト６０同士の関係性によって、ノンプレイヤオブジェクト６０が移動をする。そのため、ユーザはノンプレイヤオブジェクト６０の動きが予測できない。従来のゲームによれば、ノンプレイヤオブジェクト６０の敵はプレイヤオブジェクト５０のみであり、プレイヤオブジェクト５０中心でゲームが進行しておりリアルな魚の世界を体験することはできなくなっていた。しかし、本実施形態によれば、プレイヤオブジェクト５０が、多数存在するオブジェクトの中の一つとして仮想ゲーム空間内で共存し、弱肉強食というリアル感およびスリル感のある興趣性の高いゲームを提供することができる。
【０１３０】
＜他の実施例＞
次に、本実施形態における他の実施例について説明する。これらの他の実施例においても、上記作用効果を奏することができる。
【０１３１】
本実施形態では、魚型のオブジェクトが登場するゲームに関するゲームプログラムを例にとって説明した。しかし、本件発明は、これに限られない。オブジェクトは魚に限らず、ゲーム性はシューティングゲーム、アクションゲームおよびＲＰＧであってもよい。
【０１３２】
本実施形態では、プレイヤオブジェクト５０とノンプレイヤオブジェクト６０とのパラメータ（レベル）を比較することで、各オブジェクトの関係性を変化させていた。
しかし、これに代えてまたはこれに加えて、プレイヤオブジェクト５０およびノンプレイヤオブジェクト６０に予め定められた大きさ、速さ、攻撃力、防御力および属性などのパラメータを用いても良い。そして、これらのパラメータがゲーム進行中に刻々と変化することで、各オブジェクトの関係性を変化させてもよい。
【０１３３】
また、ゲーム進行中に所定の条件を満たすことにより、プレイヤオブジェクト５０とノンプレイヤオブジェクト６０との関係性に変化をもたらしても良い。たとえば、所定の条件として、仮想ゲーム空間上に所定のアイテムなどを設置し、プレイヤオブジェクト５０がそのアイテムをとることにより、プレイヤオブジェクト５０のパラメータが大きくなったり小さくなったりする。または、ゲーム進行中に、パラメータが大きいオブジェクトが小さいオブジェクトを攻撃する関係性を逆転させ、パラメータが小さいオブジェクトが大きいオブジェクトを攻撃する関係性に変化するようにしてもよい。
【０１３４】
なお、これらは所定のアイテムをとることに限らず、制限時間の残時間（たとえば残り１０秒）によって関係性を変化するようにしてもよい。これらにより、一発逆転的な要素が生れより興趣性が高いゲームを提供することができる。また、プレイヤオブジェクト５０が進化する際に、仮想ゲーム空間に所定の大きさの波動を出現させ、その波動に当たったノンプレイヤオブジェクト６０はパラメータに関わらず、魚群オブジェクト７０に加えられるようにしてもよい。
【０１３５】
本実施形態では、プレイヤオブジェクト５０が、プレイヤオブジェクト５０のパラメータより大きいノンプレイヤオブジェクト６０と接触するとゲームオーバー（ペナルティ）となるとした。しかし、このペナルティはゲームオーバーに限らない。たとえば、制限時間が短くなる、一定期間プレイヤオブジェクトの移動が不可能になるまたは得点が減少するなど、ユーザにとって不利となるものであればよい。
【０１３６】
本実施形態では、追従オブジェクト７００とノンプレイヤオブジェクト６０とが衝突した場合、このノンプレイヤオブジェクト６０のパラメータとプレイヤオブジェクト５０のパラメータとを比較して、ノンプレイヤオブジェクト６０のパラメータがプレイヤオブジェクト未満である場合、追従オブジェクト７００を仮想ゲーム空間から消去しないとした。
【０１３７】
しかし、これに代えて、追従オブジェクト７００とノンプレイヤオブジェクト６０とが衝突した場合、この追従オブジェクト７００のパラメータとこのノンプレイヤオブジェクト６０のパラメータとを比較する。そして、ノンプレイヤオブジェクト６０のパラメータが追従オブジェクト７００のパラメータより大きい場合、この追従オブジェクト７００を仮想ゲーム空間から消去してもよい。これにより、より自然な魚型オブジェクト同士の関係が表現できる。
【０１３８】
（ノンプレイヤオブジェクトによる魚群オブジェクトの形成）
本実施形態では、魚群オブジェクト７０はプレイヤオブジェクト５０のみが形成可能であり、それに基づいてパラメータが変化するとしていた。
しかし、これに代えてまたはこれに加えて、ノンプレイヤオブジェクト６０が魚群オブジェクト７０を形成するようにし、ノンプレイヤオブジェクト６０のパラメータが変化してもよい。
【０１３９】
ノンプレイヤオブジェクト６０同士が衝突した場合、パラメータが大きい方のノンプレイヤオブジェクト６０に基づいて魚群オブジェクト７０が形成される。そして、その魚群オブジェクト７０に、パラメータが小さい方のノンプレイヤオブジェクト６０に対応した追従オブジェクト７００が追加される。
【０１４０】
たとえば、ノンプレイヤオブジェクト６０Ｂが、ノンプレイヤオブジェクト６０Ａと衝突することで、ノンプレイヤオブジェクト６０Ｂに基づいた魚群オブジェクト７０を形成する。そして、その魚群オブジェクト７０に、ノンプレイヤオブジェクト６０Ａに対応した追従オブジェクト７００が追加される。また、この追従オブジェクト７００が所定数を超過することで、ノンプレイヤオブジェクト６０Ｂ（パラメータ２）はノンプレイヤオブジェクト６０Ｃ（パラメータ３）に進化する。
【０１４１】
また、各オブジェクトは追従オブジェクト７００を奪い合うことができる。たとえば、すでにプレイヤオブジェクト５０または他のノンプレイヤオブジェクト６０（以下、第１ノンプレイヤオブジェクト６０）が形成する魚群オブジェクト７０（以下、第１魚群オブジェクト７０という）の追従オブジェクト７００（以下、第１追従オブジェクト７００という）と、ノンプレイヤオブジェクト６０（以下、第２ノンプレイヤオブジェクト６０）とが衝突した場合、このノンプレイヤオブジェクト６０に基づいて新たな魚群オブジェクト７０（以下、第２魚群オブジェクト７０）が形成される。そして、この第１追従オブジェクト７００は、第１魚群オブジェクト７０から消去され、この第２魚群オブジェクト７０の追従オブジェクト（以下、第２追従オブジェクト７００）として追加される。
【０１４２】
この場合、第２ノンプレイヤオブジェクト６０がプレイヤオブジェクト５０と衝突したときに、第２ノンプレイヤオブジェクト６０のパラメータとプレイヤオブジェクト５０のパラメータを比較して、第２ノンプレイヤオブジェクト６０のパラメータの方が大きければ、第２魚群オブジェクト７０に、当該第１追従オブジェクト７００に対応した第２追従オブジェクト７００を追加する。またこれに限らず、第２ノンプレイヤオブジェクト６０のパラメータと当該第１追従オブジェクト７００のパラメータを比較して、第２ノンプレイヤオブジェクト６０のパラメータが第１追従オブジェクト７００のパラメータより大きければ、第２魚群オブジェクト７０に、当該第１追従オブジェクト７００に基づいた第２追従オブジェクト７００を追加してもよい。
【０１４３】
これにより、プレイヤオブジェクト５０およびノンプレイヤオブジェクト６０の両方が魚群オブジェクト７０を構成することとなり、追従オブジェクト７００の数が所定数を超過することで、各オブジェクトのパラメータが更新される。よって、各オブジェクトの関係性がより刻々と変化し、さらにスリル感のある興趣性の高いゲームを提供することができる。
【０１４４】
（他のプレイヤオブジェクトによる魚群オブジェクトの形成）
本実施形態では、プレイヤオブジェクト５０と、プレイヤオブジェクト５０に敵対するノンプレイヤオブジェクト６０との関係性に基づいてゲーム進行するとした。
しかし、これに代わってまたはこれに加えて、プレイヤオブジェクト５０（以下、第１プレイヤオブジェクト５０）と、この第１プレイヤオブジェクト５０に敵対する他のユーザが操作するプレイヤオブジェクト５０（以下、第２プレイヤオブジェクト５０）が参加できる、複数人参加型のゲーム進行をするようにしてもよい。
【０１４５】
これにより、第１プレイヤオブジェクト５０および第２プレイヤオブジェクト５０の両方がそれぞれの魚群オブジェクト７０（第１魚群オブジェクト７０および第２魚群オブジェクト７０）を形成することができる。また、この第１プレイヤオブジェクト５０および第２プレイヤオブジェクト５０は、それぞれの追従オブジェクト７００（第１追従オブジェクト７００および第２追従オブジェクト７００）の数が所定数を超過することで、自身のパラメータが変化する。
【０１４６】
従来、ユーザが操作するプレイヤオブジェクト５０以外が敵となるバトルロイヤル戦または複数のチームなどに分かれて対戦を行うチーム戦においては、マッチング時などに敵と味方が決定されゲーム進行中にそれらの関係が変化することがなかった。しかし、この他の実施例によれば、複数人で実行されるゲーム進行中に敵味方が刻々と変化するため、より興趣性が高いゲームを提供することができる。
【符号の説明】
【０１４７】
１  ゲームシステム
２  サーバ装置
３  ゲーム装置
３００Ａ  操作入力部
３００Ｂ  ゲーム画面生成部
３００Ｃ  描画部
３００Ｄ  衝突判定部
３００Ｅ  パラメータ管理部
３００Ｆ  ノンプレイヤオブジェクト制御部
３００Ｇ  プレイヤオブジェクト制御部
３００Ｈ  魚群オブジェクト制御部
３００Ｉ  ゲーム進行部
５０（５０Ａ〜５０Ｃ）  プレイヤオブジェクト
６０（６０Ａ〜６０Ｃ）  ノンプレイヤオブジェクト
７０（７０Ａ〜７０Ｂ）  魚群オブジェクト  
７００  追従オブジェクト
【図１】
0006379077.tif 000002
【図２】
0006379077.tif 000003
【図３】
0006379077.tif 000004
【図４】
0006379077.tif 000005
【図５】
0006379077.tif 000006
【図６】
0006379077.tif 000007
【図７】
0006379077.tif 000008
【図８】
0006379077.tif 000009
【図９】
0006379077.tif 000010