説明

タッチパネルを用いたゲーム装置およびゲームプログラム

【構成】ゲーム装置は少なくとも2点の指示位置を同時に検出可能なタッチパネルを含む。プレイヤがタッチパネルを操作することで検出された2点の座標値が検出され(S7)、2点間の距離および2点を結ぶ線の角度の少なくとも一方が算出される(S9)。また、2点間の距離および角度の変化量が算出される(S11)。算出された距離および角度の少なくとも一方に基づいてキャラクタのたとえば移動速度および旋回角度のような動作パラメータが設定され(S15)、この動作パラメータに基づいてキャラクタのたとえば移動および旋回のような動作が制御される(S17)。また、2点の指示に変化があったときには、変化量に基づいて動作パラメータが変化され(S19)、この動作パラメータに基づいてキャラクタの動作が制御される(S21)。
【効果】2点間の距離または2点を結ぶ線の角度に応じてキャラクタの動作を制御できる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、タッチパネルを用いたゲーム装置およびゲームプログラムに関し、特にたとえば、少なくとも2点の指示位置を同時に検出可能なタッチパネルを用いたゲーム装置およびゲームプログラムに関する。
【背景技術】
【0002】
複数箇所の指示位置を同時検出可能なタッチパネルなどを用いて操作を実行する技術の一例が特許文献1に開示される。この特許文献1の技術では、タッチパネルなどを用いて複数箇所の指示位置を同時に検知し、指示位置の移動後に複数箇所の指示位置を再度検知して、各指示位置の移動軌跡を取得する。これによってユーザの指示を解釈して、指示された操作を実行する。たとえば、指示位置間の距離の変化を取得し、その変化量に応じて対象物の拡大または縮小操作を行ったり、指示位置を結ぶ線の角度およびその変化データに応じて対象物の右回転操作または左回転操作を行ったりする。
【特許文献1】特開2001−290585号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、特許文献1の技術は、複数箇所の指示位置の移動軌跡に応じて単に対象物の拡大・縮小操作や回転操作を行うだけであり、ゲームに応用したものではない。つまり、特許文献1では、ゲームにどのように応用するのか、たとえばゲームに登場するキャラクタをどのように制御するのかは何ら明らかではない。
【0004】
それゆえに、この発明の主たる目的は、新規な、タッチパネルを用いたゲーム装置およびゲームプログラムを提供することである。
【0005】
この発明の他の目的は、2点の指示位置を同時に検出可能なタッチパネルを用いて、ゲーム空間内に登場するキャラクタの動作を制御することのできる、タッチパネルを用いたゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0006】
請求項1の発明は、タッチパネルを用いたゲーム装置であり、表示手段、タッチパネル、座標検出手段、位置関係算出手段、動作パラメータ設定手段、およびキャラクタ制御手段を備える。表示手段は、プレイヤによって操作されるキャラクタを含むゲーム空間を表示する。タッチパネルは、プレイヤによって操作され、少なくとも2点の指示位置を同時に検出可能である。座標検出手段は、プレイヤがタッチパネルを操作することによって検出される2点の指示位置の座標値を検出する。位置関係算出手段は、座標検出手段によって検出された2点の間の距離および2点を結ぶ線の角度の少なくとも一方を算出する。動作パラメータ設定手段は、位置関係算出手段によって算出された距離および角度の少なくとも一方に基づいてキャラクタの動作パラメータを設定する。キャラクタ制御手段は、動作パラメータ設定手段によって設定された動作パラメータに基づいてキャラクタの動作を制御する。
【0007】
請求項1の発明では、ゲーム装置(10:実施例で相当する参照符号。以下同じ。)は、タッチパネル(22)を用いたゲーム装置である。表示手段(42、12、14、50、52、60、72、S3、S75、S111)は、プレイヤによって操作されるキャラクタ(100)を含むゲーム空間を表示する。タッチパネルは、少なくとも2点の指示位置を同時に検出可能である。プレイヤはこのタッチパネルを操作してたとえば2点を指示することによって、キャラクタを操作する。座標検出手段(42、74、S7)は、プレイヤがタッチパネルを操作することによって検出される2点の指示位置の座標値((X1,Y1)、(X2,Y2))を検出する。位置関係算出手段(42、76、S9)は、2点の間の距離および2点を結ぶ線の角度の少なくとも一方を算出する。ここで、2点を結ぶ線の角度とは2点を結ぶ線とたとえば水平線のような基準線とのなす角度を意味する。これにより、プレイヤによる2点の操作状態ないし指示状態が算出される。動作パラメータ設定手段(42、78、S15)は、算出された距離および角度の少なくとも一方に基づいてキャラクタの動作パラメータを設定する。そして、キャラクタ制御手段(42、80、S17)は、設定された動作パラメータに基づいてキャラクタの動作を制御する。したがって、請求項1の発明によれば、キャラクタの動作パラメータが、プレイヤによって指示された2点間の距離および2点を結ぶ線の角度に基づいて設定されるので、2点間の距離または2点を結ぶ線の角度に応じてキャラクタを動作させることができる。
【0008】
請求項2の発明は、請求項1の発明に従属し、位置関係算出手段は、距離および角度の少なくとも一方の変化量を算出する変化量算出手段をさらに含む。動作パラメータ設定手段は、距離の変化量および角度の変化量の少なくとも一方に基づいて動作パラメータを変化させる。キャラクタ制御手段は、変化された動作パラメータに基づいてキャラクタの動作を制御する。
【0009】
請求項2の発明では、変化量算出手段(42、82、S11)は、2点間の距離および2点を結ぶ線の角度の少なくとも一方の変化量を算出する。動作パラメータ設定手段(S19)は、距離の変化量および角度の変化量の少なくとも一方に基づいて動作パラメータを変化させる。そして、キャラクタ制御手段(S21)は、変化された動作パラメータに基づいてキャラクタの動作を制御する。したがって、請求項2の発明によれば、2点間の距離または2点を結ぶ線の角度の変化に応じて、キャラクタの動作が変化するように制御できる。
【0010】
請求項3の発明は、請求項2の発明に従属し、変化量算出手段は、単位時間経過毎に変化量を算出する。請求項3の発明では、単位時間経過毎に変化量を算出することができるので、単位時間毎にキャラクタの動作を変化させることができる。
【0011】
請求項4の発明は、請求項2または3の発明に従属し、変化量算出手段によって算出された変化量が第1所定値以下か否かを判別する第1変化量判別手段をさらに備える。キャラクタ制御手段は、変化量が第1所定値以下でないと判別されたとき、変化された動作パラメータに基づいてキャラクタの動作を制御し、変化量が第1所定値以下であると判別されたとき、キャラクタに第1特殊アクションを行わせる。
【0012】
請求項4の発明では、第1変化量判別手段(S91、S101)は変化量が第1所定値(L1、θ1)以下か否かを判別し、その判別結果に応じてキャラクタ制御手段はキャラクタの動作を制御する。つまり、キャラクタ制御手段は、変化量が第1所定値以下でないときは動作パラメータに基づいて制御し(S99、S109)、変化量が第1所定値以下であるときはキャラクタに第1特殊アクションを実行させる(S93、S103)。したがって、変化量が所定値以下のとき、キャラクタに特殊なアクションを行わせるので、ゲームの面白みを増すことができる。
【0013】
請求項5の発明は、請求項2ないし4のいずれかの発明に従属し、変化量算出手段によって算出された変化量が第2所定値以上か否かを判別する第2変化量判別手段をさらに備える。キャラクタ制御手段は、変化量が第2所定値以上でないと判別されたとき、変化された動作パラメータに基づいてキャラクタの動作を制御し、変化量が第2所定値以上であると判別されたとき、キャラクタに第2特殊アクションを行わせる。
【0014】
請求項5の発明では、第2変化量判別手段(S95、S105)は変化量が第2所定値以上であるか否かを判別し、その判別結果に応じてキャラクタ制御手段はキャラクタの動作を制御する。つまり、キャラクタ制御手段は、変化量が第2所定値以上でないときは、動作パラメータに基づいて制御し(S99、S109)、変化量が第2所定値以上であるときはキャラクタに第2特殊アクションを実行させる(S97、S107)。したがって、変化量が所定値以上のとき、キャラクタに特殊なアクションを行わせるので、ゲームの面白みを増すことができる。
【0015】
請求項6の発明は、請求項2ないし5のいずれかの発明に従属し、動作パラメータ設定手段は、距離の変化量に基づいて動作パラメータとしての移動速度を変化させる。請求項6の発明では、動作パラメータ設定手段(S81)は、距離変化量に基づいて移動速度を変化させるので、プレイヤは、2点間の距離を変化させることによってキャラクタの移動速度を変化させることができる。
【0016】
請求項7の発明は、請求項2ないし5のいずれかの発明に従属し、動作パラメータ設定手段は、角度の変化量に基づいて動作パラメータとしての旋回角度を変化させる。請求項7の発明では、動作パラメータ設定手段(S83)は、角度変化量に基づいて旋回角度を変化させるので、プレイヤは、2点を結ぶ線の角度を変化させることによってキャラクタの旋回角度を変化させることができる。
【0017】
請求項8の発明は、請求項1の発明に従属し、動作パラメータ設定手段は、距離に基づいて動作パラメータとしての移動速度を設定する。請求項8の発明では、動作パラメータ設定手段(S61)は、距離に基づいて移動速度を設定するので、2点間の距離に応じてキャラクタの移動速度を制御することができる。
【0018】
請求項9の発明は、請求項1または8の発明に従属し、動作パラメータ設定手段は、角度の大きさおよび方向に基づいて動作パラメータとしての旋回角度の大きさおよび方向を設定する。請求項9の発明では、動作パラメータ設定手段(S63)は、角度に基づいて旋回角度を設定するので、2点を結ぶ線の角度に応じてキャラクタの旋回角度を制御することができる。
【0019】
請求項10の発明は、請求項1、8または9のいずれかの発明に従属し、位置関係算出手段は、2点の中心座標値をさらに算出する。動作パラメータ設定手段は、中心座標値に基づいて動作パラメータとしての表示位置を設定する。
【0020】
請求項10の発明では、位置関係算出手段(S45)は、2点の中心座標値をさらに算出し、動作パラメータ設定手段(S65、S85)は、中心座標値に基づいて表示位置を設定する。したがって、2点間の中心座標値に応じてキャラクタの表示位置を制御することができる。
【0021】
請求項11の発明は、プレイヤによって操作されるキャラクタを含むゲーム空間を表示する表示手段、およびプレイヤによって操作され、少なくとも2点の指示位置を同時に検出可能なタッチパネルを備える、タッチパネルを用いたゲーム装置において、キャラクタを制御するゲームプログラムである。このゲームプログラムは、ゲーム装置のプロセサに、座標検出ステップ、位置関係算出ステップ、動作パラメータ設定ステップ、およびキャラクタ制御ステップを実行させる。座標検出ステップは、プレイヤがタッチパネルを操作することによって検出される2点の指示位置の座標値を検出する。位置関係算出ステップは、座標検出ステップによって検出された2点の間の距離および2点を結ぶ線の角度の少なくとも一方を算出する。動作パラメータ設定ステップは、位置関係算出ステップによって算出された距離および角度の少なくとも一方に基づいてキャラクタの動作パラメータを設定する。キャラクタ制御ステップは、動作パラメータ設定ステップによって設定された動作パラメータに基づいてキャラクタの動作を制御する。
【0022】
請求項12の発明は、請求項11の発明に従属し、位置関係算出ステップは、距離および角度の少なくとも一方の変化量を算出する変化量算出ステップをさらに含む。動作パラメータ設定ステップは、距離の変化量および角度の変化量の少なくとも一方に基づいて動作パラメータを変化させる。キャラクタ制御ステップは、変化された動作パラメータに基づいてキャラクタの動作を制御する。
【0023】
請求項11および12の発明によっても、請求項1および2の発明と同様に、2点間の距離および2点を結ぶ線の角度に基づいて、キャラクタの動作を制御することができる。
【発明の効果】
【0024】
この発明によれば、プレイヤがタッチパネルを操作することによって検出された2点間の距離および2点を結ぶ線の角度の少なくとも一方を算出し、算出された距離および角度の少なくとも一方に基づいて、ゲーム空間に登場するキャラクタの動作パラメータを設定するので、2点間の距離または2点を結ぶ線の角度に応じてキャラクタの動作を制御することができる。
【0025】
また、2点間の距離および角度の少なくとも一方の変化量を算出し、算出された変化量に基づいてキャラクタの動作パラメータを変化させるので、プレイヤは、2点間の距離または2点を結ぶ線の角度を変化させることによって、キャラクタの動作を変化させることができる。
【0026】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0027】
図1を参照して、この発明の一実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0028】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイ等を用いるようにしてもよい。
【0029】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0030】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0031】
操作スイッチ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との連結部以外の部分に、当該連結部を挟むように左右に配置される。
【0032】
操作スイッチ20の各スイッチの役割は、ゲームごとに適宜設定される。たとえば、方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の少なくとも1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向またはカーソルの移動方向を指示すること等のために用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりすること等のために用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【0033】
動作スイッチ20dすなわちAボタン20dは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタン20eは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0034】
動作スイッチ20L(左押しボタン)および動作スイッチ20R(右押しボタン)は、プッシュボタンで構成される。これら左押しボタン(Lボタン)20Lおよび右押しボタン(Rボタン)20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0035】
また、このゲーム装置10はタッチパネルを用いたゲーム装置であり、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、少なくとも2点の指示位置を同時に検出可能なものが用いられる。具体的には、赤外線を利用した光学式(再帰反射式)の種類のもの等を用いることができる。このような多点同時認識可能なタッチパネル製品の一例として、株式会社キャドセンターの「ネクストラックス」がある(http://www.nextrax-cadcenter.com/)。
【0036】
タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり撫でたり(触れたり)することによって操作(タッチ操作)されると、スティック24等の指示位置を検出して、指示位置の座標値を示す座標データを出力する。プレイヤによってたとえば2点がタッチ操作された場合には、2点の指示位置の座標値を含む座標データを出力する。
【0037】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度も表示画面に対応して256dot×192dotとしてあるが、タッチパネル22の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【0038】
たとえば、LCD12にはプレイヤに見せるためのゲーム画面が表示され、タッチパネル22の設けられるLCD14には、LCD12のゲーム画面に関連して、プレイヤに見せかつ操作させるためのゲーム画面が表示されてよい。LCD12に表示されるゲーム画面には、ゲーム空間内に登場するプレイヤキャラクタが含まれてよい。また、LCD14に表示されるゲーム画面には、スティック24等のタッチ入力によるプレイヤキャラクタの操作方法の案内や指示などが含まれてよいし、タッチ操作可能なたとえばオブジェクトないしアイコン、文字情報等が含まれてもよい。
【0039】
なお、LCD14にタッチ操作可能なオブジェクト等が表示される場合、プレイヤは、該オブジェクトをスティック24等で直接触れるようにしてタッチパネル22上を操作することによって、たとえばそのオブジェクトの選択または操作、座標入力指示等を行うことが可能である。また、ゲームの種類に応じてその他各種の入力指示を行うことができ、たとえばLCD14の表示画面に表示される文字情報やアイコン等によるコマンドを選択したり、LCD12に表示されるゲーム画面(マップ)のスクロール(徐々に移動表示)方向を指示したりすることも可能である。
【0040】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の表示画面上にタッチパネル22が設けられるので、2画面(LCD12,14)と2系統の操作部(20,22)を有する構成となるのである。
【0041】
ただし、このゲーム装置10は、ゲーム空間内に登場するプレイヤキャラクタの動作をタッチパネル操作に基づいて制御しようとするものである。したがって、上述の各操作スイッチ20の操作内容のうちプレイヤキャラクタの動作制御に関するものは、タッチパネル22での操作に割り当てられるものもあるので、それらの操作内容に関しては操作スイッチ20の操作があっても機能しないように設定しておいてよい。
【0042】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)に設けられる収納部(収納穴)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0043】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは下端(底面)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0044】
なお、図1では表現できないが、下側ハウジング16bの内部において、この下側ハウジング16bの音抜き孔18と対応する位置には、スピーカ32(図2参照)が設けられる。
【0045】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0046】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるととともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフエース回路(以下、「I/F回路」という。)54およびLCDコントローラ60に接続される。
【0047】
コネクタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、ともにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0048】
ROM28aは、ゲーム装置10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、メッセージ画像など)データおよびゲームに必要な音ないし音楽のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0049】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、および画像データ、音データ等のデータをRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的なデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。
【0050】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または必要に応じて部分的かつ順次的に読み出され、RAM48に記憶される。
【0051】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0052】
なお、GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンやテクスチャ等のデータ)は、GPU50およびGPU52がそれぞれ、RAM48にアクセスして取得する。
【0053】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50は作成したゲーム画像データをVRAM56に描画し、GPU52は作成したゲーム画像データをVRAM58に描画する。
【0054】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、VRAM56に描画されたゲーム画像データをLCD12に出力し、VRAM58に描画されたゲーム画像データをLCD14に出力する。また、LCDコントローラ60は、レジスタ62のデータ値が「1」である場合には、VRAM56に描画されたゲーム画像データをLCD14に出力し、VRAM58に描画されたゲーム画像データをLCD12に出力する。
【0055】
なお、上述の例では、LCDコントローラ60がVRAM56およびVRAM58と接続され、これらVRAM56およびVRAM58から画像データを取得するように説明した。しかし、VRAM56およびVRAM58に描画された画像データは、CPUコア42の指示の下、GPU50およびGPU52によってLCDコントローラ60に与えられてもよい。
【0056】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22からの座標データがI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32から出力する。
【0057】
図3にはRAM48のメモリマップの一例が示される。RAM48はゲームプログラム記憶領域70を含む。ゲームプログラム記憶領域70にはメモリカード28のROM28aからゲームプログラムがロードされる。この実施例のゲームプログラムはゲーム画像表示プログラム72、座標検出プログラム74、位置関係算出プログラム76、動作パラメータ設定プログラム78、キャラクタ動作制御プログラム80、変化量算出プログラム82等を含む。
【0058】
ゲーム画像表示プログラム72は、LCD12およびLCD14に表示する各ゲーム画像を画像データ等に基づいて生成してLCD12およびLCD14に表示するためのプログラムである。このプログラムによって、たとえばプレイヤキャラクタを含むゲーム空間を示すゲーム画像がLCD12に表示される。
【0059】
座標検出プログラム74は、プレイヤによってタッチパネル22が操作されたことに応じて、タッチパネル22から入力される座標データを検出するためのプログラムである。たとえば、プレイヤがタッチパネル22上の2点を同時に指示した場合には、座標データから2点の指示位置の座標値が検出される。
【0060】
位置関係算出プログラム76は、プレイヤによって2点が同時にタッチ操作されたときに、2点の位置の関係を算出するためのプログラムである。あるいは、プレイヤによる2点の指示状態を算出するためのプログラムであるということもできる。すなわち、このプログラムによって、プレイヤに指示された2点間の距離および2点を結ぶ線の角度の少なくとも一方が算出される。ここで、2点を結ぶ線の角度とは、指示された2点を結ぶ線と基準線(たとえば水平線)とのなす角度のことである。また、この2点を結ぶ線の角度の方向は、たとえば左回りすなわち反時計回りがプラス方向に設定される。なお、この2点を結ぶ線の角度のことを2点間の角度ということもある。2点の座標値として(X1,Y1)および(X2,Y2)が検出されたとき、2点間の距離Lおよび2点間の角度θは、図4に示す数式(1)および(2)に基づいて算出される。また、この実施例では、このプログラムによって、指示された2点間の中点(中心座標値)も算出される。2点間の中点Pの座標値は図4の数式(3)に示される。これら2点間の距離、角度および中心座標値等は、単位時間経過ごとに、たとえば1フレームまたは所定の数フレームごとに算出される。
【0061】
動作パラメータ設定プログラム78は、プレイヤキャラクタの動作パラメータを設定するためのプログラムである。動作パラメータはプレイヤキャラクタの動作を制御するために設けられるパラメータであり、この動作パラメータに基づいてプレイヤキャラクタの動作が決められる。動作パラメータとしては、動作に関連する複数の要素が設けられる。この実施例では、移動速度、旋回角度などが動作パラメータとして用意される。たとえば、動作パラメータは、2点間の距離および2点を結ぶ線の角度の少なくとも一方に基づいて設定される。具体的には、プレイヤキャラクタの動作パラメータのうち移動速度は、2点間の距離に基づいて設定され、また、旋回角度は、2点を結ぶ線の角度に基づいて設定される。さらに、この実施例では、プレイヤキャラクタの動作パラメータとしてのプレイヤキャラクタの表示位置が、2点間の中心座標値に基づいて設定される。
【0062】
この動作パラメータ設定プログラム78によって設定された動作パラメータに基づいて、後述するキャラクタ動作制御プログラム80は、プレイヤキャラクタの動作を制御する。したがって、プレイヤは自身の2つの指24などで指示する2点間の距離または角度に応じて、プレイヤキャラクタの移動速度または旋回角度を制御することができる。また、2点間の中心座標値に基づいて、プレイヤキャラクタの表示位置を制御することができる。
【0063】
また、この動作パラメータ設定プログラム78は、上述の位置関係算出プログラム76によって算出された2点間の距離および角度に変化があったとき、それらの変化量に基づいて、動作パラメータを変化させる。具体的には、プレイヤキャラクタの移動速度は2点間の距離の変化量に基づいて変化され、たとえば距離変化量に基づいて移動速度の加速度または減速度が設定される。距離が大きくなるような変化の場合には移動速度の加速度が設定され、距離が小さくなるような変化の場合には移動速度の減速度が設定される。また、プレイヤキャラクタの旋回角度は2点間の角度の変化量に基づいて変化される。さらに、プレイヤキャラクタの表示位置は今回算出された中点に基づいて設定される。
【0064】
この動作パラメータ設定プログラム78によって変化された動作パラメータに基づいて、後述するキャラクタ動作制御プログラム80は、プレイヤキャラクタの動作を制御する。したがって、プレイヤは2点間の距離または角度を変化させることによって、プレイヤキャラクタの移動速度または旋回角度を変化させることができる。
【0065】
キャラクタ動作制御プログラム80は、プレイヤキャラクタの動作を制御するためのプログラムである。プレイヤキャラクタの動作は動作パラメータに基づいて制御される。具体的には、プレイヤキャラクタの移動は、動作パラメータ設定プログラム78によって設定された動作パラメータの移動速度に基づいて制御される。また、プレイヤキャラクタの旋回または回転あるいは方向転換は、設定された動作パラメータの旋回角度に基づいて制御される。さらに、プレイヤキャラクタの表示位置は、設定された動作パラメータの表示位置に基づいて制御される。
【0066】
また、このプログラム80では、2点間の距離および角度の少なくとも一方に変化があったとき、プレイヤキャラクタの動作は、動作パラメータ設定プログラム78によって変化された動作パラメータに基づいて制御される。
【0067】
たとえば、プレイヤキャラクタの移動に関しては、距離変化量の値に応じた制御が行われる。具体的には、2点間の距離の変化量が第1の所定値L1以下であるか否かが判別される。つまり、2点間の距離が小さくなるような変化(マイナス変化)であり、かつ、その変化の大きさが所定値以上であるか否かが判別される。距離変化量が第1の所定値L1以下であるときには、プレイヤキャラクタの移動は、移動に関する第1の特殊アクションを行うように制御される。一方、距離変化量が第1の所定値L1以下でない場合には、第2の所定値L2以上であるか否かが判別される。つまり、2点間の距離が大きくなるような変化(プラス変化)であり、かつ、その変化の大きさが所定値以上であるか否かが判別される。距離変化量が第2の所定値L2以上であるときには、プレイヤキャラクタの移動は、移動に関する第2の特殊アクションを行うように制御される。一方、距離変化量が第2の所定値L2以上でもないときには、プレイヤキャラクタの移動は、設定された移動速度の加速度または減速度に基づいて制御される。なお、この距離変化量に関する判別のための2つの閾値、すなわち第1の所定値L1と第2の所定値L2とはL1<L2の関係で適宜に設定される。
【0068】
また、たとえば、プレイヤキャラクタの旋回または回転あるいは方向転換に関しては、角度変化量の値に応じた制御が行われる。具体的には、2点間の角度の変化量が第1の所定値θ1以下であるか否かが判別される。つまり、2点間の角度が右回り(すなわち時計回り)に変化するものであり、かつ、その変化の大きさが所定値以上であるか否かが判別される。角度変化量が第1の所定値θ1以下である場合には、プレイヤキャラクタの旋回は、旋回に関する第1の特殊アクションを行うように制御される。一方、角度変化量が第1の所定値θ1以下でない場合には、第2の所定値θ2以上であるか否かが判別される。つまり、2点間の角度が左回りに変化するものであり、かつ、その変化の大きさが所定値以上であるか否かが判別される。角度変化量が第2の所定値θ2以上であるときには、プレイヤキャラクタの旋回は、旋回に関する第2の特殊アクションを行うように制御される。一方、角度変化量が第2の所定値θ2以上でないときには、プレイヤキャラクタの旋回は、変化された旋回角度に基づいて制御される。なお、この角度変化量に関する判別のための2つの閾値、すなわち第1の所定値θ1と第2の所定値θ2とはθ1<θ2の関係で適宜に設定される。
【0069】
上述のように、このプログラム80では、変化量が所定値以下であるとき、または変化量が所定値以上であるとき、プレイヤキャラクタに特殊なアクションを行わせることができるので、ゲームの面白みを増すことができる。
【0070】
変化量算出プログラム82は、2点間の距離および角度に変化があったとき、距離の変化量および角度の変化量を算出するためのプログラムである。上述のようにキャラクタ動作制御プログラム80は、この変化量に応じてプレイヤキャラクタの動作を変化させる。変化量は単位時間経過ごとに、たとえば1フレームまたは所定の数フレームごとに算出される。したがって、単位時間経過毎に変化量を算出することができるので、単位時間毎にプレイヤキャラクタの動作を変化させることができる。
【0071】
なお、ゲームプログラム記憶領域70には図示は省略しているが、ゲーム音楽またはゲームサウンドを生成して出力するためのプログラムなど、ゲーム進行に必要な各種プログラムが記憶される。
【0072】
また、RAM48のメモリマップはデータ記憶領域を含み、データ記憶領域には、メモリカード28のROM28aまたはRAM28bからロードされたデータやゲーム処理に応じて生成されたデータ等が記憶される。データ記憶領域は、画像データ記憶領域84、位置関係データ記憶領域86、動作パラメータ記憶領域88等を含む。
【0073】
画像データ記憶領域84には、ゲーム画像を生成するための画像データが記憶される。たとえば、プレイヤキャラクタ、敵キャラクタ、背景オブジェクト、その他のオブジェクトなどの画像データが記憶される。
【0074】
位置関係データ記憶領域86には、位置関係算出プログラム76によって算出された2点の位置関係または指示状態に関するデータが記憶される。具体的には、この領域86には、2点の座標値間の距離データが記憶される。位置関係または指示状態に関するデータは単位時間ごとに算出されるので、今回の処理で算出された距離データが記憶されるとともに、前回の処理で算出されていた距離データも記憶される。また、2点の座標値間の角度データが記憶される。角度データに関しても、前回の処理で算出されていた角度データと今回の処理で算出された角度データが記憶される。さらに、2点の座標値の中心座標値データが記憶される。この中点データに関しても、前回の処理で算出されていた中心座標値と今回の処理で算出された中心座標値が記憶される。
【0075】
動作パラメータ記憶領域88には、動作パラメータ設定プログラム78によって設定されたプレイヤキャラクタの動作パラメータが記憶される。この実施例では、プレイヤキャラクタの移動速度、旋回角度、表示位置などの動作パラメータが記憶される。
【0076】
なお、データ記憶領域には、図示は省略するが、ゲームの進行に応じて発生する他のゲームデータ(フラグやカウンタも含む。)等も記憶される。
【0077】
この実施例では、図5に示すように、プレイヤキャラクタ100を含むゲーム空間がLCD12に表示される。プレイヤキャラクタ100は、一例として飛行機であり、画面の奥へ向かって飛行しているように表示される。プレイヤはLCD14に装着されたタッチパネル22上でたとえば2本の指先で2点を指示することによって、このプレイヤキャラクタ100を操作する。
【0078】
具体的には、プレイヤキャラクタの動作パラメータのうち移動速度が2点の指示位置間の距離に基づいて設定されるので、プレイヤキャラクタ100の移動が2点の指示位置間の距離に応じて制御される。プレイヤキャラクタ100の移動は、たとえばプレイヤキャラクタ100の噴射量や、背景が画面奥から手前へ移動する速度などによって表現される。つまり、噴射量が多い場合や背景の移動速度が速い場合には、プレイヤキャラクタ100の移動速度が速い。
【0079】
また、動作パラメータのうち旋回角度が2点の指示位置間の角度に基づいて設定されるので、プレイヤキャラクタ100の旋回が2点の指示位置間の角度に応じて制御される。この実施例では、プレイヤキャラクタ100の両翼が水平方向に延びるように表示されるので、基準線として水平線が設定される。つまり、旋回角度の大きさおよび方向は、2点を結ぶ線と水平線とのなす角度の大きさおよび方向に基づいて設定されるので、プレイヤキャラクタ100の旋回ないし回転が2点間の角度の大きさおよび方向に応じて制御される。たとえば2点を結ぶ線が水平線と平行であればプレイヤキャラクタ100の両翼が水平にされる。
【0080】
さらに、動作パラメータのうち表示位置が2点の指示位置の中点に基づいて設定されるので、プレイヤキャラクタ100の表示位置が2点の指示位置の中心座標値に基づいて制御される。たとえば、プレイヤキャラクタ100は2点の中心座標値に対応するLCD12上の位置に表示される。
【0081】
また、プレイヤによる操作状態(指示状態)に変化があった場合には、プレイヤキャラクタ100の動作パラメータは指示状態の変化に基づいて変化されるので、プレイヤは2点の指示位置を適宜変化させることによって、プレイヤキャラクタ100の動作を操ることができる。
【0082】
具体的には、プレイヤキャラクタの移動は、2点間の距離の変化量に基づいて変化される。図6に示すように、2点間の距離を図5の状態から大きくした場合には、プレイヤキャラクタ100の移動速度が加速されるように制御される。たとえば、動作パラメータの移動速度を増加させるための加速度が距離変化量に基づいて設定され、この加速度に基づいてプレイヤキャラクタ100の移動が制御される。LCD12には、たとえばプレイヤキャラクタ100の噴射量が多くされたり背景の移動速度が速くされたりしたゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ100を早く移動させたいときは、2点間の距離が大きくなるようにタッチパネル22を操作すればよい。
【0083】
一方、図7に示すように、2点間の距離を図5の状態から小さくした場合には、プレイヤキャラクタ100の移動速度が減速されるように制御される。たとえば、動作パラメータの移動速度を減少させるための減速度が距離変化量に基づいて設定され、この減速度に基づいてプレイヤキャラクタ100の移動が制御される。LCD12には、たとえばプレイヤキャラクタ100の噴射量が少なくされたり背景の移動速度が遅くされたりしたゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ100を遅く移動させたいときは、2点間の距離が小さくなるようにタッチパネル22を操作すればよい。
【0084】
ただし、この実施例では、距離変化量が第1の所定値L1以下になるように2点間の距離を減少させた場合には、図8に示すように、プレイヤキャラクタ100が、移動に関する第1の特殊アクションを実行するように、その移動が制御される。LCD12には、プレイヤキャラクタ100が特殊アクションとしてたとえば逆噴射アクションを行うゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ100を急減速させたいときには、2点間の距離が急に減少するように(単位時間当たりの距離減少量が第1の所定値L1以下になるように)操作すればよい。
【0085】
一方、距離変化量が第2の所定値L2以上になるように2点間の距離を増加させた場合には、図9に示すように、プレイヤキャラクタ100が、移動に関する第2の特殊アクションを実行するように、その移動が制御される。LCD12には、プレイヤキャラクタ100が特殊アクションとしてたとえば瞬間移動アクションを行うゲーム画像が表示される。したがって、プレイヤはプレイヤキャラクタ100を瞬間移動させたいときには、2点間の距離が急に増加するように(単位時間当たりの距離増加量が第2の所定値L2以上になるように)操作すればよい。
【0086】
また、プレイヤキャラクタ100の旋回角度は、2点間の角度の変化量に応じて変化される。旋回の方向は角度変化量の符号によって異なる。この実施例では図4に示したように左回りがプラス方向に設定されるので、角度変化量の符号がプラスであるとき旋回方向は左であり、角度変化量の符号がマイナスであるとき旋回方向は右である。たとえば、図10に示すように、角度変化が、右回りすなわちマイナスの変化である場合には、プレイヤキャラクタ100は右回りに旋回される。また、プレイヤキャラクタ100の旋回角度の絶対値は、2点間の角度変化量の絶対値に基づいて設定される。なお、図示は省略してあるが、角度変化が左回りすなわちプラスの変化である場合には、プレイヤキャラクタ100は左回りに旋回される。
【0087】
ただし、この実施例では、角度変化量が第1の所定値θ1以下であった場合には、つまり、右回りに所定の大きさ以上角度が変化された場合には、図11に示すように、プレイヤキャラクタ100が、旋回に関する第1の特殊アクションを実行するように、その旋回が制御される。LCD12には、プレイヤキャラクタ100が特殊アクションとしてたとえば右回転ローリングアクションを行うゲーム画像が表示される。したがって、プレイヤは、プレイヤキャラクタ100にこの右回りの特殊アクションを実行させたいときには、2点間の角度が右回りに急に変化するような操作を行えばよい。
【0088】
一方、角度変化量が第2の所定値θ2以上であった場合には、つまり、左回りに所定の大きさ以上角度が変化された場合には、図12に示すように、プレイヤキャラクタ100が、旋回に関する第2の特殊アクションを実行するように、その旋回が制御される。LCD12には、プレイヤキャラクタ100が特殊アクションとしてたとえば左回転ローリングアクションを行うゲーム画像が表示される。したがって、プレイヤは、プレイヤキャラクタ100にこの左回りの特殊アクションを実行させたいときには、2点間の角度が左回りに急に変化するような操作を行えばよい。
【0089】
また、プレイヤキャラクタ100の表示位置は、2点間の中心座標値の変化に応じて変化される。つまり、たとえば図13に示すように、2点間の中心座標値が変化したときには、プレイヤキャラクタ100は変化後の中心座標値に対応する位置に表示される。
【0090】
図14には、このゲーム装置10のゲーム動作の一例が示される。ゲームを開始すると、CPUコア42は、まず、ステップS1で初期設定を実行して、たとえば、各種変数やフラグに初期値を設定する。
【0091】
次に、ステップS3で、CPUコア42は、LCD12にゲーム空間を示すゲーム画像を表示する。たとえば、CPUコア42は、GPU50を用いてゲーム画像表示プログラム72および画像データ記憶領域84に記憶された画像データに基づいてゲーム空間のゲーム画像を生成し、LCDコントローラ60を用いてゲーム画像をLCD12に表示する。
【0092】
ステップS5では、CPUコア42は、タッチパネル22から入力された座標データに基づいて、2点の指示位置が検出されたか否かを判断する。ステップS5で“YES”であれば、つまり、座標データが2点の座標値を含む場合には、CPUコア42はステップS7で座標検出処理を実行して、2点の指示位置の座標値を検出する。
【0093】
続いて、ステップS9で、CPUコア42は検出された2点の座標値に基づいて位置関係算出処理を実行する。この位置関係算出処理の動作は図15に詳細に示される。図15の最初のステップS41で、CPUコア42は2点の座標値間の距離を算出する。算出された2点間の距離は、位置関係データ記憶領域86に今回算出された距離データとして記憶される。なお、前回の処理で算出されていた距離データは前回算出された距離データとしてこの領域86に記憶される。次に、ステップS43では、CPUコア42は2点の座標値間の角度を算出し、位置関係データ記憶領域86に今回算出された角度データとして記憶する。なお、前回の処理で算出されていた角度データは前回算出された角度データとしてこの領域86に記憶される。続いて、ステップS45で、CPUコア42は2点の座標値の中心座標値を算出し、位置関係データ記憶領域86に今回算出された中心座標値データとして記憶する。なお、前回の処理で算出されていた中心座標値データは前回算出された中心座標値データとしてこの領域86に記憶される。この位置関係算出処理を終了すると処理は図14のステップS11に戻る。
【0094】
図14のステップS11では、CPUコア42は変化量算出処理を実行する。この変化量算出処理の動作は図16に詳細に示される。図16の最初のステップS51で、CPUコア42は、位置関係データ記憶領域86に記憶された2点間の距離データに基づいて、今回算出された距離と前回算出された距離との差、すなわち距離変化量を算出する。次に、ステップS53で、CPUコア42は、位置関係データ記憶領域86に記憶された2点間の角度データに基づいて、今回算出された角度と前回算出された角度との差、すなわち角度変化量を算出する。この変化量算出処理を終了すると、処理は図14のステップS13へ戻る。
【0095】
図14のステップS13では、CPUコア42は、2点の位置関係または指示状態に変化があったか否かを判断する。たとえば、ステップS11で算出された距離変化量または角度変化量に基づいて、2点間の距離または角度に変化があったか否かが判断される。ステップS13で“NO”であれば、つまり、2点間の距離および角度に今回の処理と前回の処理とで変化がない場合には、CPUコア42は、ステップS15で動作パラメータ設定処理を実行する。この動作パラメータ設定処理の動作は図17に詳細に示される。
【0096】
図17の最初のステップS61で、CPUコア42は、位置関係データ記憶領域86に記憶されている今回算出された2点間の距離に基づいてプレイヤキャラクタ100の動作パラメータとしての移動速度を設定する。移動速度はたとえば2点間の距離に比例して設定される。設定された移動速度は、動作パラメータ記憶領域88の移動速度データのための領域に記憶される。
【0097】
次に、ステップS63で、CPUコア42は、記憶領域86に記憶されている今回算出された2点間の角度に基づいてプレイヤキャラクタ100の動作パラメータとしての旋回角度を設定する。たとえば、旋回角度の方向は2点間の角度の符号(方向)に基づいて設定され、旋回角度の大きさは2点間の角度の大きさに比例して設定される。設定された旋回角度は動作パラメータ記憶領域88の旋回角度データのための領域に記憶される。
【0098】
続いて、ステップS65で、CPUコア42は、記憶領域86に記憶されている今回算出された2点間の中心座標値に基づいてプレイヤキャラクタ100の動作パラメータとしての表示位置を設定する。表示位置は2点間の中心座標値に対応するLCD12上の位置(たとえば同じ位置)に設定される。設定された表示位置は動作パラメータ記憶領域88の表示位置データのための領域に記憶される。この動作パラメータ設定処理を終了すると、処理は図14のステップS17へ戻る。
【0099】
図14のステップS17では、CPUコア42は、キャラクタ動作制御処理(1)を実行する。このキャラクタ動作制御処理(1)の動作は図18に詳細に示される。図18の最初のステップS71で、CPUコア42は、設定されて動作パラメータ記憶領域88に記憶されている移動速度に基づいて、プレイヤキャラクタ100の移動を制御する。次に、ステップS73で、CPUコア42は、設定されて記憶領域88に記憶されている旋回角度に基づいて、プレイヤキャラクタ100の回転または旋回を制御する。そして、ステップS75で、CPUコア42は、設定されて記憶領域88に記憶されている表示位置に基づいてプレイヤキャラクタ100の表示を制御する。このようにして、たとえば図5に示すように、プレイヤによる2点の指示状態に応じてプレイヤキャラクタ100の動作が制御されたゲーム画像が生成されてLCD12に表示される。このキャラクタ動作制御処理(1)を終了すると処理は図14のステップS25へ戻る。
【0100】
一方、ステップS13で“YES”であれば、つまり、2点間の距離および角度に今回の処理と前回の処理とで変化がある場合には、CPUコア42は、ステップS19で動作パラメータ変化処理を実行する。この動作パラメータ変化処理の動作は図19に詳細に示される。図19の最初のステップS81で、CPUコア42は、ステップS11(図14)の変化量算出処理で算出された距離変化量に基づいて、プレイヤキャラクタ100の動作パラメータとしての移動速度の加速度または減速度を設定する。具体的には、距離変化量の符号がプラスである場合には加速度が設定され、マイナスである場合には減速度が設定される。また、加速度または減速度の大きさはたとえば距離変化量の絶対値に比例して設定される。さらに、設定された加速度または減速度に基づいて設定される移動速度が動作パラメータ記憶領域88に記憶される。
【0101】
次に、ステップS83で、CPUコア42は、ステップS11の処理で算出された角度変化量に基づいて、プレイヤキャラクタ100の動作パラメータとしての旋回角度を変化させる。旋回角度は、たとえば角度変化量に比例して変化される。また、変化された旋回角度は動作パラメータ記憶領域88に記憶される。
【0102】
続いて、ステップS85で、CPUコア42は、位置関係データ記憶領域86に記憶された今回算出された中点(中心座標値)に基づいて、プレイヤキャラクタ100の動作パラメータとしての表示位置を設定する。表示位置はたとえば今回算出された中点の座標値に対応するLCD12上の座標値に設定される。また、設定された表示位置は動作パラメータ記憶領域88に記憶される。この動作パラメータ変化処理を終了すると、処理は図14のステップS21へ戻る。
【0103】
図14のステップS21では、CPUコア42は、キャラクタ動作制御処理(2)を実行する。このキャラクタ動作制御処理(2)の動作は図20に詳細に示される。図20のステップS91−S99でプレイヤキャラクタ100の移動が距離変化量に基づいて制御され、ステップS101−S109でプレイヤキャラクタ100の回転が角度変化量に基づいて制御され、そして、ステップS111でプレイヤキャラクタ100の表示が制御される。
【0104】
図20の最初のステップS91で、CPUコア42は、ステップS11(図14)の変化量算出処理で算出された距離変化量が第1の所定値L1以下であるか否かを判断し、“YES”であれば、ステップS93でプレイヤキャラクタ100にたとえば逆噴射アクション(移動に関する第1の特殊アクション)を実行させる。この場合には、たとえば図8に示したようにプレイヤキャラクタ100が逆噴射によって急制動するゲーム画像が表示されることとなる。
【0105】
一方、ステップS91で“NO”であれば、CPUコア42は、ステップS95で距離変化量が第2の所定値L2以上であるか否かを判断し、“YES”であれば、ステップS97でプレイヤキャラクタ100にたとえば瞬間移動アクション(移動に関する第2の特殊アクション)を実行させる。この場合には、たとえば図9に示したようにプレイヤキャラクタ100が瞬間的に他の場所へ移動するゲーム画像が表示されることとなる。
【0106】
他方、ステップS95で“NO”であれば、CPUコア42は、ステップS99で、動作パラメータ変化処理(図19)で設定された加速度または減速度に基づいてプレイヤキャラクタ100の移動を制御する。この場合には、加速度が設定されているときには、たとえば図6に示したようにプレイヤキャラクタ100が加速度に応じて噴射量を増して加速するゲーム画像が表示され、減速度が設定されているときには、たとえば図7に示したようにプレイヤキャラクタ100が減速度に応じて噴射量を減らして減速するゲーム画像が表示されることとなる。
【0107】
続いて、ステップS101では、CPUコア42は、ステップS11(図14)で算出された角度変化量が第1の所定値θ1以下であるか否かを判断し、“YES”であれば、ステップS103でプレイヤキャラクタ100にたとえば右回転ローリングアクション(旋回に関する第1の特殊アクション)を実行させる。この場合には、たとえば図11に示したようにプレイヤキャラクタ100が右回りにくるくる回るゲーム画像が表示されることとなる。
【0108】
一方、ステップS101で“NO”であれば、CPUコア42はステップS105で、角度変化量が第2の所定値θ2以上であるか否かを判断し、“YES”であれば、ステップS107でプレイヤキャラクタ100にたとえば左回転ローリングアクション(旋回に関する第2の特殊アクション)を実行させる。この場合には、たとえば図12に示したようにプレイヤキャラクタ100が左回りにくるくる回るゲーム画像が表示されることとなる。
【0109】
他方、ステップS105で“NO”であれば、CPUコア42は、ステップS109で、動作パラメータ変化処理(図19)で変化された旋回角度に基づいてプレイヤキャラクタ100の回転を制御する。この場合には、たとえば図10に示したようにプレイヤキャラクタ100が角度変化量に応じた角度で旋回するゲーム画像が表示されることとなる。
【0110】
続いて、ステップS111で、CPUコア42は、動作パラメータ変化処理(図19)で設定された表示位置にプレイヤキャラクタ100の表示を制御する。したがって、上述のプレイヤキャラクタ100の移動および回転の動作が、設定された表示位置で行われるゲーム画像が表示されることとなる。このキャラクタ動作制御処理(2)を終了すると、処理は図14のステップS25へ戻る。
【0111】
また、ステップS5で“NO”であれば、つまり、タッチパネル22からの座標データに2点の座標値が含まれていない場合には、CPUコア42は、ステップS23でプレイヤキャラクタ100の動作停止処理を実行する。この場合には、プレイヤがプレイヤキャラクタ100を操作していないものとみなして、プレイヤキャラクタ100の動作を停止させる。このステップS23を終了すると、処理はステップS25へ進む。
【0112】
ステップS25では、CPUコア42は、単位時間が経過したか否かを判断し、“YES”であれば、ステップS5へ戻る。このように、この実施例では、2点の座標値の検出、位置関係の算出、変化量の算出、動作パラメータの設定、キャラクタの動作制御などの処理が単位時間ごとに繰り返し実行されて、プレイヤキャラクタ100の動作がタッチパネル22の2点同時操作に従って制御される。
【0113】
一方、ステップS25で“NO”であれば、ステップS27でCPUコア42はゲーム終了であるか否かを判断する。ステップS27で“NO”であればステップS25へ戻り、一方、“YES”であればこのゲーム処理を終了する。
【0114】
この実施例によれば、プレイヤがタッチパネル22を操作することによって検出された2点の指示位置間の距離および2点を結ぶ線の角度に基づいて、プレイヤキャラクタ100の移動速度および旋回角度などの動作パラメータを設定するので、2点間の距離および2点を結ぶ線の角度に応じてプレイヤキャラクタ100の移動および旋回などの動作を制御することができる。
【0115】
また、2点間の距離および角度の変化量を算出し、算出された変化量に基づいてプレイヤキャラクタ100の移動速度および旋回角度などの動作パラメータを変化させるので、2点間の距離の変化および2点を結ぶ線の角度の変化に応じてプレイヤキャラクタ100の移動および旋回などの動作を変化させることができる。
【0116】
なお、上述の実施例では、2点間の距離および角度に変化があった場合には、距離変化量および角度変化量に応じてプレイヤキャラクタ100の動作を制御するようにしていた。しかしながら、図21に示すような他の実施例では、変化量によらずに、今回の処理で算出される2点間の距離および角度自体に応じてプレイヤキャラクタ100の動作を制御するようにしてもよい。なお、この図21に示すフロー図の各ステップは、図14に示すフロー図の対応するステップと同じ処理であり、したがって、同じ符号を付すことによって図21の動作の説明は省略する。
【0117】
また、上述の各実施例では、LCD12にプレイヤキャラクタ100を含むゲーム空間を示すゲーム画像を表示するようにしていた。しかし、図22に示すように、プレイヤキャラクタ100を含むゲーム画像はタッチパネル22の設けられたLCD14に表示するようにしてもよい。この場合には、プレイヤは、自らの指やスタイラスペンなどを含むスティック24等の近傍にプレイヤキャラクタ100を見ながら操作して、プレイヤキャラクタ100の動作を制御することができる。
【0118】
また、上述の各実施例では、プレイヤキャラクタ100は画面の奥へ向かうように表示される飛行機であったが、プレイヤキャラクタ100の種類および表示のされ方は適宜変更され得る。たとえば、プレイヤキャラクタ100を俯瞰するように表示するゲームの場合にも、同様にして、このプレイヤキャラクタ100を操ることができる。たとえばプレイヤキャラクタ100が人間のようなキャラクタである場合には、2点間の角度に対応付ける動作パラメータは、旋回角度と呼ばず、移動しようとする方向(体の向き)といえる。
【0119】
また、上述の各実施例では、動作パラメータのうち移動速度を2点間の距離に対応付けし、旋回角度を2点間の角度に対応付けしていた。つまり、2点の指示位置間の距離または距離変化が移動速度に対応し、2点の指示位置間の角度または角度変化が旋回角度に対応するので、プレイヤはプレイヤキャラクタ100の動作を直感的に制御でき、操作が非常に分かり易いという利点がある。しかし、動作パラメータと2点の指示状態との対応付けは適宜変更され得る。他の実施例では、たとえば、移動速度を2点間の角度に対応付けし、旋回角度を2点間の距離に対応付けるようにしてもよい。
【0120】
また、上述の各実施例では、プレイヤキャラクタ100の動作パラメータとして、移動速度、旋回角度および表示位置を挙げたが、動作パラメータは、プレイヤキャラクタ100の動作を制御するための要素であればよく、適宜変更され得る。たとえば、動作パラメータは、プレイヤキャラクタ100がこまのような回転体の場合、回転速度や移動方向などであってよい。あるいは、動作パラメータは、プレイヤキャラクタ100の戦闘時の攻撃力、防御力、または競争時の走力、闘争心といった、一時的に可変なまたは調整可能な能力値などであってよい。
【0121】
また、上述の各実施例では、第1のLCD12と第2のLCD14とを縦方向に並べて配置するようにしていたが、2つのLCDの配置は適宜に変更され得る。たとえば他の実施例のゲーム装置10では、第1のLCD12と第2のLCD14とを横方向に並べて配置するようにしてもよい。
【0122】
また、上述の各実施例では、2画面をそれぞれ表示する2つのLCDを設けるようにしていたが、表示部としてのLCDの数は適宜変更され得る。たとえば他の実施例のゲーム装置10では、縦長形状の1つのLCDを設けて、その上下に分けた領域のいずれか一方側にタッチパネル22を設け、2つのゲーム画像をそれぞれの領域に表示するようにしてもよいし、あるいは、横長形状の1つのLCDを設けて、その左右に分けた領域のいずれか一方側にタッチパネル22を設け、2つのゲーム画像をそれぞれの領域に表示するようにしてもよい。
【図面の簡単な説明】
【0123】
【図1】この発明の一実施例のゲーム装置の一例を示す外観図である。
【図2】図1実施例のゲーム装置の電気的な構成を示すブロック図である。
【図3】図2に示すRAM48のメモリマップの一例を示す図解図である。
【図4】2点間の距離、2点を結ぶ線の角度、および2点間の中心座標値を示す図解図である。
【図5】プレイヤによる操作の状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図6】図5の状態から2点間の距離を大きくした操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図7】図5の状態から2点間の距離を小さくした操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図8】2点間の距離の変化量が第1の所定値以下になるようにした操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図9】2点間の距離の変化量が第2の所定値以上になるようにした操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図10】図5の状態から2点を結ぶ線の角度を右回りに変化させた操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図11】2点を結ぶ線の角度の変化量が第1の所定値以下になるようにした操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図12】2点を結ぶ線の角度の変化量が第2の所定値以上になるようにした操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図13】図5の状態から2点の中点を変化させた操作状態と第1のLCDに表示されるゲーム画像の一例を示す図解図である。
【図14】図1実施例のゲーム装置のゲーム動作の一例を示すフロー図である。
【図15】図14の位置関係算出処理の動作の一例を示すフロー図である。
【図16】図14の変化量算出処理の動作の一例を示すフロー図である。
【図17】図14の動作パラメータ設定処理の動作の一例を示すフロー図である。
【図18】図14のキャラクタ動作制御処理(1)の動作の一例を示すフロー図である。
【図19】図14の動作パラメータ変化処理の動作の一例を示すフロー図である。
【図20】図14のキャラクタ動作制御処理(2)の動作の一例を示すフロー図である。
【図21】図1実施例のゲーム装置のゲーム動作の変形例を示すフロー図である。
【図22】タッチパネルの設けられた第2のLCDにキャラクタを表示する場合のゲーム画像とプレイヤによる操作状態の一例を示す図解図である。
【符号の説明】
【0124】
10 …ゲーム装置
12,14 …LCD
22 …タッチパネル
24 …スティック
28 …メモリカード
32 …スピーカ
42 …CPUコア
48 …RAM
50,52 …GPU
54 …I/F回路
56,58 …VRAM
60 …LCDコントローラ
100 …プレイヤキャラクタ

【特許請求の範囲】
【請求項1】
プレイヤによって操作されるキャラクタを含むゲーム空間を表示する表示手段、
前記プレイヤによって操作され、少なくとも2点の指示位置を同時に検出可能なタッチパネル、
前記プレイヤが前記タッチパネルを操作することによって検出される2点の指示位置の座標値を検出する座標検出手段、
前記座標検出手段によって検出された前記2点の間の距離および前記2点を結ぶ線の角度の少なくとも一方を算出する位置関係算出手段、
前記位置関係算出手段によって算出された距離および角度の少なくとも一方に基づいて前記キャラクタの動作パラメータを設定する動作パラメータ設定手段、および
前記動作パラメータ設定手段によって設定された動作パラメータに基づいて前記キャラクタの動作を制御するキャラクタ制御手段を備える、タッチパネルを用いたゲーム装置。
【請求項2】
前記位置関係算出手段は、前記距離および前記角度の少なくとも一方の変化量を算出する変化量算出手段をさらに含み、
前記動作パラメータ設定手段は、前記距離の変化量および前記角度の変化量の少なくとも一方に基づいて前記動作パラメータを変化させ、
前記キャラクタ制御手段は、変化された前記動作パラメータに基づいて前記キャラクタの動作を制御する、請求項1記載のタッチパネルを用いたゲーム装置。
【請求項3】
前記変化量算出手段は、単位時間経過毎に前記変化量を算出する、請求項2記載のタッチパネルを用いたゲーム装置。
【請求項4】
前記変化量算出手段によって算出された変化量が第1所定値以下か否かを判別する第1変化量判別手段をさらに備え、
前記キャラクタ制御手段は、前記変化量が第1所定値以下でないと判別されたとき、変化された前記動作パラメータに基づいて前記キャラクタの動作を制御し、前記変化量が第1所定値以下であると判別されたとき、前記キャラクタに第1特殊アクションを行わせる、請求項2または3記載のタッチパネルを用いたゲーム装置。
【請求項5】
前記変化量算出手段によって算出された変化量が第2所定値以上か否かを判別する第2変化量判別手段をさらに備え、
前記キャラクタ制御手段は、前記変化量が第2所定値以上でないと判別されたとき、変化された前記動作パラメータに基づいて前記キャラクタの動作を制御し、前記変化量が第2所定値以上であると判別されたとき、前記キャラクタに第2特殊アクションを行わせる、請求項2ないし4のいずれかに記載のタッチパネルを用いたゲーム装置。
【請求項6】
前記動作パラメータ設定手段は、前記距離の変化量に基づいて前記動作パラメータとしての移動速度を変化させる、請求項2ないし5のいずれかに記載のタッチパネルを用いたゲーム装置。
【請求項7】
前記動作パラメータ設定手段は、前記角度の変化量に基づいて前記動作パラメータとしての旋回角度を変化させる、請求項2ないし5のいずれかに記載のタッチパネルを用いたゲーム装置。
【請求項8】
前記動作パラメータ設定手段は、前記距離に基づいて前記動作パラメータとしての移動速度を設定する、請求項1記載のタッチパネルを用いたゲーム装置。
【請求項9】
前記動作パラメータ設定手段は、前記角度の大きさおよび方向に基づいて前記動作パラメータとしての旋回角度の大きさおよび方向を設定する、請求項1または8記載のタッチパネルを用いたゲーム装置。
【請求項10】
前記位置関係算出手段は、前記2点の中心座標値をさらに算出し、
前記動作パラメータ設定手段は、前記中心座標値に基づいて前記動作パラメータとしての表示位置を設定する、請求項1、8または9のいずれかに記載のタッチパネルを用いたゲーム装置。
【請求項11】
プレイヤによって操作されるキャラクタを含むゲーム空間を表示する表示手段、および前記プレイヤによって操作され、少なくとも2点の指示位置を同時に検出可能なタッチパネルを備える、タッチパネルを用いたゲーム装置において、前記キャラクタを制御するゲームプログラムであって、
前記ゲーム装置のプロセサに、
前記プレイヤが前記タッチパネルを操作することによって検出される2点の指示位置の座標値を検出する座標検出ステップ、
前記座標検出ステップによって検出された前記2点の間の距離および前記2点を結ぶ線の角度の少なくとも一方を算出する位置関係算出ステップ、
前記位置関係算出ステップによって算出された距離および角度の少なくとも一方に基づいて前記キャラクタの動作パラメータを設定する動作パラメータ設定ステップ、および
前記動作パラメータ設定ステップによって設定された動作パラメータに基づいて前記キャラクタの動作を制御するキャラクタ制御ステップを実行させる、ゲームプログラム。
【請求項12】
前記位置関係算出ステップは、前記距離および前記角度の少なくとも一方の変化量を算出する変化量算出ステップをさらに含み、
前記動作パラメータ設定ステップは、前記距離の変化量および前記角度の変化量の少なくとも一方に基づいて前記動作パラメータを変化させ、
前記キャラクタ制御ステップは、変化された前記動作パラメータに基づいて前記キャラクタの動作を制御する、請求項11記載のゲームプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2006−34754(P2006−34754A)
【公開日】平成18年2月9日(2006.2.9)
【国際特許分類】
【出願番号】特願2004−221307(P2004−221307)
【出願日】平成16年7月29日(2004.7.29)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】