(57)【要約】【課題】  プレイヤに直感的な操作を行わせて操作性を高めつつ、プレイヤの意図しない操作を防ぐことができるゲームプログラムおよびゲーム装置を提供すること。【解決手段】  プレイヤが第１のオブジェクトをポインティングデバイスを用いて操作中であるとき、そのことを示す操作中フラグをオンにする。当該操作中フラグがオンのときに、当該ポインティングデバイスの入力位置と所定の距離内にある第２のオブジェクトについて選択状態とする。そして、操作中フラグがオフ、つまりプレイヤの操作が解除されたときに、上記選択された第２のオブジェクトに対して影響を及ぼす処理を第１のオブジェクトに行わせる。【選択図】  図２３
2006304863.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム画像を表示するための表示画面と当該表示画面に関連して設けられるポインティングデバイスとを備えるゲーム装置のコンピュータに、
前記ポインティングデバイスからの出力信号に基づいて、当該ポインティングデバイスを通じて入力される前記表示画面上の位置を示す座標値を逐次検出する座標検出ステップと、
前記ポインティングデバイスを用いてプレイヤが第１のオブジェクトを操作している状態であるか否かを前記ポインティングデバイスからの出力信号に基づいて判別する操作状態判別ステップと、
前記操作状態判別ステップにおいて、プレイヤが第１のオブジェクトを操作している状態であると判別されたときに、前記座標検出ステップで検出された座標値に基づいて当該第１のオブジェクトを移動させる移動制御ステップと、
前記操作状態判別ステップによって操作している状態が解除されたと判別されたときに、該時点におけるプレイヤのポインティングデバイスによる入力操作に関連する位置情報と第２のオブジェクトの位置情報とに基づいて双方の前記表示画面上における位置関係を判別する位置関係判別ステップと、
前記位置関係判別ステップにより所定の位置関係にあると判別されたときに、前記第１のオブジェクトと前記第２のオブジェクトとの何れか一方が他方に影響を及ぼす動作を行わせる影響動作処理ステップとを実行させる、ゲームプログラム。
【請求項２】
前記位置関係判別ステップは、前記操作状態判別ステップによって操作中状態が解除されたと判別されたときに、前記座標検出ステップによって直前に検出された前記座標値に対応する前記表示画面上の位置と該時点における第２のオブジェクトとの位置関係を判別することを特徴とする、請求項１に記載のゲームプログラム。
【請求項３】
前記位置関係判別ステップは、前記操作状態判別ステップによって操作中状態が解除されたと判別されたときに、該時点における前記第１のオブジェクトと第２のオブジェクトとの位置関係を判別することを特徴とする、請求項１に記載のゲームプログラム。
【請求項４】
前記位置関係判別ステップは、プレイヤのポインティングデバイスによる入力操作に関連する位置情報と前記第２のオブジェクトの位置情報に基づいて双方の距離が所定の距離内であるか否かを判別し、
前記影響動作処理ステップは、前記所定の距離内に複数の第２のオブジェクトが存在するときは、プレイヤのポインティングデバイスによる入力操作に関連する位置情報が示す前記表示画面上の位置に最も近い位置にいる第２のオブジェクトに対して前記影響を及ぼす動作を行わせることを特徴とする、請求項１に記載のゲームプログラム。
【請求項５】
前記影響動作処理ステップは、プレイヤが操作中であった前記第１のオブジェクトに前記影響を及ぼす動作を行わせることを特徴とする、請求項１記載のゲームプログラム。
【請求項６】
前記所定の位置関係とは、プレイヤのポインティングデバイスによる入力操作に関連する位置情報が示す前記表示画面上の位置と前記第２のオブジェクトとの距離が所定距離以下であることを特徴とする、請求項１記載のゲームプログラム。
【請求項７】
前記影響を及ぼす動作とは、前記第１あるいは第２のオブジェクトのパラメータ値を変化させることであることを特徴とする、請求項１記載のゲームプログラム。
【請求項８】
前記位置関係判別ステップが前記所定の位置関係にあると判別したときに、所定の位置関係にあることを示す表示を行うマーキングステップとを前記コンピュータに更に実行させる、請求項１記載のゲームプログラム。
【請求項９】
前記ポインティングデバイスは、前記表示画面上に設けられたタッチパネルであり、
前記移動制御ステップは、前記タッチパネルに対する接触が無い状態から最初に当該タッチパネルに対する接触が検出された時点における第１の入力座標値に続いて連続的に入力される一連の第２の入力座標値のうち、最新の第２の入力座標値を移動目標として、前記第１のオブジェクトを所定のアルゴリズムに従って移動させ、
前記影響動作処理ステップは、前記タッチパネルに対する接触が途絶えたときに、その直前に検出された第２の入力座標値に対応する位置に存在する第２のオブジェクトの種類に応じて異なる動作をするように前記第１のオブジェクトを動作させることを特徴とする、請求項１に記載のゲームプログラム。
【請求項１０】
ゲーム画像を表示するための表示画面と当該表示画面に関連して設けられるポインティングデバイスとを備えるゲーム装置のコンピュータに、
前記ポインティングデバイスからの出力信号に基づいて、当該ポインティングデバイスを通じて入力される前記表示画面上の位置を示す座標値を逐次検出する座標検出ステップと、
前記ポインティングデバイスを用いてプレイヤが第１のオブジェクトを操作している状態であるか否かを前記ポインティングデバイスからの出力信号に基づいて判別する操作状態判別ステップと、
前記座標検出ステップによって検出された座標値群に基づいて、プレイヤが操作中である前記第１のオブジェクトの最終的な移動方向を示すベクトルデータを算出するベクトルデータ算出手段と、
前記操作状態判別ステップによって操作している状態が解除されたと判別されたときにおいて、前記ベクトルデータの示す移動方向の先に第２のオブジェクトが存在するか否かを判別する移動先オブジェクト判別ステップと、
前記移動先オブジェクト判別ステップが、移動先に第２のオブジェクトが存在すると判別したときに、プレイヤが操作していた第１のオブジェクトと当該第２のオブジェクトとの何れか一方が他方に影響を及ぼす動作を行わせる影響動作処理ステップとを実行させる、ゲームプログラム。
【請求項１１】
前記移動先オブジェクト判別ステップは、前記操作状態判別ステップによって操作している状態が解除されたと判別されたときで、且つ、前記ベクトルデータに関するプレイヤの入力操作にかかった速度が所定の値以上のときにのみ、前記ベクトルデータの移動方向の先に第２のオブジェクトが存在するか否かを判別することを特徴とする、請求項１０記載のゲームプログラム。
【請求項１２】
請求項１から１１のいずれかに記載のゲームプログラムを記憶した記憶手段と、
前記記憶手段に記憶されたゲームプログラムを実行するプログラム実行手段とを備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、入力装置としてポインティングデバイスを用いたゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来より、プレイヤが操作するオブジェクトに、その他のオブジェクトへの攻撃等の所定の動作を行わせるゲームがある。当該所定の動作を行わせる方法として、以下のようなものがある。
【０００３】
例えば、ＡＲＰＧ（アクションロールプレイングゲーム）のようなゲームにおいて、プレイヤオブジェクトを敵オブジェクトの至近距離まで近づける。その状態で、プレイヤが攻撃ボタンを押すことにより、例えばプレイヤキャラクタが剣を振る動作を行って敵キャラクタを攻撃する。
【０００４】
また、複数の第１オブジェクトを従えたプレイヤオブジェクトを移動させ、コントローラのスティックを操作することでカーソルを目標物に合わせる。そして、カーソルが合った状態で更にボタンを押すことで、プレイヤオブジェクトが第１オブジェクトの１つを目標物に投げつける。すると、残りの第１オブジェクトが当該目標物に応じて自動的に攻撃等の所定の動作を開始する、という方法もある（例えば、非特許文献１）。
【０００５】
また、上記攻撃等の方法とは異なるが、例えばサッカーゲームにおいて、プレイヤキャラクタとボールとの距離が所定の条件に合致した場合、プレイヤキャラクタの視線をボールに向けるという視線制御方法も開示されている（例えば、特許文献１）。
【特許文献１】特開平１０−２９０８８６号公報
【非特許文献１】「ファミ通増刊ピクミンブック」、株式会社エンターブレイン、Ｐ３６〜３７、２００１年１１月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したようなゲームシステムでは、以下のような問題がある。
【０００７】
まず、プレイヤが敵オブジェクトを攻撃したい場合に、敵に近づいて攻撃ボタンを押すという一連の動作を要求することは、ゲーム内容によっては必ずしも適切でないときがある。
【０００８】
また、プレイヤキャラが従えているオブジェクトを投げることで、自動的に所定の動作を開始させるという方法においても、所定の動作そのものは自動的に行われるが、その前に、カーソルを目的物に合わせるという操作が必要となる。そのため、ゲームの内容によっては、カーソルを合わせるという操作が煩わしく、操作性を低下させてしまうことがある。
【０００９】
また、上記視線制御方法について、プレイヤとオブジェクトとの距離が所定の条件を満たしたときに、視線を向ける代わりに上記所定の動作を行わせるという方法も考えられる。しかし、この場合は、距離が所定条件に合致すると、直ちに攻撃等の動作が行われることになる。そのため、プレイヤの意図しない動作が行われてしまい、逆に操作性を低下させてしまう。
【００１０】
それ故に、本発明の目的は、プレイヤに直感的な操作を行わせて操作性を高めつつ、プレイヤの意図しない操作を防ぐことができるゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は以下のような構成を採用した。
【００１２】
第１の発明は、表示画面（実施例との対応関係を示せば、例えば第２のＬＣＤ１２）と、ポインティングデバイス（１５）とを有するゲーム装置のコンピュータで実行されるゲームプログラムである。ゲームプログラムは、座標検出ステップ（実施例との対応関係を示せば、例えばステップＳ２；以下単にステップ番号だけを示す）と、操作状態判別ステップ（Ｓ１２、Ｓ１３）と、移動制御ステップ（Ｓ１４）と、位置関係判別ステップ（Ｓ７）と、影響動作処理ステップ（Ｓ７４）とを有する。表示画面は、ゲーム画像を表示する。ポインティングデバイスは、表示画面に関連して設けられる入力デバイスである。座標検出ステップは、ポインティングデバイスからの出力信号に基づいて、当該ポインティングデバイスを通じて入力される表示画面上の位置を示す座標値を逐次検出する。操作状態判別ステップは、ポインティングデバイスを用いてプレイヤが第１のオブジェクトを操作している状態であるか否かを前記ポインティングデバイスからの出力信号に基づいて判別する。ここで、操作している状態とは、例えば、マウスで第１のオブジェクトをクリックし、そのままマウスのボタンを押しつづけたままマウスを移動させる（ドラッグ操作）ことや、タッチパネル上に表示されている第１のオブジェクトをスティックで押さえ、そのままスティックをタッチパネルから離さずに移動させることによって第１のオブジェクトを操作するような状態をいう。移動制御ステップは、操作状態判別ステップにおいて、プレイヤが第１のオブジェクトを操作している状態であると判別されたときに、座標検出ステップで検出された座標値に基づいて当該第１のオブジェクトを移動させる。位置関係判別ステップは、操作状態判別ステップによって操作している状態が解除されたと判別されたときに、該時点におけるプレイヤのポインティングデバイスによる入力操作に関連する位置情報と第２のオブジェクトの位置情報とに基づいて双方の表示画面上における位置関係を判別する。影響動作処理ステップは、位置関係判別ステップにより所定の位置関係にあると判別されたときに、第１のオブジェクトと第２のオブジェクトとの何れか一方が他方に影響を及ぼす動作を行わせる。
【００１３】
第２の発明は、第１の発明において、位置関係判別ステップでは、操作状態判別ステップによって操作中状態が解除されたと判別されたときに、座標検出ステップによって直前に検出された座標値に対応する表示画面上の位置と該時点における第２のオブジェクトとの位置関係を判別する。
【００１４】
第３の発明は、第１の発明において、位置関係判別ステップでは、操作状態判別ステップによって操作中状態が解除されたと判別されたときに、該時点における第１のオブジェクトと第２のオブジェクトとの位置関係を判別する。
【００１５】
第４の発明は、第１の発明において、位置関係判別ステップでは、プレイヤのポインティングデバイスによる入力操作に関連する位置情報と第２のオブジェクトの位置情報に基づいて双方の距離が所定の距離内であるか否かを判別する。また、影響動作処理ステップは、所定の距離内に複数の第２のオブジェクトが存在するときは、プレイヤのポインティングデバイスによる入力操作に関連する位置情報が示す表示画面上の位置に最も近い位置にいる第２のオブジェクトに対して影響を及ぼす動作を行わせる
【００１６】
第５の発明は、第１の発明において、影響動作処理ステップでは、プレイヤが操作中であった第１のオブジェクトに影響を及ぼす動作を行わせる。
【００１７】
第６の発明は、第１の発明において、所定の位置関係とは、プレイヤのポインティングデバイスによる入力操作に関連する位置情報が示す表示画面上の位置と第２のオブジェクトとの距離が所定距離以下であることである。
【００１８】
第７の発明は、第１の発明において、影響を及ぼす動作とは、第１あるいは第２のオブジェクトのパラメータ値を変化させることである。
【００１９】
第８の発明は、第１の発明において、位置関係判別ステップが所定の位置関係にあると判別したときに、所定の位置関係にあることを示す表示を行うマーキングステップ（Ｓ６７）を更にコンピュータに実行させる。
【００２０】
第９の発明は、第１の発明において、ポインティングデバイスとは、表示画面上に設けられたタッチパネルである。また、移動制御ステップでは、タッチパネルに対する接触が無い状態から最初に当該タッチパネルに対する接触が検出された時点における第１の入力座標値に続いて連続的に入力される一連の第２の入力座標値のうち、最新の第２の入力座標値を移動目標として、第１のオブジェクトを所定のアルゴリズムに従って移動させる。また、影響動作処理ステップは、タッチパネルに対する接触が途絶えたときに、その直前に検出された第２の入力座標値に対応する位置に存在する第２のオブジェクトの種類に応じて異なる動作をするように第１のオブジェクトを動作させる。
【００２１】
第１０の発明は、表示画面（１２）と、ポインティングデバイス（１５）とを有するゲーム装置のコンピュータで実行されるゲームプログラムである。ゲームプログラムは、座標検出ステップ（Ｓ２）と、操作状態判別ステップ（Ｓ１２、Ｓ１３）と、ベクトルデータ算出ステップ（Ｓ９３、Ｓ９４）と、移動先オブジェクト判別ステップ（Ｓ１０１）と、影響動作処理ステップ（Ｓ７４）とを有する。表示画面は、ゲーム画像を表示する。ポインティングデバイスは、表示画面に関連して設けられる入力デバイスである。座標検出ステップは、ポインティングデバイスからの出力信号に基づいて、当該ポインティングデバイスを通じて入力される表示画面上の位置を示す座標値を逐次検出する。操作状態判別ステップは、ポインティングデバイスを用いてプレイヤが第１のオブジェクトを操作している状態であるか否かを前記ポインティングデバイスからの出力信号に基づいて判別する。ベクトルデータ算出ステップは、座標検出ステップによって検出された座標値群に基づいて、プレイヤが操作中である第１のオブジェクトの最終的な移動方向を示すベクトルデータを算出する。移動先オブジェクト判別ステップは、操作状態判別ステップによって操作している状態が解除されたと判別されたときにおいて、ベクトルデータの示す移動方向の先に第２のオブジェクトが存在するか否かを判別する。影響動作処理ステップは、移動先オブジェクト判別ステップが、移動先に第２のオブジェクトが存在すると判別したときに、プレイヤが操作していた第１のオブジェクトと当該第２のオブジェクトとの何れか一方が他方に影響を及ぼす動作を行わせる。
【００２２】
第１１の発明は、第１０の発明において、移動先オブジェクト判別ステップでは、操作状態判別ステップによって操作している状態が解除されたと判別されたときで、且つ、ベクトルデータに関するプレイヤの入力操作にかかった速度が所定の値以上のときにのみ、ベクトルデータの移動方向の先に第２のオブジェクトが存在するか否かを判別する。
【００２３】
なお、以上の発明は、上記ゲームプログラムが実行されるコンピュータを備えるゲーム装置の形態によって提供されてもよい。
【発明の効果】
【００２４】
上記第１の発明によれば、ポインティングデバイス等による第１のオブジェクト（プレイヤキャラクタ）の操作中において、敵キャラクタ等を指定するための別個の操作を行わずとも、攻撃等を行いたい対象を指定することができる。そして、ポインティングデバイス等から指を離す、タッチパネルから指を離すなどの第１のオブジェクトを操作中の状態を解除するための自然な操作が行われたタイミングで、指定した対象との間でプレイヤが操作中であった第１のオブジェクトとそれ以外の第２のオブジェクトとの間で何れか一方が他方に影響を及ぼす処理を開始させることができる。また、操作中状態の解除はプレイヤの意思に基づいて行われるため、上記影響を及ぼす処理を開始するタイミングをプレイヤの意思に基づいて決定することもできる。そのため、例えば攻撃ボタンやコマンド決定ボタンなどの、第１のオブジェクトに上記影響を及ぼす処理を開始させるための別個の操作を行う必要がなくなり、プレイヤの操作性を向上させることができる。その結果、直感的な操作感覚のゲームを提供することができる。
【００２５】
上記第２乃至第３の発明によれば、上記第１の発明と同様の効果が得られる。
【００２６】
上記第４の発明によれば、プレイヤがポインティングデバイス等による第１のオブジェクト（プレイヤキャラクタ）の操作中の状態を解除したときにおける最後の入力位置や第１のオブジェクトの位置等の、プレイヤのポインティングデバイスによる入力操作に関連する位置情報で示される画面上の位置の近傍に複数の第２のオブジェクトが存在していても、当該画面上の位置に最も近い位置にいる第２のオブジェクトのみを影響を及ぼす処理の対象とする。そのため、当該画面上の位置のすぐ傍にいる第２のオブジェクトについては何も行わないのに、より遠くにいる第２のオブジェクトに対して行動を起こそうとするなどの、プレイヤに違和感を与えるような不自然な動作を防止することができる。
【００２７】
上記第５の発明によれば、プレイヤが操作している第１のオブジェクトが第２のオブジェクトに対して影響を及ぼす処理を行う。そのため、プレイヤがゲーム内のオブジェクトに対して何かの影響を与えるという、いわばゲームの世界へ能動的に介入する感覚を与え、ゲームの面白さが増す。
【００２８】
上記第６の発明によれば、プレイヤのポインティングデバイスによる入力操作に関連する位置情報で示される画面上の位置と第２のオブジェクトとが所定の距離まで近づかないと、影響を及ぼす処理が行われない。そのため、むやみに第２オブジェクトに対して影響を及ぼす処理が行われることが防止できる。すなわち、影響を及ぼす処理対称の決定につき、プレイヤの意思を介入させることができる。また、ある程度近づく、という操作をプレイヤに行わせるため、直感的な操作による上記処理対象の決定が可能となる。
【００２９】
上記第７発明によれば、影響を及ぼす処理としてオブジェクトのパラメータ値を変化させる処理を行う。従って、上記影響を及ぼす処理対象のオブジェクトにつき、パラメータ値の変化に応じて様々な動作を行わせることができる。その結果、同じ入力操作を行った場合でもゲームの展開を異なるものとすることができ、より多彩なゲームの遊び方を提供することができる。
【００３０】
上記第８の発明によれば、影響を及ぼす処理の対象となる第２のオブジェクトがどれであるかをプレイヤは視覚的に知ることができる。その結果、プレイヤは所望の対象が指定できたか否かを容易に確認することができる。
【００３１】
上記第９の発明によれば、ポインティングデバイスは、表示画面上に設けられたタッチパネルであるため、より直感的な操作感覚をプレイヤに提供することができる。また、タッチパネルから指を離した場所に存在する第２のオブジェクトに応じて第１のオブジェクトに所定の動作を行わせる。そのため、より直感的な操作をプレイヤに提供することができる。
【００３２】
上記第１０の発明によれば、第１のオブジェクトと第２のオブジェクトとの間の距離が離れていても、第１のオブジェクトを操作中の状態を解除するための自然な操作が行われたタイミングで、第１のオブジェクトと所定の第２のオブジェクトとの間で何れか一方が他方に影響を及ぼす処理を開始することができる。その結果、プレイヤの操作性の向上を図ることができる。
【００３３】
上記第１１の発明によれば、上記第１のオブジェクトの操作に係る入力速度が一定の速度のときのみ、上記第７の発明に記載の処理を行う。これにより、プレイヤの意図しない上記影響を及ぼす処理が開始されることを防ぐことができる。
【００３４】
上記第１２の発明によれば、上述した本発明のゲームプログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００３５】
（第１の実施形態）
以下、本発明の第１の実施形態に係るゲーム装置の構成および動作を説明する。
【００３６】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００３７】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００３８】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００３９】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００４０】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００４１】
次に、図２を参照してゲーム装置１０の内部構成を説明する。図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、ＬＣＤコントローラ３１、およびワイヤレス通信部３３が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００４２】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００４３】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００４４】
ワイヤレス通信部３３は、他のゲーム装置のワイヤレス通信部３３との間で、ゲーム処理に利用されるデータやその他のデータをやりとりする機能を有しており、一例としてＩＥＥＥ８０２．１１の無線ＬＡＮ規格に則った無線通信機能を提供する。そして、ワイヤレス通信部３３は、受信したデータをＣＰＵコア２１に出力する。また、ワイヤレス通信部３３は、ＣＰＵコア２１から指示されたデータを他のゲーム装置へ送信する。なお、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のプロトコルや所定のブラウザをワイヤレス通信部３３やゲーム装置１０内の記憶部に実装することによって、ゲーム装置１０は、ワイヤレス通信部３３を介してインターネット等のネットワークとの接続が可能となる。そして、ゲーム装置１０は、ネットワーク上で公開されている文書や画像等のデータを第１のＬＣＤ１１および第２のＬＣＤ１２で閲覧することができる。
【００４５】
なお、上記のようなゲーム装置１０の構成は単なる一例に過ぎず、本発明は、ポインティングデバイス（タッチパネル、マウス、タッチパッド等）と少なくとも１つの表示装置を有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【００４６】
次に、図３〜図１８を用いて、本実施形態で想定するゲームの概要について説明する。図３は、本実施形態で想定するゲームの画面の一例である。本ゲームでは、画面上に散らばっているプレイヤキャラクタ４１のうち、任意のプレイヤキャラクタ４１を操作対象として指定する操作を行う。この指定操作には２パターンあり、単一のプレイヤキャラクタ４１を指定する場合と、複数のプレイヤキャラクタ４１を指定する場合とがある。単一のプレイヤキャラクタを指定する場合は、図４に示すように、指定したいプレイヤキャラクタ４１を直接スティック１６（または指）で指示する操作を行う。一方、複数のプレイヤキャラクタを指定するときは、指定したいプレイヤキャラクタ群をスティック１６で囲む操作を行う。具体的には、図５に示すように、プレイヤは、タッチパネル１５上において、スティック１６を移動させる操作を行う。このとき、プレイヤは、スティック１６を移動させた軌跡が任意のプレイヤキャラクタ４１を囲むような操作を行う。この軌跡は、タッチパネル１５上においてプレイヤによる入力が行われた位置を示すものであり、以下、この軌跡を入力軌跡と呼ぶ。そして、任意のプレイヤキャラクタ群を囲むと、囲まれたプレイヤキャラクタ群は、好ましくは一箇所に寄り集まり、隊列を構成する。このとき、図６に示すように、当該プレイヤキャラクタ群は、赤い円６１（以下、指示待ち円と呼ぶ）で囲まれた状態で表示される。以下、この状態にあるプレイヤキャラクタ４１を、フォーカスキャラと呼ぶ。また、これは単一のプレイヤキャラクタ４１を指定した場合も同様である。すなわち、単一のプレイヤキャラクタ４１を指定した場合は、図７に示すように、プレイヤキャラクタ４１が１匹だけの隊列が構成されることになる。そして、この隊列にプレイヤがタッチすると、プレイヤがタッチパネル１５からスティック１６を離すまでの間、上記指示待ち円６１が黄色の円７１（以下、操作円と呼ぶ）に変わる。これは、当該隊列を移動操作中であることを示すものである。同時に、プレイヤがタッチパネル１５に触れていることを示すものでもある。以下、当該操作円７１が表示された状態を操作中状態と呼ぶ。そして、この操作中状態においてタッチパネル１５に触れたままスティック１６を移動させると、スティック１６の接触位置（より正確には、スティック１６の接触位置に対応するゲーム世界中の地点）を移動目標として、当該移動目標に向かって各フォーカスキャラが各々の速度で移動を開始する。このようにしてプレイヤは、図８および図９に示すように、当該隊列を引っ張るようにして移動させることができる。そして、当該隊列を画面上のいろんな場所に移動させて、隊列を組んでいるフォーカスキャラ群に様々な行動（以下「仕事」と呼ぶ）を行わせる。この「仕事」の内容としては、例えば、敵キャラクタ４３を攻撃することや、落ちている食料４２を基地（図示せず）に運ぶことや、隊列に入っていないプレイヤキャラクタ４１を隊列に加えること等がある。本ゲームは、上記のような操作を繰り返して、プレイヤキャラクタ４１をゲーム内の世界で生活させ、育成等するゲームである。
【００４７】
また、本実施形態では、上記「仕事」を行わせるに際して、画面上の様々なオブジェクトのうち、どのオブジェクトに対して「仕事」を行うか、すなわち、仕事を行う対象（以下、仕事対象と呼ぶ）を指定する必要がある。この仕事対象の指定の方法として、本実施形態では、明示的な指定操作を行わずに指定する方法と、直接仕事対象を指定する操作を行うという方法とがある。まず、明示的な指定操作を行わずに指定する場合について、図１０〜図１５を用いて説明する。まず、隊列の移動を行っているとき、スティック１６の接触位置がゲーム世界に存在する所定のオブジェクトに接近すると、図１０に示すように、当該オブジェクト（食料４２）が緑色の円８１（以下、照準円と呼ぶ）で囲まれて表示（マーキング）される。この照準円８１は、当該オブジェクトが仕事対象として指定（ロックオン）されていることを示すものである。以下、この照準円８１で囲まれているオブジェクトの状態をロックオン状態と呼ぶ。そして、ロックオン状態にあるときに、スティック１６をタッチパネルから離す（以下、タッチオフ操作と呼ぶ）と、隊列（を構成するフォーカスキャラ群）が当該ロックオン状態のオブジェクトに対して所定の行動を起こす。図１１は、ロックオンした食料４２をプレイヤキャラクタの基地（図１１の例では画面外に存在）に持ち帰ろうとする様子を示した図である。また、図１２は、敵キャラクタ４３をロックオンしたときの様子を示す図である。この場合は、タッチオフ操作が行われると、図１３に示すように、隊列を組んでいたフォーカスキャラが当該敵キャラクタ４３に対して攻撃をしかける。また、図１４および図１５は、一匹のみで隊列を構成している場合におけるロックオンおよび攻撃の様子を示す図である。
【００４８】
次に、仕事対象を直接指定する場合について、図１６〜図１８を用いて説明する。図１６は、上述したような移動中の状態を示す図である。この状態から、タッチパネルに触れたままスティック１６で所定のオブジェクトを囲む操作を行うと、そのオブジェクトに対して所定の「仕事」が開始されるものである。図１７は、タッチパネルに触れたままスティック１６で敵キャラクタ４３を囲む操作を示す図である。この場合は、図１８に示すように、タッチオフ操作を行わなくても、敵キャラクタ４３に対して攻撃が開始されることになる。
【００４９】
このように、本実施形態では、仕事対象の指定について、タッチオフ操作を契機に「仕事」を開始させるパターンと、隊列移動中に直接仕事対象を囲むことで指定して「仕事」を開始させるパターンとの２つのパターンを併用している。
【００５０】
また、ゲーム画像には、入力軌跡を示す入力軌跡表示５１が表示される（図５に示す太線）。入力軌跡は、タッチパネル１５に対して入力が行われた位置に対応する表示画面上の位置に表示される。つまり、タッチパネル１５上においてプレイヤが指を実際に移動させた位置に入力軌跡表示５１が表示される。図５においては、入力軌跡が円に近い形状であることが分かる。入力軌跡表示５１によって、プレイヤは自身の入力操作による入力軌跡を明確且つ直感的に知ることができる。従って、プレイヤは、プレイヤキャラクタ４１等をうまく囲めているか否かを即座に知ることができる。
【００５１】
次に、ゲーム処理の際にＲＡＭ２４に記憶されるデータについて説明する。図１９は、図２に示したＲＡＭ２４のメモリマップを示す図解図である。図１９において、ＲＡＭ２４は、ゲームプログラム記憶領域２４０およびデータ記憶領域２５０を含む。ゲームプログラム記憶領域２４０は、ＣＰＵコア２１によって実行されるゲームプログラムを記憶し、このゲームプログラムは、ゲームメイン処理プログラム２４１と、ゲーム画像生成プログラム２４２と、ゲーム画像表示プログラム２４３と、タッチ入力検出プログラム２４４などによって構成される。
【００５２】
ゲームメイン処理プログラム２４１は、上述したようなゲームのメインルーチンを処理するためのプログラムである。ゲーム画像生成プログラム２４２は、後述する画像データ２５１を用いて、プレイヤキャラクタ４１、敵キャラクタ４３、敵キャラクタ以外のノンプレイヤキャラおよび背景オブジェクトなどのゲーム画像を生成するためのプログラムである。ゲーム画像表示プログラム２４３は、ゲーム画像生成プログラム２４２によって生成されたゲーム画像をＬＣＤ１１およびＬＣＤ１２に表示するためのプログラムである。
【００５３】
タッチ入力検出プログラム２４４は、プレイヤによるタッチ入力があるか否かを一定時間（本実施形態では、１フレーム）毎に検出して、後述のタッチ入力フラグ２５４の成立（オン）／不成立（オフ）を制御する。更に、タッチ入力があるときは、当該タッチ入力による検出座標に対応する座標データを入力座標リスト２５２（図２０参照）に時系列に従って記憶（一時記憶）するためのプログラムである。ここで、タッチ入力があるか否かは、タッチ入力による検出座標に対応する座標データがタッチパネル１５から入力されるか否かで判断される。
【００５４】
なお、図示は省略するが、ゲームプログラム記憶領域２４０には、音再生プログラムやバックアッププログラムなども記憶される。音再生プログラムは、音データを用いて、ゲームに必要な音を再生するためのプログラムである。また、バックアッププログラムは、ゲームの進行に従って発生するデータ（ゲームの途中データや結果データ）をプレイヤの指示や所定のタイミング（イベント）に従ってメモリカード１７のＲＡＭ２４に記憶（セーブ）するためのプログラムである。
【００５５】
データ記憶領域２５０には、画像データ２５１、入力座標リスト２５２、仕事内容決定テーブル２５３などのデータが記憶されるとともに、タッチ入力フラグ２５４、フォーカスフラグ２５５、操作中フラグ２５６、ロックフラグ２５７などのフラグも記憶される。
【００５６】
画像データ２５１は、ゲーム画像（プレイヤキャラクタ、ノンプレイヤキャラクタ（敵キャラクタを含む）、背景オブジェクト、所定のキャラクタ）を生成するためのデータ（ポリゴンデータやテクスチャデータなど）である。
【００５７】
入力座標リスト２５２は、入力順番と上記座標データとの組の集合である。本実施形態では、プレイヤによって入力された座標データは、所定の単位時間間隔で検出される。座標データは、プレイヤの入力が連続している間（プレイヤの指等がタッチパネルから離れていない間）、図２０に示すように、１つのリストとしてＲＡＭ２４に記憶される。
【００５８】
仕事内容決定テーブル２５３は、ロックオンしたオブジェクトの種類に基づいて実際に行う仕事の内容を決定するためのテーブルである。図２１に示すように、仕事内容決定テーブル２５３は、オブジェクトの種類と仕事の処理内容との組の集合から成る。
【００５９】
タッチ入力フラグ２５４は、タッチ入力のオン／オフの状態を示すフラグであり、タッチ入力検出プログラム２４４に従ってオン／オフが切替えられる。本実施形態では、タッチ入力フラグ２５４は、１ビットのレジスタで構成され、タッチ入力がオンのときは、レジスタのデータ値が「１」に設定され、タッチ入力がオフのときは、レジスタのデータ値が「０」に設定される。
【００６０】
フォーカスフラグ２５５は、画面上に表示される複数のプレイヤキャラクタ４１のうち、フォーカスキャラ、すなわち、プレイヤの操作に従って行動するキャラクタを示すフラグである。そのため、当該フラグは、各プレイヤキャラクタ毎に設定されている。プレイヤに指定された状態のときはオンになり、指定されていないときはオフになる。また、当該フラグがオンのキャラクタ群が隊列を構成することになる。すなわち、フォーカスフラグがオンのキャラクタは、隊列を構成して、指示待ち円６１で囲まれることになる。
【００６１】
操作中フラグ２５６は、上記フォーカスキャラに対して何らかの操作を行っている状態か否かを示すフラグである。当該フラグがオンのときは、指示待ち円６１の代わりに操作円７１が表示されることになる。当該フラグがオフのときは、プレイヤはフォーカスキャラの操作を行っていないことを示す。
【００６２】
ロックフラグ２５７は、上記フォーカスキャラと所定の位置にいるオブジェクトが仕事対象として指定（ロックオン）されていることを示すフラグである。そのため、当該フラグは、各オブジェクト毎に設定されている。当該フラグは、ロックオンされているときはオンになり、ロックオンされていないときはオフになる。
【００６３】
なお、図２２は、上記各フラグの内容をまとめた表である。また、図示は省略するが、データ記憶領域２５０には、ゲームに必要な音を出力するための音データや、ゲームの進行に伴って発生するデータ（ゲームの途中データ、結果データ）やフラグ（イベントフラグ）なども記憶される。
【００６４】
次に、ゲーム装置１０において実行されるゲーム処理の流れを図２３〜図２７を用いて説明する。図２３は、ゲーム装置１０において実行されるゲーム処理の流れを示すフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０のＣＰＵコア２１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、ＲＡＭ２４等の各ユニットが初期化される。そして、メモリカード１７に格納されたゲームプログラムがＲＡＭ２４に読み込まれ、当該ゲームプログラムの実行が開始される。その結果、第１ＧＰＵ２６を介して第１ＬＣＤ１１にゲーム画像が表示されることによって、ゲームが開始される（ステップＳ１）。なお、図２３に示すゲーム処理のスキャンタイムは１フレームであるとする。また、フレームレートは３０ｆｐｓであるとする。
【００６５】
次に、ステップＳ２において、タッチ入力を検出する。すなわち、タッチパネル１５から入力される座標データを検出する。その結果、タッチ入力が無ければ（ステップＳ２でＮＯ）、後述のタッチオフ処理（ステップＳ１８）を行う。一方、タッチ入力を検出すれば（ステップＳ２でＹＥＳ）、更に、タッチ入力位置（以下、入力座標位置と呼ぶ）を入力座標リスト２５２に格納する。つまり、タッチパネル１５から入力された座標データを時系列に従って入力座標リスト２５２に一時記憶する。そして、続くステップＳ３において、タッチ入力フラグがＯＮか否か、つまり、タッチパネルを押しつづけている状態（以下、継続入力）か、押し初めの状態（以下、新規入力）かを判定する。
【００６６】
ステップＳ３の判定の結果、新規入力であれば（ステップＳ３でＮＯ）、続くステップＳ４において、画面に表示されているプレイヤキャラクタ４１の何れかが指定されたか否かを判定する。なお、ここでは説明を分かりやすくするため、単一のプレイヤキャラクタを指定する場合を想定して、以下説明を続ける。ステップＳ４においては、入力座標位置が何れかのプレイヤキャラクタ４１の当たり判定領域内であるか否かで、当該指定がされたか否かを判定する。なお、当該当たり判定領域については、上記初期化処理において設定されているものとする。
【００６７】
ステップＳ４の判定の結果、何れのプレイヤキャラクタ４１も指定されてないときは（ステップＳ４でＮＯ）、ステップＳ１０の画面スクロール処理が行われる。ステップＳ１０においては、当該入力座標位置が画面の中心に位置するように、画面をスクロールする処理が行われる。
【００６８】
一方、ステップＳ４の判定の結果、何れかのプレイヤキャラクタ４１が指定されたとき（ステップＳ４でＹＥＳ）、続くステップＳ５において当該プレイヤキャラクタ４１をフォーカスキャラにするためのフォーカス処理が行われる。図２４は、上記ステップＳ５で示したフォーカス処理の詳細を示すフローチャートである。ここでは、フォーカスフラグ２５５をオンにすることで、当該プレイヤキャラクタ４１をフォーカスキャラとする処理が行われる。
【００６９】
図２４において、まず、上記指定されたプレイヤキャラのフォーカスフラグ２５５がＯＮか否かを判定する（ステップＳ４１）。その結果、フォーカスフラグがオフであれば（ステップＳ４１でＮＯ）、ステップＳ４２において、全てのプレイヤキャラクタ４１のフォーカスフラグをＯＦＦにする。これはすなわち、既にフォーカスフラグ２５５がオンのキャラがいるときを想定して、一旦全プレイヤキャラクタ４１のフォーカスフラグ２５５をオフ、すなわち、指定状態を解除するものである。次に、ステップＳ４３において、上記指定されたプレイヤキャラクタ４１のフォーカスフラグ２５５をオンにする。これにより、以前、他のプレイヤキャラクタ４１が指定状態になっていても、今回指定したプレイヤキャラクタ４１にフォーカスが移り、指定状態とすることができる。一方、上記ステップＳ４１の判定の結果、既にフォーカスフラグ２５５がオンであれば（ステップＳ４１でＹＥＳ）、そのまま当該フォーカス処理を終了する。
【００７０】
図２３に戻り、次に、ステップＳ６において、上記フォーカスキャラを操作中であることを示す操作円７１を表示する処理を行う。図２５は、上記ステップＳ６で示した操作円表示処理の詳細を示すフローチャートである。図２５において、まず、操作中フラグ２５６をＯＮにする（ステップＳ５１）。次に、上記フォーカスキャラを中心とする操作円７１を生成する（ステップＳ５２）。以上で、操作円表示処理は終了する。
【００７１】
図２３に戻り、ステップＳ６の処理の次に、ロックオン処理が行われる（ステップＳ７）。本処理は、図１４に示すように、スティック１６の接触位置と所定距離にあるオブジェクトを仕事対象として指定（ロックオン）する処理である。図２６は、上記ステップＳ７で示したロックオン処理の詳細を示すフローチャートである。図２６において、まず、操作中フラグ２５６がオンか否かを判断する（ステップＳ６１）。その結果、操作中フラグ２５６がオフであれば（ステップＳ６１でＮＯ）、プレイヤはタッチパネル１５に触れていない、すなわち何の指示も出していないことになるため、そのままロックオン処理を終了する。換言すれば、あるオブジェクトがフォーカスキャラと所定距離にあっても、プレイヤが操作中でなければ、ロックオンはされないことになる。
【００７２】
一方、操作中フラグ２５６がオンであれば（ステップＳ６１でＹＥＳ）、続くステップＳ６２で、画面上に表示されている各オブジェクト（敵・ＮＰＣも含む）と、スティック１６の接触位置との距離を計算する。当該距離の計算については、入力座標リスト２５２（図２０参照）のｎ番目の座標データ（以下、最終入力座標と称す）と各オブジェクトの座標とに基づいて算出すること等が考えられる。次に、最終入力座標から所定距離以下の位置にいるオブジェクトが存在するか否かを判定する（ステップＳ６３）。その結果、所定距離以下の位置にいるオブジェクトが存在しなければ（ステップＳ６３でＮＯ）、ステップＳ６８においてロックフラグ２５７がオンであるオブジェクトのロックフラグ２５７をオフにする（つまり、ロックオン解除）。併せて、後述する照準円８１が表示されているときは、当該照準円８１も消去する。そして、ロックオン処理を終了する。
【００７３】
一方、ステップＳ６３の判定の結果、所定距離内にオブジェクトが存在すれば（ステップＳ６３でＹＥＳ）、続くステップＳ６４において、当該オブジェクトの数が２以上か否かを判定する。その結果、オブジェクトの数が２以上であれば（ステップＳ６４でＹＥＳ）、当該オブジェクトのうち、最終入力座標に最も近い距離にいるオブジェクトのロックフラグ２５７をオンにする（ステップＳ６５）。一方、２未満、すなわち当該オブジェクトの数が１であれば（ステップＳ６４でＮＯ）、当該オブジェクトのロックフラグ２５７をオン（すなわち、ロックオン）にする（ステップＳ６６）。つまり、ロックオンされるオブジェクトは１つまでとなる。これにより、例えば、スティック１６を移動させず、最終入力座標の近くにいる２体の敵キャラクタが移動することで、最終入力座標との距離関係に変化が生じたときでも、最も近い距離の敵キャラクタをロックオンすることが可能となる。つまり、一方の敵キャラクタが最も近い距離にいる状態で、当該敵キャラクタをロックオンした後、他方の敵キャラクタが近づいてくることにより、当該他方の敵キャラクタとの距離のほうが近くなったときに、当該他方の敵キャラクタにロックオンしなおすことになる。
【００７４】
次に、当該ロックオンしたオブジェクトを中心とする照準円８１を生成する（ステップＳ６７）。これにより、図１４に示すように、ロックオン状態のオブジェクトが照準円８１で囲まれて表示することができる。これによって、プレイヤは、どのオブジェクトをロックオンしたのかを視覚的に認識することができる。以上で、ロックオン処理が終了する。
【００７５】
図２３に戻り、次に、上記ステップＳ３で、継続操作と判定されたときの処理について説明する。この場合は、まず、最終入力座標と、その直前に検出された入力座標とを比較して、スティック１６を動かしたか否かを判定する。これは、入力座標リスト２５２のｎ番目の座標データとｎ−１番目の座標データとが異なる座標であるか否かで判定する（ステップＳ１１）。その結果、入力座標に変化が無ければ（ステップＳ１１でＮＯ）、操作中フラグ２５６のオン、オフを判定する（ステップＳ１２）。その結果、操作中フラグ２５６がオンでなければ（ステップＳ１２でＮＯ）、当該入力座標位置が画面の中心にくるように画面のスクロール処理が行われる（ステップＳ１０）。一方、操作中フラグ２５６がオンであれば（ステップＳ１２でＹＥＳ）、上述のステップＳ６に進む。
【００７６】
一方、ステップＳ１１の判定の結果、入力座標に変化があったときは（ステップＳ１１でＹＥＳ）、操作中フラグ２５６のオン、オフを判定する（ステップＳ１３）。その結果、操作中であれば（ステップＳ１３でＹＥＳ）、フォーカスキャラの移動処理が行われる（ステップＳ１４）。この処理は、図９に示すように、フォーカスキャラを最終入力座標へ向けて移動させる処理である。その後、移動中において、何らかのオブジェクトを囲む操作による直接指定があったか否かを判定して所定の処理（隊列を構成する処理等）を行う囲み判定処理（ステップＳ１５）が行われる。その後、上述したステップＳ７のロックオン処理へ進む。
【００７７】
一方、ステップＳ１３の判定の結果、操作中でなければ（ステップＳ１３でＮＯ）、入力座標を中心とするような画面スクロール処理（ステップＳ１６）が行われる。その後、何らかのオブジェクトを囲む操作による直接指定したか否かを判定して所定の処理を行う囲み判定処理が行われる（ステップＳ１７）。その後、上述したステップＳ７のロックオン処理へ進む。なお、ステップＳ１５、Ｓ１７における囲み判定処理の内容は、本発明と直接関係しないので、詳細な説明を省略する。
【００７８】
図２３に戻り、ステップＳ７におけるロックオン処理が終われば、次に、ステップＳ８において画面描画処理が行われる。これにより、各オブジェクト等が移動後の位置で表示され、また、上記操作円７１や照準円８１等が表示されることになる。その後、ステップＳ９において、ゲーム終了か否かが判定される。ゲーム終了条件が満たされていないときは（ステップＳ９でＹＥＳ）、ゲーム終了と判定されるまで、上記ステップＳ２〜Ｓ１７、および次に述べるステップＳ１８の処理が繰り返される。一方、ゲーム終了条件が満たされているときは（ステップＳ９でＮＯ）、当該ゲーム処理は終了する。
【００７９】
次に、上記ステップＳ２において、タッチ入力がなかったとき（ステップＳ２でＮＯ）の処理（ステップＳ１８）について説明する。本処理は、タッチパネル１５からスティック１６を離したとき、すなわちタッチオフしたときに行われる処理である。図２７は、上記ステップＳ１８で示したタッチオフ処理の詳細を示すフローチャートである。図２７において、まず、タッチ入力フラグ２５４がオンか否かが判定される（ステップＳ７１）。その結果、タッチ入力フラグ２５４がオフであれば（ステップＳ７１でＮＯ）、タッチオフ処理は終了する。これはすなわち、タッチパネル１５にはずっと触れられていない状況が該当する。
【００８０】
一方、タッチ入力フラグ２５４がオンであれば（ステップＳ７１でＹＥＳ）、操作中フラグがオンか否か判定する（ステップＳ７２）。これは、今までタッチパネル１５に触れていた状態からタッチオフした直後の状態に該当する。その結果、操作中フラグがオン、すなわちフォーカスキャラを移動中であれば（ステップＳ７２でＹＥＳ）、ロックフラグ２５７がオンのオブジェクトが存在するか否か、つまり、既にロックオンしたオブジェクトがいる否かを判定する（ステップＳ７３）。その結果、既にロックオンしたオブジェクトが存在していれば（ステップＳ７３でＹＥＳ）、仕事内容決定テーブル２５３を参照し、当該ロックオンしたオブジェクトの種類に応じた仕事処理が開始される（ステップＳ７４）。ここで、仕事処理とは、当該ロックオンしたオブジェクトとフォーカスキャラとの間において、何れか一方が他方に何らかの影響を及ぼす処理のことをいう。換言すれば、ロックオンしたオブジェクトの方向にフォーカスキャラが向きを変えるだけ等の、ロックオンしたオブジェクトに何ら変化が生じないような処理は、当該仕事処理には含まれない。具体的な仕事処理の内容としては、例えば、図１４に示すように、ロックオンしたキャラが敵キャラクタ４３であれば、フォーカスキャラが当該敵キャラクタ４３への攻撃を行う処理が該当する。これはすなわち、フォーカスキャラが敵キャラクタ４３のパラメータ値（体力値など）を減少させるという影響を及ぼすことである。また、敵キャラクタ４３がフォーカスキャラに攻撃を行う処理も該当する。つまり、敵キャラクタ４３がフォーカスキャラのパラメータ値を減少させるという影響を及ぼすことに該当する。その他、例えば、ロックオンしたオブジェクトが食料４２であれば、フォーカスキャラが当該食料４２を基地に運ぶ処理、すなわち、フォーカスキャラが食料４２を移動する処理（食料４２の存在する座標値が変化する）が仕事処理に該当する。また、フォーカスキャラ以外のプレイヤキャラクタ４１であれば、当該プレイヤキャラクタのフォーカスフラグ２５５をオンにし、隊列に加える処理が仕事処理に該当する。
【００８１】
仕事処理が開始されれば、続くステップＳ７５において、操作中フラグ２５６をオフにする。更に、ステップＳ７６において、全キャラのフォーカスフラグ２５５をオフにする。これは、仕事処理が開始されれば、隊列を構成していたフォーカスキャラは、プレイヤの指揮下から開放されることを意味する。その結果、例えば敵キャラクタ４３を倒した後、特に指示を行わなくても、隊列を構成していたプレイヤキャラクタ４１が敵キャラクタ４３の死骸を基地に運ぶという処理が実現できる。次に、ステップＳ７７において、タッチ入力フラグ２５４をオフにする。すなわち、タッチパネル１５からスティック１６が離れたことを示すものである。そして、続くステップＳ７８において、入力座標リスト２５２をクリアする。
【００８２】
一方、ステップＳ７３において、ロックオンしたオブジェクトが存在しないとき（ステップＳ７３でＮＯ）、操作中フラグ２５６をオフにする（ステップＳ７９）。これは、タッチパネル１５からスティック１６が離れたため、操作円７１を表示しないようにするためである。そして、続くステップＳ８０において、操作円７１に置き換える形で、指示待ち円６１を生成する。続いて、ステップＳ８１において、指示待ち円６１に向かってプレイヤキャラクタ４１を移動させる処理が行われる。これは、例えば、隊列が複数のプレイヤキャラクタ４１で構成されていたときで、隊列内のあるプレイヤキャラクタ４１が、移動中に岩などに引っかかって他のキャラからはぐれてしまったときに、このはぐれたプレイヤキャラクタ４１を隊列の位置に移動させるための処理である。その後、上記ステップＳ７７およびＳ７８の処理が行われる。
【００８３】
次に、上記ステップＳ７２において、操作中でないとき（ステップＳ７２でＮＯ）の処理について説明する。このときは、まず、フォーカスフラグ２５５がオンのキャラ（フォーカスキャラ）が存在するか否かを判定する（ステップＳ８２）。フォーカスキャラが存在すれば（ステップＳ８２でＹＥＳ）、上述したステップＳ８０の処理に進む。一方、フォーカスキャラが存在しなければ（ステップＳ８２でＮＯ）、上述したステップＳ８１の処理に進む。以上で、図２３のステップＳ１８におけるタッチオフ処理が終了する。
【００８４】
図２３に戻り、タッチオフ処理が終われば、次に、上述したようにステップＳ８の画面描画処理が行われる。続いて、ステップＳ９において、ゲーム終了条件が満たされているか否かが判定される。ゲーム終了条件が満たされていないときは（ステップＳ９でＹＥＳ）、ゲーム終了と判定されるまで、上記ステップＳ２〜Ｓ１８の処理が繰り返される。一方、ゲーム終了条件が満たされているときは（ステップＳ９でＮＯ）、当該ゲーム処理は終了する。以上で、第１の実施形態に係るゲーム処理は終了する。
【００８５】
以上、本実施形態によれば、ポインティングデバイス等によるプレイヤキャラクタの操作中において、敵キャラクタ等を指定するための別個の操作を行わずとも、攻撃等を行いたい対象を指定することができる。そして、ポインティングデバイス等から指を離す、タッチパネルから指を離すなどの自然な操作が行われたタイミングで、指定した対象に影響を及ぼす処理をプレイヤキャラクタに開始させることができる。そのため、例えば攻撃ボタンやコマンド決定ボタンなどの、プレイヤキャラクタに行動を開始させるための別個の操作を行う必要がなくなり、プレイヤの操作性を向上させることができる。また、ロックオンについても、プレイヤキャラクタの操作中でなければロックオンは行われないため、プレイヤの意図しない対象指定を防ぐことができる。
【００８６】
なお、図２６を用いて説明したロックオン処理において、最終入力座標の代りにフォーカスキャラの座標を用いて仕事対象を指定するようにしても良い。すなわち、上記ステップＳ６２の処理において、画面上に表示されている各オブジェクト（敵・ＮＰＣも含む）とフォーカスキャラとの距離を、当該フォーカスキャラの座標と各オブジェクトの座標とに基づいて算出する。そして、ステップＳ６３において、フォーカスキャラから所定距離以下の位置にいるオブジェクトが存在するか否かを判定すればよい。なお、このとき、隊列中に複数のフォーカスキャラが存在するとき（すなわち、複数のプレイヤキャラクタ４１で隊列が構成されているとき）は、当該隊列の中で最初にフォーカスフラグがオンになったプレイヤキャラクタ４１を基準として、上記距離を計算するようにしてもよい。
【００８７】
また、上述したステップＳ７におけるロックオン処理について、本実施形態では、最終入力座標の近くに複数のオブジェクトがいるときは、最も近いオブジェクトをロックオンしている（図２６のステップＳ６４〜Ｓ６５）。そのため、例えば、フォーカスキャラの近くに敵キャラクタ４３が２体いて、当該２体の敵キャラクタ４３のみが移動することにより、最終入力座標との距離関係が変化した場合、常に至近距離にいる敵キャラクタ４３のみがロックオンされる。しかし、ロックオンの方法はこれに限らず、上記のような状況において、一旦至近距離の敵キャラクタ４３をロックオンしたときは、その後、敵キャラクタ４３の移動により最終入力座標との距離関係に変化が生じても、例えばスティック１６を動かしていなければ、ロックオン対象は変化しないようにしてもよい。これにより、フォーカスキャラの近くに多数のオブジェクトが存在するときに、頻繁にロックオン対象が切り替わることによるプレイヤの混乱を防ぐことが可能となる。
【００８８】
（第２の実施形態）
次に、図２８から図３２を参照して、本発明の第２の実施形態について説明する。上述の第１の実施形態では、操作中のフォーカスキャラについて、タッチオフしたタイミングで、ロックオンしたオブジェクトに対して仕事を開始している。これに対して、第２の実施形態では、操作中のスティック１６の入力軌跡のベクトルを示す第１のベクトルデータを算出し、当該ベクトルの延長線上にオブジェクトが存在すれば、ロックオンしていなくても、当該オブジェクトに対して上述した仕事処理を開始するものである。換言すれば、図２８に示すように、スティック１６の一連の入力先に当たる方向にオブジェクトが存在していれば、スティック１６の接触位置との距離が離れていても、タッチオフのタイミングで当該オブジェクトに対してフォーカスキャラに仕事処理を開始させるものである。なお、当該実施形態に係るゲーム装置１０は、上述した第１の実施形態と同様であるため、同一の参照符号を付して詳細な説明を省略する。また、本実施形態にかかるゲーム処理についても、タッチオフ処理を除けば上述した第１の実施形態で図２３を用いて説明したゲーム処理と同様であるため、当該タッチオフ処理以外の処理については、詳細な説明は省略する。
【００８９】
図２９は、第２の実施形態に係るタッチオフ処理（図２３のステップＳ１８に相当）の詳細を示すフローチャートである。当該実施形態に係るタッチオフ処理は、上述した第１の実施形態で図２７を用いて説明したタッチオフ処理にステップＳ８３およびＳ８４を加えたものに相当し、他のステップは、第１の実施形態における処理と同様である。従って、ステップＳ８３およびＳ８４以外のステップについては同一の参照符号を付して詳細な説明を省略する。また、ここでは説明を分かりやすくするため、図３０（Ａ）に示すような入力操作が行われたものとして説明する。図３０（Ａ）において、ベクトルデータａ〜ｆは、隣接する検出点同士を結ぶベクトルである。
【００９０】
図２９において、ステップＳ７３の処理でロックオンしたオブジェクトが存在するか否かを判定した結果、存在しなかったとき、スティック１６を動かした先にオブジェクトが存在するか否かを判定するための遠隔ターゲット判定処理（ステップＳ８３）が行われる。
【００９１】
図３１は、上記ステップＳ８３で示した遠隔ターゲット判定処理の詳細を示すフローチャートである。図３１において、まず、スティック１６を動かした先にオブジェクトが存在するか否かを示すために用いる遠隔フラグをオフにする（ステップＳ９１）。次に、ステップＳ９２において、入力座標リスト２５２を遡って参照していくために用いる変数ｍを１にする。続いて、ステップＳ９３において、入力座標リスト２５２（図２０参照）の、ｎ−ｍ番目の座標データを始点とし、ｎ番目の座標データ（最終入力座標）を終点とするベクトルデータＡ（図３０（Ａ）のｆに相当）を算出する。ここで、ベクトルデータＡは、図３２（Ａ）に示すように、向き３１１および距離３１２からなるデータである。距離３１２について、距離１は、タッチパネル１５上の数ドット（例えば、２ドット）に相当する長さである。また、向き３１１については、説明の便宜上、図３２（Ｂ）に示すような８種類の方向に数字の「０」〜「７」を対応させて定義してあるものとする。
【００９２】
次に、ｎ−（ｍ＋１）番目の座標データを始点とし、（ｎ−ｍ）番目の座標データを終点とするベクトルデータＢ（図３０（Ａ）のｅに相当）を算出する（ステップＳ９４）。なお、ベクトルデータＢもベクトルデータＡと同様の構成を有する（図３２（Ａ）参照）。
【００９３】
次に、ステップＳ９５において、ベクトルデータＡとＢとの向き３１１が同一か否かを判定する。その結果、同じであれば（ステップＳ９５でＹＥＳ）、ベクトルデータＢの距離３１２をベクトルデータＡの距離３１２に加算する。続くステップＳ９７で、ｍに１を加算して、ステップＳ９４の処理に戻る。つまり、入力座標リスト２５２を遡る形でベクトルデータを算出していく。そして、同じ向きのベクトルデータを１つにまとめていくものである。その結果、図３０（Ｂ）に示すように、ベクトルｆ〜ｄが一つのベクトルデータにまとまる。
【００９４】
一方、ステップＳ９５の判定の結果、ベクトルデータＡとＢとの向き３１１が異なっているときは（ステップＳ９５でＮＯ）、ベクトルデータＡについての入力速度を検出する。この入力速度の検出については、例えば、Ｓを入力速度とし、ベクトルデータＡの距離をＬとして、以下の式で算出することが考えられる。
Ｓ＝ｍ／Ｌ
なお、入力速度の検出については、これに限らず、例えば、タッチパネル１５における入力検出時間を随時記録しておき、その時間差をみて検出する等してもよい。
【００９５】
次に、ステップＳ９９において、Ｓが所定値以上か否かを判定する。これは、入力速度が一定の速度以上のときにのみ、以下に述べるロックオン処理を行うためである。ステップＳ９９の判定の結果、Ｓが所定値以上、つまり一定の速度以上であれば、続くステップＳ１００において、ベクトルデータＡの距離３１２を例えば２倍にする（図３０（Ｃ）参照）。
【００９６】
次に、ステップＳ１０１において、最終入力座標（すなわち、入力座標リスト２５２のｎ番目の座標データ）を始点とするベクトルデータＡに相当する座標上にオブジェクトが存在するか否かを判定する。その結果、何らかのオブジェクトが存在すれば（ステップＳ１０１でＹＥＳ）、ステップＳ１０２において、当該オブジェクトのロックフラグ２５７をオンにする。なお、該当するオブジェクトが複数存在するときは、最終入力座標に最も近い位置にいるオブジェクトのみのロックフラグ２５７をオンにする。併せて、当該オブジェクトを中心とする照準円８１を生成する。そして、続くステップＳ１０３において、遠隔フラグをオンにする。
【００９７】
一方、ステップＳ１０１の判定の結果、ベクトルデータＡ上にオブジェクトが存在しなければ（ステップＳ１０１でＮＯ）、そのまま遠隔ターゲット判定処理を終了する。このように、ステップＳ９１〜１０３の処理によって、例えば、あたかもマッチを擦るような操作でスティック１６でタッチパネル１５を擦るように入力すれば、遠くにいるオブジェクトについてロックオンすることが可能となり、操作性を向上させることが可能となる。
【００９８】
図２９に戻り、ステップＳ８４において、遠隔フラグがオンか否かを判定する。その結果、遠隔フラグがオンであれば（ステップＳ８４でＹＥＳ）、何らかのオブジェクトをロックオンしているため、処理をステップＳ７４に進める。一方、遠隔フラグがオフのときは（ステップＳ８４でＮＯ）、処理をステップＳ７９に進める。以降の処理は、図２７を用いて説明した第１の実施形態におけるタッチオフ処理を同様であるので、詳細な説明は省略する。
【００９９】
このように、第２の実施形態によれば、遠くにいるオブジェクトについても、スティック１６をタッチパネルから離すタイミングでロックオンすることが可能となる。また、所定の入力速度以上がなければ、ロックオンしないようにしている。そのため、例えばプレイヤが単にフォーカスキャラを移動させたつもりであるにも関わらず、ロックオンが行われて所定の仕事が開始されてしまうという、プレイヤの意図しない動作を防止することができる。
【産業上の利用可能性】
【０１００】
本発明は、ポインティングデバイスを用いて操作するゲ−ムにおいて、操作性を向上させること等を目的として利用することが可能である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の一実施形態に係るゲーム装置の外観図
【図２】ゲーム装置の内部構成図
【図３】本実施形態で想定するゲームの画面の一例
【図４】単一のプレイヤキャラクタを指定する様子を示す図
【図５】複数のプレイヤキャラクタを指定する様子を示す図
【図６】プレイヤキャラクタが複数の隊列を示す図
【図７】プレイヤキャラクタが１匹だけの隊列を示す図
【図８】プレイヤキャラクタを移動中の状態を示す図
【図９】プレイヤキャラクタを移動中の状態を示す図
【図１０】食料４２がロックオンされている状態を示す図
【図１１】ロックオンした食料４２をプレイヤキャラクタの基地に持ち帰ろうとする様子を示した図
【図１２】敵キャラクタ４３をロックオンした状態を示す図
【図１３】敵キャラクタ４３に対して攻撃している状態を示す図
【図１４】敵キャラクタ４３をロックオンした状態を示す図
【図１５】敵キャラクタ４３に対して攻撃している状態を示す図
【図１６】プレイヤキャラクタを移動中の状態を示す図
【図１７】タッチパネルに触れたままスティック１６で敵キャラクタ４３を囲む操作を示す図
【図１８】敵キャラクタ４３に対して攻撃している状態を示す図
【図１９】図２に示したＲＡＭ２４のメモリマップを示す図解図
【図２０】入力座標リスト２５２の一例を示す図
【図２１】仕事内容決定テーブル２５３の一例を示す図
【図２２】本実施形態で使われる各フラグについてまとめた表
【図２３】ゲーム装置１０において実行されるゲーム処理の流れを示すフローチャート
【図２４】図２３のステップＳ５で示したフォーカス処理の詳細を示すフローチャート
【図２５】図２３のステップＳ６で示した操作円表示処理の詳細を示すフローチャート
【図２６】図２３のステップＳ７で示したロックオン処理の詳細を示すフローチャート
【図２７】図２３のステップＳ１８で示したタッチオフ処理の詳細を示すフローチャート
【図２８】フォーカスキャラの移動先に当たる方向にオブジェクトが存在している様子を示す図
【図２９】第２の実施形態に係るタッチオフ処理（図２３のステップＳ１８に相当）の詳細を示すフローチャート
【図３０】入力されたベクトルデータを示す模式図
【図３１】図２９のステップＳ８３で示した遠隔ターゲット判定処理の詳細を示すフローチャート
【図３２】ベクトルデータの一例を示す図
【符号の説明】
【０１０２】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
４１  プレイヤキャラクタ
４２  食料
４３  敵キャラクタ
５１  入力軌跡表示
６１  指示待ち円
７１  操作円
８１  照準円
【図１】
2006304863.tif 000003
【図２】
2006304863.tif 000004
【図３】
2006304863.tif 000005
【図４】
2006304863.tif 000006
【図５】
2006304863.tif 000007
【図６】
2006304863.tif 000008
【図７】
2006304863.tif 000009
【図８】
2006304863.tif 000010
【図９】
2006304863.tif 000011
【図１０】
2006304863.tif 000012
【図１１】
2006304863.tif 000013
【図１２】
2006304863.tif 000014
【図１３】
2006304863.tif 000015
【図１４】
2006304863.tif 000016
【図１５】
2006304863.tif 000017
【図１６】
2006304863.tif 000018
【図１７】
2006304863.tif 000019
【図１８】
2006304863.tif 000020
【図１９】
2006304863.tif 000021
【図２０】
2006304863.tif 000022
【図２１】
2006304863.tif 000023
【図２２】
2006304863.tif 000024
【図２３】
2006304863.tif 000025
【図２４】
2006304863.tif 000026
【図２５】
2006304863.tif 000027
【図２６】
2006304863.tif 000028
【図２７】
2006304863.tif 000029
【図２８】
2006304863.tif 000030
【図２９】
2006304863.tif 000031
【図３０】
2006304863.tif 000032
【図３１】
2006304863.tif 000033
【図３２】
2006304863.tif 000034