(57)【要約】【課題】  複数のオブジェクトを直感的にかつ過度の負担をユーザに与えることなく操作可能とする。【解決手段】  所定のディスプレイ装置の表示画面上で移動可能な複数のキャラクタ画像の各々の動きを指示するための入力及びこの入力とは独立した入力である第２入力に基づいて複数のキャラクタ画像の各々の動きを制御する装置である。この装置では、第１入力により各々の動きが制御される複数のキャラクタ画像同士の距離を、各々のキャラクタ画像の表示座標に基づいて検出し、検出した複数のキャラクタ画像同士の距離が第１限界値まで拡大したときに前記第１入力に基づく前記距離のさらなる拡大を制限する。制限がなされた状態で第２入力がなされたことが検知されると、この検知している間だけ上述の距離の拡大が継続される。【選択図】  図８
2005278716.tif 000002
【特許請求の範囲】
【請求項１】
所定のディスプレイ装置の表示画面上で移動可能な複数のキャラクタ画像の各々の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報を生成する入力デバイスから入力される前記第１情報および前記第２情報に基づいて前記複数のキャラクタ画像の各々の動きを制御する装置であって、
前記第１情報により各々の動きが制御される複数のキャラクタ画像同士の距離を検出する距離検出手段と、
前記検出した複数のキャラクタ画像同士の距離が第１限界値以下になるように前記距離の拡大を制限する手段と、
前記制限がなされた状態で前記入力デバイスから前記第２情報が入力されたことを検知し、この検知している間だけ前記距離の拡大の制限を解除する手段と、を備えて成る、
キャラクタ画像の表示制御装置。
【請求項２】
前記距離の拡大の制限を解除した状態で、前記キャラクタ画像同士の距離を前記第１限界値よりも大きい第２限界値以下に制限する手段を有する、
請求項１記載のキャラクタ画像の表示制御装置。
【請求項３】
前記入力デバイスから前記第１情報と第２情報のいずれの入力もない場合に、前記キャラクタ同士の距離が前記第１限界値よりも小さい第３限界値となるように前記キャラクタ同士の距離を調整する手段を有する、
請求項１記載のキャラクタ画像の表示制御装置。
【請求項４】
前記入力デバイスから前記複数のキャラクタの一つに関して第１情報として当該キャラクタを前記表示画面上で回転させる動きを指示する入力がなされ、かつ、他のキャラクタの一つに対して前記第２情報が入力されたことを検出したときに、前記第１情報の入力対象のキャラクタを、前記第２情報の入力対象であるキャラクタを中心として回転させるとともに、回転につれてその回転半径が大きくなるようにする手段を有する、
請求項１記載のキャラクタ画像の表示制御装置。
【請求項５】
前記表示画面上に、前記キャラクタ画像とともに地形を表す画像を表示する手段と、
前記地形を表す画像の種類を検出するとともに、検出された種類に応じて、前記キャラクタ画像の前記表示画面上における移動方向及び移動速度を変化させる手段と、を有する、
請求項１記載のキャラクタ画像の表示制御装置。
【請求項６】
前記複数のキャラクタ画像を内包する袋状画像を表示するとともに、前記袋状画像の形状を前記キャラクタ同士の前記検出された距離に応じて変化させる手段を有する、
請求項１記載のキャラクタ画像の表示制御装置。
【請求項７】
前記複数のキャラクタ画像を内包する袋状画像を表示するとともに、前記キャラクタ同士の前記検出された距離に応じて前記袋状画像の表示形態を変化させる手段と、
前記表示画面上に、前記キャラクタ画像の移動の障害となる地形を表す画像を表示する手段と、
前記地形を表す画像と前記袋状画像の表示形態を変化させる手段で変化された袋状画像とが重なる領域の大きさを検出し、検出された大きさが一定の閾値を超えた場合に、前記移動の障害となる地形を表す画像を変形させる手段と、を有する、
請求項１記載のキャラクタ画像の表示制御装置。
【請求項８】
所定のディスプレイ装置の表示画面上で移動可能な複数のキャラクタ画像の各々の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報を生成する入力デバイスから入力される前記第１情報および前記第２情報に基づいて前記複数のキャラクタ画像の各々の表示態様を制御する制御手段が、
前記第１情報により各々の動きが制御される複数のキャラクタ画像同士の距離を検出する処理、
前記検出した複数のキャラクタ画像同士の距離が第１限界値以下になるように前記距離の拡大を制限する処理、
前記制限がなされた状態で前記入力デバイスから前記第２情報が入力されたことを検知し、この検知している間だけ前記距離の拡大の制限を解除して前記距離の拡大を継続させる処理、
を実行する、キャラクタ画像の表示制御方法。
【請求項９】
所定のディスプレイ装置の表示画面上で移動可能な第１キャラクタ画像の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報をそれぞれ生成する第１入力デバイスと、所定のディスプレイ装置の表示画面上で移動可能な第２キャラクタ画像の動きを指示するための第３情報および前記第３情報とは独立した情報である第４情報をそれぞれ生成する第２入力デバイスとが設けられた入力装置であって、前記第１入力デバイスを当該入力装置の内部に押し込み操作をすることで前記第２情報の生成が行われ、前記第２の入力を当該入力装置の内部に押し込み操作をすることで前記第４の情報の生成が行われる入力装置と、
前記第１情報及び第２情報に基づいて前記第１キャラクタ画像の動きを制御し、前記第３情報及び前記第４情報に基づいて前記第２キャラクタ画像の動きを制御する制御装置と、を備えたキャラクタ画像表示装置で前記制御装置が実行する方法であって、
前記制御装置が、
前記第１キャラクタ画像と前記第２キャラクタ画像との距離を検出する処理、
前記検出した距離が第１限界値以下になるように前記距離の拡大を制限する処理、
前記制限がなされた状態で前記第２情報または前記第４情報が入力されたことを検知し、この検知している間だけ前記距離の拡大の制限を解除する処理、
を実行する、キャラクタ画像の表示制御方法。
【請求項１０】
前記制御装置は、
前記入力デバイスから前記第１キャラクタに関して第１情報として当該キャラクタを前記表示画面上で回転させる動きを指示する入力がなされ、かつ、第２キャラクタに対して前記第４情報が入力されたことを検出したときに、前記第１キャラクタを、前記第２キャラクタを中心として回転させるとともに、回転につれてその回転半径が大きくなるようにする処理を実行する、
請求項９記載のキャラクタ画像の表示制御方法。
【請求項１１】
前記キャラクタ画像は、前記制御装置によって構築される３次元空間内に配置される３次元のキャラクタであって、
前記制御装置は、
前記複数のキャラクタ画像を内包する３次元の袋状画像を表示するとともに、前記第１入力デバイスで生成される前記第１情報が、当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線上で前記第２入力デバイスへ向かう方向への入力であり、かつ、前記第２入力デバイスで生成される第２情報が、前記第２入力デバイスからの当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線上で前記第１入力デバイスへ向かう方向への入力であるときに、前記３次元空間内における前記袋状画像の高さを変化させる処理を実行する、
請求項９記載のキャラクタ画像の表示制御方法。
【請求項１２】
前記キャラクタ画像は、前記制御装置によって構築される３次元空間内に配置される３次元のキャラクタであって、
前記制御装置は、
前記複数のキャラクタ画像を内包する３次元の袋状画像を表示するとともに、前記第１入力デバイスで生成される前記第１情報が、当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線とは異なる直線上で前記第２入力デバイスへ向かう方向への入力であり、かつ、前記第２入力デバイスで生成される第２情報が、前記異なる直線に対して平行な直線上で前記第１入力デバイスへ向かう方向への入力であるときに、前記３次元空間内における前記袋状画像の高さを変化させる処理を実行する、
請求項９記載のキャラクタ画像の表示制御方法。
【請求項１３】
前記制御装置は、
前記表示画面上に、前記キャラクタ画像の前記袋状画像の高さが所定の閾値よりも小さいときに移動を制限する地形を表す画像を表示し、かつ、前記地形を表す画像が前記表示画面に表示されているときに、前記袋状画像の前記変化された高さが前記所定の閾値よりも大きいときは、前記袋状画像及び当該袋状画像に内包されるキャラクタの移動を制限しないようにする処理を実行する、
請求項１１記載のキャラクタ画像の表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、拘束条件が設定された複数のオブジェクトの操作技術に関し、主に、二つのオブジェクトに所定の拘束条件が設定されている場合に、この拘束条件を満たし、かつこれらのオブジェクトを操作するユーザに対して過度の負担をかけることなく、これらのオブジェクトの移動等の操作を直感的に行うことを可能とする技術に関する。
【背景技術】
【０００２】
従来、アーケードゲームマシーンや家庭用ゲーム等のゲーム機あるいはシミュレータ等においては、オブジェクトを画面に表示し、適当な入力機器によって、当該オブジェクトに対してのユーザからの入力を受け付け、その入力に応じて上述のオブジェクトを画面上で移動させる。これにより、ユーザがオブジェクトを思い通りに操作することが可能となる。
【０００３】
以下、ゲーム機を例にとって説明すると、通常のゲーム機で実行されるゲームでは、一つのオブジェクトを操作対象とすることが多く、例えばシューティングゲームにおける自機やロールプレイングゲームにおけるキャラクタが操作対象となる。多くの場合、4方向あるいは8方向の入力が可能な入力機器、例えばジョイパッドやジョイスティック、あるいは、アナログスティックがゲーム機に接続されており、これら入力機器からの入力方向がそのままキャラクタの移動方向となる。
【０００４】
上述のように一つのオブジェクトを操作する場合は、入力機器を通じてユーザが入力する方向がそのままオブジェクトの入力方向となる。従って、ユーザは、きわめて直感的かつ明快にオブジェクトを操作することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一方、操作対象となるオブジェクトが二つ以上になると、これらのオブジェクトを操作するうえでユーザにかかる負担は飛躍的に大きくなるので、オブジェクトの操作を容易とするための何らかの機構が必要となる場合もでてくる。
更に、これらのオブジェクトが独立して動くのではなく、一方のオブジェクトの動きが他方のオブジェクトの動き、例えば可動範囲に影響を及ぼすという関係を有する場合もある。例えば、二つのオブジェクト間に拘束条件が設定され、一方のオブジェクトが他方のオブジェクトから一定の距離以内の範囲でしか移動できない場合もあり得る。
【０００６】
このようにオブジェクトが複数で、かつ、オブジェクト間で一方のオブジェクトが他のオブジェクトの可動範囲に影響を与えるという拘束条件が設定されている場合に、ユーザが直感的かつ過度の負担を感じることなくオブジェクトを操作するための技術が求められている。
上記背景の下、本発明は、複数のオブジェクトの操作技術を提供すること、より詳細には、複数のオブジェクトを直感的にかつ過度の負担をユーザに与えることなく操作可能とすることを目的とする。
また、本発明の他の目的は、拘束条件が設定された複数のオブジェクトを直感的かつ過度の負担をユーザに与えることなくかつ直感的に操作することを可能とすることである。
【課題を解決するための手段】
【０００７】
本発明によれば、所定のディスプレイ装置の表示画面上で移動可能な複数のキャラクタ画像の各々の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報を生成する入力デバイスから入力される前記第１情報および前記第２情報に基づいて前記複数のキャラクタ画像の各々の動きを制御する装置であって、前記第１情報により各々の動きが制御される複数のキャラクタ画像同士の距離を検出する距離検出手段と、前記検出した複数のキャラクタ画像同士の距離を制限する手段と、前記制限がなされた状態で前記入力デバイスから前記第２情報が入力されたことを検知し、この検知している間だけ前記制限がなされている状態を解除して前記距離の拡大を継続させる手段と、を備えて成る、キャラクタ画像の表示制御装置が提供される。
好適には、距離検出手段では、各々のキャラクタ画像の表示座標に基づいてキャラクタ画像同士の距離を検出する。また、検出した複数のキャラクタ画像同士の距離を制限する手段では、この距離が第１限界値まで拡大したときに第１情報に基づく距離のさらなる拡大を制限するようにしてもよい。
【０００８】
なお、所定のディスプレイ装置の表示画面上で移動可能な複数のキャラクタ画像の各々の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報を生成する入力デバイスが接続されたコンピュータ又はプロセッサに、
（１）前記第１情報により各々の動きが制御される複数のキャラクタ画像同士の距離を検出する処理、
（２）前記検出した複数のキャラクタ画像同士の距離を制限する処理、
（３）前記制限がなされた状態で前記入力デバイスから前記第２情報が入力されたことを検知し、この検知している間だけ前記制限がなされている状態を解除して前記距離の拡大を継続させる処理、
を実行させるプログラムを提供することもできる。また、このプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供することもできる。
【０００９】
好適には、キャラクタ画像の表示制御装置は、前記制限がなされている状態を解除した状態で、前記キャラクタ画像同士の距離が前記第１限界値よりも大きい第２限界値まで更に拡大したときに、前記第１情報に基づく前記距離のさらなる拡大を制限する手段を有する。
また、前記入力デバイスから前記第１情報と第２情報のいずれの入力もない場合に、前記キャラクタ同士の距離が前記第１限界値よりも小さい第３限界値となるように前記キャラクタ同士の距離を小さく調整する手段を有するようにしてもよい。
【００１０】
前記入力デバイスから前記複数のキャラクタの一つに関して第１情報として当該キャラクタを前記表示画面上で回転させる動きを指示する入力がなされ、かつ、他のキャラクタの一つに対して前記第２情報が入力されたことを検出したときに、前記第１情報の入力対象のキャラクタを、前記第２情報の入力対象であるキャラクタを中心として回転させるとともに、回転につれてその回転半径が大きくなるようにする手段を有する構成とすることもできる。
【００１１】
このキャラクタ画像の表示制御装置において、前記表示画面上に、前記キャラクタ画像とともに地形を表す画像を表示する手段と、前記地形を表す画像の種類を検出するとともに、検出された種類に応じて、前記キャラクタ画像の前記表示画面上における移動方向及び移動速度を変化させる手段を有するようにしてもよい。また、前記複数のキャラクタ画像を内包する袋状画像を表示するとともに、前記袋状画像の形状（または袋状像の大きさ）を前記キャラクタ同士の前記検出された距離に応じて変化させる手段を有するように、キャラクタ画像の表示制御装置を構成することも可能である。
【００１２】
また、前記複数のキャラクタ画像を内包する袋状画像を表示するとともに、前記キャラクタ同士の前記検出された距離に応じて前記袋状画像の表示形態を変化させる手段と、前記表示画面上に、前記キャラクタ画像の移動の障害となる地形を表す画像を表示する手段と、前記地形を表す画像と前記袋状画像の表示形態を変化させる手段で変化された袋状画像とが重なる領域の大きさを検出し、検出された大きさが一定の閾値を超えた場合に、前記移動の障害となる地形を表す画像を変形させる手段と、を有する、キャラクタ画像の表示制御装置も提供される。
【００１３】
また、本発明の他の形態においては、所定のディスプレイ装置の表示画面上で移動可能な複数のキャラクタ画像の各々の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報を生成する入力デバイスから入力される前記第１情報および前記第２情報に基づいて前記複数のキャラクタ画像の各々の表示態様を制御する制御手段が、前記第１情報により各々の動きが制御される複数のキャラクタ画像同士の距離を検出する処理、前記検出した複数のキャラクタ画像同士の距離が第１限界値まで拡大したときに前記第１情報に基づく前記距離のさらなる拡大を制限する処理、前記制限がなされた状態で前記入力デバイスから前記第２情報が入力されたことを検知し、この検知している間だけ前記制限がなされている状態を解除して前記距離の拡大を継続させる処理、を実行する、キャラクタ画像の表示制御方法も提供される。なお、前記第１情報により各々の動きが制御される複数のキャラクタ画像同士の距離を検出する処理では、好適には、各々のキャラクタ画像の表示座標に基づいて、キャラクタ画像同士の距離を検出する。
【００１４】
更に、本発明の他の形態においては、所定のディスプレイ装置の表示画面上で移動可能な第１キャラクタ画像の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報をそれぞれ生成する第１入力デバイスと、所定のディスプレイ装置の表示画面上で移動可能な第２キャラクタ画像の動きを指示するための第３情報および前記第３情報とは独立した情報である第４情報をそれぞれ生成する第２入力デバイスとが設けられた入力装置であって、前記第１入力デバイスを当該入力装置の内部に押し込み操作をすることで前記第２情報の生成が行われ、前記第２の入力を当該入力装置の内部に押し込み操作をすることで前記第４の情報の生成が行われる入力装置と、前記第１情報及び第２情報に基づいて前記第１キャラクタ画像の動きを制御し、前記第３情報及び前記第４情報に基づいて前記第２キャラクタ画像動きを制御する制御装置と、を備えたキャラクタ画像表示装置で前記制御装置が実行する方法であって、前記制御装置が、前記第１キャラクタ画像と前記第２キャラクタ画像との距離を検出する処理、前記検出した距離が第１限界値まで拡大したときに前記第１情報及び第３情報に基づく前記距離のさらなる拡大を制限する処理、前記制限がなされた状態で前記第２情報または前記第４情報が入力されたことを検知し、この検知している間だけ前記制限がなされている状態を解除して前記距離の拡大を継続させる処理、を実行する、キャラクタ画像の表示制御方法も提供される。
前記第１キャラクタ画像と前記第２キャラクタ画像との距離を検出する処理では、各キャラクタ画像の表示座標に基づいて、第１キャラクタ画像と前記第２キャラクタ画像との距離を検出するようにしてもよい。好適には、前記第１入力デバイス、第２入力デバイスは、それぞれ上述の入力装置の表面に設ける。
【００１５】
また、この形態において、所定のディスプレイ装置の表示画面上で移動可能な第１キャラクタ画像の動きを指示するための第１情報および前記第１情報とは独立した情報である第２情報をそれぞれ生成する第１入力デバイスと、所定のディスプレイ装置の表示画面上で移動可能な第２キャラクタ画像の動きを指示するための第３情報および前記第３情報とは独立した情報である第４情報をそれぞれ生成する第２入力デバイスと、が設けられるとともに前記第１入力デバイスを当該入力装置の内部に押し込み操作をすることで前記第２情報の生成が行われ、前記第２の入力を当該入力装置の内部に押し込み操作をすることで前記第４の情報の生成が行われる入力装置が接続され、前記第１情報及び第２情報に基づいて前記第１キャラクタ画像の動きを制御し、前記第３情報及び前記第４情報に基づいて前記第２キャラクタ画像動きを制御するコンピュータ又はプロセッサに、
（１）前記第１キャラクタ画像と前記第２キャラクタ画像との距離を検出する処理、
（２）前記検出した距離が第１限界値まで拡大したときに前記第１情報及び第３情報に基づく前記距離のさらなる拡大を制限する処理、
（３）前記制限がなされた状態で前記第２情報または前記第４情報が入力されたことを検知し、この検知している間だけ前記制限がなされている状態を解除して前記距離の拡大を継続させる処理、
を実行させるプログラムを提供することもできる。また、このプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供することもできる。
【００１６】
この形態において、好適には、前記制御装置は、前記入力デバイスから前記第１キャラクタに関して第１情報として当該キャラクタを前記表示画面上で回転させる動きを指示する入力がなされ、かつ、第２キャラクタに対して前記第４情報が入力されたことを検出したときに、前記第１キャラクタを、前記第２キャラクタを中心として回転させるとともに、回転につれてその回転半径が大きくなるようにする処理を実行するように構成される。
【００１７】
また、この形態において、前記キャラクタ画像は、前記制御装置によって構築される３次元空間内に配置される３次元のキャラクタであって、前記制御装置は、前記複数のキャラクタ画像を内包する３次元の袋状画像を表示するとともに、所定の入力がなされたときに前記３次元空間内におけるキャラクタの高さ、例えば前記袋状画像の高さを変化させる処理を実行するようにしてもよい。
【００１８】
例えば、前記第１入力デバイスで生成される前記第１情報が、当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線上で前記第２入力デバイスへ向かう方向への入力であり、かつ、前記第２入力デバイスで生成される第２情報が、前記第２入力デバイスからの当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線上で前記第１入力デバイスへ向かう方向への入力であるときに、キャラクタの高さ、例えば前記袋状画像の高さ、を変化させる処理を実行する。また、第１入力デバイスで生成される第１情報と第２入力デバイスで生成される第２情報と入力が、同一直線上で互いに内向きになる入力であるときに、キャラクタの高さを変化させるもよい。好適には、このような入力がなされた場合には、上記キャラクタの高さをより高くする。
【００１９】
また、前記第１入力デバイスで生成される前記第１情報が、当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線上で前記第２入力デバイスから離れる方向への入力であり、かつ、前記第２入力デバイスで生成される第２情報が、前記第２入力デバイスからの当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線上で前記第１入力デバイスから離れる方向への入力であるときに、前記３次元空間内におけるキャラクタの高さ、例えば前記袋状画像の高さ、を変化させる処理を実行するようにしてもよい。このように、第１入力デバイスで生成される第１情報と第２入力デバイスで生成される第２情報と入力が、同一直線上で互いに外向きになる入力であるときにも、キャラクタの高さを変化させるように構成することができる。好適には、このような入力がなされた場合には、上記キャラクタの高さをより低くする。
【００２０】
また、前記キャラクタ画像は、前記制御装置によって構築される３次元空間内に配置される３次元のキャラクタであって、前記制御装置は、前記複数のキャラクタ画像を内包する３次元の袋状画像を表示するとともに、前記第１入力デバイスで生成される前記第１情報が、当該第１入力デバイスと前記第２入力デバイスとを結ぶ直線とは異なる直線上で前記第２入力デバイスへ向かう方向への入力であり、かつ、前記第２入力デバイスで生成される第２情報が、前記異なる直線に対して平行な直線上で前記第１入力デバイスへ向かう方向への入力であるときに、前記３次元空間内における前記キャラクタの高さ、例えば前記袋状画像の高さ、を変化させる処理を実行するようにしてもよい。好適には、この場合はキャラクタの高さをより高くする。
【００２１】
更に、この形態において、前記制御装置は、前記表示画面上に、前記キャラクタ画像の前記袋状画像の高さが所定の閾値よりも小さいときに移動を制限する地形を表す画像を表示し、かつ、前記地形を表す画像が前記表示画面に表示されているときに、前記袋状画像の前記変化された高さが前記所定の閾値よりも大きいときは、前記袋状画像及び当該袋状画像に内包されるキャラクタの移動を制限しないようにする処理を実行するように構成することもできる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明のエンタテインメント装置をビデオゲーム機に適用した場合の実施の形態を説明する。このビデオゲーム機は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のディスクに記録されたゲームプログラムによって、ディスプレイ装置にプレイヤキャラクタ及びその所持物、プレイヤキャラクタの周辺のオブジェクト等の画像（この実施形態では、ゲーム画像と称する場合がある）を表現するための処理を実行する。
【００２３】
図１はこの実施形態によるビデオゲーム機の全体構成図である。ビデオゲーム機は、図示しないディスプレイ装置に接続されるゲーム機本体１００と、このゲーム機本体１００に接続された操作装置２００とを備えている。
【００２４】
操作装置２００のゲーム機本体１００への接続は、装置本体２０１から引き出された接続コード２０２を介して行われる。この接続コード２０２の先端にはコネクタ２０３が設けられ、このコネクタ２０３をゲーム機本体１００の一側面に設けたジャックに挿入することで、操作装置２００がゲーム機本体１００に接続されるようになっている。なお、接続コード２０２を用いずに、操作装置２００とゲーム機本体１００との間の入出力を無線で行うようにしてもよい。この場合は、例えば、操作装置２００とゲーム機本体１００とに無線の送受信機をそれぞれ設けるようにする。
＜ゲーム機本体＞
【００２５】
ゲーム機本体１００は、図２に示すように、主制御部１１０、画像処理部１２０、音響制御部１３０、ディスク制御部１４０、通信制御部１５０、インタフェース部１６０及び上記各部１１０〜１６０を双方向通信可能に接続するためのメインバスＢを具備している。主制御部１１０は、ＣＰＵ、割込制御やＤＭＡ（ダイレクトメモリアクセス）転送制御等を行う周辺デバイスコントローラ、ゲームプログラム等を一時的に記録するためのＲＡＭ（メインメモリ）、装置各部の統括的な管理乃至制御を行う制御プログラム等が格納されたＲＯＭ等を備えている。ＣＰＵは、ＲＯＭに記録されている制御プログラムとメインメモリに展開されるゲームプログラムとをもとに、後述する複数の機能を実現するものである。この実施形態では、ＲＩＳＣ(reduced instruction setcomputor)ＣＰＵを用いるものとした。
【００２６】
画像処理部１２０は、表示対象となる画像データの座標変換等を行うジオメトリ・トランスファ・エンジン、主制御部１１０からの描画指示に基づいてポリゴンやスプライト（三角形、四角形等の多角形）等の組み合わせから成るゲーム画像の描画処理を行うグラフィックス・プロセッシング・ユニット、描画処理されたゲーム画像を一時的に記録するフレームバッファ、必要に応じて画像データのデコード処理を行う画像デコーダ等を備えている。ディスプレイ装置ＤＰは、フレームバッファに記録されている画像を読み出して表示する。このような描画処理及びフレームバッファへの記録を連続的に行うことにより、動画要素を含むゲーム画像、例えばキャラクタの動きや表情の変化等をディスプレイ装置ＤＰに表示できるようになっている。
【００２７】
音響制御部１３０は、主制御部１１０の制御によって楽曲再生を行うサウンド再生処理プロセッサ、楽曲データを一時的に記録するためのサウンドバッファ等を有している。スピーカＳＰには、このサウンドバッファに記録されている楽曲データが出力される。
【００２８】
ディスク制御部１４０は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のディスクに記録されたゲームプログラムやデータを主制御部１１０が認識できるように再生する（以下、再生されたデータを「再生データ」と称する）ためのディスクドライブ装置、再生データにエラー訂正（ＥＣＣ）符号が付加されている場合に、それを復号するＣＤ−ＲＯＭデコーダ、ディスクドライブ装置からの再生データをメインメモリに記録させる前に一時的に記録するバッファ等を備えている。
【００２９】
通信制御部１５０は、メインバスＢを介して主制御部１１０との間の通信制御を行う通信制御デバイスを具備している。この通信制御部１５０には、操作装置２００と、不揮発性記録媒体の一例となる交換自在のメモリカードＭＣが離脱自在に装着されるようになっている。操作装置２００で操作された内容は、同期式通信によって通信制御デバイスに送信される。通信制御デバイスは、操作装置２００から送られた操作内容を主制御部１１０に送信する。これにより、操作者の意図が主制御部１１０に伝えられ、主制御部１１０は、実行しているゲームプログラムに基づいて操作者の意図に応じた処理を行うことができるようになる。通信制御デバイスは、また、主制御部１１０からの指示に基づき、メモリカードＭＣへのデータ記録と記録されたデータの読み出しを行う。メモリカードＭＣは、メインバスＢから分離されているため、電源を入れた状態で、着脱することができる。
【００３０】
インタフェース部１６０は、外部電子機器を接続するとともに、接続された外部電子機器から外部データを取り込むものである。
＜操作装置＞
【００３１】
図３は、操作装置２００の正面図である。操作装置２００の装置本体２０１には、その上面に第１の操作部２１０，第２の操作部２２０が設けてあり、その側面には、第３の操作部２３０，第４の操作部２４０が設けてある。
第１の操作部２１０は、押圧操作用の十字型に配列された４つの操作部２１１を備え、この操作部２１１によって操作子を形成している。この第１の操作部２１０は、ディスクに記録されたゲームプログラムによりその機能が設定できる。
第２の操作部２２０は、押圧操作用の円柱状をした４個の操作ボタン２２１を備えている。各操作ボタン２２１には、その頭部に識別マークが付されており、各操作ボタン２２１に割り当てられる機能を識別しやすくしてある。この第２の操作部２２０は、ディスクに記録されたゲームプログラムによりその機能が設定できる。
【００３２】
第３の操作部２３０は、上下に並ぶ押圧操作用の２個の操作ボタン２３１を備える。同様に、第４の操作部２４０も、上下に並ぶ押圧操作用の２個の操作ボタン２４１を備えている。第３，第４の操作部２３０，２４０も、ディスクに記録されたプログラムによりその機能が設定できる。
操作装置本体２０１には、さらに、一対のジョイスティック２５１，２５２が設けてある。これらジョイスティック２５１，２５２は、４方向または８方向入力等のデジタル入力を行うものとしてもよいが、本実施形態では、アナログ入力可能なものとした。また、本実施形態では、第１の操作部２１０及び第２の操作部２２０が操作装置２００の上面に略同一平面内にて設けられており、一対のジョイスティック２５１，２５２もこの上面に配置した。ジョイスティック２５１，２５２は、通常状態では、外力が加えられていない状態で操作装置２００の上面に対して垂直となるようにそれぞれ設けられている。
【００３３】
また、これらのジョイスティック２５１，２５２は、そのコントローラ側の端部を支点として回転可能に動かす、いわゆる枢軸的に動かすことができるように操作装置２００の表面に設けられ、ジョイスティック２５１，２５２を傾けると、その角度がそれぞれ検出されるようになっている。本実施形態では、これらのジョイスティック２５１，２５２は、装置本体２０１に設けたアナログ選択スイッチ２５３により、使用可能とするか使用不能とするかを選択できるものとなっている。本実施形態では、第１及び第２の操作体と同時にジョイスティック２５１，２５２を用いることができるものとしたが、第１及び第２の操作体とジョイスティック２５１，２５２とを排他的に選択可能とすることもできる。
いずれの場合においても、ジョイスティック２５１，２５２が使用可能な状態では、操作装置本体２０１に設けた表示部２５４が点灯して、ジョイスティック２５１の選択状態を表示するようになっている。
【００３４】
ジョイスティック２５１，２５２は、当該ジョイスティックの軸方向、つまり操作装置２００の上面に対して垂直方向に押し込み操作することがそれぞれ可能である。ジョイスティック２５１のコントローラ側の端部には、図示しないスイッチが設けられ、上述の押し込み操作がなされた場合には信号Ｐ１が出力されるようになっている。同様にジョイスティック２５２のコントローラ側の端部には、図示しないスイッチが設けられ、上述の押し込み操作がなされた場合には信号Ｐ２が出力されるようになっている。このように、ジョイスティック２５１，２５２は、ともに、所定の距離以上コントローラの内部に向かって押し込まれたことの検出ができるようになっている。
なお、操作装置本体２０１には、この他にゲームの開始を指示するスタートスイッチ２５５や、ゲーム開始に際してゲームの難易度等を選択するための選択スイッチ２５６などが設けられている。
＜ビデオゲーム機＞
【００３５】
ゲーム機本体１００は、上記のように構成される操作装置２００からの入力を通信制御部１５０を通じて受けとる。このゲーム機本体１００は、ディスクをディスク制御部１４０に装着した状態で電源投入またはリセット処理が行われると、主制御部１１０のＣＰＵがＲＯＭに記録されているＯＳを実行する。ＯＳが実行されると、ＣＰＵは、動作確認等の装置全体の初期化を行うとともに、ディスク制御部１４０を制御して、ディスクに記録されているゲームプログラムをメインメモリに展開して実行する。必要に応じて、メモリカードＭＣに記録されたデータも随時読み出される。
このゲームプログラムの実行により、ＣＰＵは、図４に示されるような機能ブロックを形成してゲーム制御部３００を実現する。このゲーム制御部３００は、図５に示される、操作体５０１，５０２及び袋体５０３を含んだプレイヤキャラクタ５００をディスプレイ（図示省略）に表示し、操作装置２００からの入力に入力に応じて動プレイヤキャラクタ５００を動かすようにした。
【００３６】
図４に示されるように、このゲーム制御部３００は、キャラクタ制御部３０１、表示制御部３０２の機能を有する。
キャラクタ制御部３０１は、距離検出部３１１、距離制限部３１２、袋体形状制御部３１３、コマンド検出部３１４を有し、操作体５０１と操作体５０２の距離と操作装置２００からの入力とによって、操作対象となるプレイヤキャラクタの動きを制御するものとした。なお、プレイヤキャラクタ５００と画面上の障害物や、操作体５０１，５０２が配置された地形等によってキャラクタの動きが更に変わることもある。
＜キャラクタの動作＞
【００３７】
図５（ａ）〜（ｅ）に、プレイヤキャラクタ５００の説明図を示す。図５（ａ）〜（ｅ）において、操作体５０１は、操作装置２００のジョイスティック２５１で操作されるキャラクタ画像（以下、単にキャラクタと表示する）であり、通常はユーザの左手で操作されることになる。操作体５０２は、操作装置２００のジョイスティック２５１で操作されるキャラクタであり、通常はユーザの右手で操作されることになる。本実施形態ではアナログ入力のジョイスティックを用い、かつ、ジョイスティックの傾き量が大きくなるほど操作体の移動速度が大きくなるようにした。
【００３８】
また、本実施形態では、操作体５０１，５０２の位置をユーザが容易に把握できるように、操作体５０１，５０２を内包するキャラクタとして袋体５０３を表示している。これにより、操作体５０１と操作体５０２とが大きく離間したときでも、操作体の一方の位置を把握できれば、袋体５０３を通じて他方の操作体の位置を容易に把握することができる。
キャラクタ制御部３０１は、プレイヤキャラクタ５００の移動方向及び袋体５０３の形状を、操作体５０１，５０２に対しての操作装置２００からの入力及びプレイヤキャラクタが配置された地形データ等により定める。このような操作体５０１，５０２及び袋体５０３の制御は、操作装置２００からの入力及び地形データ等に基づいてキャラクタ制御部３０１によって行われる。また、表示制御部３０２では、上述のように移動方向及び形状が定められたプレイヤキャラクタ５００や背景、敵キャラクタ等をディスプレイ（図示省略）に表示する。
【００３９】
図５（ａ）は、操作装置２００からの入力がない状態におけるプレイヤキャラクタ５００の静止状態を示す。後述するように、この実施形態では、操作装置２００からの入力がない場合に、操作体５０１，５０２及び袋体５０３をこの図に示される状態に戻すようにした。なお、操作装置２００からの入力がない場合に静止状態に戻さずに、その時点での操作体５０１、５０２及び袋体５０３の状態を維持するようにしてもよい。
図５（ｂ）は、図５（ａ）の状態からジョイスティック２５２を上方向に倒して操作体５０２のみを上方向に移動開始した状態を示す。この状態から更にジョイスティック２５２を上方向に倒した状態を維持すると、図５（ｃ）、図５（ｄ）に示されるように、プレイヤキャラクタ５００は細長くなる。この時点までは、操作体５０１は、元の位置から移動していない。図５（ｄ）は、プレイヤキャラクタ５００の限界長であり、通常は、プレイヤキャラクタ５００の長さがこの限界長を超えて更に長くなることはない。プレイヤキャラクタ５００の長さが図５（ｄ）に示される限界長に達すると、図５（ｅ）に示されるように、操作装置２００からの入力がない操作体５０１も、操作体５０２に追随して上方に移動し、これにより、操作体５０１と操作体５０２との間の距離は一定に保たれる。このように、プレイヤキャラクタ５００は、図５（ａ）に示される初期状態から、操作体５０１，５０２の距離が長くなるにつれて、袋体の形状が細長くなるようになっている。
【００４０】
また、キャラクタ制御部３０１は、通常時においては、操作体５０１，５０２を、それぞれジョイスティック２５１，２５２から入力される方向および速さで移動させる。より詳細には、ジョイスティックを倒した方向がそのまま操作体５０１，５０２の移動方向となる。操作体５０１，５０２の移動速度は、ジョイスティックの傾斜角に応じて定まり、この例では、傾斜角が大きくなるほど移動速度が大きくなるようにした。この状態の説明図を図６に示す。図６において、ｖ１，ｖ２は、ジョイスティックから入力される移動速度を表すベクトルであり、そのベクトルの向きが移動方向、ベクトルの大きさが移動の速さを表す。通常時においては、図６（ａ）のように、操作体５０１，５０２は、それぞれジョイスティック２５１，２５２からの入力どおり、ベクトルｖ１，ｖ２で示される方向及び速さで移動する。なお、操作体５０１，５０２の移動にともない、袋体５０３も操作体５０１，５０２を内包した状態で移動するように制御される。
本実施形態では、袋体形状制御部３１３は、操作体５０１，５０２の相対位置及びそれぞれの操作体の移動速度に応じて、操作体５０１，５０２を常に内包するように袋体５０３の形状を変化させる。
例えば操作体５０１と操作体５０２とが離れていく場合、袋体形状制御部３１３は、袋体５０３を、操作体５０１，５０２を内包した状態で伸びるようにその形状を変化させる。
＜キャラクタの基本動作＞
【００４１】
本実施形態では、操作体５０１と操作体５０２との距離には閾値が設定されており、通常状態においては、操作体５０１と操作体５０２とがこの閾値を超えて離れることはできないようになっている。操作体５０１，５０２の間の距離は、距離検出部３１１で検出され、操作体５０１，５０２とがこの閾値を超えないようにするための制御は、距離制限部３１２で行われる。また、袋体形状制御部３１３は、操作体５０１と操作体５０２との間の距離、移動状態５０２、及び操作装置２００からの入力に応じて、袋体５０３の形状を決定する。この際、袋体５０３は、常に操作体５０１，５０２を内包する形状とされる。
操作体５０１と操作体５０２との間の距離は、任意の手法で定義することができる。この実施形態では、操作体５０１の画面上での座標を(x1,y1)、操作体５０２の画面上での座標を(x2,y2)とし、操作体５０１と操作体５０２との距離ｄをｄ＝{(x1-x2)２＋(y1-y2)２}0.5と定義した。このように定義される距離ｄが、図５（ｄ）に示される限界長（以下、閾値Ｔ１と記載する）に達するまでは、上述のように、操作体５０１，５０２は、それぞれに対しての入力に従って移動する。
距離ｄが閾値Ｔ１に達すると、操作体５０１，５０２の距離は距離制限部３１２によって閾値Ｔ１に固定されるので、操作体５０１，５０２の移動はそれぞれ制限される。この場合のジョイスティック２５１，２５２との入力に対して操作体５０１，５０２をどのように移動させるかは適宜設定することができる。本実施形態では、距離ｄが閾値Ｔ１に達した後は、操作体５０１，５０２は、いずれも、(v1+v2)/2のベクトルで示される方向及び速さで移動する。従って、操作体５０１，５０２の距離は閾値Ｔ１のままで移動される。
【００４２】
例えば、操作体５０１にはジョイスティック２５１から左方向への入力がなされ、操作体５０２にはジョイスティック２５２から、ジョイスティック２５１と同じ傾き量で右方向への入力がなされると、距離ｄが閾値Ｔ１に達するまでは、操作体５０１，５０２は、それぞれジョイスティック２５１，２５２からの入力通りに移動する。距離ｄが閾値Ｔ１に達すると、ジョイスティック２５１，２５２からのベクトルｖ１，ｖ２を合成するとゼロベクトルになるので、操作体５０１、操作体５０２はともに移動しない。なお、この状態で、例えば操作体５０１，５０２に対し、距離ｄが閾値Ｔ１に達したことを示すための特定の表示、例えばこれらの操作体をそれぞれその場で細かく往復振動させる表示、等を行うことで、距離ｄがこれ以上大きくできなくなったことを視覚的にユーザに伝達するようにしてもよい。
上述のように、距離ｄが閾値Ｔ１に達した状態では、通常状態では距離ｄは閾値Ｔ１より大きくはならない。しかし、本実施形態では、ジョイスティック２５１，２５２からの入力とは独立した特定の入力がある場合に、更にこの距離ｄを大きくすることを可能とした。この特定の入力としては、例えば操作ボタン２２１のうちいずれかのボタンからの入力や、ジョイスティック２５１，２５２からの押し込み入力Ｐ１、Ｐ２のいずれかを用いることができる。
【００４３】
本実施形態では、押し込み入力Ｐ１，Ｐ２を、上記特定の入力とした。また、押し込み入力Ｐ１，Ｐ２に対して操作体５０１，５０２をその場に固定させる入力という機能をも割り当て、操作体の一方がその場に固定された状態において、他方の操作体を操作することで、上述の閾値Ｔ１よりも距離ｄを大きくすることを可能とした。この押し込み状態の説明図を図７（ａ）〜（ｃ）に示す。
図７（ａ）は、押し込み入力Ｐ１，Ｐ２ともになされていない状態で、ジョイスティック２５１からは操作体５０１を左に移動させる入力が、ジョイスティック２５２からは操作体５０２を右に移動させる入力がなされており、プレイヤキャラクタ５００が限界長、即ち距離ｄが閾値Ｔ１に達した状態を示す。
この状態では、距離ｄが閾値Ｔ１に達しているので、距離ｄの更なる拡大が制限されており、プレイヤキャラクタ５００はこれよりも伸びることはない。しかし、図７（ｂ）に示されるように、ジョイスティック２５２から押し込み入力Ｐ２が入力されると、距離ｄが閾値Ｔ１を超えて大きくなることが可能とされる。本実施形態においては、押し込み入力がなされている操作体に対して、図７（ｂ）、図７（ｃ）に示されるアイコン５０４を表示することで、当該操作体に対して押し込み入力がなされていることを視覚的にプレイヤに伝達するようにした。この状態では、ジョイスティック２５１からの左方向への入力がなされることで、図７（ｃ）に示されるように、プレイヤキャラクタ５００の操作体５０１と操作体５０２との距離ｄは、閾値Ｔ１よりも大きくなっている。本実施形態では、ジョイスティックの一方のみからの押し込み入力がある状態では、プレイヤキャラクタ５００は、閾値Ｔ２までのびることを可能とし、この閾値Ｔ２を超えて距離ｄが大きくなることは不可能とした。また、本実施形態では、Ｔ２をＴ１の２倍に設定した。勿論、Ｔ２の長さは任意に設定することができる。
【００４４】
なお、図７（ｂ）、（ｃ）においては、ジョイスティック２５２のみから押し込み入力Ｐ２が入力された状態を示しているが、ジョイスティック２５１とジョイスティック２５２とから同時に押し込み入力がある場合には、操作体５０１，５０２の双方にアイコン５０４を同時に表示するようにした。また、この場合、上述のように、押し込み入力Ｐ１，Ｐ２に対しては操作体５０１，５０２をその場に固定させる入力という機能を割り当てられているので、押し込み入力Ｐ１，Ｐ２が同時に入力された場合、操作体５０１，５０２は、その場に固定され、プレイヤキャラクタ５００は現時点での位置に固定されることになる。
【００４５】
以下、図４に示されるゲーム制御部３００の距離制限部３１２における、押し込み入力Ｐ１，Ｐ２のいずれかが入力されている場合に距離ｄを閾値Ｔ１より大きくする処理を図８のフローチャートを参照して説明する。なお、以下、ステップをＳと略記することがある。
【００４６】
図８において、ゲーム制御部３００の距離検出部３１１では、操作装置２００の入力から操作体５０１，５０２間の距離ｄを検出し、距離制限部３１２は、検出された距離ｄがｄ≧閾値Ｔ１であるかを判定する（Ｓ１０１）。ｄ≧閾値Ｔ１でないとき（Ｓ１０１Ｎ）は、Ｓ１０１に戻る。ｄ≧閾値Ｔ１を満たすとき（Ｓ１０１Ｙ）は、押し込み入力Ｐ１，Ｐ２の両方から入力があるかの判定が距離制限部３１２で行われる（Ｓ１０２）。押し込み入力Ｐ１，Ｐ２の両方から入力がある場合（Ｓ１０２Ｙ）、距離ｄの現在値を維持し（Ｓ１０３）、Ｓ１０１に戻る。その他の場合、つまりＰ１，Ｐ２双方から入力がないか、あるいはいずれか一方のみからしか入力がない場合（Ｓ１０２Ｎ）は、距離制限部３１２は、距離ｄを拡大する入力がジョイスティック２５１，２５２から入力されているかを判定する（Ｓ１０４）。距離ｄを拡大させる入力がない場合（Ｓ１０４Ｎ）、Ｓ１０１に戻る。その他の場合（Ｓ１０４Ｙ）、押し込み入力Ｐ１，Ｐ２からの入力がなされているか否かを距離制限部３１２が判定する（Ｓ１０５）。入力がない場合（Ｓ１０５Ｎ）は、押し込み入力Ｐ１，Ｐ２のいずれからも入力がないことを意味し、距離制限部３１２は、距離ｄが現在値よりも大きくならないよう、距離ｄの拡大を制限する（Ｓ１０６）。従って、距離ｄを拡大する入力があるにもかかわらず、距離ｄは閾値Ｔ１より大きくはならない。このように距離ｄの拡大を制限した後に、ステップ１０１以下を再度実行する。
【００４７】
Ｐ１，Ｐ２の入力がある場合（Ｓ１０５Ｙ）は、押し込み入力Ｐ１，Ｐ２のうちいずれか一方からのみ入力があることになる。何故なら、上述のように、このステップ１０５は、ステップ１０２における「押し込み入力Ｐ１，Ｐ２の両方から入力があるか否か」の判定結果がＮである場合に実行されるステップとなっているからである。このように、押し込み入力Ｐ１，Ｐ２のいずれか一方のみから入力がある場合は、ｄ＜閾値Ｔ２であるか否かを距離制限部３１２が判定する（Ｓ１０７）。判定結果がＹの場合（Ｓ１０７Ｙ）、距離制限部３１２は、距離ｄの拡大を制限せず、その結果、操作体５０１，５０２は、ジョイスティック２５１，２５２からの入力通りに操作される（Ｓ１０８）。より詳細には、ジョイスティック２５１，２５２の一方からは、その後、ステップ１０１以下の処理を再度実行する。判定結果がＮの場合（Ｓ１０７Ｎ）は、距離制限部３１２は、距離ｄが現在値よりも大きくならないよう距離ｄの拡大を制限する（Ｓ１０８）。従って、距離ｄを拡大する入力があるにもかかわらず、距離ｄは閾値Ｔ２より大きくはならない。その後、ステップ１０１以下の処理を再度実行する。
【００４８】
このように、本実施形態においては、通常状態、つまり押し込み入力Ｐ１，Ｐ２がない状態では、操作体５０１と操作体５０２との間の距離ｄが閾値Ｔ１に達すると、ジョイスティック２５１，２５２からの入力に拘わらず、その拡大が制限される。従って距離ｄが閾値Ｔ１を超えることはない。一方、押し込み入力Ｐ１，Ｐ２のいずれか一方のみから入力がある場合は、距離ｄが閾値Ｔ１に達しても、距離ｄの拡大が制限されることはなく、ジョイスティック２５１，２５２からの入力に応じて、距離ｄが閾値Ｔ１を超えて大きくできるようになっている。
【００４９】
また、距離ｄには、閾値Ｔ１よりも大きい閾値Ｔ２が設定されており、ジョイスティック２５１，２５２からの入力や、押し込み入力Ｐ１，Ｐ２からの入力等にかかわらず、距離ｄが閾値Ｔ２に達すると、距離ｄの拡大が制限され、閾値Ｔ２を超えて距離ｄが更に長くなることはできないようになっている。
【００５０】
なお、上記例では、「操作装置２００からの特定の入力がない場合には距離ｄの拡大を制限し、特定の入力がある場合には距離ｄの拡大を可能とする」という閾値は閾値Ｔ１のみとした。しかし、閾値Ｔ１より大きく閾値Ｔ２よりも小さい閾値Ｔ１'を設定し、この閾値Ｔ１'を、閾値Ｔ１と同様に、「操作装置２００からの特定の入力（例えば操作部２２０から入力）がない場合には距離ｄが閾値Ｔ１'を超えて拡大することを制限し、当該特定の入力がある場合には距離ｄが閾値Ｔ１'を超えて拡大することを可能とする」ものとしてもよい。同様に、「操作装置２００からの特定の入力がない場合には距離ｄの拡大を制限し、特定の入力がある場合には距離ｄの拡大を可能とする」ための閾値Ｔ１''、閾値Ｔ１'''…等を任意の数だけ設定することができる。
【００５１】
図８のフローチャートで説明した例における閾値Ｔ２は、操作装置２００からの入力にかかわらず、当該閾値を超えて距離ｄを拡大することを不能なものとしたが、必ずしもこのような閾値を設定する必要はない。ゲームによって、このような閾値Ｔ２を設けるようにしてもよく、また、このような閾値Ｔ２を設けないようにしてもよい。更に、閾値Ｔ２を設けるか設けないかをユーザが設定可能にしてもよい。また、閾値を設ける場合、当該閾値Ｔ２の値をユーザが設定できるようにしてもよい。
なお、上述の例では、閾値Ｔ１，Ｔ２の値は固定されているものとした。しかし、例えばジョイスティック２５１，２５２を、押し込み入力における押し込み量を検出できるものとすることで閾値Ｔ１，Ｔ２の値を可変とすることもできる。この場合、ジョイスティック２５１，２５２の押し込み量をアナログ値で検出して検出された値に応じて閾値Ｔ１，Ｔ２の値を変えるようにしてもよく、あるいは、押し込み量を大小の２段階、あるいは大中小の３段階とデジタル的に検出し、段階的に閾値Ｔ１，Ｔ２の値を変えるようにしてもよい。
また、上記構成において、更に、操作体５０１と操作体５０２との距離ｄに第３の閾値Ｔ３を設定することも可能である。本実施形態では、操作装置２００からプレイヤキャラクタ５００を操作するための入力がなされていない場合は、距離制限部３１２は、距離ｄが閾値Ｔ３に等しくなるように操作体５０１と操作体５０２との距離ｄを調整する。より詳細には、距離ｄが閾値Ｔ３よりも大きい場合には距離ｄを小さくし、距離ｄが閾値Ｔ３よりも小さい場合には距離ｄを大きくし、距離ｄが閾値Ｔ３に等しいときは、距離ｄをＴ３に維持する。
【００５２】
上記構成において、操作装置から特定のコマンドが入力されたとき、つまり、ジョイスティックの回転や、ジョイスティックを素早く左右に振る操作等の特定の入力が検出された際に、操作体５０１と操作体５０２とを特定の形態で表示するようにすることもできる。本実施形態では、図４に示されるコマンド検出部３１４で、このような操作装置２００からの入力を解析して上述の特定のコマンドを検出し、表示制御部３０２では、検出されたコマンドに応じて操作体５０１，５０２の表示を制御する。
＜キャラクタの融合処理＞
【００５３】
次に、本実施形態では、ディスプレイ上に他のキャラクタ、例えば地形データや敵キャラクタをプレイヤキャラクタ５００とともに表示する。他のキャラクタとプレイヤキャラクタ５００とが接触した場合、プレイヤキャラクタ５００と接触するキャラクタの種類によって処理が異なってくる。例えば、後述するように、接触するキャラクタと融合する処理、接触するキャラクタを破壊する処理、あるいは接触するキャラクタを乗り越える処理等のいずれかを行う。以下に、プレイヤキャラクタ５００と接触するキャラクタの種類毎に上述の処理の説明を行う。なお、プレイヤキャラクタ５００以外の他のキャラクタの形状や動きは、プレイヤキャラクタ５００との接触状態や操作装置２００からの入力等によって、キャラクタ制御部３０１で決定するようにした。
【００５４】
本実施形態では、プレイヤキャラクタ５００と融合可能なキャラクタと、融合不可能なキャラクタと、を設定した。図９に、融合可能なキャラクタ５１０とプレイヤキャラクタ５００とが接触した状態を示す。図９（ａ）は、融合前の状態であり、この時点では、融合可能なキャラクタ５１０とプレイヤキャラクタ５００とは何ら変化しない。図９（ｂ）のように両者が接触すると、プレイヤキャラクタ５００は融合可能なキャラクタ５１０を袋体５０３の内部に取り込みだす。なお、本実施形態では、このように接触したキャラクタをプレイヤキャラクタ５００の袋体５０３の内部に取り込んで吸収することを、「融合」と記載する。この状態では、時間が経過するにつれて融合可能なキャラクタは徐々に小さくなっていき、最終的には図９（ｃ）のように融合可能なキャラクタ５１０を完全にとりこんだ状態となる。なお、両者が接触したら瞬時に図９（ｃ）のように融合可能なキャラクタ５１０を完全に取り込んでしまうようにしてもよい。また、本実施形態では、プレイヤキャラクタ５００及び融合可能なキャラクタにそれぞれ仮想的な質量（以下、単に質量と記載する）を設定し、プレイヤキャラクタは、融合後、取り込んだキャラクタの質量に応じてその質量が増えるものとした。
【００５５】
融合可能なキャラクタ５１０の質量にかかわらず、プレイヤキャラクタ５００との融合を可能としてもよいが、本実施形態では、融合可能なキャラクタ５１０がプレイヤキャラクタ５００よりも質量が小さい場合に、図９に示したような融合を可能とした。また、融合後は、融合したキャラクタに応じて、プレイヤキャラクタ５００の質量が増加するようにした。質量の増加は、画面上では、プレイヤキャラクタ５００や融合可能なキャラクタ５１０の表示面積として表される。
【００５６】
また、図１０（ａ）に示されるように、融合可能なキャラクタ５１０がプレイヤキャラクタ５００よりも大きな場合、図１０（ｂ）に示されるように、プレイヤキャラクタ５００のほうが、融合可能なキャラクタ５１０に取り込まれるようにした。また、プレイヤキャラクタ５００に、相手に取り込まれていること表示するアイコン５０５を表示するようにした。融合可能なキャラクタ５１０から離れるようプレイヤキャラクタ５００を移動させれば、完全に取り込まれる前に脱出することができるが、図１０（ｂ）のように両者が接触している状態では、徐々にプレイヤキャラクタ５００が、融合可能なキャラクタ５１０に取り込まれていき、最後にはプレイヤキャラクタ５００が消滅して失われることになる。
【００５７】
図１０（ｃ）に示されるように、融合可能なキャラクタ５１０がプレイヤキャラクタ５００よりも大きいときには、当該融合可能なキャラクタ５１０がプレイヤキャラクタ５００よりも質量が大きいことを表示するアイコン５１１を融合可能なキャラクタ５１０に対して表示する。これにより、プレイヤは、プレイヤキャラクタ５００と他のキャラクタとの質量の大小関係を容易に知ることができる。
【００５８】
なお、プレイヤキャラクタ５００と、融合可能なキャラクタ５１０と、の質量が等しいときには、プレイヤキャラクタ５００が、融合可能なキャラクタ５１０より大きいときと同様の処理を行うように設定してもよく、逆に、プレイヤキャラクタ５００が融合可能なキャラクタ５１０より小さいときと同様の処理を行うように設定してもよい。
【００５９】
また、本実施形態では、ジョイスティック２５１，２５２からの入力とは独立した特定の入力、例えば操作装置２００の操作ボタン２２１のうちいずれか特定のボタンからの入力がある場合に、プレイヤキャラクタ５００を、融合可能なキャラクタ５１０との融合ができなくなるようにした。この状態では、プレイヤキャラクタ５００と、融合可能なキャラクタ５１０と、が接触すると、両者が衝突したものとして扱われ、衝突時におけるそれぞれの移動方向、速度、質量に基づいて、衝突後の両者の移動方向、速度及び形状等がキャラクタ制御部３０１にて決定される。本実施形態では、現実世界と同様、質量が大きいキャラクタは、衝突後の跳ね返り速度が小さく、質量の小さいキャラクタは、跳ね返り速度が大きくなるようにした。
＜融合不可能で破壊可能なキャラクタとの接触時の処理＞
【００６０】
また、本実施形態では、ゲームの画面に、プレイヤキャラクタ５００とともに地形を表示する。また、プレイヤキャラクタ５００の他に、この地形上に固定された固定キャラクタを表示するものとした。融合不可能な固定キャラクタとしては、破壊可能であるか、または破壊不能なものとして属性を設定しておく。この融合不可能な固定キャラクタとプレイヤキャラクタ５００とが接触する場合に、融合不可能なキャラクタ５００が破壊可能なものか否かを一定の条件で、融合不可能なキャラクタの形状を変化させた。図１１に示される例では、融合不可能なキャラクタとして建造物５２０を複数設定した。
【００６１】
袋体形状制御部３１３では、プレイヤキャラクタ５００と建造物５２０とが接触するか否かを判定する。この判定は、操作体５０１と操作体５０２との相対的位置関係及び操作体５０１，５０２それぞれの移動速度に応じて決定された形状の袋体５０３が建造物５２０と接触するかを判定し、接触する場合には、プレイヤキャラクタ５００と建造物５２０とが接触すると判定した。接触する場合は、袋体が建造物５２０の内部に入り込まずに建造物５２０の表面に接触した形状となるように袋体の形状を変形する。また、本実施形態では、上述のような袋体の変形を行う前の袋体の形状と建造物５２０とが重なる領域の大きさを求め、この領域が大きいほど建造物５２０に対してプレイヤキャラクタ５００の質量に起因する仮想的な重量（以下、単に重量と記載する）が加わっているものとした。
なおかつ、本実施形態では、プレイヤキャラクタ５００の質量によりこの建造物５２０に加えられる重量が一定値以上になる場合に建造物５２０を変形し、この建造物５２０が破壊されたことを表す画像を表示した。なお、重量の決定手法は任意であり、例えば、単純に建造物５２０と操作体５０１，５０２との距離によって仮想的な質量を決定し、建造物５２０の形状を変化させるか否かを決定することもできる。
【００６２】
図１１（ａ）〜（ｅ）は、このような建造物５２０の形状の変化を説明する図である。図１１（ａ）において、複数の建造物５２０は、図中にＲで示される道路を挟んで配置されている。
ここで、上述のように、プレイヤキャラクタ５００は、図５（ａ）に示される初期状態から、操作体５０１，５０２間の距離ｄが長くなるにつれて、袋体の形状が細長くなるようになっている。従って、プレイヤキャラクタ５００が、図１１（ｂ）に示される、操作体５０１，５０２の距離があまり小さくない状態で道路Ｒに進入すると、袋体５０３の幅は道路Ｒの幅よりも大きくなる。袋体５０３の幅と道路Ｒの幅との差が一定値よりも小さい場合には、プレイヤキャラクタ５００から建造物５２０をかけられる重量が、建造物５２０を破壊するまでの値ではないと判定し、建造物５２０の形状は変化させない。この場合、建造物５２０はプレイヤキャラクタ５００と融合不可能であることから、プレイヤキャラクタ５００の袋体５０３の形状を建造物５２０の外壁に沿うように変形させ、袋体５０３が建造物５２０の内部に入り込まないようにする。
一方、上述の袋体５０３の幅と道路Ｒの幅との差が一定値よりも大きい場合には、プレイヤキャラクタ５００により建造物５２０にかかる重量が、建造物５２０が耐えられる重量よりも大きいと判定しする。そして、図１１（ｃ）に示されるように、建造物５２０の形状を変化させて、この建造物５２０が破壊されたことを示す画像を表示する。
図１１（ｄ）に示されるように、プレイヤキャラクタ５００における操作体５０１と操作体５０１と操作体５０２との距離ｄが十分大きい場合には、プレイヤキャラクタ５００は、建造物５２０と殆ど接触しないまでに細長くなるので、建造物５２０に対してはプレイヤキャラクタ５００の重量が殆ど加わらず、図１１（ｅ）に示されるように、建造物５２０の形状を変化させることはない。
＜キャラクタの回転操作例＞
【００６３】
次に、本実施形態におけるキャラクタの回転操作の例を示す。操作装置２００から、操作体５０１，５０２の一方に対して、ジョイスティック２５１，２５２からの入力とは独立した入力、この例では押し込み入力Ｐ１，Ｐ２のいずれか一方がなされ、かつ、操作体５０１，５０２の他方に対しては、当該操作体を回転させる動きを指示する入力（回転入力）がなされた場合における操作体５０１，５０２の表示形態を図１２（ａ）に示す。また、この回転入力の説明図を図１２（ｂ）に示す。この例では、操作体５０１に対して押し込み入力Ｐ１がジョイスティック２５１から入力され、操作体５０２に対しては、ジョイスティック２５２を回転させることで、この操作体５０２を画面上で回転させる入力がなされている。
【００６４】
その結果、ディスプレイ上には、操作体５０２が、操作体５０１を中心として回転するという表示が行われる。また、実世界では、物体を回転運動させると求心力の反作用として遠心力という見かけ上の力が作用するが、本実施形態では、操作体５０２を回転させるにつれてプレイヤキャラクタ５００を伸長させることで、この遠心力を表現するようにした。従って、押し込み入力を行いながらの回転を継続すると、操作体５０１，５０２の距離ｄは、上述の閾値Ｔ２にまでのびる。また、距離ｄが伸長する速度は、ジョイスティックからの回転入力における回転速度が大きいほど大きくなるようにした。また、本実施形態では、ジョイスティックの回転速度が十分に大きい場合、プレイヤキャラクタ５００の伸長速度が、プレイヤキャラクタ５００を回転入力ではない通常の入力によって伸長させた場合の伸長速度よりも大きくなるようにした。これにより、回転入力を行うことで、融合可能なキャラクタ５１０に迅速に接触できるようにした。
このようにすることで、プレイヤキャラクタ５００の周囲にある複数の融合可能なキャラクタを、プレイヤキャラクタ５００によってまとめて融合することが可能となる。
【００６５】
また、上述のように、本実施形態では、ジョイスティック２５１，２５２からの入力とは独立した特定の入力、例えば操作装置２００の操作ボタン２２１のうちいずれか特定のボタンからの入力がある場合に、プレイヤキャラクタ５００を、融合可能なキャラクタ５１０との融合を不能とした。このように融合不可能な状態でプレイヤキャラクタ５００の操作体５０２を高速に回転させると、融合可能なキャラクタ５１０に対してプレイヤキャラクタ５００を高速に衝突させることができる。その結果、融合可能なキャラクタ５１０の仮想的な質量がプレイヤキャラクタ５００よりも小さい場合は、融合可能なキャラクタ５１０を迅速かつ高速に弾き飛ばすことができる。
＜キャラクタを乗り越える処理＞
【００６６】
本実施形態では、プレイヤキャラクタ５００に対して「高さ」を設定し、立体的なキャラクタとした。図１３（ａ）、（ｂ）に示されるように、通常時は、プレイヤキャラクタ５００は平坦な状態となっているが、特定の操作を行うことで、図１３（ｃ）、（ｄ）に示されるように、プレイヤキャラクタ５００の高さを伸ばすようにした。本実施形態では、図１２（ｄ）に示されるように、ジョイスティック２５１，２５２を、同一直線上で互いに内向き（具体的には、一対のジョイスティックにおいて左側に配置されたジョイスティックを右に入力してかつ右側に配置されたジョイスティックを左に入力する）になるよう入力することによって、プレイヤキャラクタ５００が高さ方向に伸長するようにした。また、プレイヤキャラクタ５００が他のキャラクタに接触したとき、プレイヤキャラクタ５００の高さが、接触対象となるキャラクタよりも大きく、なおかつ、接触対象となるキャラクタが融合不可能でかつプレイヤキャラクタ５００によって破壊もされないキャラクタであるときは、プレイヤキャラクタ５００が接触対象となるキャラクタを乗り越えることができるようにした。
【００６７】
図１３に、プレイヤキャラクタ５００による乗り越えの処理の説明図を示す。図１３（ａ）、（ｂ）においては、プレイヤキャラクタ５００と融合せずかつ破壊も不可能なキャラクタ、この図においては建造物５２１に対して、プレイヤキャラクタ５００が接触した状態を示す。この状態では、プレイヤキャラクタ５００は、建造物５２１よりも低いので、建造物５２１を乗り越えることはできない。
一方、操作体５０１，５０２を同一直線上で互いに近づく方向に移動させると、上述のようにプレイヤキャラクタ５００が高さ方向に伸長し（より具体的には、袋体５０３が高さ方向に伸長し）、図１３（ｃ）、（ｄ）に示されるように、乗り越えが可能な状態となる。本実施形態においては、操作装置２００の左側に配置されたジョイスティック２５１を右に入力し、操作装置２００の右側に配置されたジョイスティック２５２を左に入力することで、プレイヤキャラクタ５００の高さを大きくしている。このようにジョイスティック２５１，２５２の内向き入力を維持している間は、プレイヤキャラクタ５００の高さが維持される。内向き入力を解除すると、プレイヤキャラクタ５００は、通常の高さに戻る。また、ジョイスティック２５１，２５２をそれぞれ外向きに入力した場合、つまり、操作装置２００の左側に配置されたジョイスティック２５１を左に入力し、操作装置２００の右側に配置されたジョイスティック２５２を右に入力した場合、通常状態よりも、袋体５０３が平たくなり、高さ方向が縮むようにした。
【００６８】
一方、内向き入力を行った状態で、前進入力を行う、つまり、図１３（ｅ）に示されるように、ジョイスティック２５１に対しては、右への入力に加えて進行方向への入力（図１３の例では前方への入力）を、ジョイスティック２５２に対しては、左への入力に加えて進行方向への入力を、それぞれ更に加える。この結果、図１３（ｅ）に示されるように、ジョイスティック２５１に対しては右上への入力がなされ、ジョイスティック２５２に対しては、左上への入力がなされる。その結果、プレイヤキャラクタ５００は、高さを維持したままで前進する。この状態では、プレイヤキャラクタ５００は、建造物５２１よりも高さが大きいので、通常時においては不可能である「建造物５２１を乗り越える」動作が可能となる。
＜キャラクタの高さの伸長＞
【００６９】
この例では、図１４（ａ）、図１４（ｂ）に示されるように、ジョイスティック２５１，２５２を、それぞれが互いに異なる平行な直線上で内向き（具体的には、一対のジョイスティックにおいて左側に配置されたジョイスティックを右上に入力してかつ右側に配置されたジョイスティックを左下に入力するか、又は、一対のジョイスティックにおいて左側に配置されたジョイスティックを右下に入力してかつ右側に配置されたジョイスティックを左上に入力する）になるよう入力された場合に、プレイヤキャラクタ５００が、図１３（ｅ）に示される、上述の＜キャラクタを乗り越える処理＞で説明した、同一直線上で内向きになるよう入力を行った場合よりも、図１４（ｃ）に示されるように、更に高く伸長するようにした。
【００７０】
この例では、上述の互いに異なる直線上で内向きの入力がなされた場合、図１４（ｄ）に示されるように、プレイヤキャラクタ５００において、操作体５０１，５０２が、操作体５０１と操作体５０２とを結ぶ直線の中点を中心として回転する表示を行うようにした。
これにより、建造物５２１が、同一直線上で内向きになるよう入力を行った場合では乗り越えられない高さであったとしても、互いに異なる直線上で内向きの入力を行うことで、プレイヤキャラクタ５００が建造物５２１よりも高くなれば、建造物５２１を乗り越えることが可能となる。
【００７１】
また、プレイヤキャラクタ５００よりも高い位置にあり、通常では接触することができないキャラクタに対して、上述の＜キャラクタを乗り越える処理＞、及び＜キャラクタの高さの伸長＞での例のように、プレイヤキャラクタ５００の高さを大きくすることで、接触することが可能となる。これにより、高い位置にあって通常では接触できないキャラクタに接触して融合等を行うことも可能となる。
＜実行する処理の選択＞
【００７２】
図１５に、このような地形データの影響を反映させてプレイヤキャラクタ５００の移動や変形の選択を行う処理を表すフローチャートを示す。図４と同様に、操作体５０１，５０２の距離ｄの検出は距離検出部３１１、距離ｄと閾値との比較は距離制御部３１２、袋体形状の制御は袋体形状制御部３１３、操作装置２００からの特定の入力であるコマンドの検出は、コマンド検出部３１４で行う。
図１５に示されるように、キャラクタ制御部３０１では、プレイヤキャラクタ５００の移動を指示する入力があるかを判定する（Ｓ２０１）。入力がある場合（Ｓ２０１Ｙ）には、プレイヤキャラクタ５００のパラメータ、例えば操作体５０１，５０２の移動速度及び位置や現在の袋体５０３の形状等を検出し（Ｓ２０２）、地形データを検出する（Ｓ２０３）。入力がない場合（Ｓ２０１Ｎ）には、後述する図１６のステップ２２１に進む。
【００７３】
次に、操作体５０１，５０２の一方に対してのみ入力がなされているか否かを判定し、一方に対してのみの入力である場合（Ｓ２０４Ｙ）には、操作体の一方を入力方向に移動させ（Ｓ２０５）、検出された地形データに応じてプレイヤキャラクタ５００の伸長処理を行う（Ｓ２０６）。その後、操作体の他方に対しての押し込み入力がなされたかを判定する（Ｓ２０７）。入力がなされている場合には（Ｓ２０７Ｙ）、後述する図１７のＳ２３１に進む。入力がなされていない場合には（Ｓ２０７Ｎ）、プレイヤキャラクタ５００が限界長、即ち上述の操作体５０１，５０２間の距離ｄが閾値Ｔ１に達しているか否かを判定する（Ｓ２０８）。達していない場合には（Ｓ２０８Ｎ）、Ｓ２０４に戻る。達している場合には（Ｓ２０８Ｙ）、入力がなされている方の操作体と、他方の操作体の座標をそれぞれ検出する（Ｓ２０９）。
【００７４】
その後、プレイヤキャラクタ５００が限界長に達していることから、入力がなされていない操作体、つまり他方の操作体を、操作装置２００のジョイスティックからの入力により移動している操作体に追随するよう移動させる（Ｓ２１０）。なお、本実施形態では、操作体５０１，５０２という二つの操作体を用いる例を示したが、操作体を３つ以上とすることもできる。操作体が３つ以上である場合、上記Ｓ２０８の判断を行う前に、入力がなされている操作体に近い操作体ほど優先順位が高くなるように優先順位を決定する。そして、入力がなされている操作体と、優先順位の最も高い操作体と、の間の距離を対象として、限界長に達しているか否か等という上記Ｓ２０８の判断を行うようにする。
次に、地形データの検出を行い（Ｓ２１１）、地形データによってプレイヤキャラクタ５００の移動が影響をうけるか否か、つまりコリジョンが発生しているか否かを判定する（Ｓ２１２）。発生している場合（Ｓ２１２Ｙ）には、後述する図１８のステップ２５１に進む。発生していない場合には、入力状態が維持されているか否かを判定し（Ｓ２１３）、維持されていない場合（Ｓ２１３Ｎ）にはＳ２０１に戻り、維持されている場合（Ｓ２１３Ｙ）にはＳ２０１に戻る。なお、この実施形態で、「入力状態が維持されている」とは、入力のある操作体に関しては入力が中断されず、かつ、入力がない操作体に関しては入力が新たに発生していないという状態を指す。
【００７５】
次に、上述のように、Ｓ２０１で入力がない場合（Ｓ２０１Ｎ）には、図１６のステップ２２１に進み、操作体５０１，５０２の位置を検出し（Ｓ２２１）、これらの操作体５０１，５０２が初期位置Ｔ３、つまり図５（ａ）の状態となっているか否かを判定し（Ｓ２２２）、初期位置にある場合（Ｓ２２２Ｙ）には、再度図１４のＳ２０１に戻る。初期位置にない場合（Ｓ２２２Ｎ）、地形の影響の有無を判定し（Ｓ２２３）、影響がある場合には（Ｓ２２３Ｙ）、プレイヤキャラクタ５００のパラメータ、例えば操作体５０１，５０２の移動速度及び位置や現在の袋体５０３の形状等を検出し（Ｓ２２４）、次に地形データの検出を行う（Ｓ２２５）。その後、検出結果を反映させて操作体の位置を補正し（Ｓ２２６）、Ｓ２０１へと戻る。Ｓ２２２で地形の影響がないと判定された場合（Ｓ２２２Ｎ）には、操作体５０１，５０２を初期位置へ戻す処理を行い（Ｓ２２７）、Ｓ２０１へと戻る。
【００７６】
次に、Ｓ２０７で他方の操作体が押し込み入力されたと判定された（Ｓ２０７Ｙ）場合は、図１７のＳ２３１に進んで、押し込み入力が単数であるか否かを検出する（Ｓ２３１）。なお、図１５のＳ２０１で、一方のジョイスティックからの操作体を移動させる入力があると判定され、かつ、Ｓ２０７で他方ジョイスティックから押し込み操作がなされた場合にこのＳ２３１が実行され、かつ、本実施形態では、ジョイスティックは２つとしていることから、このＳ２３１の判定結果は、本実施形態では必ずＹとなる。逆に、ジョイスティックを３つ以上使用し、ジョイスティックと同数の操作体を操作する例においては、このＳ２３１でＮと判定される場合もあり得る。
押し込み入力が単数である場合（Ｓ２３１Ｙ）、プレイヤキャラクタ５００のパラメータ、例えば操作体５０１，５０２の移動速度及び位置や現在の袋体５０３の形状等を検出（Ｓ２３２）し、操作体５０１，５０２間の距離ｄの限界長をＴ１からＴ２に変更する。（Ｓ２３３）。なお、押し込みが複数ある場合（Ｓ２３１Ｎ）、押し込み入力の数、即ち押し込み入力を行っているジョイスティックの数を検出し（Ｓ２４５）、押し込み入力がなされている各操作体の座標を検出（Ｓ２４６）した後に、Ｓ２３２へ進む。
【００７７】
次に、押し込み入力がなされた操作体と移動入力がなされた操作体との座標を検出し（Ｓ２３４）、地形データを検出した後（Ｓ２３５）、操作装置２００からの入力タイプを検出する（Ｓ２３６）。次に、この入力が、上述のキャラクタの特殊操作例１で説明した回転入力であるか否か、具体的には、一方の操作体には押し込み入力がなされ、かつ、他方の操作体には、ジョイスティックを回転させることで生じる、当該他方の操作体を回転させる入力がなされているかを検出する。回転入力である場合（Ｓ２３７Ｙ）には、ジョイスティックの入力から上述の仮想的な遠心力を算出し（Ｓ２３８）、操作体５０１，５０２の間の距離ｄをどれくらい伸ばすべきかをこの仮想的な遠心力から決定する（Ｓ２３９）。その後に距離ｄが変更された限界長である閾値Ｔ２に達しているか否かを判定する（Ｓ２４０）。なお、Ｓ２３７で回転入力でないと判定された場合（Ｓ２３７Ｎ）は、直接Ｓ２３９に進み、操作体５０１，５０２への入力から伸長量を決定する。
【００７８】
限界長に達している場合（Ｓ２４０Ｙ）、距離ｄが閾値Ｔ２に達していることから伸長を制限し、限界長に達していることを表す表示を行う（Ｓ２４１）。例えばこれらの操作体をそれぞれその場で細かく往復振動させる表示を行うことで、距離ｄがこれ以上大きくできなくなったことを視覚的にユーザに伝達する。その後、Ｓ２３２〜Ｓ２４１の検出結果及び判定結果をもとに、押し込み入力がされていない側の操作体の位置を決定する（Ｓ２４２）。
限界長に達していない場合（Ｓ２４０Ｎ）には、直接Ｓ２４２に進む。次に、プレイヤキャラクタ５００の移動の障害となる建造物や地形等のキャラクタがあるか、つまり、コリジョンがあるか否かを判定する（Ｓ２４３）。
【００７９】
コリジョンがない場合（Ｓ２４３Ｎ）には、操作装置２００からの入力状態が維持されているかを判定し、維持されている場合には（Ｓ２４４Ｙ）、Ｓ２３２に戻る。なお、Ｓ２４４における入力状態が維持されている状態とは、ジョイスティックの一方からの押し込み入力が維持され、なおかつジョイスティックの他方からは押し込み入力がなされないという状態が維持されることをいう。入力状態が維持されていない場合には、Ｓ２０１に戻る。
コリジョンがある場合（Ｓ２４３Ｙ）には、図１８のＳ２５１に進む。このステップでは、地形データ（コリジョンデータ）の検出を行い（Ｓ２５１）、プレイヤキャラクタ５００と接触対象となるキャラクタのパラメータを検出する（Ｓ２５２）。その後、接触対象のキャラクタが吸収可能なキャラクタであるか否かを判定し（Ｓ２５３）、吸収可能なキャラクタである場合（Ｓ２５３Ｙ）には、上述の＜キャラクタの融合処理＞で説明した処理を行い（Ｓ２５４）、処理が終了した後にＳ２０１へ戻る。
一方、接触対象のキャラクタが吸収可能なキャラクタではない場合（Ｓ２５３Ｎ）、接触対象のキャラクタに破壊可能な属性が設定されているかを検出することで、接触対象のキャラクタが破壊可能であるか否かを判定する（Ｓ２５５）。破壊可能な場合（Ｓ２５５Ｙ）には、上述の＜融合不可能で破壊可能なキャラクタとの接触時の処理＞で説明した一連の処理を行い（Ｓ２５６）、処理が終了したらＳ２０１に戻る。
【００８０】
接触対象のキャラクタが破壊不可能である場合（Ｓ２５５Ｎ）には、接触対象のキャラクタの高さとプレイヤキャラクタ５００の高さとを比較し、接触対象のキャラクタを乗りこえることが可能であるかを判定する（Ｓ２５７）。乗り越えが可能である場合（Ｓ２５７Ｙ）、上述の＜キャラクタを乗り越える処理＞で説明した一連の処理を行い（Ｓ２５８）、Ｓ２０１に戻る。乗り越えが不可能な場合には（Ｓ２５７Ｎ）、プレイヤキャラクタ５００の袋体５０３の形状を、コリジョンが生じている接触対象のキャラクタの内部に入り込まないように、接触対象のキャラクタの形状に沿うよう変形させ（Ｓ２５９）、Ｓ２０１に戻る。
【００８１】
図１５に戻って、Ｓ２０４で、操作体の一方に対してのみの入力ではないと判定された場合（Ｓ２０４Ｎ）、図１９のＳ２６１に進み、入力がある操作体の数を検出する（Ｓ２６１）。なお、図１５において、Ｓ２０１で操作体に対してジョイスティック２５１，２５２の少なくともいずれか一つからの入力がなされていると判定されなければＳ２０４には進まない。本実施形態では、操作体の数は、操作体５０１，５０２の二つであるので、Ｓ２０４でＮと判定された場合、操作体５０１，５０２の双方に入力がある、つまり、Ｓ２６１で検出される入力数は２となる。ただし、本実施形態では操作体の数を二つとしたが、操作体の数は任意に設定できるので、操作体の数が３以上である場合には、ステップ２６１で、入力のある操作体の数を検出する必要がある。
【００８２】
操作体の数を検出した後に、入力のある操作体の位置座標の検出（Ｓ２６２）及び入力方向の検出（Ｓ２６３）を行い、プレイヤキャラクタ５００のパラメータを検出し（Ｓ２６４）、地形データを検出する（Ｓ２６５）。その後、これらの検出結果から、キャラクタ制御部３０１で、プレイヤキャラクタ５００の移動方向、及びプレイヤキャラクタ５００における袋体５０３の形状が決定される（Ｓ２６６）。なお、本実施形態では、プレイヤキャラクタ５００の移動速度（移動方向及び移動の速さ）は、図６に示されるようにジョイスティック２５１，２５２から入力される、移動速度を表すベクトルｖ１，ｖ２の合成ベクトルとなる。その後、入力状態が維持されているかを判定し（Ｓ２６７）、維持されていれば（Ｓ２６７Ｙ）、操作体に対する入力数は変わっておらずＳ２６１での入力数の検出は不要であることから、Ｓ２６３に戻る。維持されていなければ（Ｓ２６７Ｎ）、図１５のＳ２０１に戻る。
以上の構成により、操作装置２００からの入力及び地形データや他のキャラクタの状態に応じて、実行すべき処理の選択が可能となる。
【００８３】
なお、上記の実施形態では、本発明をゲーム機に適用した場合の例について説明したが、本発明のエンタテインメント装置は、コンピュータ読み取り可能な記録媒体に記録されたエンタテインメント用プログラム、あるいはネットワーク等を通じて取得したエンタテインメント用プログラムをローディングすることにより、パーソナルコンピュータ等でも同様に実施が可能である。この場合の操作装置は、本実施形態で説明した操作装置２００と等価の当該パーソナルコンピュータ仕様の専用品であっても良く、キーボードのタイプフェイス部分に上記の押圧操作機構を付加して上記の操作装置２００のような機能をもたせたものであっても良い。
更に、本実施形態では、プレイヤキャラクタ５００やプレイヤキャラクタ５００と接触するキャラクタの変形等の処理を行うためのパラメータとして、質量、重量、速度、遠心力等を用いたが、これらに限らず、例えばキャラクタ毎に柔軟性やプレイヤキャラクタに対しての攻撃性、キャラクタどうしが接触したときの摩擦係数、建造物が配置された角度や相対数、キャラクタが移動する際の加速度等を設定しておき、これらをキャラクタ変形等の処理を行うためのパラメータとしてもよい。
【図面の簡単な説明】
【００８４】
【図１】本発明を適用したゲーム機の全体構成図。
【図２】ゲーム機本体の構成図。
【図３】操作装置の正面図。
【図４】ゲーム制御部の機能ブロック図。
【図５】プレイヤキャラクタの説明図。
【図６】操作体の移動方向決定処理の説明図。
【図７】押し込み状態の説明図。
【図８】押し込み入力により距離ｄを閾値Ｔ１よりも大きくするための処理のフローチャート。
【図９】融合可能なキャラクタとプレイヤキャラクタとが接触した状態の説明図。
【図１０】融合可能なキャラクタとプレイヤキャラクタとが接触した状態の説明図。
【図１１】融合不可能で破壊可能なキャラクタとプレイヤキャラクタとが接触した状態の説明図。
【図１２】プレイヤキャラクタの回転操作の説明図。
【図１３】プレイヤキャラクタによる障害物の乗り越えの説明図。
【図１４】プレイヤキャラクタの高さの伸長の説明図。
【図１５】プレイヤキャラクタの移動や変形の選択処理を表すフローチャート。
【図１６】プレイヤキャラクタの移動や変形の選択処理を表すフローチャート。
【図１７】プレイヤキャラクタの移動や変形の選択処理を表すフローチャート。
【図１８】プレイヤキャラクタの移動や変形の選択処理を表すフローチャート。
【図１９】プレイヤキャラクタの移動や変形の選択処理を表すフローチャート。
【符号の説明】
【００８５】
１００  ゲーム機本体
１１０  主制御部
１２０  画像処理部
１３０  音響制御部
１４０  ディスク制御部
１５０  通信制御部
１６０  インタフェース部
２００  操作装置
２０１  装置本体
２０２  接続コード
２０３  コネクタ
２１０，２１１，２２０，２３０，２４０  操作部
２２１，２３１，２４１  操作ボタン
２５１，２５２  ジョイスティック
２５３  アナログ選択スイッチ
２５４  表示部
２５５  スタートスイッチ
２５６  選択スイッチ
３００  ゲーム制御部
３０１  キャラクタ制御部
３０２  表示制御部
３１１  距離検出部
３１２  距離制限部
３１３  袋体形状制御部
３１４  コマンド検出部
５００  プレイヤキャラクタ
５０１，５０２  操作体
５０３  袋体
５０４，５０５，５１１  アイコン
５１０  融合可能なキャラクタ
５２０，５２１  建造物
【図１】
2005278716.tif 000003
【図２】
2005278716.tif 000004
【図３】
2005278716.tif 000005
【図４】
2005278716.tif 000006
【図５】
2005278716.tif 000007
【図６】
2005278716.tif 000008
【図７】
2005278716.tif 000009
【図８】
2005278716.tif 000010
【図９】
2005278716.tif 000011
【図１０】
2005278716.tif 000012
【図１１】
2005278716.tif 000013
【図１２】
2005278716.tif 000014
【図１５】
2005278716.tif 000015
【図１６】
2005278716.tif 000016
【図１７】
2005278716.tif 000017
【図１８】
2005278716.tif 000018
【図１９】
2005278716.tif 000019
【図１３】
2005278716.tif 000020
【図１４】
2005278716.tif 000021