ゲームプログラムおよびゲーム装置
【構成】ゲーム装置では、複数のパーツによって形成されたプレイヤオブジェクト200の移動状態が所定条件を満足したか否かが判別される。所定条件は、たとえば、移動速度が所定の閾値以上であることであり、あるいは、現移動方向と直前の移動方向との角度差が一定値以上となった事象が一定時間内に一定回数以上検出されたことである。所定条件を満足したときには、つまり、たとえば、プレイヤオブジェクト200が急速に移動するような入力操作が行われたときや、プレイヤオブジェクト200が揺さぶられるような入力操作が行われたときには、プレイヤオブジェクト200は複数のパーツ200、202に分離される。
【効果】プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現でき、また、プレイヤオブジェクトの操作に面白みを与えることができる。
【効果】プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現でき、また、プレイヤオブジェクトの操作に面白みを与えることができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、複数のパーツによって形成されたプレイヤオブジェクトを分離する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
特許文献1には、複数のパーツからなるプレイヤオブジェクトを分離するようなゲームの一例が開示されている。具体的には、プレイヤは、プレイヤオブジェクトとしての球を転がして物体に上手く衝突させ、衝突した物体をその表面に結合させて球を雪ダルマ式に巨大化させていく。球より小さい物体は、衝突によって球に結合され一体となって表示される。反対に、球より大きい物体は障害物として作用し、衝突すると、一部の物体の結合が解除されてその一部の物体が球から分離する。
【特許文献1】特開2003−251076号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来技術では、物体間の衝突において生じる物体の崩壊などの分離現象が表現されるのであるが、複数のパーツの結合によって一体となったプレイヤオブジェクトが単に他の物体との衝突によって分離するだけでは、プレイヤの操作感の面白さや、ゲームとしての面白みに欠ける懸念がある。
【0004】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【0005】
この発明の他の目的は、複数のパーツによって形成されたプレイヤオブジェクトを直感的な操作で分離させることができる、ゲームプログラムおよびゲーム装置を提供することである。
【0006】
この発明のその他の目的は、複数のパーツによって形成されたプレイヤオブジェクトの操作に面白みを与えることができる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0007】
第1の発明(請求項1の発明)は、プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置のゲームプログラムである。このゲームプログラムは、ゲーム装置のプロセサを、移動制御手段、移動状態判別手段、および分離手段として機能させる。移動制御手段は、入力手段からの入力情報に基づいてプレイヤオブジェクトの移動を制御する。移動状態判別手段は、プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する。分離手段は、移動状態判別手段によって所定条件が満たされたと判定されるとき、プレイヤオブジェクトを複数のパーツに分離する。
【0008】
請求項1の発明では、ゲームプログラムによって、プレイヤオブジェクト(200:実施例で相当する参照符号。以下同じ。)を分離するゲームが実行される。ゲーム装置(10)は、入力手段(20、22、36)および表示手段(12、14)を含み、入力手段はプレイヤ操作に応じた入力情報を入力し、表示手段はプレイヤオブジェクトを含むゲーム画面を表示する。プレイヤオブジェクトは、複数のパーツによって形成されている。たとえば、後述される実施例では、敵オブジェクト(202)が連結されることによって、プレイヤオブジェクトが形成されている。このゲームプログラムは、ゲーム装置のプロセサ(34)を、移動制御手段、移動状態判別手段、および分離手段として機能させる。移動制御手段(S3、S7)は、入力情報に基づいてプレイヤオブジェクトの移動を制御する。移動状態判別手段(S113、S115−S121)は、プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する。所定条件は、たとえば、プレイヤオブジェクトの移動速度が所定の閾値以上であることである。また、所定条件は、たとえば、一定角度以上の移動方向の変化が一定時間内に所定回数検出されることである。分離手段(S125−S129)は、移動状態が所定条件を満足したと判定されるとき、プレイヤオブジェクトを複数のパーツに分離する。
【0009】
請求項1の発明によれば、入力情報に基づいて制御されるプレイヤオブジェクトの移動状態が所定の条件を満たしたとき、プレイヤオブジェクトを複数のパーツに分離するので、プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現することができる。また、移動状態に応じて分離されるのでプレイヤオブジェクトの操作に面白みを与えることができ、プレイヤに慎重な操作を要求するような新規なゲームを提供することができる。
【0010】
請求項2の発明は、請求項1の発明に従属し、移動制御手段は、プレイヤオブジェクトの移動速度を算出する移動速度算出手段を含み、所定条件は、移動速度算出手段によって算出された移動速度が所定値以上であることである。
【0011】
請求項2の発明では、移動制御手段の移動速度算出手段(S3)は、プレイヤオブジェクトの移動速度を算出する。移動状態判別手段(S113)は、プレイヤオブジェクトの移動速度が所定値以上であるか否かを判別する。したがって、たとえば、プレイヤオブジェクトが急速に移動するような入力操作があったときには、プレイヤオブジェクトが分離される。このように、プレイヤオブジェクトを素早く動かすといったような直感的な操作でプレイヤオブジェクトを複数のパーツに分離することができるし、プレイヤオブジェクトの操作に面白さを与えることができる。
【0012】
請求項3の発明は、請求項1の発明に従属し、移動制御手段は、プレイヤオブジェクトの移動方向を算出する移動方向算出手段を含み、所定条件は、移動方向算出手段によって算出された移動方向と直前の移動方向との角度差が一定値以上となった事象が一定時間内に一定回数以上検出されたことである。
【0013】
請求項3の発明では、移動制御手段の移動方向算出手段(S3)は、プレイヤオブジェクトの移動方向を算出する。移動状態判別手段(S115−S121)は、直前の移動方向からの変化が一定角度以上となった事象が一定時間内に一定回数以上生じたか否かを判定する。したがって、たとえば、プレイヤオブジェクトが揺さぶられるような入力操作があったときには、プレイヤオブジェクトが分離される。このように、プレイヤオブジェクトを揺さぶるといったような直感的な操作でプレイヤオブジェクトを複数のパーツに分離することができるし、プレイヤオブジェクトの操作に面白さを与えることができる。
【0014】
請求項4の発明は、請求項1ないし3の発明のいずれかに従属し、移動制御手段は、分離手段によって分離された複数のパーツのうちの1のパーツをプレイヤオブジェクトとして入力手段からの入力情報に基づいてその移動を制御し、残りの他のパーツをノンプレイヤオブジェクトとしてその移動を制御する。
【0015】
請求項4の発明では、分離後には、複数のパーツのうちの1のパーツがプレイヤオブジェクトとして扱われ、当該プレイヤオブジェクトの移動は入力情報に基づいて制御される。一方、残りの他のパーツがノンプレイヤオブジェクトとして扱われ、ノンプレイヤオブジェクトの移動は入力情報によらずに制御される。したがって、プレイヤオブジェクトがその移動状態に応じて分離されても、プレイヤの操作が煩雑になることはなく、分離前と変わらずプレイヤオブジェクトを制御することができる。
【0016】
請求項5の発明は、請求項4の発明に従属し、プロセサを、分離手段によって分離された複数のパーツのうちのプレイヤオブジェクトとなる1のパーツの表示態様を変化させる表示態様変化手段としてさらに機能させる。
【0017】
請求項5の発明では、表示態様変化手段(S129)によって、分離された複数のパーツのうちプレイヤオブジェクトのとなる1のパーツの表示態様が変化される。したがって、分離後のプレイヤオブジェクトを容易に識別することができる。
【0018】
請求項6の発明は、請求項1ないし5の発明のいずれかに従属し、プロセサを、分離手段によって分離されたプレイヤオブジェクトの能力を変化させる能力変化手段としてさらに機能させる。
【0019】
請求項6の発明では、能力変化手段(S125)は、分離されたプレイヤオブジェクトの能力を変化させる。したがって、分離前と分離後とでプレイヤオブジェクトの能力を変化させることができるので、ゲームの戦略性を高めることができる。
【0020】
第2の発明(請求項7の発明)は、プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置ある。このゲーム装置は、移動制御手段、移動状態判別手段、および分離手段を備える。移動制御手段は、入力手段からの入力情報に基づいてプレイヤオブジェクトの移動を制御する。移動状態判別手段は、プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する。分離手段は、移動状態判別手段によって所定条件が満たされたと判定されるとき、プレイヤオブジェクトを複数のパーツに分離する。
【0021】
請求項7の発明は、第1の発明のゲームプログラムに対応するゲーム装置であり、上述の第1の発明と同様にして、プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現することができるとともに、プレイヤオブジェクトの操作に面白みを与えることができる。
【0022】
請求項8の発明は、請求項7の発明に従属し、入力手段は、このゲーム装置の移動情報を入力情報として検出するマウス式入力装置を含み、移動制御手段は、マウス式入力装置によって検出された移動情報に基づいてプレイヤオブジェクトの移動を制御する。
【0023】
請求項8の発明では、マウス式入力装置(36)によって、このゲーム装置の移動情報が入力情報として検出される。移動制御手段は、マウス式入力装置によって検出されたこのゲーム装置の移動情報に基づいてプレイヤオブジェクトの移動を制御する。これによって、ゲーム装置自体の移動に応じてプレイヤオブジェクトを移動させることができるので、プレイヤは、極めて直感的な操作でプレイヤオブジェクトの移動状態を制御することが可能になる。したがって、ゲーム装置自体を移動させるという極めて直感的な操作でプレイヤオブジェクトを分離することができるし、プレイヤオブジェクトの操作に面白みを与えることができる。
【発明の効果】
【0024】
この発明によれば、複数のパーツによって形成されるプレイヤオブジェクトの移動状態が所定の条件を満たしたとき、当該プレイヤオブジェクトを複数のパーツに分離するようにした。したがって、プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現することができる。また、プレイヤオブジェクトの操作に面白みを与えることができ、また、プレイヤに慎重な操作を要求するような新規なゲームを提供することができる。
【0025】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0026】
図1を参照して、この発明の実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0027】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0028】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0029】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0030】
操作スイッチないし操作キー20は、方向指示スイッチ(十字スイッチ)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり上側ハウジング16aとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【0031】
方向指示スイッチ(方向キー)20aは、ディジタルジョイスティックとして機能し、操作対象の移動方向を指示するために用いられる。つまり、4つの押圧部の1つを操作することによって、プレイヤ(ユーザ)によって操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)やカーソル等を当該操作した部分に対応する方向に移動させることができる。
【0032】
なお、この実施例では、後述するように、プレイヤオブジェクトの移動は、方向指示スイッチ20aによらず、ゲーム装置10自体の移動によって制御される。
【0033】
スタートスイッチ20bは、プッシュボタンで構成され、ゲームの開始(再開)、や一時停止等のために用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【0034】
動作スイッチ(動作キー)20dすなわちAボタンは、プッシュボタンで構成され、移動方向以外の動作の指示のために用いられる。この実施例では、このAボタン20dの操作によって、プレイヤオブジェクトに攻撃を行わせることができる。
【0035】
なお、一般的には、Aボタン20dによれば、たとえばプレイヤオブジェクトに、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプする、切る等の任意の動作(アクション)をさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、メニュー選択の際には、カーソルの表示された、すなわち、選択状態にあるメニュー項目を決定して当該項目に対応する動作ないし処理を実行させることが可能である。
【0036】
動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、たとえばセレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。また、Bボタン20eも、Aボタン20dと同様に、プレイヤキャラクタの動作を指示するための動作キーとして使用され得る。
【0037】
動作スイッチ20L(Lボタン)および動作スイッチ20R(Rボタン)は、プッシュボタンで構成され、Lボタン20LおよびRボタン20Rは、上述の各動作スイッチ20d、20eと同じまたは別の操作に用いることができ、また、上述の各動作スイッチ20d、20eの補助的な操作に用いることができる。なお、上述のプッシュボタンは、キートップを押し下げることにより作動するスイッチとして構成されてよい。したがって、各スイッチを押し下げるという簡単な操作によって、動作指示等を行うことができる。
【0038】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり、叩いたりすることによって操作すると、スティック24等によって指示された(つまり、タッチされた)位置の座標を検出して、当該検出した座標を示す座標データを出力する。したがって、プレイヤはスティック24等でタッチパネル22を操作することによって、タッチ位置に対応する座標を入力することができる。
【0039】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度(操作面)も表示画面に対応して256dot×192dotとしてある。ただし、図1では、タッチパネル22を分かり易く示すために、タッチパネル22をLCD14と異なる大きさで示しているが、LCD14の表示画面の大きさとタッチパネル22の操作面の大きさとは同じである。なお、タッチパネル22の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。また、タッチパネル22は、他の実施例では、LCD12の上面に設けられてもよいし、LCD12およびLCD14の両方に設けられてもよい。
【0040】
スティック24は、この実施例では、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(穴ないし凹部)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0041】
また、ゲーム装置10は、ゲームプログラムおよびデータが予め記憶されるメモリカード(またはゲームカートリッジ)28を含む。このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは天面(上端)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するための第1コネクタ32(図2参照)が設けられている。したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア34(図2参照)がメモリカード28にアクセス可能となる。
【0042】
さらに、この実施例では、ゲーム装置10は入力手段の1つとしてマウスカートリッジ36を含む。マウスカートリッジ36のハウジングは、ゲーム装置10の下側ハウジング16bの裏面ないし下端に設けられる挿入口38に差し込まれる部分36aと下側ハウジング16bの裏面を覆う部分36bとを含む形状を有しており、ゲーム装置10に着脱自在である。図1では省略するが、挿入口38の奥部には、ハウジング36aの挿入方向先端部に設けられるコネクタ(図示せず)と接合するための第2コネクタ40(図2参照)が設けられている。したがって、マウスカートリッジ36の差込部分36aが挿入口38に差し込まれてマウスカートリッジ36が下側ハウジング16bに装着されると、コネクタ同士が接合され、ゲーム装置10のCPUコア34がマウスカートリッジ36にアクセス可能となる。マウスカートリッジ36の裏面には、光学式マウス(またはメカニカルマウス)に用いられるポジションセンサが設けられている。マウスカートリッジ36がゲーム装置10に装着されたとき、マウスカートリッジ36のポジションセンサはゲーム装置10の裏面(使用時には基本的に底面となる。)に配置される。したがって、このゲーム装置10がたとえば机や壁の表面上に置かれて使用されるとき、マウスカートリッジ36はこのゲーム装置10のマウス式入力装置として機能し、表面上におけるこのゲーム装置10の移動方向、移動量、移動速度のような移動情報を検出する。
【0043】
また、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部には、スピーカ42(図2参照)が設けられる。また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの下面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられてよい。
【0044】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板44を含み、この電子回路基板44にはCPUコア34等の回路コンポーネントが実装される。CPUコア34は、バス46を介して、上述の第1コネクタ32および第2コネクタ40に接続されるとともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出力インターフェイス回路(以下、「I/F回路」という。)54、およびLCDコントローラ56に接続される。
【0045】
第1コネコタ32には、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、第1コネクタ32と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア34は、ROM28aおよびRAM28bにアクセスすることができる。
【0046】
ROM28aは、ゲーム装置10で実行すべき仮想ゲームのためのゲームプログラム、ならびに、画像データ(キャラクタ画像、オブジェクト画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像、カーソル画像など)およびゲームに必要な音(音楽)を再生または出力するためのデータ(音データ)等のデータを記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データや結果データを記憶(セーブ)するために設けられる。フラッシュメモリなどの不揮発性メモリが使用されてよい。
【0047】
なお、ゲーム以外のアプリケーションが実行される場合、メモリカード28のROM28aには、当該アプリケーションについてのプログラム、ならびに当該アプリケーションの実行に必要なデータ(画像データおよび音データ等)が記憶される。
【0048】
第2コネクタ40には、マウスカートリッジ36が着脱自在に接続される。マウスカートリッジ36は、ロジック回路36cおよび光学式センサ36dを含む。図示は省略されるが、ロジック回路36cおよび光学式センサ36dは、バスを介して互いに接続されるとともに、第2コネクタ40と接合される図示しないコネクタと接続される。ロジック回路36cは、たとえば一定時間毎に光学式センサ36dからセンサ情報を取得する。光学式センサ36dは、たとえば赤外線発光素子およびイメージセンサを含む。ロジック回路36cは、光学式センサ36dで検出された赤外線画像に画像処理を施すことによって、このゲーム装置10自体の移動方向および量などの移動情報を検出し、当該移動情報(入力情報)をCPUコア34に与える。なお、光学式マウスではなく、ボールのX方向およびY方向の回転を検出するメカニカルマウスが使用されてもよい。
【0049】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア34は、メモリカード28のROM28aに記憶されたプログラム、画像データおよび音データ等をRAM48にロードし、当該プログラムに従って処理を実行する。また、CPUコア34は、ゲーム等の進行に応じて発生または取得されるデータ(ゲームデータやフラグデータ等)をRAM48に記憶しつつ処理を実行する。
【0050】
なお、プログラム、画像データおよび音データ等は、ROM28aから一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM48に記憶される。ただし、この実施例のように、固定的にプログラムおよびデータを記憶している記憶媒体をCPUコア34に直接接続可能なゲーム装置10の場合には、CPUコア34が当該記憶媒体に直接アクセスできるので、RAM48にプログラムやデータを転送して保持しなくてよい。また、RAM28bにデータが記憶されている場合には、当該データは必要に応じてRAM48に読み出される。
【0051】
GPU50およびGPU52はそれぞれ描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア34からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア34は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0052】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)58が接続され、GPU52には、第2のVRAM60が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM58および第2のVRAM60にアクセスして取得する。ただし、CPUコア42は、描画に必要な画像データをRAM48から読み出し、GPU50およびGPU52を介して第1のVRAM58および第2のVRAM60に書き込む。GPU50はVRAM58にアクセスして表示のためのゲーム画像データを作成し、その画像データをVRAM58の描画バッファに記憶する。GPU52はVRAM60にアクセスして描画のためのゲーム画像データを作成し、その画像データをVRAM60の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
【0053】
VRAM58およびVRAM60は、LCDコントローラ56に接続される。LCDコントローラ56はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア34の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ56は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。一方、レジスタ62のデータ値が「1」である場合には、LCDコントローラ60は、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0054】
なお、LCDコントローラ56は、VRAM58およびVRAM60から直接画像データを読み出すことができるし、あるいはGPU50およびGPU52を介してVRAM58およびVRAM60から画像データを読み出すこともできる。
【0055】
また、VRAM58およびVRAM60はRAM48に設けられてもよいし、あるいはその描画バッファおよびZバッファがRAM48に設けられてもよい。
【0056】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ42が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア34に入力される。また、タッチパネル22から出力される操作データ(座標データ)がI/F回路54を介してCPUコア34に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ42からその音を出力する。
【0057】
この実施例のゲーム装置10には上述のようにマウスカートリッジ36が設けられるので、たとえば机や壁の表面上においてこのゲーム装置10自体を移動させることによって、プレイヤはゲーム画面に対する操作ないし入力を行うことができる。このような入力によって、たとえば、仮想ゲーム空間におけるオブジェクトまたは画面上のカーソルを移動させるなど、ゲーム画面に変化を与えることができる。具体的には、この実施例では、図3に示すように、ゲーム装置10を机等の表面上に載せて移動させることによって、ゲーム装置10の移動方向に対応する方向に、ゲーム装置10の移動量に対応する距離をあるいは移動速度に対応する速度で、ゲーム空間においてプレイヤオブジェクト200を移動させることができる。なお、図3では、プレイヤオブジェクト200の表示位置が画面中央に固定されるので、ゲーム装置10の移動に応じて、背景がその逆方向にスクロールされている。また、プレイヤオブジェクト200は下画面(LCD14)ではなく上画面(LCD12)に表示されてもよい。
【0058】
図4から図6にはメモリマップの一例が示される。まず、図4には、メモリカード28のROM28aのメモリマップが示される。ROM28aはゲームプログラム記憶領域70およびデータ記憶領域72を含む。なお、図4はメモリマップの一部を示しており、ゲームプログラム記憶領域70およびデータ記憶領域72にはそれぞれ図中に明示されたもの以外にも必要なプログラムおよびデータが予め記憶されている。
【0059】
ゲームプログラム記憶領域70の記憶領域74には入力情報取得プログラムが記憶されている。このプログラムによって、たとえば、一定時間(1フレーム等)ごとに、操作スイッチ20、タッチパネル22およびマウスカートリッジ36からの入力情報が取得される。
【0060】
記憶領域76にはプレイヤオブジェクト移動制御プログラムが記憶されている。このプログラムによって、仮想ゲーム世界におけるプレイヤオブジェクト200の移動が制御される。この実施例では、上述のように、プレイヤオブジェクト200の移動は、マウスカートリッジ36からの入力情報に基づいて制御される。具体的には、マウスカートリッジ36から取得したこのゲーム装置10の移動情報(移動方向、量、速度等)に基づいて、プレイヤオブジェクト200の移動方向、移動距離、移動速度などの移動パラメータが算出されて、当該移動パラメータに基づいてプレイヤオブジェクト200の新たな位置(座標)や向き等が算出される。
【0061】
記憶領域78には敵オブジェクト移動制御プログラムが記憶されている。このプログラムによって、敵オブジェクト202(図7参照)などのノンプレイヤオブジェクトの移動が制御される。ノンプレイヤオブジェクトはプレイヤによって操作されないオブジェクトを意味する。なお、この実施例では、後述するように、敵オブジェクト202は、プレイヤオブジェクト200と連結されているときには、プレイヤオブジェクト200の一部として扱われる。
【0062】
記憶領域80には当り判定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200と敵オブジェクト202との当り判定が行われる。なお、敵オブジェクト202が弱点を有する場合には、敵オブジェクト202に当該弱点を示す当り有効部分が設定されているので、当該当り有効部分にプレイヤオブジェクト200が当たったか否かが判断される。
【0063】
記憶領域82には連結プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200が敵オブジェクト202に当たったとき、当該敵オブジェクト202がプレイヤオブジェクト200に連結される。この実施例では、マウスカートリッジ36の入力情報に基づいてプレイヤオブジェクト200の移動が制御されるので、ゲーム装置10自体の移動操作に応じてプレイヤオブジェクト200が移動されて、接触した敵オブジェクト202と連結される。したがって、極めて直感的な操作でプレイヤオブジェクト200に敵オブジェクト202を連結していくことが可能な興趣性の高いゲームを実現できる。
【0064】
プレイヤオブジェクト200が敵オブジェクト202に当たった場合には無条件に連結がなされてもよいが、プレイヤオブジェクト200に敵オブジェクト202を連結するために1または複数の条件が設定されてもよい。この実施例では、当たったときの敵オブジェクト202が所定の状態(たとえば失神状態)にあることが連結条件の1つとされる。このように、敵オブジェクト202が所定状態であることを連結のための条件に設定しているので、敵オブジェクト202を連結する難易度を上げることができ、ゲームの戦略性を増すことができる。
【0065】
さらに、敵オブジェクト202を上記失神状態にするためにも条件が設定される。この実施例では、敵オブジェクト202に当たったときのプレイヤオブジェクト200の移動速度(単位時間当たり移動量)が所定の閾値(たとえば5ドット/フレーム)以上であることが失神条件とされる。したがって、たとえば、図7に示すように、プレイヤオブジェクト200の右上にターゲットとなる敵オブジェクト202が存在しているときには、プレイヤは、閾値以上の移動速度が得られるように右上方向にこのゲーム装置10を移動させることによって、プレイヤオブジェクト200を当該敵オブジェクト202に衝突させる。すると、衝突によって弾き飛ばされた当該敵オブジェクト202を一定時間失神状態に変化させることができる。このようにして、敵オブジェクト202を所定状態に変化させるための難易度を上げることができるので、ゲームの戦略性をより増すことができる。
【0066】
なお、敵オブジェクト202の状態は、たとえば一定時間ごとまたはランダムに、つまり、プレイヤの操作に関係なく変化されてもよい。
【0067】
また、敵オブジェクト202に弱点が設定されている場合には、当該弱点(当り有効部分)に当たることが失神条件または連結条件に含まれてよい。このような弱点設定によっても、敵オブジェクト202を所定状態に変化させるための難易度や連結するための難易度を上げることができるので、ゲームの戦略性をより高めることができる。
【0068】
さらにまた、プレイヤオブジェクト200の種類と敵オブジェクト202の種類の相性を設定しておいて、この相性がよいことが失神条件または連結条件に含まれてもよい。その場合、オブジェクトの種類ごとの相性を示す相性データをROM28aに予め記憶させておく。たとえば、火と水の組合せは相性がよく、火と虫または火と無種類の組合せは相性が悪いなどの相性情報が記憶されている場合には、火の種類の敵オブジェクト202を失神状態にするためには、プレイヤオブジェクト200の種類は水である必要がある。
【0069】
プレイヤオブジェクト200が所定状態の敵オブジェクト202に接触すると、図8に示すように、連結条件が満足されてプレイヤオブジェクト200に当該敵オブジェクト202が連結される。この連結された敵オブジェクト202を含めた全体がその後プレイヤオブジェクト200として扱われる。この実施例では、当初のプレイヤオブジェクト200は、連結状態のプレイヤオブジェクト200の頭部となり、元の敵オブジェクト202は、連結状態のプレイヤオブジェクト200の一部品(連結ボディ)となる。その後、プレイヤオブジェクト200が別の敵オブジェクト202に当たって連結条件が満足されたと判定されるごとに、当該敵オブジェクト202が新たな連結ボディとして順次連結されていく。このようにして、連結後のプレイヤオブジェクト200は、当初のプレイヤオブジェクト200と1つまたは複数の敵オブジェクト202とによって、つまり、複数のパーツによって形成される。
【0070】
図4に戻って、記憶領域84には種類設定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200の種類の設定が行われる。この実施例では、プレイヤオブジェクト200の種類は、初期状態では無種類であり、最初に連結された敵オブジェクト202の種類と同一に設定される。したがって、最初に連結する敵オブジェクト202の種類に応じて、プレイヤオブジェクト200を様々な種類のプレイヤオブジェクト200に変化させることができるので、ゲームの面白みを増すことができる。図7および図8に示される例では、敵オブジェクト202の種類が虫であるので、連結後のプレイヤオブジェクト200の種類は虫に変化され、図8の中段に示すように、プレイヤオブジェクト200の表示態様も、虫を示す画像に変化される。
【0071】
記憶領域86には能力設定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200の能力の設定が行われる。プレイヤオブジェクト200には、連結された敵オブジェクト202の種類に応じて異なる能力が付与される。この実施例では、たとえば、プレイヤオブジェクト200の能力は、初期状態では特徴がなく、敵オブジェクト202と連結されることによって当該敵オブジェクト202の種類に対応する能力に変化される。能力は、具体的には、攻撃方法、攻撃力等である。図8の例では、プレイヤオブジェクト200の種類は虫に変化されたので、当該虫に対応する能力が付与される。種類虫の攻撃方法は糸の発射であり、その初期攻撃力は小程度である。したがって、図8の下段に示すように、プレイヤの攻撃操作(たとえばAボタン20dの操作)に応じて、プレイヤオブジェクト200は糸204を前方に吐き出す。当該糸204が敵オブジェクト202に命中したときには当該敵オブジェクト202に小程度のダメージが与えられる。
【0072】
このように、連結する敵オブジェクト202の種類に応じた能力付与を行うようにしているので、ゲームの戦略性を高めることができ、面白みを増すことができる。また、プレイヤオブジェクト200に付与される能力によってその後のゲームの難易度が変化するので、変化に富んだゲームを実現することができる。
【0073】
さらに、その後、さらに敵オブジェクト202が連結されたときには、その複数の敵オブジェクト202の種類の連結パターンに応じて能力が変化される。たとえば、この実施例では、同種の敵オブジェクト202が連続して連結されることによって、つまり、同種の敵オブジェクト202の連続連結数に応じて、能力がレベルアップされる。図9(A)には、2つの虫の敵オブジェクト202が連続して連結された場合に形成されるプレイヤオブジェクト200が示される。この虫(レベル2)のプレイヤオブジェクト200の攻撃方法は中くらいの長さの糸204の発射であり、その攻撃力は中程度である。また、図9(B)には、レベル2の水の種類のプレイヤオブジェクト200が示される。種類水の攻撃方法は泡の噴出であり、その初期攻撃力は小程度である。したがって、図9(B)に示すレベル2のプレイヤオブジェクト200が攻撃をすると、中くらいの量の泡206が前方に噴出され、その攻撃力は中程度である。さらに、図9(C)には、連続連結数が3である火の種類のプレイヤオブジェクト200が示される。種類火の攻撃方法は炎の放射であり、その初期攻撃力は小程度である。したがって、このレベル3のプレイヤオブジェクト200が攻撃をすると、大きい攻撃力を有する激しい炎(4つの火の玉で表現される)208が前方に放射される。
【0074】
後述するように、この実施例では、敵オブジェクト202の種類の連結パターンと付与能力とを対応付けたテーブルがROM28aに予め記憶されており、当該テーブルに基づいて能力が設定される。
【0075】
このように、連結する複数の敵オブジェクト202の種類の連結パターンに応じて能力を変化させるようにしているので、ゲームの戦略性をより高めることができるとともに、特殊な能力やより強力な能力等の獲得のために、連結パターンを試行錯誤するといったパズルゲームのような楽しさをさらに加えることもできる。
【0076】
図4に戻って、記憶領域88には移動状態判定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200の移動状態が判定される。この実施例では、プレイヤオブジェクト200の移動状態が所定状態であることが、連結状態のプレイヤオブジェクト200を分離するための条件として設定されている。この移動状態判定プログラムによって、この分離条件が満足されたか否かが判定される。この実施例では、分離条件は、プレイヤオブジェクト200が急速に移動されたこと、または、プレイヤオブジェクト200が揺さぶられたことである。つまり、このゲーム装置10自体が急速に移動されたことが分離条件の1つとされ、具体的には、マウスカートリッジ36からの入力情報(すなわち、このゲーム装置10の移動情報)に基づいて算出されるプレイヤオブジェクト200の移動速度が所定の閾値(たとえば30ドット/フレーム)以上であるか否かが判定される。また、このゲーム装置10自体が揺さぶられたことが分離条件の他の1つとされ、具体的には、プレイヤオブジェクト200の移動方向が直前の移動方向と一定値(たとえば60度)以上の角度差をなしたという事象が、一定時間(たとえば1.5秒)内に一定回数(たとえば6回)以上検出されたか否かが判定される。
【0077】
記憶領域90には分離プログラムが記憶される。上述の分離条件が満足されたと判定されたときには、この分離プログラムによって、連結状態のプレイヤオブジェクト200が分離される。つまり、複数のパーツ(当初プレイヤオブジェクト200および連結された1または複数の敵オブジェクト202)によって形成されたプレイヤオブジェクト200の連結が解除され、複数のパーツに分離される。具体的には、図10に示すように、このゲーム装置10が所定速度以上で移動されたり揺さぶられたりすると、連結状態のプレイヤオブジェクト200は、当初のプレイヤオブジェクト200と失神状態の敵オブジェクト202に分かれる。したがって、直感的な操作によってプレイヤオブジェクトをばらばらに分離させることができるので、興趣性の高いゲームを実現できる。また、プレイヤに慎重な操作を要求するといった新規なゲームを提供することができる。さらに、この実施例では、マウスカートリッジ36の入力情報に基づいてプレイヤオブジェクト200の移動が制御される、つまり、ゲーム装置10自体の移動操作に応じてプレイヤオブジェクト200が分離される。したがって、極めて直感的な操作でプレイヤオブジェクト200の分離を制御できるような興趣性の高いゲームを実現できる。
【0078】
また、分離後には、連結前と同様に、プレイヤは当初のプレイヤオブジェクト200のみを操作可能である。分離された他の敵オブジェクト202は再びその制御プログラムによって制御される。したがって、プレイヤオブジェクト200が複数のパーツに分離してもプレイヤの操作は煩雑にならない。
【0079】
また、分離されたプレイヤオブジェクト200の表示態様は、連結時の表示態様から変化され、当初の無種類のプレイヤオブジェクト200を示す画像で表示される。したがって、分離後に操作可能であるプレイヤオブジェクト200をプレイヤに容易に識別させることができるとともに、操作可能なオブジェクトが当初のプレイヤオブジェクト200のみになったことをプレイヤに容易に知らしめることができる。
【0080】
また、分離されると、プレイヤオブジェクト200の能力は、連結時の能力から変化され、たとえば初期状態の能力に戻される。このように、分離の前後で能力を変化させるようにしているので、ゲームの戦略性を高めることができる。
【0081】
図4に戻って、データ記憶領域72の記憶領域92には、ゲーム画面を生成するための画像データが記憶されている。プレイヤオブジェクト200の初期状態および連結状態(種類ごと)等を示す画像データや、各種類の敵オブジェクト202の初期状態、連結状態および失神状態等を示す画像データも記憶されている。
【0082】
記憶領域94にはプレイヤオブジェクトデータが記憶されている。プレイヤオブジェクト200の制御および表示等に関する情報の初期値が記憶される。たとえば、種類、能力、HP(ヒットポイント:体力ないし寿命)、画像指定、ゲーム空間における位置、向き等の初期値を含む。
【0083】
記憶領域96には敵オブジェクトデータが記憶されている。複数種類の敵オブジェクト202の制御および表示等に関する情報の初期値が記憶される。たとえば、種類、能力、HP、画像指定などの初期値を含む。さらに、弱点が設定される敵オブジェクト202には、当該当り有効部分を示すデータ(位置や領域等)も記憶される。
【0084】
記憶領域98には連結能力テーブルが記憶される。連結能力テーブルには、敵オブジェクト202の種類の連結パターンに対応付けて、プレイヤオブジェクト200に付与される能力が登録されている。具体的には、図5に示すように、種類および連続連結数(レベル)を含む連結パターンと、攻撃方法および攻撃力を含む能力とが対応付けられている。たとえば、種類が「虫」であり連続連結数が「1」の場合には、この連結状態のプレイヤオブジェクト200の攻撃方法として「短い糸」が設定され、攻撃力として「小」(小さいダメージを与える値)が設定される。種類が「虫」で連続連結数が「2」の場合には、「中くらいの糸」による攻撃方法および「中」ダメージを与える攻撃力が設定される。また、種類が「虫」で連続連結数が「3」の場合には、攻撃方法「長い糸」および攻撃力「大」が設定される。連続連結数は、連続して連結された同種の敵オブジェクト202の数を意味する。したがって、上述のように、同種の敵オブジェクト202が連続するように連結することによって、プレイヤオブジェクト200に付与される能力をレベルアップすることができる。なお、プレイヤオブジェクト200に付与される能力のレベルアップは、同種の敵オブジェクト200の連続連結数だけに限らず、例えば、複数種の敵オブジェクト200を所定の順序で連結することによって実行されてもよい。この場合、連結能力テーブルには、複数種類の敵オブジェクトの連結順序を示す連結パターンに対応付けて、プレイヤオブジェクト200に付与される能力が登録される。
【0085】
図4に戻って、記憶領域100には目標連結パターンが記憶される。このデータは、複数種類の敵オブジェクト202の連結の順序または組合せを示す。この目標連結パターンと一致するまたは満足する特定の連結パターンを有するプレイヤオブジェクト200が形成されたとき、ゲーム処理が変化されてゲームクリアとなる。このように、連結する複数の敵オブジェクト202の種類の連結パターンに応じてゲーム処理を変化させるようにしているので、ゲームの戦略性をより高めることができるとともに、連結パターンを試行錯誤するといったパズルゲームの楽しさを与えることができる。また、この実施例では、連結パターンに応じた能力設定が行われるので、たとえばゲームの状況に合わせて適切な能力をプレイヤオブジェクト200に付与しつつゲームクリアを目指すといった、戦略性および興趣性の高いゲームを実現することができる。
【0086】
図6にはRAM48のメモリマップの一例が示される。なお、図6もメモリマップの一部を示しており、図示されたもの以外にも必要なデータが記憶される。
【0087】
記憶領域102には入力情報取得プログラムによって取得された入力情報が記憶される。入力情報は、マウス入力情報すなわちマウスカートリッジ36で検出されたこのゲーム装置10の移動情報(移動方向、移動量、移動速度等)を含む。また、入力情報は、操作スイッチ20の操作情報およびタッチパネル22で検出された操作情報を含む。
【0088】
記憶領域104には、プレイヤオブジェクト200の移動情報の履歴が記憶される。プレイヤオブジェクト200の移動情報は、マウス入力情報(すなわち、このゲーム装置10の移動情報)に基づいてプレイヤオブジェクト移動制御プログラムによって算出されたプレイヤオブジェクト200の移動方向、移動距離および移動速度等を含み、この移動情報の履歴が時刻(フレーム番号)に対応付けて記憶される。なお、この記憶領域104には、現フレームから遡って所定フレーム数分の移動情報が記憶される。
【0089】
記憶領域106には、プレイヤオブジェクト制御データが記憶される。プレイヤオブジェクト制御データは、プレイヤオブジェクト200のゲーム空間における位置(座標)、HP、種類、能力等の情報を含む。さらに、プレイヤオブジェクト200の連結状態情報も記憶され、この連結状態情報は、連結数(連結されている敵オブジェクト202の総数)、および連結順序(1番目の敵オブジェクト202の識別情報(または種類)、…、n番目の敵オブジェクト202の識別情報(または種類))等を含む。
【0090】
記憶領域108には、敵オブジェクト制御データが記憶される。敵オブジェクト制御データは、各敵オブジェクト202のゲーム空間における位置(座標)、HP、状態、失神時間等の情報を含む。状態は、当該敵オブジェクト202が単独であるか、またはプレイヤオブジェクト200のパーツ(連結ボディ)になっているかを示す。
【0091】
図11および図12には、このゲーム装置10のCPUコア34のゲーム動作の一例が示される。処理を開始すると、CPUコア34は、まずステップS1で、マウスカートリッジ36からマウス入力情報を取得してRAM48の記憶領域102に記憶する。また、操作スイッチ20の操作情報およびタッチパネル22の操作情報をI/F回路54を介して取得して記憶領域102に記憶する。
【0092】
次に、ステップS3で、CPUコア34は、入力情報(この実施例ではマウス入力情報)に基づいてプレイヤオブジェクト200の移動方向、移動距離および移動速度等を算出する。続いて、ステップS5で、CPUコア34は、プレイヤオブジェクト200の移動情報の履歴をRAM48の記憶領域104に記憶する。つまり、ステップS3で算出した移動方向、距離および速度等を含む移動情報を記憶領域104に追加記憶する。
【0093】
続いて、ステップS7で、CPUコア34は現在位置および移動情報等に基づいてプレイヤオブジェクト200の位置(座標)を算出し、その座標を記憶領域106の位置情報に記憶して当該位置情報を更新する。なお、プレイヤオブジェクト200の向きも算出および更新される。
【0094】
そして、ステップS9で、CPUコア34は分離処理を実行する。この分離処理では、複数のパーツによって形成された、つまり、連結状態にあるプレイヤオブジェクト200を分離するための処理が行われる。この分離処理の動作の一例は図15に示されるが、この実施例では連結後に分離がなされるので、その説明は連結処理の後に行う。
【0095】
ステップS9を終了すると、ステップS11で、CPUコア34は、プレイヤオブジェクト200の位置に基づいて、画面表示位置を設定する。この実施例では、プレイヤオブジェクト200は常時画面中央に表示されるようにしているので、プレイヤオブジェクト200が画面中央になるように表示位置(ゲーム空間の表示範囲)が算出される。
【0096】
ステップS13では、CPUコア34は敵オブジェクト移動処理を実行し、ゲーム空間内に存在する全ての敵オブジェクト202の位置(座標)等を算出して、記憶領域108の各位置情報を更新する。
【0097】
続いて、ステップS15で、CPUコア34は、プレイヤオブジェクト200の位置情報および敵オブジェクト202の位置情報に基づいて、プレイヤオブジェクト200と敵オブジェクト202の当り判定処理を実行する。そして、ステップS17で、CPUコア34は、判定の結果、プレイヤオブジェクト200といずれかの敵オブジェクト202とが当たったと判定されたか否かを判断する。
【0098】
ステップS17で“YES”であれば、CPUコア34は、ステップS19で連結処理を実行する。この連結処理では、接触した敵オブジェクト202が失神状態の場合には、プレイヤオブジェクト200と当該敵オブジェクト202とが連結される。一方、接触した敵オブジェクト202が失神状態でない場合において失神条件が満足されていると判定されるときには、当該敵オブジェクト202の状態が失神状態に変化される。この連結処理の動作の一例は後述する図13および図14に示される。
【0099】
ステップS19を終了すると、CPUコア34は、ステップS21で、連結パターンは目標パターンであるか否かを判定する。具体的には、CPUコア34は、記憶領域106の連結状態情報と記憶領域100の目標連結パターンとに基づいて、敵オブジェクト202の種類の連結パターンが目標連結パターンと一致したか否かを判定する。ステップS21で“YES”であれば、つまり、ゲームクリア条件が満足された場合には、CPUコア34は、連結、攻撃、分離等の流れからゲーム処理を変化させて、ステップS23でゲームクリア処理を実行し、このゲーム処理を終了する。ゲームクリア処理では、例えば、その後のゲーム進行において、次のステージに進むことができたり、隠しステージに進むことができる等、その後のゲーム処理に変化を与えるような処理が行われる。なお、ステップS21で“NO”の場合には、ゲームクリア条件が満足されていないので、ゲームを続行すべく、処理は図12のステップS31に進む。
【0100】
また、ステップS17で“NO”であれば、つまり、プレイヤオブジェクト200と敵オブジェクト202とが衝突していない場合には、CPUコア34は、ステップS25で、プレイヤオブジェクト200の状態が連結状態であるか否かを記憶領域106の連結状態情報に基づいて判断する。ステップS25で“YES”であれば、つまり、プレイヤオブジェクト200が連結状態である場合には、CPUコア34は、ステップS27で攻撃操作が行われたか否かを記憶領域102の操作情報に基づいて判断する。この実施例では、プレイヤオブジェクト200が連結状態である場合にはたとえばAボタン20dの操作によって攻撃が可能であるので、ステップS25およびS27でこの攻撃可否判定を行っている。
【0101】
ステップS27で“YES”であれば、CPUコア34は、ステップS29でプレイヤオブジェクト攻撃処理を実行する。これによって、プレイヤオブジェクト200は、設定された能力に従った攻撃を行う。プレイヤオブジェクト200には、後述する連結処理で敵オブジェクト202との連結によって能力が与えられるので、図9に示したように、当該能力に従った攻撃方法および攻撃力の攻撃が発動される。攻撃が敵オブジェクト202に命中したときには、当該敵オブジェクト202に、攻撃方法および攻撃力に応じたダメージが与えられてそのHPから減算される。HPが0になった敵オブジェクト202はゲーム空間から消滅され、当該敵オブジェクト202の制御データは記憶領域108から削除される。なお、HPが0になった敵オブジェクト202をゲーム空間から消滅させずに所定の状態(失神状態)に変化させるようにしてもよい。ステップS29を終了すると、処理は図12のステップS31へ進む。また、ステップS27で“NO”の場合もしくはステップS25で“NO”の場合には、処理はそのままステップS31へ進む。
【0102】
図12のステップS31では、CPUコア34は、敵オブジェクト攻撃処理を実行する。これによって、ゲーム空間内の敵オブジェクト202が必要に応じて攻撃を行う。敵オブジェクト202の攻撃も、その能力つまり攻撃方法および攻撃力に基づいて実行され、プレイヤオブジェクト200に命中したときには、ダメージが与えられてプレイヤオブジェクトのHPが減少する。続くステップS33では、CPUコア34は、プレイヤオブジェクト200のHPがゼロになったか否かを判断し、“YES”であれば、ステップS35でゲームオーバ処理を実行してこのゲーム処理を終了する。
【0103】
一方、ステップS33で“NO”であれば、CPUコア34は、ステップS37で、プレイヤオブジェクト200は敵の攻撃でダメージを受けたか否かを判断する。ステップS37で“YES”であれば、続くステップS39で、CPUコア34はプレイヤオブジェクト200の状態が連結であるか否かを記憶領域106の連結状態情報に基づいて判断する。この実施例では、連結状態にあるプレイヤオブジェクト200がダメージを受けたときには、連結が解除されるように予め決めているので、ステップS37およびS39では、この連結解除判定を行っている。
【0104】
ステップS39で“YES”であれば、CPUコア34は、ステップS41で、プレイヤオブジェクト200の連結状態、種類および能力を初期化する。プレイヤオブジェクト200が敵オブジェクト202と連結された場合、後述する連結処理において記憶領域106の連結状態、種類、能力等に関する情報が変更されているので、これら情報を記憶領域94の初期値に戻す。
【0105】
また、ステップS43で、CPUコア34は、連結されていた各敵オブジェクト202の状態を失神に設定する。つまり、この実施例では、連結されていた各敵オブジェクト202がプレイヤオブジェクト200から分離される場合には、失神状態に戻すように予め決めているので、記憶領域108のうち該当する敵オブジェクト202の状態情報を失神状態に変更する。また、フロー図では省略しているが、このとき、失神状態に戻した各敵オブジェクト202の失神時間の計測処理を開始する。これによって、記憶領域108の該当する敵オブジェクト202の失神時間情報は、一定時間(たとえば1フレーム)ごとに更新される。
【0106】
さらに、ステップS45で、CPUコア34は、GPU50またはGPU52を用いて、プレイヤオブジェクト200を初期状態の画像データによって、連結されていた各敵オブジェクト202を失神状態の画像データによって、VRAM58またはVRAM60に描画する。したがって、LCDコントローラ56によって画面表示の更新がなされると、連結が解除されて初期状態に戻ったプレイヤオブジェクト200と失神状態に戻った各敵オブジェクト202とを含むゲーム画面がLCD12またはLCD14に表示される。
【0107】
ステップS45を終了すると、または、ステップS37もしくはS39で“NO”の場合には、CPUコア34は、ステップS47で、失神状態の敵オブジェクト202の失神時間が所定の閾値以上になったか否かを記憶領域108の各敵オブジェクト202の失神時間情報に基づいて判断する。この実施例では、敵オブジェクト202の失神状態は一定時間に限るように予め決めているので、このステップS47で失神解除条件の判定を行っている。
【0108】
ステップS47で“YES”であれば、つまり、一定時間失神していた敵オブジェクト202が存在する場合には、CPUコア34は、ステップS49で該当する各敵オブジェクト202の状態の初期化を行って、記憶領域108の該当する各敵オブジェクト202の状態情報に単独を示す初期情報を記憶する。また、ステップS51で、CPUコア34は、GPU50または52を用いて、該当する各敵オブジェクト202をそれぞれの初期状態画像データによってVRAM58またはVRAM60に描画する。したがって、LCDコントローラ56によって画面表示の更新がなされると、該当する各敵オブジェクト202が初期状態でLCD12またはLCD14に表示される。
【0109】
ステップS51を終了し、または、ステップS47で“NO”である場合には、処理は図11のステップS1に戻る。このようにして、ゲームクリア条件(S21)またはゲームオーバ条件(S33)等が満たされたと判定されるまでは、一定時間(1フレーム)ごとに図11および図12のゲーム処理が繰り返し実行されてゲームが進行される。
【0110】
図11のステップS19の連結処理の動作の一例が図13および図14に示される。連結処理を開始すると、まず、ステップS61で、CPUコア34は、当たった敵オブジェクト202の状態が失神であるか否かを、敵オブジェクト制御データ記憶領域108に記憶された当該敵オブジェクト202の状態情報に基づいて判定する。
【0111】
ステップS61で“NO”であれば、つまり、図7に示すように失神状態にない敵オブジェクト202に接触した場合には、CPUコア34は、ステップS63で当該敵オブジェクト202は弱点を有しているか否かを、記憶領域96に記憶された当該敵オブジェクト202の弱点情報に基づいて判定する。ステップS63で“YES”であれば、CPUコア34は、続くステップS65で、当該敵オブジェクト202の当り有効部分に対する当りであったか否かを記憶領域96の当該当り有効部分情報に基づいて判定する。ステップS65で“YES”であれば、つまり、弱点を有する敵オブジェクト202の弱点に当たった場合には、処理はステップS67へ進む。また、ステップS63で“NO”の場合、つまり、弱点を有しない敵オブジェクト202に当たった場合には、そのままステップS67へ進む。
【0112】
なお、ステップS65で“NO”の場合、つまり、弱点を有する敵オブジェクト202の弱点以外の部分に当たった場合には、失神条件が満足されないので、この連結処理を終了して図11のステップS21へ戻る。
【0113】
ステップS67では、CPUコア34は、当該敵オブジェクト202の種類がプレイヤオブジェクト200に対して失神可能であるか否かを上述したROM28aのデータ記憶領域72に記憶されている相性情報に基づいて判定する。ステップS67で“YES”であれば、つまり、相性のよい種類の敵オブジェクト202との当りである場合には、ステップS69へ進む。なお、ステップS67で“NO”の場合には、失神条件が満足されないので、この連結処理を終了して図11のステップS21へ戻る。
【0114】
続くステップS69で、CPUコア34は、プレイヤオブジェクト200の移動速度が所定の閾値以上であるか否かを判定する。ステップS69で“NO”であれば、つまり、プレイヤオブジェクト200がゆっくりと敵オブジェクト202に衝突した場合には、失神条件が満足されないので、この連結処理を終了し図11のステップS21へ戻る。
【0115】
一方、ステップS69で“YES”であれば、つまり、プレイヤオブジェクト200が素早い移動で敵オブジェクト202に衝突した場合には、失神条件が満足されたので、当該敵オブジェクト202を失神させる。つまり、CPUコア34は、ステップS71で記憶領域108の当該敵オブジェクト202の状態情報を失神に設定する。なお、図13では省略されるが、失神状態に変更するとともに、この敵オブジェクト202の失神時間の計測処理を開始する。
【0116】
そして、ステップS73で、CPUコア34は、当該敵オブジェクト202を失神状態を示す画像データを用いて描画する。したがって、LCDコントローラ56によって画面更新されると、図7の下段に示したように、失神状態の敵オブジェクト202が画面に表示されることとなる。ステップS73を終了すると、この連結処理を終了して図11のステップS21へ戻る。
【0117】
一方、ステップS61で“YES”であれば、つまり、図8の上段に示したように失神状態の敵オブジェクト202と接触した場合には、当該敵オブジェクト202とプレイヤオブジェクト200とを連結すべく、処理は図14のステップS75へ進む。
【0118】
図14のステップS75では、CPUコア34は、プレイヤオブジェクト200の状態が単独であるか否かを記憶領域106の連結状態情報に基づいて判定する。ステップS75で“YES”であれば、つまり、未連結状態のプレイヤオブジェクト200が敵オブジェクト202と接触した場合には、CPUコア34は、ステップS77で、記憶領域106のプレイヤオブジェクト200の連結状態情報の1番目の領域に当該敵オブジェクト202を示す識別情報(または種類)を記憶する。なお、図14では省略しているが、さらに連結数を示す情報として「1」を記憶する。
【0119】
続いて、ステップS79で、CPUコア34は、プレイヤオブジェクト200の種類を当該敵オブジェクト202と同一種類に設定する。つまり、CPUコア34は、記憶領域96の当該敵オブジェクト202の種類情報を参照して、当該種類を記憶領域106のプレイヤオブジェクト200の種類情報として記憶する。
【0120】
さらに、ステップS81で、CPUコア34は、プレイヤオブジェクト200の能力を当該敵オブジェクト202の種類に対応する能力に設定する。つまり、CPUコア34は、記憶領域98の連結能力テーブルを参照して、敵オブジェクト202の種類に対応する連結数1の能力(攻撃方法および攻撃力等)を、プレイヤオブジェクト200の能力情報として記憶領域106に記憶する。
【0121】
また、ステップS83で、CPUコア34は、当該敵オブジェクト202の状態情報に連結ボディを設定し、つまり、記憶領域108の当該敵オブジェクト202の状態情報に連結ボディを示す情報を記憶する。なお、図14では省略されるが、当該敵オブジェクト202の失神時間計測を終了し、失神時間を示す情報をクリアする。
【0122】
そして、ステップS85で、CPUコア34は、当該敵オブジェクト202の連結されたプレイヤオブジェクト200を描画する。したがって、LCDコントローラ56によって画面が更新されると、図8の中段に示すように、接触した敵オブジェクト202と同じ種類でありかつ当該敵オブジェクト202が後部等に連結されたプレイヤオブジェクト200が画面に表示されることとなる。ステップS85を終了すると、この連結処理を終了し図11のステップS21へ戻る。
【0123】
一方、ステップS75で“NO”であれば、つまり、プレイヤオブジェクト200が連結状態にある場合には、CPUコア34は、ステップS87で、記憶領域106に記憶されている連結数が所定の閾値未満であるか否かを判定する。この実施例では、敵オブジェクト202の連結数に上限を設けているので、このステップS87で最大連結数未満であることを確認しているが、他の実施例ではステップS87の処理はなくてもよい。ステップS87で“NO”である場合、つまり、連結数が最大値に達している場合には、そのままこの連結処理を終了し図11のステップS21に進む。
【0124】
ステップS87で“YES”の場合、つまり、最大連結数に達していない場合には、CPUコア34は、ステップS89で、記憶領域106のプレイヤオブジェクト200の連結状態情報に当該敵オブジェクト202を追加する。具体的には、CPUコア34は、連結数を更新し、当該更新された連結数に対応する順序の位置に当該敵オブジェクト202を示す識別情報(または種類)を記憶する。
【0125】
そして、ステップS91で、CPUコア34は、当該敵オブジェクト202が既に連結されている全ての敵オブジェクト202と同種であるか否かを判定する。ステップS91で“YES”であれば、CPUコア34は、ステップS93で、プレイヤオブジェクト200の能力をレベルアップする。つまり、CPUコア34は、記憶領域98の連結能力テーブルに従って、現在の連結パターンに対応する能力を読み出し、記憶領域106のプレイヤオブジェクト200の能力情報を更新する。このようにして、連結される敵オブジェクト202の種類の連結パターンに応じて、プレイヤオブジェクト200の能力が変化される。なお、ステップS91で“NO”の場合には、つまり、同一種類の敵オブジェクト202の連結ではない場合には、この実施例では能力レベルアップを行わないので、そのままステップS95へ進む。
【0126】
続いて、ステップS95では、CPUコア34は、記憶領域108の当該敵オブジェクト202の状態情報に連結ボディを示す情報を記憶する。
【0127】
そして、ステップS97で、CPUコア34は、当該敵オブジェクト202が末尾に連結されたプレイヤオブジェクト200を描画する。したがって、LCDコントローラ56によって画面が更新されると、接触した敵オブジェクト202が最後尾に連結されたプレイヤオブジェクト200が画面に表示されることとなる(図9参照)。ステップS97を終了すると、この連結処理を終了し図11のステップS21へ戻る。
【0128】
図11のステップS9の分離処理の動作の一例が図15に示される。分離処理を開始すると、CPUコア34は、まずステップS111で、プレイヤオブジェクト200の状態が連結であるか否かを、記憶領域106の連結状態情報に基づいて判断する。ステップS111で“NO”であれば、つまり、プレイヤオブジェクト200が単独状態である(連結数が0である)場合には、分離すべき敵オブジェクト202がないので、この分離処理を終了し図11のステップS11に戻る。
【0129】
一方、ステップS111で“YES”であれば、つまり、プレイヤオブジェクト200が連結状態にある場合には、移動状態判定を行う。すなわち、CPUコア34は、まずステップS113で、プレイヤオブジェクト200の移動速度が所定の閾値以上であるか否かを判定する。ステップS113で“YES”であれば、つまり、ゲーム装置10が急速に移動されることによってこの分離条件が満足された場合には、ステップS125へ進み、分離のための処理を実行する。
【0130】
ステップS113で“NO”の場合には、他の移動状態判定、つまり、分離条件(揺さぶり)の判定を行う。すなわち、CPUコア34は、ステップS115で、プレイヤオブジェクト200の移動方向は直前の移動方向と一定値以上の角度をなすか否かを、記憶領域104に記憶された移動情報のうち移動方向の履歴に基づいて判断する。ステップS115で“NO”の場合には、ゲーム装置10が揺さぶられていないので、この分離処理を終了し図11のステップS11へ戻る。
【0131】
一方、ステップS115で“YES”であれば、CPUコア34は、ステップS117で、RAM48に記憶されているカウンタMの値をインクリメント(1を加算)するとともに、現時刻(フレーム番号)を記憶する。なお、カウンタMの初期値は0であり、カウンタMの値は、初期設定時またはリセット時の時刻(フレーム番号)とともにRAM48に記憶されている。
【0132】
続いて、ステップS119で、CPUコア34は、カウンタMの値が所定値以上であるか否かを判断する。つまり、一定角度以上の移動方向の変化が所定回数以上検出されたか否かを判定する。この実施例では、カウンタMを判定するための閾値はたとえば6に設定され、つまり、ゲーム装置10が少なくとも3往復の移動をしたか否かを判断する。ステップS119で“NO”の場合には、つまり、ゲーム装置10が揺さぶられているとは見なされない場合にはこの分離処理を終了する。
【0133】
一方、ステップS119で“YES”であれば、つまり、一定角度以上の移動方向変化が少なくとも所定回数(この実施例では6回)検出された場合には、CPUコア34は、ステップS121で、所定回数(この実施例では3回)の往復にかかった時間が所定の閾値以下であるか否かを判定する。具体的には、現時刻のカウンタMの値から所定値(この実施例では6−1=5)差し引いた値に対応付けて記憶された時刻と現時刻との差分が所定値(たとえば90フレーム)以下であるか否かを判断する。ステップS121で“NO”であれば、つまり、ゲーム装置10が揺さぶられているとは見なされない場合には、この分離処理を終了する。
【0134】
一方、ステップS121で“YES”であれば、つまり、ゲーム装置10が揺さぶられることによって分離条件が満足された場合には、CPUコア34はステップS123でRAM48のカウンタMをリセットする。また、カウンタMの各値に対応付けて記憶されていた時刻をクリアするとともに、カウンタMの初期値0に対応付けて現時刻を記憶する。
【0135】
続いて、ステップS125で、CPUコア34は、記憶領域106に記憶されているプレイヤオブジェクト200の連結状態、種類および能力に関する情報を初期化する。また、ステップS127では、CPUコア34は、連結されていた各敵オブジェクト202の状態情報を失神に設定する。また、図15では省略しているが、失神状態に戻した各敵オブジェクト202の失神時間の計測処理を開始する。さらに、ステップS129で、CPUコア34は、プレイヤオブジェクト200を初期状態の画像で、連結されていた各敵オブジェクト202を失神状態の画像で描画する。したがって、LCDコントローラ56によって画面が更新されると、図10に示したように、初期状態の単独のプレイヤオブジェクト200と失神状態の各敵オブジェクト202とを含むゲーム画面が表示される。ステップS129を終了すると、この分離処理を終了して図11のステップS11に戻る。
【0136】
この実施例によれば、プレイヤオブジェクト200の移動状態が所定の条件を満たしたとき、プレイヤオブジェクト200を複数のパーツに分離するようにしたので、プレイヤオブジェクト200を直感的な操作で分離させることができるとともに、複数のパーツによって形成されたプレイヤオブジェクト200の操作に面白みを与えることができる。
【0137】
なお、上述の実施例では、マウスカートリッジ36の入力情報に基づいてプレイヤオブジェクト200の移動を制御するようにしていたが、他の実施例では、タッチパネル22の操作情報に基づいてプレイヤオブジェクト200の移動を制御するようにしてよい。たとえば、マウスカートリッジ36で検出される移動方向、移動距離、移動速度に代えて、タッチパネル22上の入力軌跡の向き、長さ、単位時間当たりの移動距離に基づいて、プレイヤオブジェクト200を移動させるようにしてよい。この場合にも、マウスカートリッジ36の場合と同様に、直感的な操作でプレイヤオブジェクト200の連結や分離を制御することができる。
【0138】
また、他の実施例では、ゲーム装置10またはカートリッジ36等に加速度センサを設けて、この加速度センサ情報に基づいて検出されるゲーム装置10の姿勢ないし動き等、あるいはこれらを基にしたプレイヤオブジェクト200の移動状態等が所定条件を満足したと判定されるときに、プレイヤオブジェクト200を複数のパーツ200、202に分離するようにしてよい。
【図面の簡単な説明】
【0139】
【図1】この発明の一実施例のゲーム装置の一例を示す外観図である。
【図2】図1実施例の電気的な構成の一例を示すブロック図である。
【図3】図1実施例のゲーム装置の移動に応じたプレイヤオブジェクトの移動の概要を示す図解図である。
【図4】図1実施例のメモリカードのROMのメモリマップの一例を示す図解図である。
【図5】連結能力テーブルの一例を示す図解図である。
【図6】図1実施例のゲーム装置のRAMのメモリマップの一例を示す図解図である。
【図7】ノンプレイヤオブジェクトを失神状態に変化させる場面を示す図解図である。
【図8】ノンプレイヤオブジェクトを連結する場面を示す図解図である。
【図9】連結されたノンプレイヤオブジェクトの種類に応じて異なる能力を付与されたプレイヤオブジェクトの一例を示す図解図である。
【図10】複数のパーツによって形成されたプレイヤオブジェクトが分離する場面を示す図解図である。
【図11】図1実施例のゲーム装置の動作の一例の一部を示すフロー図である。
【図12】図11の続きを示すフロー図である。
【図13】図11の連結処理の動作の一例の一部を示すフロー図である。
【図14】図13の続きを示すフロー図である。
【図15】図11の分離処理の動作の一例を示すフロー図である。
【符号の説明】
【0140】
10 …ゲーム装置
12,14 …LCD
20 …操作スイッチ
22 …タッチパネル
28 …メモリカード
28a …ROM
34 …CPUコア
36 …マウスカートリッジ
36c …ロジック回路
36d …光学式センサ
48 …RAM
50,52 …GPU
54 …I/F回路
56 …LCDコントローラ
58,60 …VRAM
200 …プレイヤオブジェクト
202 …敵オブジェクト
【技術分野】
【0001】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、複数のパーツによって形成されたプレイヤオブジェクトを分離する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
特許文献1には、複数のパーツからなるプレイヤオブジェクトを分離するようなゲームの一例が開示されている。具体的には、プレイヤは、プレイヤオブジェクトとしての球を転がして物体に上手く衝突させ、衝突した物体をその表面に結合させて球を雪ダルマ式に巨大化させていく。球より小さい物体は、衝突によって球に結合され一体となって表示される。反対に、球より大きい物体は障害物として作用し、衝突すると、一部の物体の結合が解除されてその一部の物体が球から分離する。
【特許文献1】特開2003−251076号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来技術では、物体間の衝突において生じる物体の崩壊などの分離現象が表現されるのであるが、複数のパーツの結合によって一体となったプレイヤオブジェクトが単に他の物体との衝突によって分離するだけでは、プレイヤの操作感の面白さや、ゲームとしての面白みに欠ける懸念がある。
【0004】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【0005】
この発明の他の目的は、複数のパーツによって形成されたプレイヤオブジェクトを直感的な操作で分離させることができる、ゲームプログラムおよびゲーム装置を提供することである。
【0006】
この発明のその他の目的は、複数のパーツによって形成されたプレイヤオブジェクトの操作に面白みを与えることができる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0007】
第1の発明(請求項1の発明)は、プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置のゲームプログラムである。このゲームプログラムは、ゲーム装置のプロセサを、移動制御手段、移動状態判別手段、および分離手段として機能させる。移動制御手段は、入力手段からの入力情報に基づいてプレイヤオブジェクトの移動を制御する。移動状態判別手段は、プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する。分離手段は、移動状態判別手段によって所定条件が満たされたと判定されるとき、プレイヤオブジェクトを複数のパーツに分離する。
【0008】
請求項1の発明では、ゲームプログラムによって、プレイヤオブジェクト(200:実施例で相当する参照符号。以下同じ。)を分離するゲームが実行される。ゲーム装置(10)は、入力手段(20、22、36)および表示手段(12、14)を含み、入力手段はプレイヤ操作に応じた入力情報を入力し、表示手段はプレイヤオブジェクトを含むゲーム画面を表示する。プレイヤオブジェクトは、複数のパーツによって形成されている。たとえば、後述される実施例では、敵オブジェクト(202)が連結されることによって、プレイヤオブジェクトが形成されている。このゲームプログラムは、ゲーム装置のプロセサ(34)を、移動制御手段、移動状態判別手段、および分離手段として機能させる。移動制御手段(S3、S7)は、入力情報に基づいてプレイヤオブジェクトの移動を制御する。移動状態判別手段(S113、S115−S121)は、プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する。所定条件は、たとえば、プレイヤオブジェクトの移動速度が所定の閾値以上であることである。また、所定条件は、たとえば、一定角度以上の移動方向の変化が一定時間内に所定回数検出されることである。分離手段(S125−S129)は、移動状態が所定条件を満足したと判定されるとき、プレイヤオブジェクトを複数のパーツに分離する。
【0009】
請求項1の発明によれば、入力情報に基づいて制御されるプレイヤオブジェクトの移動状態が所定の条件を満たしたとき、プレイヤオブジェクトを複数のパーツに分離するので、プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現することができる。また、移動状態に応じて分離されるのでプレイヤオブジェクトの操作に面白みを与えることができ、プレイヤに慎重な操作を要求するような新規なゲームを提供することができる。
【0010】
請求項2の発明は、請求項1の発明に従属し、移動制御手段は、プレイヤオブジェクトの移動速度を算出する移動速度算出手段を含み、所定条件は、移動速度算出手段によって算出された移動速度が所定値以上であることである。
【0011】
請求項2の発明では、移動制御手段の移動速度算出手段(S3)は、プレイヤオブジェクトの移動速度を算出する。移動状態判別手段(S113)は、プレイヤオブジェクトの移動速度が所定値以上であるか否かを判別する。したがって、たとえば、プレイヤオブジェクトが急速に移動するような入力操作があったときには、プレイヤオブジェクトが分離される。このように、プレイヤオブジェクトを素早く動かすといったような直感的な操作でプレイヤオブジェクトを複数のパーツに分離することができるし、プレイヤオブジェクトの操作に面白さを与えることができる。
【0012】
請求項3の発明は、請求項1の発明に従属し、移動制御手段は、プレイヤオブジェクトの移動方向を算出する移動方向算出手段を含み、所定条件は、移動方向算出手段によって算出された移動方向と直前の移動方向との角度差が一定値以上となった事象が一定時間内に一定回数以上検出されたことである。
【0013】
請求項3の発明では、移動制御手段の移動方向算出手段(S3)は、プレイヤオブジェクトの移動方向を算出する。移動状態判別手段(S115−S121)は、直前の移動方向からの変化が一定角度以上となった事象が一定時間内に一定回数以上生じたか否かを判定する。したがって、たとえば、プレイヤオブジェクトが揺さぶられるような入力操作があったときには、プレイヤオブジェクトが分離される。このように、プレイヤオブジェクトを揺さぶるといったような直感的な操作でプレイヤオブジェクトを複数のパーツに分離することができるし、プレイヤオブジェクトの操作に面白さを与えることができる。
【0014】
請求項4の発明は、請求項1ないし3の発明のいずれかに従属し、移動制御手段は、分離手段によって分離された複数のパーツのうちの1のパーツをプレイヤオブジェクトとして入力手段からの入力情報に基づいてその移動を制御し、残りの他のパーツをノンプレイヤオブジェクトとしてその移動を制御する。
【0015】
請求項4の発明では、分離後には、複数のパーツのうちの1のパーツがプレイヤオブジェクトとして扱われ、当該プレイヤオブジェクトの移動は入力情報に基づいて制御される。一方、残りの他のパーツがノンプレイヤオブジェクトとして扱われ、ノンプレイヤオブジェクトの移動は入力情報によらずに制御される。したがって、プレイヤオブジェクトがその移動状態に応じて分離されても、プレイヤの操作が煩雑になることはなく、分離前と変わらずプレイヤオブジェクトを制御することができる。
【0016】
請求項5の発明は、請求項4の発明に従属し、プロセサを、分離手段によって分離された複数のパーツのうちのプレイヤオブジェクトとなる1のパーツの表示態様を変化させる表示態様変化手段としてさらに機能させる。
【0017】
請求項5の発明では、表示態様変化手段(S129)によって、分離された複数のパーツのうちプレイヤオブジェクトのとなる1のパーツの表示態様が変化される。したがって、分離後のプレイヤオブジェクトを容易に識別することができる。
【0018】
請求項6の発明は、請求項1ないし5の発明のいずれかに従属し、プロセサを、分離手段によって分離されたプレイヤオブジェクトの能力を変化させる能力変化手段としてさらに機能させる。
【0019】
請求項6の発明では、能力変化手段(S125)は、分離されたプレイヤオブジェクトの能力を変化させる。したがって、分離前と分離後とでプレイヤオブジェクトの能力を変化させることができるので、ゲームの戦略性を高めることができる。
【0020】
第2の発明(請求項7の発明)は、プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置ある。このゲーム装置は、移動制御手段、移動状態判別手段、および分離手段を備える。移動制御手段は、入力手段からの入力情報に基づいてプレイヤオブジェクトの移動を制御する。移動状態判別手段は、プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する。分離手段は、移動状態判別手段によって所定条件が満たされたと判定されるとき、プレイヤオブジェクトを複数のパーツに分離する。
【0021】
請求項7の発明は、第1の発明のゲームプログラムに対応するゲーム装置であり、上述の第1の発明と同様にして、プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現することができるとともに、プレイヤオブジェクトの操作に面白みを与えることができる。
【0022】
請求項8の発明は、請求項7の発明に従属し、入力手段は、このゲーム装置の移動情報を入力情報として検出するマウス式入力装置を含み、移動制御手段は、マウス式入力装置によって検出された移動情報に基づいてプレイヤオブジェクトの移動を制御する。
【0023】
請求項8の発明では、マウス式入力装置(36)によって、このゲーム装置の移動情報が入力情報として検出される。移動制御手段は、マウス式入力装置によって検出されたこのゲーム装置の移動情報に基づいてプレイヤオブジェクトの移動を制御する。これによって、ゲーム装置自体の移動に応じてプレイヤオブジェクトを移動させることができるので、プレイヤは、極めて直感的な操作でプレイヤオブジェクトの移動状態を制御することが可能になる。したがって、ゲーム装置自体を移動させるという極めて直感的な操作でプレイヤオブジェクトを分離することができるし、プレイヤオブジェクトの操作に面白みを与えることができる。
【発明の効果】
【0024】
この発明によれば、複数のパーツによって形成されるプレイヤオブジェクトの移動状態が所定の条件を満たしたとき、当該プレイヤオブジェクトを複数のパーツに分離するようにした。したがって、プレイヤオブジェクトをバラバラに分離させるといった操作を直感的な操作で実現することができる。また、プレイヤオブジェクトの操作に面白みを与えることができ、また、プレイヤに慎重な操作を要求するような新規なゲームを提供することができる。
【0025】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0026】
図1を参照して、この発明の実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0027】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0028】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0029】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0030】
操作スイッチないし操作キー20は、方向指示スイッチ(十字スイッチ)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり上側ハウジング16aとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【0031】
方向指示スイッチ(方向キー)20aは、ディジタルジョイスティックとして機能し、操作対象の移動方向を指示するために用いられる。つまり、4つの押圧部の1つを操作することによって、プレイヤ(ユーザ)によって操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)やカーソル等を当該操作した部分に対応する方向に移動させることができる。
【0032】
なお、この実施例では、後述するように、プレイヤオブジェクトの移動は、方向指示スイッチ20aによらず、ゲーム装置10自体の移動によって制御される。
【0033】
スタートスイッチ20bは、プッシュボタンで構成され、ゲームの開始(再開)、や一時停止等のために用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【0034】
動作スイッチ(動作キー)20dすなわちAボタンは、プッシュボタンで構成され、移動方向以外の動作の指示のために用いられる。この実施例では、このAボタン20dの操作によって、プレイヤオブジェクトに攻撃を行わせることができる。
【0035】
なお、一般的には、Aボタン20dによれば、たとえばプレイヤオブジェクトに、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプする、切る等の任意の動作(アクション)をさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、メニュー選択の際には、カーソルの表示された、すなわち、選択状態にあるメニュー項目を決定して当該項目に対応する動作ないし処理を実行させることが可能である。
【0036】
動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、たとえばセレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。また、Bボタン20eも、Aボタン20dと同様に、プレイヤキャラクタの動作を指示するための動作キーとして使用され得る。
【0037】
動作スイッチ20L(Lボタン)および動作スイッチ20R(Rボタン)は、プッシュボタンで構成され、Lボタン20LおよびRボタン20Rは、上述の各動作スイッチ20d、20eと同じまたは別の操作に用いることができ、また、上述の各動作スイッチ20d、20eの補助的な操作に用いることができる。なお、上述のプッシュボタンは、キートップを押し下げることにより作動するスイッチとして構成されてよい。したがって、各スイッチを押し下げるという簡単な操作によって、動作指示等を行うことができる。
【0038】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり、叩いたりすることによって操作すると、スティック24等によって指示された(つまり、タッチされた)位置の座標を検出して、当該検出した座標を示す座標データを出力する。したがって、プレイヤはスティック24等でタッチパネル22を操作することによって、タッチ位置に対応する座標を入力することができる。
【0039】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度(操作面)も表示画面に対応して256dot×192dotとしてある。ただし、図1では、タッチパネル22を分かり易く示すために、タッチパネル22をLCD14と異なる大きさで示しているが、LCD14の表示画面の大きさとタッチパネル22の操作面の大きさとは同じである。なお、タッチパネル22の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。また、タッチパネル22は、他の実施例では、LCD12の上面に設けられてもよいし、LCD12およびLCD14の両方に設けられてもよい。
【0040】
スティック24は、この実施例では、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(穴ないし凹部)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0041】
また、ゲーム装置10は、ゲームプログラムおよびデータが予め記憶されるメモリカード(またはゲームカートリッジ)28を含む。このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは天面(上端)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するための第1コネクタ32(図2参照)が設けられている。したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア34(図2参照)がメモリカード28にアクセス可能となる。
【0042】
さらに、この実施例では、ゲーム装置10は入力手段の1つとしてマウスカートリッジ36を含む。マウスカートリッジ36のハウジングは、ゲーム装置10の下側ハウジング16bの裏面ないし下端に設けられる挿入口38に差し込まれる部分36aと下側ハウジング16bの裏面を覆う部分36bとを含む形状を有しており、ゲーム装置10に着脱自在である。図1では省略するが、挿入口38の奥部には、ハウジング36aの挿入方向先端部に設けられるコネクタ(図示せず)と接合するための第2コネクタ40(図2参照)が設けられている。したがって、マウスカートリッジ36の差込部分36aが挿入口38に差し込まれてマウスカートリッジ36が下側ハウジング16bに装着されると、コネクタ同士が接合され、ゲーム装置10のCPUコア34がマウスカートリッジ36にアクセス可能となる。マウスカートリッジ36の裏面には、光学式マウス(またはメカニカルマウス)に用いられるポジションセンサが設けられている。マウスカートリッジ36がゲーム装置10に装着されたとき、マウスカートリッジ36のポジションセンサはゲーム装置10の裏面(使用時には基本的に底面となる。)に配置される。したがって、このゲーム装置10がたとえば机や壁の表面上に置かれて使用されるとき、マウスカートリッジ36はこのゲーム装置10のマウス式入力装置として機能し、表面上におけるこのゲーム装置10の移動方向、移動量、移動速度のような移動情報を検出する。
【0043】
また、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部には、スピーカ42(図2参照)が設けられる。また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの下面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられてよい。
【0044】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板44を含み、この電子回路基板44にはCPUコア34等の回路コンポーネントが実装される。CPUコア34は、バス46を介して、上述の第1コネクタ32および第2コネクタ40に接続されるとともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出力インターフェイス回路(以下、「I/F回路」という。)54、およびLCDコントローラ56に接続される。
【0045】
第1コネコタ32には、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、第1コネクタ32と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア34は、ROM28aおよびRAM28bにアクセスすることができる。
【0046】
ROM28aは、ゲーム装置10で実行すべき仮想ゲームのためのゲームプログラム、ならびに、画像データ(キャラクタ画像、オブジェクト画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像、カーソル画像など)およびゲームに必要な音(音楽)を再生または出力するためのデータ(音データ)等のデータを記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データや結果データを記憶(セーブ)するために設けられる。フラッシュメモリなどの不揮発性メモリが使用されてよい。
【0047】
なお、ゲーム以外のアプリケーションが実行される場合、メモリカード28のROM28aには、当該アプリケーションについてのプログラム、ならびに当該アプリケーションの実行に必要なデータ(画像データおよび音データ等)が記憶される。
【0048】
第2コネクタ40には、マウスカートリッジ36が着脱自在に接続される。マウスカートリッジ36は、ロジック回路36cおよび光学式センサ36dを含む。図示は省略されるが、ロジック回路36cおよび光学式センサ36dは、バスを介して互いに接続されるとともに、第2コネクタ40と接合される図示しないコネクタと接続される。ロジック回路36cは、たとえば一定時間毎に光学式センサ36dからセンサ情報を取得する。光学式センサ36dは、たとえば赤外線発光素子およびイメージセンサを含む。ロジック回路36cは、光学式センサ36dで検出された赤外線画像に画像処理を施すことによって、このゲーム装置10自体の移動方向および量などの移動情報を検出し、当該移動情報(入力情報)をCPUコア34に与える。なお、光学式マウスではなく、ボールのX方向およびY方向の回転を検出するメカニカルマウスが使用されてもよい。
【0049】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア34は、メモリカード28のROM28aに記憶されたプログラム、画像データおよび音データ等をRAM48にロードし、当該プログラムに従って処理を実行する。また、CPUコア34は、ゲーム等の進行に応じて発生または取得されるデータ(ゲームデータやフラグデータ等)をRAM48に記憶しつつ処理を実行する。
【0050】
なお、プログラム、画像データおよび音データ等は、ROM28aから一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM48に記憶される。ただし、この実施例のように、固定的にプログラムおよびデータを記憶している記憶媒体をCPUコア34に直接接続可能なゲーム装置10の場合には、CPUコア34が当該記憶媒体に直接アクセスできるので、RAM48にプログラムやデータを転送して保持しなくてよい。また、RAM28bにデータが記憶されている場合には、当該データは必要に応じてRAM48に読み出される。
【0051】
GPU50およびGPU52はそれぞれ描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア34からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア34は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0052】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)58が接続され、GPU52には、第2のVRAM60が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM58および第2のVRAM60にアクセスして取得する。ただし、CPUコア42は、描画に必要な画像データをRAM48から読み出し、GPU50およびGPU52を介して第1のVRAM58および第2のVRAM60に書き込む。GPU50はVRAM58にアクセスして表示のためのゲーム画像データを作成し、その画像データをVRAM58の描画バッファに記憶する。GPU52はVRAM60にアクセスして描画のためのゲーム画像データを作成し、その画像データをVRAM60の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
【0053】
VRAM58およびVRAM60は、LCDコントローラ56に接続される。LCDコントローラ56はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア34の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ56は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。一方、レジスタ62のデータ値が「1」である場合には、LCDコントローラ60は、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0054】
なお、LCDコントローラ56は、VRAM58およびVRAM60から直接画像データを読み出すことができるし、あるいはGPU50およびGPU52を介してVRAM58およびVRAM60から画像データを読み出すこともできる。
【0055】
また、VRAM58およびVRAM60はRAM48に設けられてもよいし、あるいはその描画バッファおよびZバッファがRAM48に設けられてもよい。
【0056】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ42が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア34に入力される。また、タッチパネル22から出力される操作データ(座標データ)がI/F回路54を介してCPUコア34に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ42からその音を出力する。
【0057】
この実施例のゲーム装置10には上述のようにマウスカートリッジ36が設けられるので、たとえば机や壁の表面上においてこのゲーム装置10自体を移動させることによって、プレイヤはゲーム画面に対する操作ないし入力を行うことができる。このような入力によって、たとえば、仮想ゲーム空間におけるオブジェクトまたは画面上のカーソルを移動させるなど、ゲーム画面に変化を与えることができる。具体的には、この実施例では、図3に示すように、ゲーム装置10を机等の表面上に載せて移動させることによって、ゲーム装置10の移動方向に対応する方向に、ゲーム装置10の移動量に対応する距離をあるいは移動速度に対応する速度で、ゲーム空間においてプレイヤオブジェクト200を移動させることができる。なお、図3では、プレイヤオブジェクト200の表示位置が画面中央に固定されるので、ゲーム装置10の移動に応じて、背景がその逆方向にスクロールされている。また、プレイヤオブジェクト200は下画面(LCD14)ではなく上画面(LCD12)に表示されてもよい。
【0058】
図4から図6にはメモリマップの一例が示される。まず、図4には、メモリカード28のROM28aのメモリマップが示される。ROM28aはゲームプログラム記憶領域70およびデータ記憶領域72を含む。なお、図4はメモリマップの一部を示しており、ゲームプログラム記憶領域70およびデータ記憶領域72にはそれぞれ図中に明示されたもの以外にも必要なプログラムおよびデータが予め記憶されている。
【0059】
ゲームプログラム記憶領域70の記憶領域74には入力情報取得プログラムが記憶されている。このプログラムによって、たとえば、一定時間(1フレーム等)ごとに、操作スイッチ20、タッチパネル22およびマウスカートリッジ36からの入力情報が取得される。
【0060】
記憶領域76にはプレイヤオブジェクト移動制御プログラムが記憶されている。このプログラムによって、仮想ゲーム世界におけるプレイヤオブジェクト200の移動が制御される。この実施例では、上述のように、プレイヤオブジェクト200の移動は、マウスカートリッジ36からの入力情報に基づいて制御される。具体的には、マウスカートリッジ36から取得したこのゲーム装置10の移動情報(移動方向、量、速度等)に基づいて、プレイヤオブジェクト200の移動方向、移動距離、移動速度などの移動パラメータが算出されて、当該移動パラメータに基づいてプレイヤオブジェクト200の新たな位置(座標)や向き等が算出される。
【0061】
記憶領域78には敵オブジェクト移動制御プログラムが記憶されている。このプログラムによって、敵オブジェクト202(図7参照)などのノンプレイヤオブジェクトの移動が制御される。ノンプレイヤオブジェクトはプレイヤによって操作されないオブジェクトを意味する。なお、この実施例では、後述するように、敵オブジェクト202は、プレイヤオブジェクト200と連結されているときには、プレイヤオブジェクト200の一部として扱われる。
【0062】
記憶領域80には当り判定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200と敵オブジェクト202との当り判定が行われる。なお、敵オブジェクト202が弱点を有する場合には、敵オブジェクト202に当該弱点を示す当り有効部分が設定されているので、当該当り有効部分にプレイヤオブジェクト200が当たったか否かが判断される。
【0063】
記憶領域82には連結プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200が敵オブジェクト202に当たったとき、当該敵オブジェクト202がプレイヤオブジェクト200に連結される。この実施例では、マウスカートリッジ36の入力情報に基づいてプレイヤオブジェクト200の移動が制御されるので、ゲーム装置10自体の移動操作に応じてプレイヤオブジェクト200が移動されて、接触した敵オブジェクト202と連結される。したがって、極めて直感的な操作でプレイヤオブジェクト200に敵オブジェクト202を連結していくことが可能な興趣性の高いゲームを実現できる。
【0064】
プレイヤオブジェクト200が敵オブジェクト202に当たった場合には無条件に連結がなされてもよいが、プレイヤオブジェクト200に敵オブジェクト202を連結するために1または複数の条件が設定されてもよい。この実施例では、当たったときの敵オブジェクト202が所定の状態(たとえば失神状態)にあることが連結条件の1つとされる。このように、敵オブジェクト202が所定状態であることを連結のための条件に設定しているので、敵オブジェクト202を連結する難易度を上げることができ、ゲームの戦略性を増すことができる。
【0065】
さらに、敵オブジェクト202を上記失神状態にするためにも条件が設定される。この実施例では、敵オブジェクト202に当たったときのプレイヤオブジェクト200の移動速度(単位時間当たり移動量)が所定の閾値(たとえば5ドット/フレーム)以上であることが失神条件とされる。したがって、たとえば、図7に示すように、プレイヤオブジェクト200の右上にターゲットとなる敵オブジェクト202が存在しているときには、プレイヤは、閾値以上の移動速度が得られるように右上方向にこのゲーム装置10を移動させることによって、プレイヤオブジェクト200を当該敵オブジェクト202に衝突させる。すると、衝突によって弾き飛ばされた当該敵オブジェクト202を一定時間失神状態に変化させることができる。このようにして、敵オブジェクト202を所定状態に変化させるための難易度を上げることができるので、ゲームの戦略性をより増すことができる。
【0066】
なお、敵オブジェクト202の状態は、たとえば一定時間ごとまたはランダムに、つまり、プレイヤの操作に関係なく変化されてもよい。
【0067】
また、敵オブジェクト202に弱点が設定されている場合には、当該弱点(当り有効部分)に当たることが失神条件または連結条件に含まれてよい。このような弱点設定によっても、敵オブジェクト202を所定状態に変化させるための難易度や連結するための難易度を上げることができるので、ゲームの戦略性をより高めることができる。
【0068】
さらにまた、プレイヤオブジェクト200の種類と敵オブジェクト202の種類の相性を設定しておいて、この相性がよいことが失神条件または連結条件に含まれてもよい。その場合、オブジェクトの種類ごとの相性を示す相性データをROM28aに予め記憶させておく。たとえば、火と水の組合せは相性がよく、火と虫または火と無種類の組合せは相性が悪いなどの相性情報が記憶されている場合には、火の種類の敵オブジェクト202を失神状態にするためには、プレイヤオブジェクト200の種類は水である必要がある。
【0069】
プレイヤオブジェクト200が所定状態の敵オブジェクト202に接触すると、図8に示すように、連結条件が満足されてプレイヤオブジェクト200に当該敵オブジェクト202が連結される。この連結された敵オブジェクト202を含めた全体がその後プレイヤオブジェクト200として扱われる。この実施例では、当初のプレイヤオブジェクト200は、連結状態のプレイヤオブジェクト200の頭部となり、元の敵オブジェクト202は、連結状態のプレイヤオブジェクト200の一部品(連結ボディ)となる。その後、プレイヤオブジェクト200が別の敵オブジェクト202に当たって連結条件が満足されたと判定されるごとに、当該敵オブジェクト202が新たな連結ボディとして順次連結されていく。このようにして、連結後のプレイヤオブジェクト200は、当初のプレイヤオブジェクト200と1つまたは複数の敵オブジェクト202とによって、つまり、複数のパーツによって形成される。
【0070】
図4に戻って、記憶領域84には種類設定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200の種類の設定が行われる。この実施例では、プレイヤオブジェクト200の種類は、初期状態では無種類であり、最初に連結された敵オブジェクト202の種類と同一に設定される。したがって、最初に連結する敵オブジェクト202の種類に応じて、プレイヤオブジェクト200を様々な種類のプレイヤオブジェクト200に変化させることができるので、ゲームの面白みを増すことができる。図7および図8に示される例では、敵オブジェクト202の種類が虫であるので、連結後のプレイヤオブジェクト200の種類は虫に変化され、図8の中段に示すように、プレイヤオブジェクト200の表示態様も、虫を示す画像に変化される。
【0071】
記憶領域86には能力設定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200の能力の設定が行われる。プレイヤオブジェクト200には、連結された敵オブジェクト202の種類に応じて異なる能力が付与される。この実施例では、たとえば、プレイヤオブジェクト200の能力は、初期状態では特徴がなく、敵オブジェクト202と連結されることによって当該敵オブジェクト202の種類に対応する能力に変化される。能力は、具体的には、攻撃方法、攻撃力等である。図8の例では、プレイヤオブジェクト200の種類は虫に変化されたので、当該虫に対応する能力が付与される。種類虫の攻撃方法は糸の発射であり、その初期攻撃力は小程度である。したがって、図8の下段に示すように、プレイヤの攻撃操作(たとえばAボタン20dの操作)に応じて、プレイヤオブジェクト200は糸204を前方に吐き出す。当該糸204が敵オブジェクト202に命中したときには当該敵オブジェクト202に小程度のダメージが与えられる。
【0072】
このように、連結する敵オブジェクト202の種類に応じた能力付与を行うようにしているので、ゲームの戦略性を高めることができ、面白みを増すことができる。また、プレイヤオブジェクト200に付与される能力によってその後のゲームの難易度が変化するので、変化に富んだゲームを実現することができる。
【0073】
さらに、その後、さらに敵オブジェクト202が連結されたときには、その複数の敵オブジェクト202の種類の連結パターンに応じて能力が変化される。たとえば、この実施例では、同種の敵オブジェクト202が連続して連結されることによって、つまり、同種の敵オブジェクト202の連続連結数に応じて、能力がレベルアップされる。図9(A)には、2つの虫の敵オブジェクト202が連続して連結された場合に形成されるプレイヤオブジェクト200が示される。この虫(レベル2)のプレイヤオブジェクト200の攻撃方法は中くらいの長さの糸204の発射であり、その攻撃力は中程度である。また、図9(B)には、レベル2の水の種類のプレイヤオブジェクト200が示される。種類水の攻撃方法は泡の噴出であり、その初期攻撃力は小程度である。したがって、図9(B)に示すレベル2のプレイヤオブジェクト200が攻撃をすると、中くらいの量の泡206が前方に噴出され、その攻撃力は中程度である。さらに、図9(C)には、連続連結数が3である火の種類のプレイヤオブジェクト200が示される。種類火の攻撃方法は炎の放射であり、その初期攻撃力は小程度である。したがって、このレベル3のプレイヤオブジェクト200が攻撃をすると、大きい攻撃力を有する激しい炎(4つの火の玉で表現される)208が前方に放射される。
【0074】
後述するように、この実施例では、敵オブジェクト202の種類の連結パターンと付与能力とを対応付けたテーブルがROM28aに予め記憶されており、当該テーブルに基づいて能力が設定される。
【0075】
このように、連結する複数の敵オブジェクト202の種類の連結パターンに応じて能力を変化させるようにしているので、ゲームの戦略性をより高めることができるとともに、特殊な能力やより強力な能力等の獲得のために、連結パターンを試行錯誤するといったパズルゲームのような楽しさをさらに加えることもできる。
【0076】
図4に戻って、記憶領域88には移動状態判定プログラムが記憶されている。このプログラムによって、プレイヤオブジェクト200の移動状態が判定される。この実施例では、プレイヤオブジェクト200の移動状態が所定状態であることが、連結状態のプレイヤオブジェクト200を分離するための条件として設定されている。この移動状態判定プログラムによって、この分離条件が満足されたか否かが判定される。この実施例では、分離条件は、プレイヤオブジェクト200が急速に移動されたこと、または、プレイヤオブジェクト200が揺さぶられたことである。つまり、このゲーム装置10自体が急速に移動されたことが分離条件の1つとされ、具体的には、マウスカートリッジ36からの入力情報(すなわち、このゲーム装置10の移動情報)に基づいて算出されるプレイヤオブジェクト200の移動速度が所定の閾値(たとえば30ドット/フレーム)以上であるか否かが判定される。また、このゲーム装置10自体が揺さぶられたことが分離条件の他の1つとされ、具体的には、プレイヤオブジェクト200の移動方向が直前の移動方向と一定値(たとえば60度)以上の角度差をなしたという事象が、一定時間(たとえば1.5秒)内に一定回数(たとえば6回)以上検出されたか否かが判定される。
【0077】
記憶領域90には分離プログラムが記憶される。上述の分離条件が満足されたと判定されたときには、この分離プログラムによって、連結状態のプレイヤオブジェクト200が分離される。つまり、複数のパーツ(当初プレイヤオブジェクト200および連結された1または複数の敵オブジェクト202)によって形成されたプレイヤオブジェクト200の連結が解除され、複数のパーツに分離される。具体的には、図10に示すように、このゲーム装置10が所定速度以上で移動されたり揺さぶられたりすると、連結状態のプレイヤオブジェクト200は、当初のプレイヤオブジェクト200と失神状態の敵オブジェクト202に分かれる。したがって、直感的な操作によってプレイヤオブジェクトをばらばらに分離させることができるので、興趣性の高いゲームを実現できる。また、プレイヤに慎重な操作を要求するといった新規なゲームを提供することができる。さらに、この実施例では、マウスカートリッジ36の入力情報に基づいてプレイヤオブジェクト200の移動が制御される、つまり、ゲーム装置10自体の移動操作に応じてプレイヤオブジェクト200が分離される。したがって、極めて直感的な操作でプレイヤオブジェクト200の分離を制御できるような興趣性の高いゲームを実現できる。
【0078】
また、分離後には、連結前と同様に、プレイヤは当初のプレイヤオブジェクト200のみを操作可能である。分離された他の敵オブジェクト202は再びその制御プログラムによって制御される。したがって、プレイヤオブジェクト200が複数のパーツに分離してもプレイヤの操作は煩雑にならない。
【0079】
また、分離されたプレイヤオブジェクト200の表示態様は、連結時の表示態様から変化され、当初の無種類のプレイヤオブジェクト200を示す画像で表示される。したがって、分離後に操作可能であるプレイヤオブジェクト200をプレイヤに容易に識別させることができるとともに、操作可能なオブジェクトが当初のプレイヤオブジェクト200のみになったことをプレイヤに容易に知らしめることができる。
【0080】
また、分離されると、プレイヤオブジェクト200の能力は、連結時の能力から変化され、たとえば初期状態の能力に戻される。このように、分離の前後で能力を変化させるようにしているので、ゲームの戦略性を高めることができる。
【0081】
図4に戻って、データ記憶領域72の記憶領域92には、ゲーム画面を生成するための画像データが記憶されている。プレイヤオブジェクト200の初期状態および連結状態(種類ごと)等を示す画像データや、各種類の敵オブジェクト202の初期状態、連結状態および失神状態等を示す画像データも記憶されている。
【0082】
記憶領域94にはプレイヤオブジェクトデータが記憶されている。プレイヤオブジェクト200の制御および表示等に関する情報の初期値が記憶される。たとえば、種類、能力、HP(ヒットポイント:体力ないし寿命)、画像指定、ゲーム空間における位置、向き等の初期値を含む。
【0083】
記憶領域96には敵オブジェクトデータが記憶されている。複数種類の敵オブジェクト202の制御および表示等に関する情報の初期値が記憶される。たとえば、種類、能力、HP、画像指定などの初期値を含む。さらに、弱点が設定される敵オブジェクト202には、当該当り有効部分を示すデータ(位置や領域等)も記憶される。
【0084】
記憶領域98には連結能力テーブルが記憶される。連結能力テーブルには、敵オブジェクト202の種類の連結パターンに対応付けて、プレイヤオブジェクト200に付与される能力が登録されている。具体的には、図5に示すように、種類および連続連結数(レベル)を含む連結パターンと、攻撃方法および攻撃力を含む能力とが対応付けられている。たとえば、種類が「虫」であり連続連結数が「1」の場合には、この連結状態のプレイヤオブジェクト200の攻撃方法として「短い糸」が設定され、攻撃力として「小」(小さいダメージを与える値)が設定される。種類が「虫」で連続連結数が「2」の場合には、「中くらいの糸」による攻撃方法および「中」ダメージを与える攻撃力が設定される。また、種類が「虫」で連続連結数が「3」の場合には、攻撃方法「長い糸」および攻撃力「大」が設定される。連続連結数は、連続して連結された同種の敵オブジェクト202の数を意味する。したがって、上述のように、同種の敵オブジェクト202が連続するように連結することによって、プレイヤオブジェクト200に付与される能力をレベルアップすることができる。なお、プレイヤオブジェクト200に付与される能力のレベルアップは、同種の敵オブジェクト200の連続連結数だけに限らず、例えば、複数種の敵オブジェクト200を所定の順序で連結することによって実行されてもよい。この場合、連結能力テーブルには、複数種類の敵オブジェクトの連結順序を示す連結パターンに対応付けて、プレイヤオブジェクト200に付与される能力が登録される。
【0085】
図4に戻って、記憶領域100には目標連結パターンが記憶される。このデータは、複数種類の敵オブジェクト202の連結の順序または組合せを示す。この目標連結パターンと一致するまたは満足する特定の連結パターンを有するプレイヤオブジェクト200が形成されたとき、ゲーム処理が変化されてゲームクリアとなる。このように、連結する複数の敵オブジェクト202の種類の連結パターンに応じてゲーム処理を変化させるようにしているので、ゲームの戦略性をより高めることができるとともに、連結パターンを試行錯誤するといったパズルゲームの楽しさを与えることができる。また、この実施例では、連結パターンに応じた能力設定が行われるので、たとえばゲームの状況に合わせて適切な能力をプレイヤオブジェクト200に付与しつつゲームクリアを目指すといった、戦略性および興趣性の高いゲームを実現することができる。
【0086】
図6にはRAM48のメモリマップの一例が示される。なお、図6もメモリマップの一部を示しており、図示されたもの以外にも必要なデータが記憶される。
【0087】
記憶領域102には入力情報取得プログラムによって取得された入力情報が記憶される。入力情報は、マウス入力情報すなわちマウスカートリッジ36で検出されたこのゲーム装置10の移動情報(移動方向、移動量、移動速度等)を含む。また、入力情報は、操作スイッチ20の操作情報およびタッチパネル22で検出された操作情報を含む。
【0088】
記憶領域104には、プレイヤオブジェクト200の移動情報の履歴が記憶される。プレイヤオブジェクト200の移動情報は、マウス入力情報(すなわち、このゲーム装置10の移動情報)に基づいてプレイヤオブジェクト移動制御プログラムによって算出されたプレイヤオブジェクト200の移動方向、移動距離および移動速度等を含み、この移動情報の履歴が時刻(フレーム番号)に対応付けて記憶される。なお、この記憶領域104には、現フレームから遡って所定フレーム数分の移動情報が記憶される。
【0089】
記憶領域106には、プレイヤオブジェクト制御データが記憶される。プレイヤオブジェクト制御データは、プレイヤオブジェクト200のゲーム空間における位置(座標)、HP、種類、能力等の情報を含む。さらに、プレイヤオブジェクト200の連結状態情報も記憶され、この連結状態情報は、連結数(連結されている敵オブジェクト202の総数)、および連結順序(1番目の敵オブジェクト202の識別情報(または種類)、…、n番目の敵オブジェクト202の識別情報(または種類))等を含む。
【0090】
記憶領域108には、敵オブジェクト制御データが記憶される。敵オブジェクト制御データは、各敵オブジェクト202のゲーム空間における位置(座標)、HP、状態、失神時間等の情報を含む。状態は、当該敵オブジェクト202が単独であるか、またはプレイヤオブジェクト200のパーツ(連結ボディ)になっているかを示す。
【0091】
図11および図12には、このゲーム装置10のCPUコア34のゲーム動作の一例が示される。処理を開始すると、CPUコア34は、まずステップS1で、マウスカートリッジ36からマウス入力情報を取得してRAM48の記憶領域102に記憶する。また、操作スイッチ20の操作情報およびタッチパネル22の操作情報をI/F回路54を介して取得して記憶領域102に記憶する。
【0092】
次に、ステップS3で、CPUコア34は、入力情報(この実施例ではマウス入力情報)に基づいてプレイヤオブジェクト200の移動方向、移動距離および移動速度等を算出する。続いて、ステップS5で、CPUコア34は、プレイヤオブジェクト200の移動情報の履歴をRAM48の記憶領域104に記憶する。つまり、ステップS3で算出した移動方向、距離および速度等を含む移動情報を記憶領域104に追加記憶する。
【0093】
続いて、ステップS7で、CPUコア34は現在位置および移動情報等に基づいてプレイヤオブジェクト200の位置(座標)を算出し、その座標を記憶領域106の位置情報に記憶して当該位置情報を更新する。なお、プレイヤオブジェクト200の向きも算出および更新される。
【0094】
そして、ステップS9で、CPUコア34は分離処理を実行する。この分離処理では、複数のパーツによって形成された、つまり、連結状態にあるプレイヤオブジェクト200を分離するための処理が行われる。この分離処理の動作の一例は図15に示されるが、この実施例では連結後に分離がなされるので、その説明は連結処理の後に行う。
【0095】
ステップS9を終了すると、ステップS11で、CPUコア34は、プレイヤオブジェクト200の位置に基づいて、画面表示位置を設定する。この実施例では、プレイヤオブジェクト200は常時画面中央に表示されるようにしているので、プレイヤオブジェクト200が画面中央になるように表示位置(ゲーム空間の表示範囲)が算出される。
【0096】
ステップS13では、CPUコア34は敵オブジェクト移動処理を実行し、ゲーム空間内に存在する全ての敵オブジェクト202の位置(座標)等を算出して、記憶領域108の各位置情報を更新する。
【0097】
続いて、ステップS15で、CPUコア34は、プレイヤオブジェクト200の位置情報および敵オブジェクト202の位置情報に基づいて、プレイヤオブジェクト200と敵オブジェクト202の当り判定処理を実行する。そして、ステップS17で、CPUコア34は、判定の結果、プレイヤオブジェクト200といずれかの敵オブジェクト202とが当たったと判定されたか否かを判断する。
【0098】
ステップS17で“YES”であれば、CPUコア34は、ステップS19で連結処理を実行する。この連結処理では、接触した敵オブジェクト202が失神状態の場合には、プレイヤオブジェクト200と当該敵オブジェクト202とが連結される。一方、接触した敵オブジェクト202が失神状態でない場合において失神条件が満足されていると判定されるときには、当該敵オブジェクト202の状態が失神状態に変化される。この連結処理の動作の一例は後述する図13および図14に示される。
【0099】
ステップS19を終了すると、CPUコア34は、ステップS21で、連結パターンは目標パターンであるか否かを判定する。具体的には、CPUコア34は、記憶領域106の連結状態情報と記憶領域100の目標連結パターンとに基づいて、敵オブジェクト202の種類の連結パターンが目標連結パターンと一致したか否かを判定する。ステップS21で“YES”であれば、つまり、ゲームクリア条件が満足された場合には、CPUコア34は、連結、攻撃、分離等の流れからゲーム処理を変化させて、ステップS23でゲームクリア処理を実行し、このゲーム処理を終了する。ゲームクリア処理では、例えば、その後のゲーム進行において、次のステージに進むことができたり、隠しステージに進むことができる等、その後のゲーム処理に変化を与えるような処理が行われる。なお、ステップS21で“NO”の場合には、ゲームクリア条件が満足されていないので、ゲームを続行すべく、処理は図12のステップS31に進む。
【0100】
また、ステップS17で“NO”であれば、つまり、プレイヤオブジェクト200と敵オブジェクト202とが衝突していない場合には、CPUコア34は、ステップS25で、プレイヤオブジェクト200の状態が連結状態であるか否かを記憶領域106の連結状態情報に基づいて判断する。ステップS25で“YES”であれば、つまり、プレイヤオブジェクト200が連結状態である場合には、CPUコア34は、ステップS27で攻撃操作が行われたか否かを記憶領域102の操作情報に基づいて判断する。この実施例では、プレイヤオブジェクト200が連結状態である場合にはたとえばAボタン20dの操作によって攻撃が可能であるので、ステップS25およびS27でこの攻撃可否判定を行っている。
【0101】
ステップS27で“YES”であれば、CPUコア34は、ステップS29でプレイヤオブジェクト攻撃処理を実行する。これによって、プレイヤオブジェクト200は、設定された能力に従った攻撃を行う。プレイヤオブジェクト200には、後述する連結処理で敵オブジェクト202との連結によって能力が与えられるので、図9に示したように、当該能力に従った攻撃方法および攻撃力の攻撃が発動される。攻撃が敵オブジェクト202に命中したときには、当該敵オブジェクト202に、攻撃方法および攻撃力に応じたダメージが与えられてそのHPから減算される。HPが0になった敵オブジェクト202はゲーム空間から消滅され、当該敵オブジェクト202の制御データは記憶領域108から削除される。なお、HPが0になった敵オブジェクト202をゲーム空間から消滅させずに所定の状態(失神状態)に変化させるようにしてもよい。ステップS29を終了すると、処理は図12のステップS31へ進む。また、ステップS27で“NO”の場合もしくはステップS25で“NO”の場合には、処理はそのままステップS31へ進む。
【0102】
図12のステップS31では、CPUコア34は、敵オブジェクト攻撃処理を実行する。これによって、ゲーム空間内の敵オブジェクト202が必要に応じて攻撃を行う。敵オブジェクト202の攻撃も、その能力つまり攻撃方法および攻撃力に基づいて実行され、プレイヤオブジェクト200に命中したときには、ダメージが与えられてプレイヤオブジェクトのHPが減少する。続くステップS33では、CPUコア34は、プレイヤオブジェクト200のHPがゼロになったか否かを判断し、“YES”であれば、ステップS35でゲームオーバ処理を実行してこのゲーム処理を終了する。
【0103】
一方、ステップS33で“NO”であれば、CPUコア34は、ステップS37で、プレイヤオブジェクト200は敵の攻撃でダメージを受けたか否かを判断する。ステップS37で“YES”であれば、続くステップS39で、CPUコア34はプレイヤオブジェクト200の状態が連結であるか否かを記憶領域106の連結状態情報に基づいて判断する。この実施例では、連結状態にあるプレイヤオブジェクト200がダメージを受けたときには、連結が解除されるように予め決めているので、ステップS37およびS39では、この連結解除判定を行っている。
【0104】
ステップS39で“YES”であれば、CPUコア34は、ステップS41で、プレイヤオブジェクト200の連結状態、種類および能力を初期化する。プレイヤオブジェクト200が敵オブジェクト202と連結された場合、後述する連結処理において記憶領域106の連結状態、種類、能力等に関する情報が変更されているので、これら情報を記憶領域94の初期値に戻す。
【0105】
また、ステップS43で、CPUコア34は、連結されていた各敵オブジェクト202の状態を失神に設定する。つまり、この実施例では、連結されていた各敵オブジェクト202がプレイヤオブジェクト200から分離される場合には、失神状態に戻すように予め決めているので、記憶領域108のうち該当する敵オブジェクト202の状態情報を失神状態に変更する。また、フロー図では省略しているが、このとき、失神状態に戻した各敵オブジェクト202の失神時間の計測処理を開始する。これによって、記憶領域108の該当する敵オブジェクト202の失神時間情報は、一定時間(たとえば1フレーム)ごとに更新される。
【0106】
さらに、ステップS45で、CPUコア34は、GPU50またはGPU52を用いて、プレイヤオブジェクト200を初期状態の画像データによって、連結されていた各敵オブジェクト202を失神状態の画像データによって、VRAM58またはVRAM60に描画する。したがって、LCDコントローラ56によって画面表示の更新がなされると、連結が解除されて初期状態に戻ったプレイヤオブジェクト200と失神状態に戻った各敵オブジェクト202とを含むゲーム画面がLCD12またはLCD14に表示される。
【0107】
ステップS45を終了すると、または、ステップS37もしくはS39で“NO”の場合には、CPUコア34は、ステップS47で、失神状態の敵オブジェクト202の失神時間が所定の閾値以上になったか否かを記憶領域108の各敵オブジェクト202の失神時間情報に基づいて判断する。この実施例では、敵オブジェクト202の失神状態は一定時間に限るように予め決めているので、このステップS47で失神解除条件の判定を行っている。
【0108】
ステップS47で“YES”であれば、つまり、一定時間失神していた敵オブジェクト202が存在する場合には、CPUコア34は、ステップS49で該当する各敵オブジェクト202の状態の初期化を行って、記憶領域108の該当する各敵オブジェクト202の状態情報に単独を示す初期情報を記憶する。また、ステップS51で、CPUコア34は、GPU50または52を用いて、該当する各敵オブジェクト202をそれぞれの初期状態画像データによってVRAM58またはVRAM60に描画する。したがって、LCDコントローラ56によって画面表示の更新がなされると、該当する各敵オブジェクト202が初期状態でLCD12またはLCD14に表示される。
【0109】
ステップS51を終了し、または、ステップS47で“NO”である場合には、処理は図11のステップS1に戻る。このようにして、ゲームクリア条件(S21)またはゲームオーバ条件(S33)等が満たされたと判定されるまでは、一定時間(1フレーム)ごとに図11および図12のゲーム処理が繰り返し実行されてゲームが進行される。
【0110】
図11のステップS19の連結処理の動作の一例が図13および図14に示される。連結処理を開始すると、まず、ステップS61で、CPUコア34は、当たった敵オブジェクト202の状態が失神であるか否かを、敵オブジェクト制御データ記憶領域108に記憶された当該敵オブジェクト202の状態情報に基づいて判定する。
【0111】
ステップS61で“NO”であれば、つまり、図7に示すように失神状態にない敵オブジェクト202に接触した場合には、CPUコア34は、ステップS63で当該敵オブジェクト202は弱点を有しているか否かを、記憶領域96に記憶された当該敵オブジェクト202の弱点情報に基づいて判定する。ステップS63で“YES”であれば、CPUコア34は、続くステップS65で、当該敵オブジェクト202の当り有効部分に対する当りであったか否かを記憶領域96の当該当り有効部分情報に基づいて判定する。ステップS65で“YES”であれば、つまり、弱点を有する敵オブジェクト202の弱点に当たった場合には、処理はステップS67へ進む。また、ステップS63で“NO”の場合、つまり、弱点を有しない敵オブジェクト202に当たった場合には、そのままステップS67へ進む。
【0112】
なお、ステップS65で“NO”の場合、つまり、弱点を有する敵オブジェクト202の弱点以外の部分に当たった場合には、失神条件が満足されないので、この連結処理を終了して図11のステップS21へ戻る。
【0113】
ステップS67では、CPUコア34は、当該敵オブジェクト202の種類がプレイヤオブジェクト200に対して失神可能であるか否かを上述したROM28aのデータ記憶領域72に記憶されている相性情報に基づいて判定する。ステップS67で“YES”であれば、つまり、相性のよい種類の敵オブジェクト202との当りである場合には、ステップS69へ進む。なお、ステップS67で“NO”の場合には、失神条件が満足されないので、この連結処理を終了して図11のステップS21へ戻る。
【0114】
続くステップS69で、CPUコア34は、プレイヤオブジェクト200の移動速度が所定の閾値以上であるか否かを判定する。ステップS69で“NO”であれば、つまり、プレイヤオブジェクト200がゆっくりと敵オブジェクト202に衝突した場合には、失神条件が満足されないので、この連結処理を終了し図11のステップS21へ戻る。
【0115】
一方、ステップS69で“YES”であれば、つまり、プレイヤオブジェクト200が素早い移動で敵オブジェクト202に衝突した場合には、失神条件が満足されたので、当該敵オブジェクト202を失神させる。つまり、CPUコア34は、ステップS71で記憶領域108の当該敵オブジェクト202の状態情報を失神に設定する。なお、図13では省略されるが、失神状態に変更するとともに、この敵オブジェクト202の失神時間の計測処理を開始する。
【0116】
そして、ステップS73で、CPUコア34は、当該敵オブジェクト202を失神状態を示す画像データを用いて描画する。したがって、LCDコントローラ56によって画面更新されると、図7の下段に示したように、失神状態の敵オブジェクト202が画面に表示されることとなる。ステップS73を終了すると、この連結処理を終了して図11のステップS21へ戻る。
【0117】
一方、ステップS61で“YES”であれば、つまり、図8の上段に示したように失神状態の敵オブジェクト202と接触した場合には、当該敵オブジェクト202とプレイヤオブジェクト200とを連結すべく、処理は図14のステップS75へ進む。
【0118】
図14のステップS75では、CPUコア34は、プレイヤオブジェクト200の状態が単独であるか否かを記憶領域106の連結状態情報に基づいて判定する。ステップS75で“YES”であれば、つまり、未連結状態のプレイヤオブジェクト200が敵オブジェクト202と接触した場合には、CPUコア34は、ステップS77で、記憶領域106のプレイヤオブジェクト200の連結状態情報の1番目の領域に当該敵オブジェクト202を示す識別情報(または種類)を記憶する。なお、図14では省略しているが、さらに連結数を示す情報として「1」を記憶する。
【0119】
続いて、ステップS79で、CPUコア34は、プレイヤオブジェクト200の種類を当該敵オブジェクト202と同一種類に設定する。つまり、CPUコア34は、記憶領域96の当該敵オブジェクト202の種類情報を参照して、当該種類を記憶領域106のプレイヤオブジェクト200の種類情報として記憶する。
【0120】
さらに、ステップS81で、CPUコア34は、プレイヤオブジェクト200の能力を当該敵オブジェクト202の種類に対応する能力に設定する。つまり、CPUコア34は、記憶領域98の連結能力テーブルを参照して、敵オブジェクト202の種類に対応する連結数1の能力(攻撃方法および攻撃力等)を、プレイヤオブジェクト200の能力情報として記憶領域106に記憶する。
【0121】
また、ステップS83で、CPUコア34は、当該敵オブジェクト202の状態情報に連結ボディを設定し、つまり、記憶領域108の当該敵オブジェクト202の状態情報に連結ボディを示す情報を記憶する。なお、図14では省略されるが、当該敵オブジェクト202の失神時間計測を終了し、失神時間を示す情報をクリアする。
【0122】
そして、ステップS85で、CPUコア34は、当該敵オブジェクト202の連結されたプレイヤオブジェクト200を描画する。したがって、LCDコントローラ56によって画面が更新されると、図8の中段に示すように、接触した敵オブジェクト202と同じ種類でありかつ当該敵オブジェクト202が後部等に連結されたプレイヤオブジェクト200が画面に表示されることとなる。ステップS85を終了すると、この連結処理を終了し図11のステップS21へ戻る。
【0123】
一方、ステップS75で“NO”であれば、つまり、プレイヤオブジェクト200が連結状態にある場合には、CPUコア34は、ステップS87で、記憶領域106に記憶されている連結数が所定の閾値未満であるか否かを判定する。この実施例では、敵オブジェクト202の連結数に上限を設けているので、このステップS87で最大連結数未満であることを確認しているが、他の実施例ではステップS87の処理はなくてもよい。ステップS87で“NO”である場合、つまり、連結数が最大値に達している場合には、そのままこの連結処理を終了し図11のステップS21に進む。
【0124】
ステップS87で“YES”の場合、つまり、最大連結数に達していない場合には、CPUコア34は、ステップS89で、記憶領域106のプレイヤオブジェクト200の連結状態情報に当該敵オブジェクト202を追加する。具体的には、CPUコア34は、連結数を更新し、当該更新された連結数に対応する順序の位置に当該敵オブジェクト202を示す識別情報(または種類)を記憶する。
【0125】
そして、ステップS91で、CPUコア34は、当該敵オブジェクト202が既に連結されている全ての敵オブジェクト202と同種であるか否かを判定する。ステップS91で“YES”であれば、CPUコア34は、ステップS93で、プレイヤオブジェクト200の能力をレベルアップする。つまり、CPUコア34は、記憶領域98の連結能力テーブルに従って、現在の連結パターンに対応する能力を読み出し、記憶領域106のプレイヤオブジェクト200の能力情報を更新する。このようにして、連結される敵オブジェクト202の種類の連結パターンに応じて、プレイヤオブジェクト200の能力が変化される。なお、ステップS91で“NO”の場合には、つまり、同一種類の敵オブジェクト202の連結ではない場合には、この実施例では能力レベルアップを行わないので、そのままステップS95へ進む。
【0126】
続いて、ステップS95では、CPUコア34は、記憶領域108の当該敵オブジェクト202の状態情報に連結ボディを示す情報を記憶する。
【0127】
そして、ステップS97で、CPUコア34は、当該敵オブジェクト202が末尾に連結されたプレイヤオブジェクト200を描画する。したがって、LCDコントローラ56によって画面が更新されると、接触した敵オブジェクト202が最後尾に連結されたプレイヤオブジェクト200が画面に表示されることとなる(図9参照)。ステップS97を終了すると、この連結処理を終了し図11のステップS21へ戻る。
【0128】
図11のステップS9の分離処理の動作の一例が図15に示される。分離処理を開始すると、CPUコア34は、まずステップS111で、プレイヤオブジェクト200の状態が連結であるか否かを、記憶領域106の連結状態情報に基づいて判断する。ステップS111で“NO”であれば、つまり、プレイヤオブジェクト200が単独状態である(連結数が0である)場合には、分離すべき敵オブジェクト202がないので、この分離処理を終了し図11のステップS11に戻る。
【0129】
一方、ステップS111で“YES”であれば、つまり、プレイヤオブジェクト200が連結状態にある場合には、移動状態判定を行う。すなわち、CPUコア34は、まずステップS113で、プレイヤオブジェクト200の移動速度が所定の閾値以上であるか否かを判定する。ステップS113で“YES”であれば、つまり、ゲーム装置10が急速に移動されることによってこの分離条件が満足された場合には、ステップS125へ進み、分離のための処理を実行する。
【0130】
ステップS113で“NO”の場合には、他の移動状態判定、つまり、分離条件(揺さぶり)の判定を行う。すなわち、CPUコア34は、ステップS115で、プレイヤオブジェクト200の移動方向は直前の移動方向と一定値以上の角度をなすか否かを、記憶領域104に記憶された移動情報のうち移動方向の履歴に基づいて判断する。ステップS115で“NO”の場合には、ゲーム装置10が揺さぶられていないので、この分離処理を終了し図11のステップS11へ戻る。
【0131】
一方、ステップS115で“YES”であれば、CPUコア34は、ステップS117で、RAM48に記憶されているカウンタMの値をインクリメント(1を加算)するとともに、現時刻(フレーム番号)を記憶する。なお、カウンタMの初期値は0であり、カウンタMの値は、初期設定時またはリセット時の時刻(フレーム番号)とともにRAM48に記憶されている。
【0132】
続いて、ステップS119で、CPUコア34は、カウンタMの値が所定値以上であるか否かを判断する。つまり、一定角度以上の移動方向の変化が所定回数以上検出されたか否かを判定する。この実施例では、カウンタMを判定するための閾値はたとえば6に設定され、つまり、ゲーム装置10が少なくとも3往復の移動をしたか否かを判断する。ステップS119で“NO”の場合には、つまり、ゲーム装置10が揺さぶられているとは見なされない場合にはこの分離処理を終了する。
【0133】
一方、ステップS119で“YES”であれば、つまり、一定角度以上の移動方向変化が少なくとも所定回数(この実施例では6回)検出された場合には、CPUコア34は、ステップS121で、所定回数(この実施例では3回)の往復にかかった時間が所定の閾値以下であるか否かを判定する。具体的には、現時刻のカウンタMの値から所定値(この実施例では6−1=5)差し引いた値に対応付けて記憶された時刻と現時刻との差分が所定値(たとえば90フレーム)以下であるか否かを判断する。ステップS121で“NO”であれば、つまり、ゲーム装置10が揺さぶられているとは見なされない場合には、この分離処理を終了する。
【0134】
一方、ステップS121で“YES”であれば、つまり、ゲーム装置10が揺さぶられることによって分離条件が満足された場合には、CPUコア34はステップS123でRAM48のカウンタMをリセットする。また、カウンタMの各値に対応付けて記憶されていた時刻をクリアするとともに、カウンタMの初期値0に対応付けて現時刻を記憶する。
【0135】
続いて、ステップS125で、CPUコア34は、記憶領域106に記憶されているプレイヤオブジェクト200の連結状態、種類および能力に関する情報を初期化する。また、ステップS127では、CPUコア34は、連結されていた各敵オブジェクト202の状態情報を失神に設定する。また、図15では省略しているが、失神状態に戻した各敵オブジェクト202の失神時間の計測処理を開始する。さらに、ステップS129で、CPUコア34は、プレイヤオブジェクト200を初期状態の画像で、連結されていた各敵オブジェクト202を失神状態の画像で描画する。したがって、LCDコントローラ56によって画面が更新されると、図10に示したように、初期状態の単独のプレイヤオブジェクト200と失神状態の各敵オブジェクト202とを含むゲーム画面が表示される。ステップS129を終了すると、この分離処理を終了して図11のステップS11に戻る。
【0136】
この実施例によれば、プレイヤオブジェクト200の移動状態が所定の条件を満たしたとき、プレイヤオブジェクト200を複数のパーツに分離するようにしたので、プレイヤオブジェクト200を直感的な操作で分離させることができるとともに、複数のパーツによって形成されたプレイヤオブジェクト200の操作に面白みを与えることができる。
【0137】
なお、上述の実施例では、マウスカートリッジ36の入力情報に基づいてプレイヤオブジェクト200の移動を制御するようにしていたが、他の実施例では、タッチパネル22の操作情報に基づいてプレイヤオブジェクト200の移動を制御するようにしてよい。たとえば、マウスカートリッジ36で検出される移動方向、移動距離、移動速度に代えて、タッチパネル22上の入力軌跡の向き、長さ、単位時間当たりの移動距離に基づいて、プレイヤオブジェクト200を移動させるようにしてよい。この場合にも、マウスカートリッジ36の場合と同様に、直感的な操作でプレイヤオブジェクト200の連結や分離を制御することができる。
【0138】
また、他の実施例では、ゲーム装置10またはカートリッジ36等に加速度センサを設けて、この加速度センサ情報に基づいて検出されるゲーム装置10の姿勢ないし動き等、あるいはこれらを基にしたプレイヤオブジェクト200の移動状態等が所定条件を満足したと判定されるときに、プレイヤオブジェクト200を複数のパーツ200、202に分離するようにしてよい。
【図面の簡単な説明】
【0139】
【図1】この発明の一実施例のゲーム装置の一例を示す外観図である。
【図2】図1実施例の電気的な構成の一例を示すブロック図である。
【図3】図1実施例のゲーム装置の移動に応じたプレイヤオブジェクトの移動の概要を示す図解図である。
【図4】図1実施例のメモリカードのROMのメモリマップの一例を示す図解図である。
【図5】連結能力テーブルの一例を示す図解図である。
【図6】図1実施例のゲーム装置のRAMのメモリマップの一例を示す図解図である。
【図7】ノンプレイヤオブジェクトを失神状態に変化させる場面を示す図解図である。
【図8】ノンプレイヤオブジェクトを連結する場面を示す図解図である。
【図9】連結されたノンプレイヤオブジェクトの種類に応じて異なる能力を付与されたプレイヤオブジェクトの一例を示す図解図である。
【図10】複数のパーツによって形成されたプレイヤオブジェクトが分離する場面を示す図解図である。
【図11】図1実施例のゲーム装置の動作の一例の一部を示すフロー図である。
【図12】図11の続きを示すフロー図である。
【図13】図11の連結処理の動作の一例の一部を示すフロー図である。
【図14】図13の続きを示すフロー図である。
【図15】図11の分離処理の動作の一例を示すフロー図である。
【符号の説明】
【0140】
10 …ゲーム装置
12,14 …LCD
20 …操作スイッチ
22 …タッチパネル
28 …メモリカード
28a …ROM
34 …CPUコア
36 …マウスカートリッジ
36c …ロジック回路
36d …光学式センサ
48 …RAM
50,52 …GPU
54 …I/F回路
56 …LCDコントローラ
58,60 …VRAM
200 …プレイヤオブジェクト
202 …敵オブジェクト
【特許請求の範囲】
【請求項1】
プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置のゲームプログラムであって、
前記ゲーム装置のプロセサを、
前記入力手段からの前記入力情報に基づいて前記プレイヤオブジェクトの移動を制御する移動制御手段、
前記プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する移動状態判別手段、および
前記移動状態判別手段によって前記所定条件が満たされたと判定されるとき、前記プレイヤオブジェクトを前記複数のパーツに分離する分離手段として機能させる、ゲームプログラム。
【請求項2】
前記移動制御手段は、前記プレイヤオブジェクトの移動速度を算出する移動速度算出手段を含み、
前記所定条件は、前記移動速度算出手段によって算出された前記移動速度が所定値以上であることである、請求項1記載のゲームプログラム。
【請求項3】
前記移動制御手段は、前記プレイヤオブジェクトの移動方向を算出する移動方向算出手段を含み、
前記所定条件は、前記移動方向算出手段によって算出された前記移動方向と直前の移動方向との角度差が一定値以上となった事象が一定時間内に一定回数以上検出されたことである、請求項1記載のゲームプログラム。
【請求項4】
前記移動制御手段は、前記分離手段によって分離された前記複数のパーツのうちの1のパーツを前記プレイヤオブジェクトとして前記入力手段からの前記入力情報に基づいてその移動を制御し、残りの他のパーツをノンプレイヤオブジェクトとしてその移動を制御する、請求項1ないし3のいずれかに記載のゲームプログラム。
【請求項5】
前記プロセサを、前記分離手段によって分離された前記複数のパーツのうちの前記プレイヤオブジェクトとなる1のパーツの表示態様を変化させる表示態様変化手段としてさらに機能させる、請求項4記載のゲームプログラム。
【請求項6】
前記プロセサを、前記分離手段によって分離された前記プレイヤオブジェクトの能力を変化させる能力変化手段としてさらに機能させる、請求項1ないし5のいずれかに記載のゲームプログラム。
【請求項7】
プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置あって、
前記入力手段からの前記入力情報に基づいて前記プレイヤオブジェクトの移動を制御する移動制御手段、
前記プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する移動状態判別手段、および
前記移動状態判別手段によって前記所定条件が満たされたと判定されるとき、前記プレイヤオブジェクトを前記複数のパーツに分離する分離手段を備える、ゲーム装置。
【請求項8】
前記入力手段は、このゲーム装置の移動情報を前記入力情報として検出するマウス式入力装置を含み、
前記移動制御手段は、前記マウス式入力装置によって検出された前記移動情報に基づいて前記プレイヤオブジェクトの移動を制御する、請求項7記載のゲーム装置。
【請求項1】
プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置のゲームプログラムであって、
前記ゲーム装置のプロセサを、
前記入力手段からの前記入力情報に基づいて前記プレイヤオブジェクトの移動を制御する移動制御手段、
前記プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する移動状態判別手段、および
前記移動状態判別手段によって前記所定条件が満たされたと判定されるとき、前記プレイヤオブジェクトを前記複数のパーツに分離する分離手段として機能させる、ゲームプログラム。
【請求項2】
前記移動制御手段は、前記プレイヤオブジェクトの移動速度を算出する移動速度算出手段を含み、
前記所定条件は、前記移動速度算出手段によって算出された前記移動速度が所定値以上であることである、請求項1記載のゲームプログラム。
【請求項3】
前記移動制御手段は、前記プレイヤオブジェクトの移動方向を算出する移動方向算出手段を含み、
前記所定条件は、前記移動方向算出手段によって算出された前記移動方向と直前の移動方向との角度差が一定値以上となった事象が一定時間内に一定回数以上検出されたことである、請求項1記載のゲームプログラム。
【請求項4】
前記移動制御手段は、前記分離手段によって分離された前記複数のパーツのうちの1のパーツを前記プレイヤオブジェクトとして前記入力手段からの前記入力情報に基づいてその移動を制御し、残りの他のパーツをノンプレイヤオブジェクトとしてその移動を制御する、請求項1ないし3のいずれかに記載のゲームプログラム。
【請求項5】
前記プロセサを、前記分離手段によって分離された前記複数のパーツのうちの前記プレイヤオブジェクトとなる1のパーツの表示態様を変化させる表示態様変化手段としてさらに機能させる、請求項4記載のゲームプログラム。
【請求項6】
前記プロセサを、前記分離手段によって分離された前記プレイヤオブジェクトの能力を変化させる能力変化手段としてさらに機能させる、請求項1ないし5のいずれかに記載のゲームプログラム。
【請求項7】
プレイヤ操作に応じた入力情報を入力する入力手段と、複数のパーツによって形成されるプレイヤオブジェクトを含むゲーム画面を表示する表示手段とを備えるゲーム装置あって、
前記入力手段からの前記入力情報に基づいて前記プレイヤオブジェクトの移動を制御する移動制御手段、
前記プレイヤオブジェクトの移動状態が所定条件を満足したか否かを判別する移動状態判別手段、および
前記移動状態判別手段によって前記所定条件が満たされたと判定されるとき、前記プレイヤオブジェクトを前記複数のパーツに分離する分離手段を備える、ゲーム装置。
【請求項8】
前記入力手段は、このゲーム装置の移動情報を前記入力情報として検出するマウス式入力装置を含み、
前記移動制御手段は、前記マウス式入力装置によって検出された前記移動情報に基づいて前記プレイヤオブジェクトの移動を制御する、請求項7記載のゲーム装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2007−222284(P2007−222284A)
【公開日】平成19年9月6日(2007.9.6)
【国際特許分類】
【出願番号】特願2006−45177(P2006−45177)
【出願日】平成18年2月22日(2006.2.22)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成19年9月6日(2007.9.6)
【国際特許分類】
【出願日】平成18年2月22日(2006.2.22)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]