(57)【要約】【課題】２点間の距離または２点を結ぶ線の角度に応じてキャラクタの動作を制御する。【解決手段】ゲーム装置は少なくとも２点の指示位置を同時に検出可能なタッチパネルを含む。プレイヤがタッチパネルを操作することで検出された２点の座標値が検出され（Ｓ７）、２点間の距離および２点を結ぶ線の角度の少なくとも一方が算出される（Ｓ９）。また、２点間の距離および角度の変化量が算出される（Ｓ１１）。算出された距離および角度の少なくとも一方に基づいてキャラクタのたとえば移動速度および旋回角度のような動作パラメータが設定され（Ｓ１５）、この動作パラメータに基づいてキャラクタのたとえば移動および旋回のような動作が制御される（Ｓ１７）。また、２点の指示に変化があったときには、変化量に基づいて動作パラメータが変化され（Ｓ１９）、この動作パラメータに基づいてキャラクタの動作が制御される（Ｓ２１）。【選択図】  図１４
2010029711.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤによって操作されるキャラクタを含むゲーム空間を表示する表示手段、
前記プレイヤによって操作され、少なくとも２点の指示位置を同時に検出可能なタッチパネル、
前記プレイヤが前記タッチパネルを操作することによって検出される２点の指示位置の座標値を検出する座標検出手段、
前記座標検出手段によって検出された前記２点の間の距離を算出する位置関係算出手段、
前記位置関係算出手段によって算出された距離に基づいて前記キャラクタの移動速度を設定する移動速度設定手段、および
前記動作パラメータ設定手段によって設定された移動速度に基づいて前記キャラクタの動作を制御するキャラクタ制御手段を備える、タッチパネルを用いたゲーム装置。
【請求項２】
前記位置関係算出手段は、前記距離の変化量を算出する変化量算出手段を含み、
前記移動速度設定手段は、前記距離の変化量に基づいて前記移動速度を変化させ、
前記キャラクタ制御手段は、変化された前記移動速度に基づいて前記キャラクタの動作を制御する、請求項１記載のタッチパネルを用いたゲーム装置。
【請求項３】
前記変化量算出手段は、単位時間経過毎に前記変化量を算出する、請求項２記載のタッチパネルを用いたゲーム装置。
【請求項４】
プレイヤによって操作されるキャラクタを含むゲーム空間を表示する表示手段、および前記プレイヤによって操作され、少なくとも２点の指示位置を同時に検出可能なタッチパネルを備える、タッチパネルを用いたゲーム装置において、前記キャラクタを制御するゲームプログラムであって、
前記ゲーム装置のプロセサに、
前記プレイヤが前記タッチパネルを操作することによって検出される２点の指示位置の座標値を検出する座標検出ステップ、
前記座標検出ステップによって検出された前記２点の間の距離を算出する位置関係算出ステップ、
前記位置関係算出ステップによって算出された距離に基づいて前記キャラクタの移動速度を設定する移動速度設定ステップ、および
前記移動速度設定ステップによって設定された移動速度に基づいて前記キャラクタの動作を制御するキャラクタ制御ステップを実行させる、ゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、タッチパネルを用いたゲーム装置およびゲームプログラムに関し、特にたとえば、少なくとも２点の指示位置を同時に検出可能なタッチパネルを用いたゲーム装置およびゲームプログラムに関する。
【背景技術】
【０００２】
複数箇所の指示位置を同時検出可能なタッチパネルなどを用いて操作を実行する技術の一例が特許文献１に開示される。この特許文献１の技術では、タッチパネルなどを用いて複数箇所の指示位置を同時に検知し、指示位置の移動後に複数箇所の指示位置を再度検知して、各指示位置の移動軌跡を取得する。これによってユーザの指示を解釈して、指示された操作を実行する。たとえば、指示位置間の距離の変化を取得し、その変化量に応じて対象物の拡大または縮小操作を行ったり、指示位置を結ぶ線の角度およびその変化データに応じて対象物の右回転操作または左回転操作を行ったりする。
【特許文献１】特開２００１−２９０５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１の技術は、複数箇所の指示位置の移動軌跡に応じて単に対象物の拡大・縮小操作や回転操作を行うだけであり、ゲームに応用したものではない。つまり、特許文献１では、ゲームにどのように応用するのか、たとえばゲームに登場するキャラクタをどのように制御するのかは何ら明らかではない。
【０００４】
それゆえに、この発明の主たる目的は、新規な、タッチパネルを用いたゲーム装置およびゲームプログラムを提供することである。
【０００５】
この発明の他の目的は、２点の指示位置を同時に検出可能なタッチパネルを用いて、ゲーム空間内に登場するキャラクタの動作を制御することのできる、タッチパネルを用いたゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【０００６】
第１の発明は、タッチパネルを用いたゲーム装置であり、表示手段、タッチパネル、座標検出手段、位置関係算出手段、動作パラメータ設定手段、およびキャラクタ制御手段を備える。表示手段は、プレイヤによって操作されるキャラクタを含むゲーム空間を表示する。タッチパネルは、プレイヤによって操作され、少なくとも２点の指示位置を同時に検出可能である。座標検出手段は、プレイヤがタッチパネルを操作することによって検出される２点の指示位置の座標値を検出する。位置関係算出手段は、座標検出手段によって検出された２点の間の距離および２点を結ぶ線の角度の少なくとも一方を算出する。動作パラメータ設定手段は、位置関係算出手段によって算出された距離および角度の少なくとも一方に基づいてキャラクタの動作パラメータを設定する。キャラクタ制御手段は、動作パラメータ設定手段によって設定された動作パラメータに基づいてキャラクタの動作を制御する。
【０００７】
第１の発明では、ゲーム装置（１０：実施例で相当する参照符号。以下同じ。）は、タッチパネル（２２）を用いたゲーム装置である。表示手段（４２、１２、１４、５０、５２、６０、７２、Ｓ３、Ｓ７５、Ｓ１１１）は、プレイヤによって操作されるキャラクタ（１００）を含むゲーム空間を表示する。タッチパネルは、少なくとも２点の指示位置を同時に検出可能である。プレイヤはこのタッチパネルを操作してたとえば２点を指示することによって、キャラクタを操作する。座標検出手段（４２、７４、Ｓ７）は、プレイヤがタッチパネルを操作することによって検出される２点の指示位置の座標値（（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２））を検出する。位置関係算出手段（４２、７６、Ｓ９）は、２点の間の距離および２点を結ぶ線の角度の少なくとも一方を算出する。ここで、２点を結ぶ線の角度とは２点を結ぶ線とたとえば水平線のような基準線とのなす角度を意味する。これにより、プレイヤによる２点の操作状態ないし指示状態が算出される。動作パラメータ設定手段（４２、７８、Ｓ１５）は、算出された距離および角度の少なくとも一方に基づいてキャラクタの動作パラメータを設定する。そして、キャラクタ制御手段（４２、８０、Ｓ１７）は、設定された動作パラメータに基づいてキャラクタの動作を制御する。したがって、第１の発明によれば、キャラクタの動作パラメータが、プレイヤによって指示された２点間の距離および２点を結ぶ線の角度に基づいて設定されるので、２点間の距離または２点を結ぶ線の角度に応じてキャラクタを動作させることができる。
【０００８】
第２の発明は、第１の発明に従属し、位置関係算出手段は、距離および角度の少なくとも一方の変化量を算出する変化量算出手段をさらに含む。動作パラメータ設定手段は、距離の変化量および角度の変化量の少なくとも一方に基づいて動作パラメータを変化させる。キャラクタ制御手段は、変化された動作パラメータに基づいてキャラクタの動作を制御する。
【０００９】
第２の発明では、変化量算出手段（４２、８２、Ｓ１１）は、２点間の距離および２点を結ぶ線の角度の少なくとも一方の変化量を算出する。動作パラメータ設定手段（Ｓ１９）は、距離の変化量および角度の変化量の少なくとも一方に基づいて動作パラメータを変化させる。そして、キャラクタ制御手段（Ｓ２１）は、変化された動作パラメータに基づいてキャラクタの動作を制御する。したがって、第２の発明によれば、２点間の距離または２点を結ぶ線の角度の変化に応じて、キャラクタの動作が変化するように制御できる。
【００１０】
第３の発明は、第２の発明に従属し、変化量算出手段は、単位時間経過毎に変化量を算出する。第３の発明では、単位時間経過毎に変化量を算出することができるので、単位時間毎にキャラクタの動作を変化させることができる。
【００１１】
第４の発明は、第２または第３の発明に従属し、変化量算出手段によって算出された変化量が第１所定値以下か否かを判別する第１変化量判別手段をさらに備える。キャラクタ制御手段は、変化量が第１所定値以下でないと判別されたとき、変化された動作パラメータに基づいてキャラクタの動作を制御し、変化量が第１所定値以下であると判別されたとき、キャラクタに第１特殊アクションを行わせる。
【００１２】
第４の発明では、第１変化量判別手段（Ｓ９１、Ｓ１０１）は変化量が第１所定値（Ｌ１、θ１）以下か否かを判別し、その判別結果に応じてキャラクタ制御手段はキャラクタの動作を制御する。つまり、キャラクタ制御手段は、変化量が第１所定値以下でないときは動作パラメータに基づいて制御し（Ｓ９９、Ｓ１０９）、変化量が第１所定値以下であるときはキャラクタに第１特殊アクションを実行させる（Ｓ９３、Ｓ１０３）。したがって、変化量が所定値以下のとき、キャラクタに特殊なアクションを行わせるので、ゲームの面白みを増すことができる。
【００１３】
第５の発明は、第２ないし第４のいずれかの発明に従属し、変化量算出手段によって算出された変化量が第２所定値以上か否かを判別する第２変化量判別手段をさらに備える。キャラクタ制御手段は、変化量が第２所定値以上でないと判別されたとき、変化された動作パラメータに基づいてキャラクタの動作を制御し、変化量が第２所定値以上であると判別されたとき、キャラクタに第２特殊アクションを行わせる。
【００１４】
第５の発明では、第２変化量判別手段（Ｓ９５、Ｓ１０５）は変化量が第２所定値以上であるか否かを判別し、その判別結果に応じてキャラクタ制御手段はキャラクタの動作を制御する。つまり、キャラクタ制御手段は、変化量が第２所定値以上でないときは、動作パラメータに基づいて制御し（Ｓ９９、Ｓ１０９）、変化量が第２所定値以上であるときはキャラクタに第２特殊アクションを実行させる（Ｓ９７、Ｓ１０７）。したがって、変化量が所定値以上のとき、キャラクタに特殊なアクションを行わせるので、ゲームの面白みを増すことができる。
【００１５】
第６の発明は、第２ないし第５のいずれかの発明に従属し、動作パラメータ設定手段は、距離の変化量に基づいて動作パラメータとしての移動速度を変化させる。第６の発明では、動作パラメータ設定手段（Ｓ８１）は、距離変化量に基づいて移動速度を変化させるので、プレイヤは、２点間の距離を変化させることによってキャラクタの移動速度を変化させることができる。
【００１６】
第７の発明は、第２ないし第５のいずれかの発明に従属し、動作パラメータ設定手段は、角度の変化量に基づいて動作パラメータとしての旋回角度を変化させる。第７の発明では、動作パラメータ設定手段（Ｓ８３）は、角度変化量に基づいて旋回角度を変化させるので、プレイヤは、２点を結ぶ線の角度を変化させることによってキャラクタの旋回角度を変化させることができる。
【００１７】
第８の発明は、第１の発明に従属し、動作パラメータ設定手段は、距離に基づいて動作パラメータとしての移動速度を設定する。第８の発明では、動作パラメータ設定手段（Ｓ６１）は、距離に基づいて移動速度を設定するので、２点間の距離に応じてキャラクタの移動速度を制御することができる。
【００１８】
第９の発明は、第１または第８の発明に従属し、動作パラメータ設定手段は、角度の大きさおよび方向に基づいて動作パラメータとしての旋回角度の大きさおよび方向を設定する。第９の発明では、動作パラメータ設定手段（Ｓ６３）は、角度に基づいて旋回角度を設定するので、２点を結ぶ線の角度に応じてキャラクタの旋回角度を制御することができる。
【００１９】
第１０の発明は、第１、第８または第９のいずれかの発明に従属し、位置関係算出手段は、２点の中心座標値をさらに算出する。動作パラメータ設定手段は、中心座標値に基づいて動作パラメータとしての表示位置を設定する。
【００２０】
第１０の発明では、位置関係算出手段（Ｓ４５）は、２点の中心座標値をさらに算出し、動作パラメータ設定手段（Ｓ６５、Ｓ８５）は、中心座標値に基づいて表示位置を設定する。したがって、２点間の中心座標値に応じてキャラクタの表示位置を制御することができる。
【００２１】
第１１の発明は、プレイヤによって操作されるキャラクタを含むゲーム空間を表示する表示手段、およびプレイヤによって操作され、少なくとも２点の指示位置を同時に検出可能なタッチパネルを備える、タッチパネルを用いたゲーム装置において、キャラクタを制御するゲームプログラムである。このゲームプログラムは、ゲーム装置のプロセサに、座標検出ステップ、位置関係算出ステップ、動作パラメータ設定ステップ、およびキャラクタ制御ステップを実行させる。座標検出ステップは、プレイヤがタッチパネルを操作することによって検出される２点の指示位置の座標値を検出する。位置関係算出ステップは、座標検出ステップによって検出された２点の間の距離および２点を結ぶ線の角度の少なくとも一方を算出する。動作パラメータ設定ステップは、位置関係算出ステップによって算出された距離および角度の少なくとも一方に基づいてキャラクタの動作パラメータを設定する。キャラクタ制御ステップは、動作パラメータ設定ステップによって設定された動作パラメータに基づいてキャラクタの動作を制御する。
【００２２】
第１２の発明は、第１１の発明に従属し、位置関係算出ステップは、距離および角度の少なくとも一方の変化量を算出する変化量算出ステップをさらに含む。動作パラメータ設定ステップは、距離の変化量および角度の変化量の少なくとも一方に基づいて動作パラメータを変化させる。キャラクタ制御ステップは、変化された動作パラメータに基づいてキャラクタの動作を制御する。
【００２３】
第１１および１２の発明によっても、第１および第２の発明と同様に、２点間の距離および２点を結ぶ線の角度に基づいて、キャラクタの動作を制御することができる。
【発明の効果】
【００２４】
この発明によれば、プレイヤがタッチパネルを操作することによって検出された２点間の距離および２点を結ぶ線の角度の少なくとも一方を算出し、算出された距離および角度の少なくとも一方に基づいて、ゲーム空間に登場するキャラクタの動作パラメータを設定するので、２点間の距離または２点を結ぶ線の角度に応じてキャラクタの動作を制御することができる。
【００２５】
また、２点間の距離および角度の少なくとも一方の変化量を算出し、算出された変化量に基づいてキャラクタの動作パラメータを変化させるので、プレイヤは、２点間の距離または２点を結ぶ線の角度を変化させることによって、キャラクタの動作を変化させることができる。
【００２６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２７】
【図１】この発明の一実施例のゲーム装置の一例を示す外観図である。
【図２】図１実施例のゲーム装置の電気的な構成を示すブロック図である。
【図３】図２に示すＲＡＭ４８のメモリマップの一例を示す図解図である。
【図４】２点間の距離、２点を結ぶ線の角度、および２点間の中心座標値を示す図解図である。
【図５】プレイヤによる操作の状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図６】図５の状態から２点間の距離を大きくした操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図７】図５の状態から２点間の距離を小さくした操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図８】２点間の距離の変化量が第１の所定値以下になるようにした操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図９】２点間の距離の変化量が第２の所定値以上になるようにした操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図１０】図５の状態から２点を結ぶ線の角度を右回りに変化させた操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図１１】２点を結ぶ線の角度の変化量が第１の所定値以下になるようにした操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図１２】２点を結ぶ線の角度の変化量が第２の所定値以上になるようにした操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図１３】図５の状態から２点の中点を変化させた操作状態と第１のＬＣＤに表示されるゲーム画像の一例を示す図解図である。
【図１４】図１実施例のゲーム装置のゲーム動作の一例を示すフロー図である。
【図１５】図１４の位置関係算出処理の動作の一例を示すフロー図である。
【図１６】図１４の変化量算出処理の動作の一例を示すフロー図である。
【図１７】図１４の動作パラメータ設定処理の動作の一例を示すフロー図である。
【図１８】図１４のキャラクタ動作制御処理（１）の動作の一例を示すフロー図である。
【図１９】図１４の動作パラメータ変化処理の動作の一例を示すフロー図である。
【図２０】図１４のキャラクタ動作制御処理（２）の動作の一例を示すフロー図である。
【図２１】図１実施例のゲーム装置のゲーム動作の変形例を示すフロー図である。
【図２２】タッチパネルの設けられた第２のＬＣＤにキャラクタを表示する場合のゲーム画像とプレイヤによる操作状態の一例を示す図解図である。
【発明を実施するための形態】
【００２８】
図１を参照して、この発明の一実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング１６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００２９】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ（Electronic Luminescence）ディスプレイやプラズマディスプレイ等を用いるようにしてもよい。
【００３０】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａよりも横長に選ばれ、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、下側ハウジング１６ｂには、音抜き孔１８が形成されるとともに、操作スイッチ２０（２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒ）が設けられる。
【００３１】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００３２】
操作スイッチ２０は、方向指示スイッチ（十字スイッチ）２０ａ，スタートスイッチ２０ｂ、セレクトスイッチ２０ｃ、動作スイッチ（Ａボタン）２０ｄ、動作スイッチ（Ｂボタン）２０ｅ、動作スイッチ（Ｌボタン）２０Ｌおよび動作スイッチ（Ｒボタン）２０Ｒを含む。スイッチ２０ａ，２０ｂおよび２０ｃは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の左側に配置される。また、スイッチ２０ｄおよび２０ｅは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の右側に配置される。さらに、スイッチ２０Ｌおよびスイッチ２０Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部において、上側ハウジング１６ａとの連結部以外の部分に、当該連結部を挟むように左右に配置される。
【００３３】
操作スイッチ２０の各スイッチの役割は、ゲームごとに適宜設定される。たとえば、方向指示スイッチ２０ａは、ディジタルジョイスティックとして機能し、４つの押圧部の少なくとも１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向またはカーソルの移動方向を指示すること等のために用いられる。スタートスイッチ２０ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止（Pause）したりすること等のために用いられる。セレクト
スイッチ２０ｃは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【００３４】
動作スイッチ２０ｄすなわちＡボタン２０ｄは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ２０ｅすなわちＢボタン２０ｅは、プッシュボタンで構成され、セレクトスイッチ２０ｃで選択したゲームモードの変更やＡボタン２０ｄで決定したアクションの取り消し等のために用いられる。
【００３５】
動作スイッチ２０Ｌ（左押しボタン）および動作スイッチ２０Ｒ（右押しボタン）は、プッシュボタンで構成される。これら左押しボタン（Ｌボタン）２０Ｌおよび右押しボタン（Ｒボタン）２０Ｒは、Ａボタン２０ｄおよびＢボタン２０ｅと同様の操作に用いることができ、また、Ａボタン２０ｄおよびＢボタン２０ｅの補助的な操作に用いることができる。
【００３６】
また、このゲーム装置１０はタッチパネルを用いたゲーム装置であり、ＬＣＤ１４の上面には、タッチパネル２２が装着される。タッチパネル２２としては、少なくとも２点の指示位置を同時に検出可能なものが用いられる。具体的には、赤外線を利用した光学式（再帰反射式）の種類のもの等を用いることができる。このような多点同時認識可能なタッチパネル製品の一例として、株式会社キャドセンターの「ネクストラックス」がある（http://www.nextrax-cadcenter.com/）。
【００３７】
タッチパネル２２は、その上面をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり撫でたり（触れたり）することによって操作（タッチ操作）されると、スティック２４等の指示位置を検出して、指示位置の座標値を示す座標データを出力する。プレイヤによってたとえば２点がタッチ操作された場合には、２点の指示位置の座標値を含む座標データを出力する。
【００３８】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２２の検出精度も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２２の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００３９】
たとえば、ＬＣＤ１２にはプレイヤに見せるためのゲーム画面が表示され、タッチパネル２２の設けられるＬＣＤ１４には、ＬＣＤ１２のゲーム画面に関連して、プレイヤに見せかつ操作させるためのゲーム画面が表示されてよい。ＬＣＤ１２に表示されるゲーム画面には、ゲーム空間内に登場するプレイヤキャラクタが含まれてよい。また、ＬＣＤ１４に表示されるゲーム画面には、スティック２４等のタッチ入力によるプレイヤキャラクタの操作方法の案内や指示などが含まれてよいし、タッチ操作可能なたとえばオブジェクトないしアイコン、文字情報等が含まれてもよい。
【００４０】
なお、ＬＣＤ１４にタッチ操作可能なオブジェクト等が表示される場合、プレイヤは、該オブジェクトをスティック２４等で直接触れるようにしてタッチパネル２２上を操作することによって、たとえばそのオブジェクトの選択または操作、座標入力指示等を行うことが可能である。また、ゲームの種類に応じてその他各種の入力指示を行うことができ、たとえばＬＣＤ１４の表示画面に表示される文字情報やアイコン等によるコマンドを選択したり、ＬＣＤ１２に表示されるゲーム画面（マップ）のスクロール（徐々に移動表示）方向を指示したりすることも可能である。
【００４１】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の表示画面上にタッチパネル２２が設けられるので、２画面（ＬＣＤ１２，１４）と２系統の操作部（２０，２２）を有する構成となるのである。
【００４２】
ただし、このゲーム装置１０は、ゲーム空間内に登場するプレイヤキャラクタの動作をタッチパネル操作に基づいて制御しようとするものである。したがって、上述の各操作スイッチ２０の操作内容のうちプレイヤキャラクタの動作制御に関するものは、タッチパネル２２での操作に割り当てられるものもあるので、それらの操作内容に関しては操作スイッチ２０の操作があっても機能しないように設定しておいてよい。
【００４３】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの側面（右側面）に設けられる収納部（収納穴）２６に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部２６を設ける必要もない。
【００４４】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは下端（底面）に設けられる挿入口３０から挿入される。図１では省略するが、挿入口３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２８が挿入口３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２８にアクセス可能となる。
【００４５】
なお、図１では表現できないが、下側ハウジング１６ｂの内部において、この下側ハウジング１６ｂの音抜き孔１８と対応する位置には、スピーカ３２（図２参照）が設けられる。
【００４６】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、電源スイッチ、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００４７】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介してコネクタ４６に接続されるととともに、ＲＡＭ４８、第１のグラフィック処理ユニット（ＧＰＵ）５０、第２のＧＰＵ５２、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）５４およびＬＣＤコントローラ６０に接続される。
【００４８】
コネクタ４６には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、ともにバスで接続され、さらに、コネクタ４６と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア４２は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００４９】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲーム（仮想ゲーム）のためのゲームプログラム、画像（キャラクタ画像、背景画像、アイテム画像、メッセージ画像など）データおよびゲームに必要な音ないし音楽のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データを記憶（セーブ）する。
【００５０】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、および画像データ、音データ等のデータをＲＡＭ４８にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア４２は、ゲームの進行に応じて一時的なデータ（ゲームデータやフラグデータ）をＲＡＭ４８に記憶しつつゲーム処理を実行する。
【００５１】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または必要に応じて部分的かつ順次的に読み出され、ＲＡＭ４８に記憶される。
【００５２】
ＧＰＵ５０およびＧＰＵ５２は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア４２からのグラフィックスコマンド（graphics command ：作画命令）を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵコア４２は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ５０およびＧＰＵ５２のそれぞれに与える。
【００５３】
なお、ＧＰＵ５０およびＧＰＵ５２が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ５０およびＧＰＵ５２がそれぞれ、ＲＡＭ４８にアクセスして取得する。
【００５４】
また、ＧＰＵ５０には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５６が接続され、ＧＰＵ５２には、第２のＶＲＡＭ５８が接続される。ＧＰＵ５０は作成したゲーム画像データをＶＲＡＭ５６に描画し、ＧＰＵ５２は作成したゲーム画像データをＶＲＡＭ５８に描画する。
【００５５】
ＶＲＡＭ５６およびＶＲＡＭ５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含み、レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「０」である場合には、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１２に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「１」である場合には、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１４に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１２に出力する。
【００５６】
なお、上述の例では、ＬＣＤコントローラ６０がＶＲＡＭ５６およびＶＲＡＭ５８と接続され、これらＶＲＡＭ５６およびＶＲＡＭ５８から画像データを取得するように説明した。しかし、ＶＲＡＭ５６およびＶＲＡＭ５８に描画された画像データは、ＣＰＵコア４２の指示の下、ＧＰＵ５０およびＧＰＵ５２によってＬＣＤコントローラ６０に与えられてもよい。
【００５７】
Ｉ／Ｆ回路５４には、操作スイッチ２０，タッチパネル２２およびスピーカ３２が接続される。ここで、操作スイッチ２０は、上述したスイッチ２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒであり、操作スイッチ２０が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。また、タッチパネル２２からの座標データがＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。さらに、ＣＰＵコア４２は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４８から読み出し、Ｉ／Ｆ回路５４を介してスピーカ３２から出力する。
【００５８】
図３にはＲＡＭ４８のメモリマップの一例が示される。ＲＡＭ４８はゲームプログラム記憶領域７０を含む。ゲームプログラム記憶領域７０にはメモリカード２８のＲＯＭ２８ａからゲームプログラムがロードされる。この実施例のゲームプログラムはゲーム画像表示プログラム７２、座標検出プログラム７４、位置関係算出プログラム７６、動作パラメータ設定プログラム７８、キャラクタ動作制御プログラム８０、変化量算出プログラム８２等を含む。
【００５９】
ゲーム画像表示プログラム７２は、ＬＣＤ１２およびＬＣＤ１４に表示する各ゲーム画像を画像データ等に基づいて生成してＬＣＤ１２およびＬＣＤ１４に表示するためのプログラムである。このプログラムによって、たとえばプレイヤキャラクタを含むゲーム空間を示すゲーム画像がＬＣＤ１２に表示される。
【００６０】
座標検出プログラム７４は、プレイヤによってタッチパネル２２が操作されたことに応じて、タッチパネル２２から入力される座標データを検出するためのプログラムである。たとえば、プレイヤがタッチパネル２２上の２点を同時に指示した場合には、座標データから２点の指示位置の座標値が検出される。
【００６１】
位置関係算出プログラム７６は、プレイヤによって２点が同時にタッチ操作されたときに、２点の位置の関係を算出するためのプログラムである。あるいは、プレイヤによる２点の指示状態を算出するためのプログラムであるということもできる。すなわち、このプログラムによって、プレイヤに指示された２点間の距離および２点を結ぶ線の角度の少なくとも一方が算出される。ここで、２点を結ぶ線の角度とは、指示された２点を結ぶ線と基準線（たとえば水平線）とのなす角度のことである。また、この２点を結ぶ線の角度の方向は、たとえば左回りすなわち反時計回りがプラス方向に設定される。なお、この２点を結ぶ線の角度のことを２点間の角度ということもある。２点の座標値として（Ｘ１，Ｙ１）および（Ｘ２，Ｙ２）が検出されたとき、２点間の距離Ｌおよび２点間の角度θは、図４に示す数式（１）および（２）に基づいて算出される。また、この実施例では、このプログラムによって、指示された２点間の中点（中心座標値）も算出される。２点間の中点Ｐの座標値は図４の数式（３）に示される。これら２点間の距離、角度および中心座標値等は、単位時間経過ごとに、たとえば１フレームまたは所定の数フレームごとに算出される。
【００６２】
動作パラメータ設定プログラム７８は、プレイヤキャラクタの動作パラメータを設定するためのプログラムである。動作パラメータはプレイヤキャラクタの動作を制御するために設けられるパラメータであり、この動作パラメータに基づいてプレイヤキャラクタの動作が決められる。動作パラメータとしては、動作に関連する複数の要素が設けられる。この実施例では、移動速度、旋回角度などが動作パラメータとして用意される。たとえば、動作パラメータは、２点間の距離および２点を結ぶ線の角度の少なくとも一方に基づいて設定される。具体的には、プレイヤキャラクタの動作パラメータのうち移動速度は、２点間の距離に基づいて設定され、また、旋回角度は、２点を結ぶ線の角度に基づいて設定される。さらに、この実施例では、プレイヤキャラクタの動作パラメータとしてのプレイヤキャラクタの表示位置が、２点間の中心座標値に基づいて設定される。
【００６３】
この動作パラメータ設定プログラム７８によって設定された動作パラメータに基づいて、後述するキャラクタ動作制御プログラム８０は、プレイヤキャラクタの動作を制御する。したがって、プレイヤは自身の２つの指２４などで指示する２点間の距離または角度に応じて、プレイヤキャラクタの移動速度または旋回角度を制御することができる。また、２点間の中心座標値に基づいて、プレイヤキャラクタの表示位置を制御することができる。
【００６４】
また、この動作パラメータ設定プログラム７８は、上述の位置関係算出プログラム７６によって算出された２点間の距離および角度に変化があったとき、それらの変化量に基づいて、動作パラメータを変化させる。具体的には、プレイヤキャラクタの移動速度は２点間の距離の変化量に基づいて変化され、たとえば距離変化量に基づいて移動速度の加速度または減速度が設定される。距離が大きくなるような変化の場合には移動速度の加速度が設定され、距離が小さくなるような変化の場合には移動速度の減速度が設定される。また、プレイヤキャラクタの旋回角度は２点間の角度の変化量に基づいて変化される。さらに、プレイヤキャラクタの表示位置は今回算出された中点に基づいて設定される。
【００６５】
この動作パラメータ設定プログラム７８によって変化された動作パラメータに基づいて、後述するキャラクタ動作制御プログラム８０は、プレイヤキャラクタの動作を制御する。したがって、プレイヤは２点間の距離または角度を変化させることによって、プレイヤキャラクタの移動速度または旋回角度を変化させることができる。
【００６６】
キャラクタ動作制御プログラム８０は、プレイヤキャラクタの動作を制御するためのプログラムである。プレイヤキャラクタの動作は動作パラメータに基づいて制御される。具体的には、プレイヤキャラクタの移動は、動作パラメータ設定プログラム７８によって設定された動作パラメータの移動速度に基づいて制御される。また、プレイヤキャラクタの旋回または回転あるいは方向転換は、設定された動作パラメータの旋回角度に基づいて制御される。さらに、プレイヤキャラクタの表示位置は、設定された動作パラメータの表示位置に基づいて制御される。
【００６７】
また、このプログラム８０では、２点間の距離および角度の少なくとも一方に変化があったとき、プレイヤキャラクタの動作は、動作パラメータ設定プログラム７８によって変化された動作パラメータに基づいて制御される。
【００６８】
たとえば、プレイヤキャラクタの移動に関しては、距離変化量の値に応じた制御が行われる。具体的には、２点間の距離の変化量が第１の所定値Ｌ１以下であるか否かが判別される。つまり、２点間の距離が小さくなるような変化（マイナス変化）であり、かつ、その変化の大きさが所定値以上であるか否かが判別される。距離変化量が第１の所定値Ｌ１以下であるときには、プレイヤキャラクタの移動は、移動に関する第１の特殊アクションを行うように制御される。一方、距離変化量が第１の所定値Ｌ１以下でない場合には、第２の所定値Ｌ２以上であるか否かが判別される。つまり、２点間の距離が大きくなるような変化（プラス変化）であり、かつ、その変化の大きさが所定値以上であるか否かが判別される。距離変化量が第２の所定値Ｌ２以上であるときには、プレイヤキャラクタの移動は、移動に関する第２の特殊アクションを行うように制御される。一方、距離変化量が第２の所定値Ｌ２以上でもないときには、プレイヤキャラクタの移動は、設定された移動速度の加速度または減速度に基づいて制御される。なお、この距離変化量に関する判別のための２つの閾値、すなわち第１の所定値Ｌ１と第２の所定値Ｌ２とはＬ１＜Ｌ２の関係で適宜に設定される。
【００６９】
また、たとえば、プレイヤキャラクタの旋回または回転あるいは方向転換に関しては、角度変化量の値に応じた制御が行われる。具体的には、２点間の角度の変化量が第１の所定値θ１以下であるか否かが判別される。つまり、２点間の角度が右回り（すなわち時計回り）に変化するものであり、かつ、その変化の大きさが所定値以上であるか否かが判別される。角度変化量が第１の所定値θ１以下である場合には、プレイヤキャラクタの旋回は、旋回に関する第１の特殊アクションを行うように制御される。一方、角度変化量が第１の所定値θ１以下でない場合には、第２の所定値θ２以上であるか否かが判別される。つまり、２点間の角度が左回りに変化するものであり、かつ、その変化の大きさが所定値以上であるか否かが判別される。角度変化量が第２の所定値θ２以上であるときには、プレイヤキャラクタの旋回は、旋回に関する第２の特殊アクションを行うように制御される。一方、角度変化量が第２の所定値θ２以上でないときには、プレイヤキャラクタの旋回は、変化された旋回角度に基づいて制御される。なお、この角度変化量に関する判別のための２つの閾値、すなわち第１の所定値θ１と第２の所定値θ２とはθ１＜θ２の関係で適宜に設定される。
【００７０】
上述のように、このプログラム８０では、変化量が所定値以下であるとき、または変化量が所定値以上であるとき、プレイヤキャラクタに特殊なアクションを行わせることができるので、ゲームの面白みを増すことができる。
【００７１】
変化量算出プログラム８２は、２点間の距離および角度に変化があったとき、距離の変化量および角度の変化量を算出するためのプログラムである。上述のようにキャラクタ動作制御プログラム８０は、この変化量に応じてプレイヤキャラクタの動作を変化させる。変化量は単位時間経過ごとに、たとえば１フレームまたは所定の数フレームごとに算出される。したがって、単位時間経過毎に変化量を算出することができるので、単位時間毎にプレイヤキャラクタの動作を変化させることができる。
【００７２】
なお、ゲームプログラム記憶領域７０には図示は省略しているが、ゲーム音楽またはゲームサウンドを生成して出力するためのプログラムなど、ゲーム進行に必要な各種プログラムが記憶される。
【００７３】
また、ＲＡＭ４８のメモリマップはデータ記憶領域を含み、データ記憶領域には、メモリカード２８のＲＯＭ２８ａまたはＲＡＭ２８ｂからロードされたデータやゲーム処理に応じて生成されたデータ等が記憶される。データ記憶領域は、画像データ記憶領域８４、位置関係データ記憶領域８６、動作パラメータ記憶領域８８等を含む。
【００７４】
画像データ記憶領域８４には、ゲーム画像を生成するための画像データが記憶される。たとえば、プレイヤキャラクタ、敵キャラクタ、背景オブジェクト、その他のオブジェクトなどの画像データが記憶される。
【００７５】
位置関係データ記憶領域８６には、位置関係算出プログラム７６によって算出された２点の位置関係または指示状態に関するデータが記憶される。具体的には、この領域８６には、２点の座標値間の距離データが記憶される。位置関係または指示状態に関するデータは単位時間ごとに算出されるので、今回の処理で算出された距離データが記憶されるとともに、前回の処理で算出されていた距離データも記憶される。また、２点の座標値間の角度データが記憶される。角度データに関しても、前回の処理で算出されていた角度データと今回の処理で算出された角度データが記憶される。さらに、２点の座標値の中心座標値データが記憶される。この中点データに関しても、前回の処理で算出されていた中心座標値と今回の処理で算出された中心座標値が記憶される。
【００７６】
動作パラメータ記憶領域８８には、動作パラメータ設定プログラム７８によって設定されたプレイヤキャラクタの動作パラメータが記憶される。この実施例では、プレイヤキャラクタの移動速度、旋回角度、表示位置などの動作パラメータが記憶される。
【００７７】
なお、データ記憶領域には、図示は省略するが、ゲームの進行に応じて発生する他のゲームデータ（フラグやカウンタも含む。）等も記憶される。
【００７８】
この実施例では、図５に示すように、プレイヤキャラクタ１００を含むゲーム空間がＬＣＤ１２に表示される。プレイヤキャラクタ１００は、一例として飛行機であり、画面の奥へ向かって飛行しているように表示される。プレイヤはＬＣＤ１４に装着されたタッチパネル２２上でたとえば２本の指先で２点を指示することによって、このプレイヤキャラクタ１００を操作する。
【００７９】
具体的には、プレイヤキャラクタの動作パラメータのうち移動速度が２点の指示位置間の距離に基づいて設定されるので、プレイヤキャラクタ１００の移動が２点の指示位置間の距離に応じて制御される。プレイヤキャラクタ１００の移動は、たとえばプレイヤキャラクタ１００の噴射量や、背景が画面奥から手前へ移動する速度などによって表現される。つまり、噴射量が多い場合や背景の移動速度が速い場合には、プレイヤキャラクタ１００の移動速度が速い。
【００８０】
また、動作パラメータのうち旋回角度が２点の指示位置間の角度に基づいて設定されるので、プレイヤキャラクタ１００の旋回が２点の指示位置間の角度に応じて制御される。この実施例では、プレイヤキャラクタ１００の両翼が水平方向に延びるように表示されるので、基準線として水平線が設定される。つまり、旋回角度の大きさおよび方向は、２点を結ぶ線と水平線とのなす角度の大きさおよび方向に基づいて設定されるので、プレイヤキャラクタ１００の旋回ないし回転が２点間の角度の大きさおよび方向に応じて制御される。たとえば２点を結ぶ線が水平線と平行であればプレイヤキャラクタ１００の両翼が水平にされる。
【００８１】
さらに、動作パラメータのうち表示位置が２点の指示位置の中点に基づいて設定されるので、プレイヤキャラクタ１００の表示位置が２点の指示位置の中心座標値に基づいて制御される。たとえば、プレイヤキャラクタ１００は２点の中心座標値に対応するＬＣＤ１２上の位置に表示される。
【００８２】
また、プレイヤによる操作状態（指示状態）に変化があった場合には、プレイヤキャラクタ１００の動作パラメータは指示状態の変化に基づいて変化されるので、プレイヤは２点の指示位置を適宜変化させることによって、プレイヤキャラクタ１００の動作を操ることができる。
【００８３】
具体的には、プレイヤキャラクタの移動は、２点間の距離の変化量に基づいて変化される。図６に示すように、２点間の距離を図５の状態から大きくした場合には、プレイヤキャラクタ１００の移動速度が加速されるように制御される。たとえば、動作パラメータの移動速度を増加させるための加速度が距離変化量に基づいて設定され、この加速度に基づいてプレイヤキャラクタ１００の移動が制御される。ＬＣＤ１２には、たとえばプレイヤキャラクタ１００の噴射量が多くされたり背景の移動速度が速くされたりしたゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ１００を早く移動させたいときは、２点間の距離が大きくなるようにタッチパネル２２を操作すればよい。
【００８４】
一方、図７に示すように、２点間の距離を図５の状態から小さくした場合には、プレイヤキャラクタ１００の移動速度が減速されるように制御される。たとえば、動作パラメータの移動速度を減少させるための減速度が距離変化量に基づいて設定され、この減速度に基づいてプレイヤキャラクタ１００の移動が制御される。ＬＣＤ１２には、たとえばプレイヤキャラクタ１００の噴射量が少なくされたり背景の移動速度が遅くされたりしたゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ１００を遅く移動させたいときは、２点間の距離が小さくなるようにタッチパネル２２を操作すればよい。
【００８５】
ただし、この実施例では、距離変化量が第１の所定値Ｌ１以下になるように２点間の距離を減少させた場合には、図８に示すように、プレイヤキャラクタ１００が、移動に関する第１の特殊アクションを実行するように、その移動が制御される。ＬＣＤ１２には、プレイヤキャラクタ１００が特殊アクションとしてたとえば逆噴射アクションを行うゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ１００を急減速させたいときには、２点間の距離が急に減少するように（単位時間当たりの距離減少量が第１の所定値Ｌ１以下になるように）操作すればよい。
【００８６】
一方、距離変化量が第２の所定値Ｌ２以上になるように２点間の距離を増加させた場合には、図９に示すように、プレイヤキャラクタ１００が、移動に関する第２の特殊アクションを実行するように、その移動が制御される。ＬＣＤ１２には、プレイヤキャラクタ１００が特殊アクションとしてたとえば瞬間移動アクションを行うゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ１００を瞬間移動させたいときには、２点間の距離が急に増加するように（単位時間当たりの距離増加量が第２の所定値Ｌ２以上になるように）操作すればよい。
【００８７】
また、プレイヤキャラクタ１００の旋回角度は、２点間の角度の変化量に応じて変化される。旋回の方向は角度変化量の符号によって異なる。この実施例では図４に示したように左回りがプラス方向に設定されるので、角度変化量の符号がプラスであるとき旋回方向は左であり、角度変化量の符号がマイナスであるとき旋回方向は右である。たとえば、図１０に示すように、角度変化が、右回りすなわちマイナスの変化である場合には、プレイヤキャラクタ１００は右回りに旋回される。また、プレイヤキャラクタ１００の旋回角度の絶対値は、２点間の角度変化量の絶対値に基づいて設定される。なお、図示は省略してあるが、角度変化が左回りすなわちプラスの変化である場合には、プレイヤキャラクタ１００は左回りに旋回される。
【００８８】
ただし、この実施例では、角度変化量が第１の所定値θ１以下であった場合には、つまり、右回りに所定の大きさ以上角度が変化された場合には、図１１に示すように、プレイヤキャラクタ１００が、旋回に関する第１の特殊アクションを実行するように、その旋回が制御される。ＬＣＤ１２には、プレイヤキャラクタ１００が特殊アクションとしてたとえば右回転ローリングアクションを行うゲーム画像が表示される。したがって、プレイヤは、プレイヤキャラクタ１００にこの右回りの特殊アクションを実行させたいときには、２点間の角度が右回りに急に変化するような操作を行えばよい。
【００８９】
一方、角度変化量が第２の所定値θ２以上であった場合には、つまり、左回りに所定の大きさ以上角度が変化された場合には、図１２に示すように、プレイヤキャラクタ１００が、旋回に関する第２の特殊アクションを実行するように、その旋回が制御される。ＬＣＤ１２には、プレイヤキャラクタ１００が特殊アクションとしてたとえば左回転ローリングアクションを行うゲーム画像が表示される。したがって、プレイヤは、プレイヤキャラクタ１００にこの左回りの特殊アクションを実行させたいときには、２点間の角度が左回りに急に変化するような操作を行えばよい。
【００９０】
また、プレイヤキャラクタ１００の表示位置は、２点間の中心座標値の変化に応じて変化される。つまり、たとえば図１３に示すように、２点間の中心座標値が変化したときには、プレイヤキャラクタ１００は変化後の中心座標値に対応する位置に表示される。
【００９１】
図１４には、このゲーム装置１０のゲーム動作の一例が示される。ゲームを開始すると、ＣＰＵコア４２は、まず、ステップＳ１で初期設定を実行して、たとえば、各種変数やフラグに初期値を設定する。
【００９２】
次に、ステップＳ３で、ＣＰＵコア４２は、ＬＣＤ１２にゲーム空間を示すゲーム画像を表示する。たとえば、ＣＰＵコア４２は、ＧＰＵ５０を用いてゲーム画像表示プログラム７２および画像データ記憶領域８４に記憶された画像データに基づいてゲーム空間のゲーム画像を生成し、ＬＣＤコントローラ６０を用いてゲーム画像をＬＣＤ１２に表示する。
【００９３】
ステップＳ５では、ＣＰＵコア４２は、タッチパネル２２から入力された座標データに基づいて、２点の指示位置が検出されたか否かを判断する。ステップＳ５で“ＹＥＳ”であれば、つまり、座標データが２点の座標値を含む場合には、ＣＰＵコア４２はステップＳ７で座標検出処理を実行して、２点の指示位置の座標値を検出する。
【００９４】
続いて、ステップＳ９で、ＣＰＵコア４２は検出された２点の座標値に基づいて位置関係算出処理を実行する。この位置関係算出処理の動作は図１５に詳細に示される。図１５の最初のステップＳ４１で、ＣＰＵコア４２は２点の座標値間の距離を算出する。算出された２点間の距離は、位置関係データ記憶領域８６に今回算出された距離データとして記憶される。なお、前回の処理で算出されていた距離データは前回算出された距離データとしてこの領域８６に記憶される。次に、ステップＳ４３では、ＣＰＵコア４２は２点の座標値間の角度を算出し、位置関係データ記憶領域８６に今回算出された角度データとして記憶する。なお、前回の処理で算出されていた角度データは前回算出された角度データとしてこの領域８６に記憶される。続いて、ステップＳ４５で、ＣＰＵコア４２は２点の座標値の中心座標値を算出し、位置関係データ記憶領域８６に今回算出された中心座標値データとして記憶する。なお、前回の処理で算出されていた中心座標値データは前回算出された中心座標値データとしてこの領域８６に記憶される。この位置関係算出処理を終了すると処理は図１４のステップＳ１１に戻る。
【００９５】
図１４のステップＳ１１では、ＣＰＵコア４２は変化量算出処理を実行する。この変化量算出処理の動作は図１６に詳細に示される。図１６の最初のステップＳ５１で、ＣＰＵコア４２は、位置関係データ記憶領域８６に記憶された２点間の距離データに基づいて、今回算出された距離と前回算出された距離との差、すなわち距離変化量を算出する。次に、ステップＳ５３で、ＣＰＵコア４２は、位置関係データ記憶領域８６に記憶された２点間の角度データに基づいて、今回算出された角度と前回算出された角度との差、すなわち角度変化量を算出する。この変化量算出処理を終了すると、処理は図１４のステップＳ１３へ戻る。
【００９６】
図１４のステップＳ１３では、ＣＰＵコア４２は、２点の位置関係または指示状態に変化があったか否かを判断する。たとえば、ステップＳ１１で算出された距離変化量または角度変化量に基づいて、２点間の距離または角度に変化があったか否かが判断される。ステップＳ１３で“ＮＯ”であれば、つまり、２点間の距離および角度に今回の処理と前回の処理とで変化がない場合には、ＣＰＵコア４２は、ステップＳ１５で動作パラメータ設定処理を実行する。この動作パラメータ設定処理の動作は図１７に詳細に示される。
【００９７】
図１７の最初のステップＳ６１で、ＣＰＵコア４２は、位置関係データ記憶領域８６に記憶されている今回算出された２点間の距離に基づいてプレイヤキャラクタ１００の動作パラメータとしての移動速度を設定する。移動速度はたとえば２点間の距離に比例して設定される。設定された移動速度は、動作パラメータ記憶領域８８の移動速度データのための領域に記憶される。
【００９８】
次に、ステップＳ６３で、ＣＰＵコア４２は、記憶領域８６に記憶されている今回算出された２点間の角度に基づいてプレイヤキャラクタ１００の動作パラメータとしての旋回角度を設定する。たとえば、旋回角度の方向は２点間の角度の符号（方向）に基づいて設定され、旋回角度の大きさは２点間の角度の大きさに比例して設定される。設定された旋回角度は動作パラメータ記憶領域８８の旋回角度データのための領域に記憶される。
【００９９】
続いて、ステップＳ６５で、ＣＰＵコア４２は、記憶領域８６に記憶されている今回算出された２点間の中心座標値に基づいてプレイヤキャラクタ１００の動作パラメータとしての表示位置を設定する。表示位置は２点間の中心座標値に対応するＬＣＤ１２上の位置（たとえば同じ位置）に設定される。設定された表示位置は動作パラメータ記憶領域８８の表示位置データのための領域に記憶される。この動作パラメータ設定処理を終了すると、処理は図１４のステップＳ１７へ戻る。
【０１００】
図１４のステップＳ１７では、ＣＰＵコア４２は、キャラクタ動作制御処理（１）を実行する。このキャラクタ動作制御処理（１）の動作は図１８に詳細に示される。図１８の最初のステップＳ７１で、ＣＰＵコア４２は、設定されて動作パラメータ記憶領域８８に記憶されている移動速度に基づいて、プレイヤキャラクタ１００の移動を制御する。次に、ステップＳ７３で、ＣＰＵコア４２は、設定されて記憶領域８８に記憶されている旋回角度に基づいて、プレイヤキャラクタ１００の回転または旋回を制御する。そして、ステップＳ７５で、ＣＰＵコア４２は、設定されて記憶領域８８に記憶されている表示位置に基づいてプレイヤキャラクタ１００の表示を制御する。このようにして、たとえば図５に示すように、プレイヤによる２点の指示状態に応じてプレイヤキャラクタ１００の動作が制御されたゲーム画像が生成されてＬＣＤ１２に表示される。このキャラクタ動作制御処理（１）を終了すると処理は図１４のステップＳ２５へ戻る。
【０１０１】
一方、ステップＳ１３で“ＹＥＳ”であれば、つまり、２点間の距離および角度に今回の処理と前回の処理とで変化がある場合には、ＣＰＵコア４２は、ステップＳ１９で動作パラメータ変化処理を実行する。この動作パラメータ変化処理の動作は図１９に詳細に示される。図１９の最初のステップＳ８１で、ＣＰＵコア４２は、ステップＳ１１（図１４）の変化量算出処理で算出された距離変化量に基づいて、プレイヤキャラクタ１００の動作パラメータとしての移動速度の加速度または減速度を設定する。具体的には、距離変化量の符号がプラスである場合には加速度が設定され、マイナスである場合には減速度が設定される。また、加速度または減速度の大きさはたとえば距離変化量の絶対値に比例して設定される。さらに、設定された加速度または減速度に基づいて設定される移動速度が動作パラメータ記憶領域８８に記憶される。
【０１０２】
次に、ステップＳ８３で、ＣＰＵコア４２は、ステップＳ１１の処理で算出された角度変化量に基づいて、プレイヤキャラクタ１００の動作パラメータとしての旋回角度を変化させる。旋回角度は、たとえば角度変化量に比例して変化される。また、変化された旋回角度は動作パラメータ記憶領域８８に記憶される。
【０１０３】
続いて、ステップＳ８５で、ＣＰＵコア４２は、位置関係データ記憶領域８６に記憶された今回算出された中点（中心座標値）に基づいて、プレイヤキャラクタ１００の動作パラメータとしての表示位置を設定する。表示位置はたとえば今回算出された中点の座標値に対応するＬＣＤ１２上の座標値に設定される。また、設定された表示位置は動作パラメータ記憶領域８８に記憶される。この動作パラメータ変化処理を終了すると、処理は図１４のステップＳ２１へ戻る。
【０１０４】
図１４のステップＳ２１では、ＣＰＵコア４２は、キャラクタ動作制御処理（２）を実行する。このキャラクタ動作制御処理（２）の動作は図２０に詳細に示される。図２０のステップＳ９１−Ｓ９９でプレイヤキャラクタ１００の移動が距離変化量に基づいて制御され、ステップＳ１０１−Ｓ１０９でプレイヤキャラクタ１００の回転が角度変化量に基づいて制御され、そして、ステップＳ１１１でプレイヤキャラクタ１００の表示が制御される。
【０１０５】
図２０の最初のステップＳ９１で、ＣＰＵコア４２は、ステップＳ１１（図１４）の変化量算出処理で算出された距離変化量が第１の所定値Ｌ１以下であるか否かを判断し、“ＹＥＳ”であれば、ステップＳ９３でプレイヤキャラクタ１００にたとえば逆噴射アクション（移動に関する第１の特殊アクション）を実行させる。この場合には、たとえば図８に示したようにプレイヤキャラクタ１００が逆噴射によって急制動するゲーム画像が表示されることとなる。
【０１０６】
一方、ステップＳ９１で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ９５で距離変化量が第２の所定値Ｌ２以上であるか否かを判断し、“ＹＥＳ”であれば、ステップＳ９７でプレイヤキャラクタ１００にたとえば瞬間移動アクション（移動に関する第２の特殊アクション）を実行させる。この場合には、たとえば図９に示したようにプレイヤキャラクタ１００が瞬間的に他の場所へ移動するゲーム画像が表示されることとなる。
【０１０７】
他方、ステップＳ９５で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ９９で、動作パラメータ変化処理（図１９）で設定された加速度または減速度に基づいてプレイヤキャラクタ１００の移動を制御する。この場合には、加速度が設定されているときには、たとえば図６に示したようにプレイヤキャラクタ１００が加速度に応じて噴射量を増して加速するゲーム画像が表示され、減速度が設定されているときには、たとえば図７に示したようにプレイヤキャラクタ１００が減速度に応じて噴射量を減らして減速するゲーム画像が表示されることとなる。
【０１０８】
続いて、ステップＳ１０１では、ＣＰＵコア４２は、ステップＳ１１（図１４）で算出された角度変化量が第１の所定値θ１以下であるか否かを判断し、“ＹＥＳ”であれば、ステップＳ１０３でプレイヤキャラクタ１００にたとえば右回転ローリングアクション（旋回に関する第１の特殊アクション）を実行させる。この場合には、たとえば図１１に示したようにプレイヤキャラクタ１００が右回りにくるくる回るゲーム画像が表示されることとなる。
【０１０９】
一方、ステップＳ１０１で“ＮＯ”であれば、ＣＰＵコア４２はステップＳ１０５で、角度変化量が第２の所定値θ２以上であるか否かを判断し、“ＹＥＳ”であれば、ステップＳ１０７でプレイヤキャラクタ１００にたとえば左回転ローリングアクション（旋回に関する第２の特殊アクション）を実行させる。この場合には、たとえば図１２に示したようにプレイヤキャラクタ１００が左回りにくるくる回るゲーム画像が表示されることとなる。
【０１１０】
他方、ステップＳ１０５で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ１０９で、動作パラメータ変化処理（図１９）で変化された旋回角度に基づいてプレイヤキャラクタ１００の回転を制御する。この場合には、たとえば図１０に示したようにプレイヤキャラクタ１００が角度変化量に応じた角度で旋回するゲーム画像が表示されることとなる。
【０１１１】
続いて、ステップＳ１１１で、ＣＰＵコア４２は、動作パラメータ変化処理（図１９）で設定された表示位置にプレイヤキャラクタ１００の表示を制御する。したがって、上述のプレイヤキャラクタ１００の移動および回転の動作が、設定された表示位置で行われるゲーム画像が表示されることとなる。このキャラクタ動作制御処理（２）を終了すると、処理は図１４のステップＳ２５へ戻る。
【０１１２】
また、ステップＳ５で“ＮＯ”であれば、つまり、タッチパネル２２からの座標データに２点の座標値が含まれていない場合には、ＣＰＵコア４２は、ステップＳ２３でプレイヤキャラクタ１００の動作停止処理を実行する。この場合には、プレイヤがプレイヤキャラクタ１００を操作していないものとみなして、プレイヤキャラクタ１００の動作を停止させる。このステップＳ２３を終了すると、処理はステップＳ２５へ進む。
【０１１３】
ステップＳ２５では、ＣＰＵコア４２は、単位時間が経過したか否かを判断し、“ＹＥＳ”であれば、ステップＳ５へ戻る。このように、この実施例では、２点の座標値の検出、位置関係の算出、変化量の算出、動作パラメータの設定、キャラクタの動作制御などの処理が単位時間ごとに繰り返し実行されて、プレイヤキャラクタ１００の動作がタッチパネル２２の２点同時操作に従って制御される。
【０１１４】
一方、ステップＳ２５で“ＮＯ”であれば、ステップＳ２７でＣＰＵコア４２はゲーム終了であるか否かを判断する。ステップＳ２７で“ＮＯ”であればステップＳ２５へ戻り、一方、“ＹＥＳ”であればこのゲーム処理を終了する。
【０１１５】
この実施例によれば、プレイヤがタッチパネル２２を操作することによって検出された２点の指示位置間の距離および２点を結ぶ線の角度に基づいて、プレイヤキャラクタ１００の移動速度および旋回角度などの動作パラメータを設定するので、２点間の距離および２点を結ぶ線の角度に応じてプレイヤキャラクタ１００の移動および旋回などの動作を制御することができる。
【０１１６】
また、２点間の距離および角度の変化量を算出し、算出された変化量に基づいてプレイヤキャラクタ１００の移動速度および旋回角度などの動作パラメータを変化させるので、２点間の距離の変化および２点を結ぶ線の角度の変化に応じてプレイヤキャラクタ１００の移動および旋回などの動作を変化させることができる。
【０１１７】
なお、上述の実施例では、２点間の距離および角度に変化があった場合には、距離変化量および角度変化量に応じてプレイヤキャラクタ１００の動作を制御するようにしていた。しかしながら、図２１に示すような他の実施例では、変化量によらずに、今回の処理で算出される２点間の距離および角度自体に応じてプレイヤキャラクタ１００の動作を制御するようにしてもよい。なお、この図２１に示すフロー図の各ステップは、図１４に示すフロー図の対応するステップと同じ処理であり、したがって、同じ符号を付すことによって図２１の動作の説明は省略する。
【０１１８】
また、上述の各実施例では、ＬＣＤ１２にプレイヤキャラクタ１００を含むゲーム空間を示すゲーム画像を表示するようにしていた。しかし、図２２に示すように、プレイヤキャラクタ１００を含むゲーム画像はタッチパネル２２の設けられたＬＣＤ１４に表示するようにしてもよい。この場合には、プレイヤは、自らの指やスタイラスペンなどを含むスティック２４等の近傍にプレイヤキャラクタ１００を見ながら操作して、プレイヤキャラクタ１００の動作を制御することができる。
【０１１９】
また、上述の各実施例では、プレイヤキャラクタ１００は画面の奥へ向かうように表示される飛行機であったが、プレイヤキャラクタ１００の種類および表示のされ方は適宜変更され得る。たとえば、プレイヤキャラクタ１００を俯瞰するように表示するゲームの場合にも、同様にして、このプレイヤキャラクタ１００を操ることができる。たとえばプレイヤキャラクタ１００が人間のようなキャラクタである場合には、２点間の角度に対応付ける動作パラメータは、旋回角度と呼ばず、移動しようとする方向（体の向き）といえる。
【０１２０】
また、上述の各実施例では、動作パラメータのうち移動速度を２点間の距離に対応付けし、旋回角度を２点間の角度に対応付けしていた。つまり、２点の指示位置間の距離または距離変化が移動速度に対応し、２点の指示位置間の角度または角度変化が旋回角度に対応するので、プレイヤはプレイヤキャラクタ１００の動作を直感的に制御でき、操作が非常に分かり易いという利点がある。しかし、動作パラメータと２点の指示状態との対応付けは適宜変更され得る。他の実施例では、たとえば、移動速度を２点間の角度に対応付けし、旋回角度を２点間の距離に対応付けるようにしてもよい。
【０１２１】
また、上述の各実施例では、プレイヤキャラクタ１００の動作パラメータとして、移動速度、旋回角度および表示位置を挙げたが、動作パラメータは、プレイヤキャラクタ１００の動作を制御するための要素であればよく、適宜変更され得る。たとえば、動作パラメータは、プレイヤキャラクタ１００がこまのような回転体の場合、回転速度や移動方向などであってよい。あるいは、動作パラメータは、プレイヤキャラクタ１００の戦闘時の攻撃力、防御力、または競争時の走力、闘争心といった、一時的に可変なまたは調整可能な能力値などであってよい。
【０１２２】
また、上述の各実施例では、第１のＬＣＤ１２と第２のＬＣＤ１４とを縦方向に並べて配置するようにしていたが、２つのＬＣＤの配置は適宜に変更され得る。たとえば他の実施例のゲーム装置１０では、第１のＬＣＤ１２と第２のＬＣＤ１４とを横方向に並べて配置するようにしてもよい。
【０１２３】
また、上述の各実施例では、２画面をそれぞれ表示する２つのＬＣＤを設けるようにしていたが、表示部としてのＬＣＤの数は適宜変更され得る。たとえば他の実施例のゲーム装置１０では、縦長形状の１つのＬＣＤを設けて、その上下に分けた領域のいずれか一方側にタッチパネル２２を設け、２つのゲーム画像をそれぞれの領域に表示するようにしてもよいし、あるいは、横長形状の１つのＬＣＤを設けて、その左右に分けた領域のいずれか一方側にタッチパネル２２を設け、２つのゲーム画像をそれぞれの領域に表示するようにしてもよい。
【符号の説明】
【０１２４】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
２２  …タッチパネル
２４  …スティック
２８  …メモリカード
３２  …スピーカ
４２  …ＣＰＵコア
４８  …ＲＡＭ
５０，５２  …ＧＰＵ
５４  …Ｉ／Ｆ回路
５６，５８  …ＶＲＡＭ
６０  …ＬＣＤコントローラ
１００  …プレイヤキャラクタ
【図１】
2010029711.tif 000003
【図２】
2010029711.tif 000004
【図３】
2010029711.tif 000005
【図４】
2010029711.tif 000006
【図５】
2010029711.tif 000007
【図６】
2010029711.tif 000008
【図７】
2010029711.tif 000009
【図８】
2010029711.tif 000010
【図９】
2010029711.tif 000011
【図１０】
2010029711.tif 000012
【図１１】
2010029711.tif 000013
【図１２】
2010029711.tif 000014
【図１３】
2010029711.tif 000015
【図１４】
2010029711.tif 000016
【図１５】
2010029711.tif 000017
【図１６】
2010029711.tif 000018
【図１７】
2010029711.tif 000019
【図１８】
2010029711.tif 000020
【図１９】
2010029711.tif 000021
【図２０】
2010029711.tif 000022
【図２１】
2010029711.tif 000023
【図２２】
2010029711.tif 000024