(57)【要約】【課題】複数のオブジェクトを操作する場合において、画面上の軌跡によってオブジェクトを移動させる操作をプレイヤに簡単に行わせる。【解決手段】ゲーム装置は、表示装置の画面上における位置を指定することが可能な入力装置を備える。ゲーム装置は、仮想ゲーム空間を表すゲーム画像を表示装置に表示させる。ゲーム画像内の第１オブジェクトの動作は、入力装置によってゲーム画像上に行われた入力に応じて制御される。また、ゲーム装置は、入力装置によってゲーム画像上に入力された軌跡を検出する。ゲーム装置は、ゲーム画像内の第２オブジェクトを上記軌跡に沿って移動させる。【選択図】図５
2010273885.tif 000002
【特許請求の範囲】
【請求項１】
表示装置の画面上における位置を指定することが可能な入力装置を備えるゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
仮想ゲーム空間を表すゲーム画像を前記表示装置に表示させる表示制御手段と、
前記入力装置によって前記ゲーム画像上に行われた入力に応じて、前記ゲーム画像内の第１オブジェクトの動作を制御する第１オブジェクト制御手段と、
前記入力装置によって前記ゲーム画像上に入力された軌跡を検出する軌跡検出手段と、
前記ゲーム画像内の第２オブジェクトを前記軌跡に沿って移動させる第２オブジェクト制御手段として前記コンピュータを機能させる、ゲームプログラム。
【請求項２】
前記軌跡を前記ゲーム画像上に重ねて表示する軌跡表示手段として前記コンピュータをさらに機能させる、請求項１に記載のゲームプログラム。
【請求項３】
前記仮想ゲーム空間において、前記第２オブジェクトの位置に基づいて指示領域を設定する指示領域設定手段として前記コンピュータをさらに機能させ、
前記第２オブジェクト制御手段は、前記ゲーム画像上に行われた入力による入力位置が前記指示領域内に位置する場合、当該指示領域内の入力に後続する入力により示される軌跡に沿って前記第２オブジェクトを移動させ、
前記第１オブジェクト制御手段は、前記ゲーム画像上に行われた入力による入力位置が前記指示領域の外に位置する場合、当該入力に応じて前記第１オブジェクトの動作を制御する、請求項２に記載のゲームプログラム。
【請求項４】
前記表示制御手段は、前記指示領域を表す画像を、前記ゲーム画像内における前記第２オブジェクトの画像の上に重ねて表示させる、請求項３に記載のゲームプログラム。
【請求項５】
前記指示領域設定手段は、前記指示領域を前記第２オブジェクトとともに前記軌跡に沿って移動させ、
前記第２オブジェクト制御手段は、前記第２オブジェクトが軌跡に沿って移動している間に、前記指示領域内を入力位置とする新たな入力が前記入力装置によって行われた場合、当該指示領域内の当該新たな入力に後続する入力により示される軌跡に沿って前記第２オブジェクトを移動させる、請求項３または請求項４に記載のゲームプログラム。
【請求項６】
前記第１オブジェクト制御手段は、前記入力装置によって前記ゲーム画像上に行われた入力に応じて前記第１オブジェクトを移動させる、請求項１から請求項５のいずれか１項に記載のゲームプログラム。
【請求項７】
前記第１オブジェクト制御手段は、前記入力装置によって前記ゲーム画像上に行われた入力が検出される毎に前記第１オブジェクトを動作させ、
前記第２オブジェクト制御手段は、前記軌跡の入力が完了する毎に第２オブジェクトを動作させる、請求項１から請求項６のいずれか１項に記載のゲームプログラム。
【請求項８】
前記第２オブジェクト制御手段は、所定の指示がプレイヤによって行われた場合、前記第１オブジェクトの位置に基づいて前記第２オブジェクトの移動を制御する、請求項１から請求項７のいずれか１項に記載のゲームプログラム。
【請求項９】
前記第２オブジェクト制御手段は、前記所定の指示がプレイヤによって行われた場合、前記第１オブジェクトの位置へ前記第２オブジェクトを移動させた後に、前記第１オブジェクト制御手段によって動作が制御された第１オブジェクトに追従して前記第２オブジェクトを移動させる、請求項８に記載のゲームプログラム。
【請求項１０】
前記ゲーム画像において前記第２オブジェクトの位置に基づいて指示領域を設定する指示領域設定手段として前記コンピュータをさらに機能させ、
前記表示制御手段は、入力位置が前記指示領域内となる入力が前記ゲーム画像上に行われている間は少なくとも消去するように、前記ゲーム画像上に所定の画像を表示し、
前記第２オブジェクト制御手段は、前記所定の画像の位置に対する前記入力装置による入力を前記所定の指示として用いて前記第２オブジェクトの移動を制御する、請求項８に記載のゲームプログラム。
【請求項１１】
前記表示制御手段は、前記第１オブジェクトが前記ゲーム画像内に含まれるように仮想ゲーム空間のうちの表示領域が設定される状態と、前記第２オブジェクトが前記ゲーム画像内に含まれるように当該表示領域が設定される状態とを、プレイヤの指示によって切り替える、請求項１から請求項１０のいずれか１項に記載のゲームプログラム。
【請求項１２】
前記表示制御手段は、前記ゲーム画像と、当該ゲーム画像が表すゲーム空間の領域よりも広い領域を表す広域画像とを選択的または同時に前記表示装置に表示させる、請求項１から請求項１１のいずれか１項に記載のゲームプログラム。
【請求項１３】
前記表示制御手段は、前記第２オブジェクトの移動に用いられる軌跡を、前記広域画像上に重ねて表示させる、請求項１から請求項１２のいずれか１項に記載のゲームプログラム。
【請求項１４】
表示装置の画面上における位置を指定することが可能な入力装置を備えるゲーム装置であって、
仮想ゲーム空間を表すゲーム画像を前記表示装置に表示させる表示制御手段と、
前記入力装置によって前記ゲーム画像上に行われた入力に応じて、前記ゲーム画像内の第１オブジェクトの動作を制御する第１オブジェクト制御手段と、
前記入力装置によって前記ゲーム画像上に入力された軌跡を検出する軌跡検出手段と、
前記ゲーム画像内の第２オブジェクトを前記軌跡に沿って移動させる第２オブジェクト制御手段とを備える、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、画面上に入力される軌跡に沿って操作対象のオブジェクトを移動させるゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来、プレイヤによって画面上に入力される軌跡を用いて、操作対象のオブジェクト（プレイヤキャラクタ）を移動させる技術がある。例えば特許文献１に記載のゲーム装置においては、タッチパネルを備える表示画面に、仮想ゲーム空間の比較的広い領域（地図画面）が表示され、プレイヤは、地図画面上において軌跡を入力することが可能である。ゲーム装置は、地図画面上に入力された軌跡に沿ってオブジェクトを移動させる制御を行う。オブジェクトが移動する際には、ゲーム装置は、地図画面よりも狭い（仮想ゲーム空間の）領域をメイン画面として表示し、このメイン画面にオブジェクトが移動する様子が表示される。このように、画面上に入力される軌跡を用いてオブジェクトを移動させることによって、プレイヤは、オブジェクトの移動経路を直感的な操作で指定することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２６１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載のゲーム装置においては、プレイヤは、プレイヤキャラクタとアイテムオブジェクトという２つのオブジェクトを操作する。すなわち、プレイヤは、プレイヤキャラクタをタッチパネルによって操作するとともに、所定のアイテムオブジェクトをタッチパネルに対する上記軌跡の入力によって移動させるのである。プレイヤキャラクタを操作する場合には、プレイヤキャラクタの詳細な動作をプレイヤが把握することができるように、表示画面には上記メイン画面が表示される。一方、アイテムオブジェクトを操作する場合には、上述のように、軌跡を入力させるために表示画面には地図画面が表示される。このように、上記ゲーム装置においては、操作対象となるオブジェクトが切り替わる度に、上記地図画面とメイン画面との間で画面を切り替えなければならない。したがって、プレイヤがアイテムオブジェクトを軌跡によって操作する場合には、まず画面を切り替えてから軌跡を描くという面倒な操作を行わなければならなかった。
【０００５】
それ故、本発明の目的は、複数のオブジェクトを操作する場合において、画面上の軌跡によってオブジェクトを移動させる操作をプレイヤが簡単に行うことができるゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
本発明は、表示装置の画面上における位置を指定することが可能な入力装置（タッチパネル１３）を備えるゲーム装置（１）のコンピュータ（ＣＰＵ３１）において実行されるゲームプログラム（７１）である。ゲームプログラムは、表示制御手段（ステップＳ８を実行するＣＰＵ３１。以下、単にステップ番号のみを記載する。）と、第１オブジェクト制御手段（Ｓ６）と、軌跡検出手段（Ｓ２）と、第２オブジェクト制御手段（Ｓ７）としてコンピュータを機能させる。表示制御手段は、仮想ゲーム空間を表すゲーム画像（ゲーム空間画像）を表示装置（下側ＬＣＤ１２）に表示させる。第１オブジェクト制御手段は、入力装置によってゲーム画像上に行われた入力に応じて、ゲーム画像内の第１オブジェクト（５１）の動作をプレイヤの操作に応じて制御する。軌跡検出手段は、入力装置によってゲーム画像上に入力された軌跡を検出する。第２オブジェクト制御手段は、ゲーム画像内の第２オブジェクト（５２）を軌跡に沿って移動させる。
【０００８】
上記の構成によれば、第２オブジェクトを移動させるための軌跡の入力は、第１オブジェクトの動作を制御するための入力が行われるゲーム画像上において受け付けられる。これによれば、第１オブジェクトを操作する場合であっても第２オブジェクトを操作する場合であっても、プレイヤは同じゲーム画像を見て操作を行うことができる。したがって、上記の構成によれば、プレイヤは、従来のようにメイン画面と地図画面との間で画面を切り替える必要なく、軌跡を入力する操作を簡単に行うことができる。すなわち、複数のオブジェクトを操作する場合において、画面上の軌跡によってオブジェクトを移動させる操作をプレイヤが簡単に行うことができる。
【０００９】
また、ゲームプログラムは、軌跡をゲーム画像上に重ねて表示する軌跡表示手段（Ｓ７８）としてコンピュータをさらに機能させてもよい。
【００１０】
上記の構成によれば、プレイヤは、自身が入力した軌跡の形状を、入力を行った画面上で確認することができる。また、プレイヤは、第２オブジェクトが移動する軌跡を画面上で確認することができる。これによれば、プレイヤは、第２オブジェクトの移動経路を予測しつつ第１オブジェクトの操作を行うことができるので、２つのオブジェクトの操作を容易に行うことができる。
【００１１】
また、ゲームプログラムは、仮想ゲーム空間において、第２オブジェクトの位置に基づいて指示領域を設定する指示領域設定手段（Ｓ３７）としてコンピュータをさらに機能させてもよい。このとき、第２オブジェクト制御手段は、ゲーム画像上に行われた入力による入力位置が指示領域内に位置する場合（Ｓ１６でＹｅｓ）、当該指示領域内の入力に後続する入力により示される軌跡に沿って第２オブジェクトを移動させる（Ｓ７）。第１オブジェクト制御手段は、ゲーム画像上に行われた入力による入力位置が指示領域の外に位置する場合（Ｓ１６でＮｏ）、当該入力に応じて第１オブジェクトの動作を制御する。なお、上記「指示領域内の入力に後続する入力により示される軌跡」という文言は、指示領域内に対して行われた入力による入力位置を開始点とし、当該入力に連続して行われた入力による入力位置（の点）によって構成される軌跡を指す。具体的には、連続して行われた入力の開始位置が指示領域内である場合には、上記文言は、当該入力全体により示される軌跡を指す。また、連続して行われた入力の途中の位置が指示領域内である場合には、上記文言は、当該途中の位置以降の入力位置によって構成される軌跡を指す。
【００１２】
上記の構成によれば、入力位置が上記指示領域の内側であるか外側であるかによって、入力に従って第２オブジェクトを制御するか第１オブジェクトを制御するかを決定する。ここで、１つの入力装置のみで２つのオブジェクトを操作する場合には、通常、当該入力装置に対する入力がいずれのオブジェクトを操作するものであるのかを決定するために、操作対象を指定する（操作対象を切り替える）操作が当該入力前に必要となる。これに対して、上記の構成によれば、入力位置に応じて操作対象が決定されるので、プレイヤは、操作対象を切り替えるためだけの操作を行う必要がなく、２つのオブジェクトの操作が簡易になる。
【００１３】
また、表示制御手段は、指示領域を表す画像（軌跡マーク５３）を、ゲーム画像内における第２オブジェクトの画像の上に重ねて表示させてもよい。
【００１４】
上記の構成によれば、指示領域の境界をプレイヤに明確に認識させることができる。これによれば、プレイヤは上記境界を誤ることがないので、操作したいオブジェクトを確実に操作することができ、プレイヤが意図しないオブジェクトが誤って操作されてしまうことがない。このように、上記の構成によれば、操作性の良いゲームを提供することができる。
【００１５】
また、指示領域設定手段は、指示領域を第２オブジェクトとともに軌跡に沿って移動させてもよい（Ｓ３７）。このとき、第２オブジェクト制御手段は、第２オブジェクトが軌跡に沿って移動している間に、指示領域内を入力位置とする新たな入力が入力装置によって行われた場合、当該指示領域内の当該新たな入力に後続する入力により示される軌跡に沿って第２オブジェクトを移動させる。
【００１６】
上記の構成によれば、第２オブジェクトが軌跡に沿って移動している途中に、プレイヤが異なる軌跡を新たに入力すると、第２オブジェクトは当該新たな軌跡に沿って移動することとなる。したがって、プレイヤは、第２オブジェクトが軌跡に沿って移動している途中で軌跡を変更することが可能である。そのため、プレイヤが仮に誤って意図しない軌跡を入力してしまった場合や第１オブジェクトを動作させている間に第２オブジェクトの移動先を変更させたい場合があっても、プレイヤは即座に当該軌跡を修正することができる。このように、上記の構成によれば、操作性の良いゲームを提供することができる。
【００１７】
また、第１オブジェクト制御手段は、入力装置によってゲーム画像上に行われた入力に応じて第１オブジェクトを移動させるようにしてもよい。
【００１８】
上記の構成によれば、プレイヤは、入力位置を指定するだけで第１オブジェクトを容易に移動させることができる。また、第１オブジェクトと第２オブジェクトという２つのオブジェクトを単一の入力装置で操作することができる。したがって、プレイヤは、２つのオブジェクトの間で操作対象を変更する際に入力装置（入力方法）を変更する必要がなく、２つのオブジェクトを移動させる操作を容易に行うことができる。
【００１９】
また、第１オブジェクト制御手段は、入力装置によってゲーム画像上に行われた入力が検出される毎に第１オブジェクトを動作させるようにしてもよい。このとき、第２オブジェクト制御手段は、軌跡の入力が完了する毎に第２オブジェクトを動作させる。
【００２０】
上記の構成によれば、第１オブジェクトは、入力装置に対する入力があったことに応じてすぐに動作を行うのに対して、第２オブジェクトは、入力装置に対して軌跡の入力が完了したことに応じて動作（移動）を行う。つまり、上記の構成によれば、プレイヤが入力を行った場合に、第１オブジェクトは当該入力に応じてすぐに動作を行うのに対して、第２オブジェクトは当該入力が完了してから動作を行う。このように、第２オブジェクトがプレイヤの入力に対して応答するタイミングを、第１オブジェクトのタイミングよりも遅らせることによって、第２オブジェクトの移動中においても第１オブジェクトを動作させることが可能となる。したがって、上記の構成によれば、ゲーム装置は、入力装置に対する入力によって操作される対象を切り替えることで２つのオブジェクトの動作を制御しているにもかかわらず、２つのオブジェクトを同時に動作させることができる。これによって、ゲームプログラムは、２つのオブジェクトを同時に操作しているかのような操作感覚をプレイヤに与えることができる。
【００２１】
また、第２オブジェクト制御手段は、所定の指示がプレイヤによって行われた場合（ステップＳ１２でＹｅｓ）、第１オブジェクトの位置に基づいて第２オブジェクトの移動を制御してもよい（Ｓ３６）。
【００２２】
上記の構成によれば、プレイヤは、第２オブジェクトを軌跡に沿って移動させるだけでなく、第１オブジェクトの移動に応じて移動させることができる。例えば、第１オブジェクトに追従するように第２オブジェクトを移動させたり、第１オブジェクトと同じように第２オブジェクトを移動させたりすることができる。上記の構成によれば、第２オブジェクトを移動させる方法を増やすことができるので、プレイヤにとっては第２オブジェクトをより操作しやすくなる。
【００２３】
また、第２オブジェクト制御手段は、所定の指示がプレイヤによって行われた場合、第１オブジェクトの位置へ第２オブジェクトを移動させた後に、第１オブジェクト制御手段によって動作が制御された第１オブジェクトに追従して第２オブジェクトを移動させてもよい。
【００２４】
上記の構成によれば、上記所定の指示によって、第２オブジェクトは第１オブジェクトに追従して移動するようになる。したがって、上記の構成によれば、プレイヤは、２つのオブジェクトを別々に操作することができることに加え、２つのオブジェクトを１つの操作で一緒に操作することができる。
【００２５】
また、ゲームプログラムは、ゲーム画像において第２オブジェクトの位置に基づいて指示領域（軌跡マーク５３）を設定する指示領域設定手段（Ｓ３７）としてコンピュータをさらに機能させてもよい。このとき、表示制御手段は、入力位置が指示領域内となる入力がゲーム画像上に行われている間（Ｓ７１でＹｅｓ）は少なくとも消去するように、ゲーム画像上に所定の画像を表示する（Ｓ７３，Ｓ７５）。第２オブジェクト制御手段は、所定の画像の位置に対する入力装置による入力を所定の指示として用いて第２オブジェクトの移動を制御する。
【００２６】
上記の構成によれば、第１オブジェクトの位置に基づく移動を第２オブジェクトに行わせるための上記所定の画像は、第２オブジェクトを移動させるための軌跡が入力されている場合には表示されない。つまり、上記所定の画像は、不要な場合には表示されないので、プレイヤが所定の画像に対して誤って入力を行ってしまう誤操作を防止することができるとともに、ゲーム画像を見やすくすることができる。
【００２７】
また、表示制御手段は、第１オブジェクトがゲーム画像内に含まれるように仮想ゲーム空間のうちの表示領域が設定される状態（Ｓ７４，Ｓ７５）と、第２オブジェクトがゲーム画像内に含まれるように当該表示領域が設定される状態（Ｓ７２，Ｓ７３）とを、プレイヤの指示（切替アイコン５４をタッチする指示）によって切り替えてもよい。
【００２８】
ここで、プレイヤが２つのオブジェクトを操作することが可能である場合には、ゲームの状況によっては、２つのオブジェクトのいずれかが表示装置の表示領域の外側へ移動してしまい、両方のオブジェクトを同時に表示することができなくなる状態が生じるおそれがある。これに対して、上記の構成によれば、上記の状態が生じても、プレイヤは、２つのオブジェクトのうちで表示したいオブジェクト（操作したいオブジェクト）を容易に表示させることができる。
【００２９】
また、表示制御手段は、上記ゲーム画像（ゲーム空間画像）と、当該ゲーム画像が表すゲーム空間の領域よりも広い領域を表す広域画像（マップ画像）とを選択的または同時に表示装置に表示させるようにしてもよい（Ｓ７９）。
【００３０】
上記の構成によれば、各オブジェクトを操作するゲーム画像に加え、当該ゲーム画像により表されるゲーム空間の領域よりも広域のゲーム空間を表す画像が表示される。これによれば、プレイヤは、入力された軌跡の（ゲーム空間における）位置関係をより把握しやすくなり、軌跡の入力をより容易に行うことができる。
【００３１】
また、表示制御手段は、第２オブジェクトの移動に用いられる軌跡を、広域画像上に重ねて表示させてもよい（図１０、Ｓ７８）。
【００３２】
上記の構成によれば、プレイヤは、入力を行ったゲーム画像よりも広い領域を表す広域画像上においても、入力した軌跡を確認することができ、軌跡の入力をより行いやすくなる。
【００３３】
また、本発明は、上記ゲーム装置と同等の機能を有するゲーム装置の形態で提供されてもよい。なお、このゲーム装置においては、ゲームプログラムを実行するＣＰＵによって上記各手段が実現されてもよいし、ゲーム装置が備える専用の回路によって上記各手段の一部または全部が実現されてもよい。
【発明の効果】
【００３４】
本発明によれば、第２オブジェクトを移動させるための軌跡の入力を、第１オブジェクトの動作を制御するための入力が行われるゲーム画像上において受け付けるようにする。これによって、プレイヤが２つの画像の間で画面を切り替える操作を不要とすることができ、軌跡を入力する操作をプレイヤに簡単に行わせることができる。
【図面の簡単な説明】
【００３５】
【図１】本実施形態に係るゲームプログラムを実行するゲーム装置の外観図
【図２】ゲーム装置の内部構成の一例を示すブロック図
【図３】本実施形態におけるゲーム処理によって表示装置に表示されるゲーム画像を示す図
【図４】プレイヤ操作によって第１オブジェクト５１が動作する様子を表すゲーム画像を示す図
【図５】第２オブジェクト５２を操作するための軌跡５６をプレイヤが入力している場合のゲーム画像を示す図
【図６】入力された軌跡５６に沿って第２オブジェクト５２が移動する様子を表すゲーム画像を示す図
【図７】第２オブジェクト５２が移動している間に第１オブジェクト５１が操作される場合のゲーム画像を示す図
【図８】第２オブジェクト５２の移動途中で軌跡を変更する操作を行った場合のゲーム画像を示す図
【図９】第２オブジェクト５２の移動途中で軌跡を変更する操作を行った場合のゲーム画像を示す図
【図１０】ゲーム装置１の上側ＬＣＤ２２に表示されるゲーム画像を示す図
【図１１】第２オブジェクト５２が軌跡５６を移動している途中のゲーム画像を示す図
【図１２】途中動作を第２オブジェクト５２が終了した時点におけるゲーム画像を示す図
【図１３】途中動作を第２オブジェクト５２が終了した時点におけるゲーム画像の他の例を示す図
【図１４】途中動作を第２オブジェクト５２が終了した時点におけるゲーム画像の他の例を示す図
【図１５】優先ポイントが設定される場合におけるゲーム画像を示す図
【図１６】ゲーム装置１のメインメモリ３２に記憶されるデータを示す図
【図１７】ゲーム装置１において実行されるゲーム処理の流れを示すメインフローチャート
【図１８】図１７に示す入力判別処理（ステップＳ３）の流れを示すフローチャート
【図１９】図１７に示す軌跡設定処理（ステップＳ４）の流れを示すフローチャート
【図２０】図１７に示す第２オブジェクト制御処理（ステップＳ７）の流れを示すフローチャート
【図２１】図２０に示す軌跡移動処理（ステップＳ３２）の流れを示すフローチャート
【図２２】図２１に示す復帰ポイント決定処理（ステップＳ５２）の流れを示すフローチャート
【図２３】図１７に示す表示制御処理（ステップＳ８）の流れを示すフローチャート
【発明を実施するための形態】
【００３６】
［ゲーム装置のハードウェア構成］
図面を参照して、本発明の一実施形態に係るゲームプログラムおよびゲーム装置について説明する。本発明は、表示装置にゲーム画像を表示することが可能な任意のコンピュータシステムにおいて本ゲームプログラムが実行されることによって実現することができるが、本実施形態では、ゲーム装置の一例として図１に示すゲーム装置１を用いる場合について説明する。
【００３７】
図１は、本実施形態に係るゲームプログラムを実行するゲーム装置１の外観図である。ここでは、ゲーム装置１の一例として、携帯ゲーム装置を示す。なお、ゲーム装置１は、カメラを内蔵しており、当該カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
【００３８】
図１において、ゲーム装置１は折り畳み型の携帯ゲーム装置であり、開いた状態（開状態）のゲーム装置１を示している。ゲーム装置１は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【００３９】
ゲーム装置１は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１および上側ハウジング２１は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回転可能に連結されている。通常、ユーザは、開状態でゲーム装置１を使用する。また、ユーザは、ゲーム装置１を使用しない場合には閉状態としてゲーム装置１を保管する。また、図１に示した例では、ゲーム装置１は、上記閉状態および開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００４０】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２が設けられる。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。なお、本実施形態では、ゲーム装置１に内蔵されている表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置１は、任意の解像度の表示装置を利用することができる。なお、下側ＬＣＤ１２には、内側カメラ２３または外側カメラ２５で撮像されている画像がリアルタイムに表示される。
【００４１】
下側ハウジング１１には、入力装置として、各操作ボタン１４Ａ〜１４Ｋおよびタッチパネル１３が設けられる。図１に示されるように、各操作ボタン１４Ａ〜１４Ｋのうち、方向入力ボタン１４Ａ、操作ボタン１４Ｂ、操作ボタン１４Ｃ、操作ボタン１４Ｄ、操作ボタン１４Ｅ、電源ボタン１４Ｆ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、上側ハウジング２１と下側ハウジング１１とを折り畳んだときに内側となる、下側ハウジング１１の内側主面上に設けられる。図１に示す例では、方向入力ボタン１４Ａおよび電源ボタン１４Ｆは、下側ハウジング１１の内側主面の中央付近に設けられる下側ＬＣＤ１２に対して、左右一方側（図１では左側）の当該主面上に設けられる。また、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、下側ＬＣＤ１２に対して左右他方側（図１では右側）となる下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａ、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、ゲーム装置１に対する各種操作を行うために用いられる。方向入力ボタン１４Ａは、例えば選択操作等に用いられる。各操作ボタン１４Ｂ〜１４Ｅは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン１４Ｆは、ゲーム装置１の電源をオン／オフするために用いられる。
【００４２】
なお、図１においては、操作ボタン１４Ｉ〜１４Ｋの図示を省略している。例えば、Ｌボタン１４Ｉは、下側ハウジング１１の上側面の左端部に設けられ、Ｒボタン１４Ｊは、下側ハウジング１１の上側面の右端部に設けられる。Ｌボタン１４ＩおよびＲボタン１４Ｊは、撮影機能を有するゲーム装置１に対して、例えば撮影指示操作（シャッター操作）を行うために用いられる。さらに、音量ボタン１４Ｋは、下側ハウジング１１の左側面に設けられる。音量ボタン１４Ｋは、ゲーム装置１が備えるスピーカの音量を調整するために用いられる。
【００４３】
また、ゲーム装置１は、各操作ボタン１４Ａ〜１４Ｋとは別の入力装置としてさらに、画面上における任意の位置を指定可能な入力装置であるタッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、任意の方式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル１３として、例えば下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。また、下側ハウジング１１の右側面には、挿入口（図１では破線で示している）が設けられている。挿入口は、タッチパネル１３に対する操作を行うために用いられるタッチペン２７を収納することができる。なお、タッチパネル１３に対する入力（タッチ入力）は、通常タッチペン２７を用いて行われるが、タッチペン２７に限らずユーザの指でタッチパネル１３を操作することも可能である。
【００４４】
また、下側ハウジング１１の右側面には、メモリカード２８を収納するための挿入口（図１では二点鎖線で示している）が設けられている。この挿入口の内側には、ゲーム装置１とメモリカード２８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２８は、例えばＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードであり、コネクタに着脱自在に装着される。メモリカード２８は、例えば、ゲーム装置１によって撮像された画像を記憶（保存）したり、他の装置で生成された画像をゲーム装置１に読み込んだりするために用いられる。
【００４５】
さらに、下側ハウジング１１の上側面には、メモリカード２９を収納するための挿入口（図１では、一点鎖線で示している）が設けられている。この挿入口の内側にも、ゲーム装置１とメモリカード２９とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２９は、ゲームプログラム等を記録した記録媒体であり、下側ハウジング１１に設けられた挿入口に着脱自在に装着される。
【００４６】
下側ハウジング１１と上側ハウジング２１との連結部の左側部分には、３つのＬＥＤ１５Ａ〜１５Ｃが取り付けられる。ここで、ゲーム装置１は、他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１５Ａは、ゲーム装置１の電源がオンである場合に点灯する。第２ＬＥＤ１５Ｂは、ゲーム装置１の充電中に点灯する。第３ＬＥＤ１５Ｃは、無線通信が確立している場合に点灯する。したがって、３つのＬＥＤ１５Ａ〜１５Ｃによって、ゲーム装置１の電源のオン／オフ状況、充電状況、および、通信確立状況をユーザに通知することができる。
【００４７】
一方、上側ハウジング２１には、上側ＬＣＤ２２が設けられる。上側ＬＣＤ２２は横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ２２に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、上側ＬＣＤ２２上を覆うように、タッチパネルを設けてもかまわない。上側ＬＣＤ２２には、例えば、各操作ボタン１４Ａ〜１４Ｋやタッチパネル１３の役割をユーザに教えるための操作説明画面が表示される。
【００４８】
また、上側ハウジング２１には、２つのカメラ（内側カメラ２３および外側カメラ２５）が設けられる。図１に示されるように、内側カメラ２３は、上側ハウジング２１の連結部付近の内側主面に取り付けられる。一方、外側カメラ２５は、内側カメラ２３が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング２１の外側主面（ゲーム装置１が閉状態となった場合に外側となる面であり、図１に示す上側ハウジング２１の背面）に取り付けられる。なお、図１においては、外側カメラ２５を破線で示している。これによって、内側カメラ２３は、上側ハウジング２１の内側主面が向く方向を撮像することが可能であり、外側カメラ２５は、内側カメラ２３の撮像方向の逆方向、すなわち、上側ハウジング２１の外側主面が向く方向を撮像することが可能である。このように、本実施形態では、２つの内側カメラ２３および外側カメラ２５の撮像方向が互いに逆方向となるように設けられる。例えば、ユーザは、ゲーム装置１からユーザの方を見た景色を内側カメラ２３で撮像することができるとともに、ゲーム装置１からユーザの反対側の方向を見た景色を外側カメラ２５で撮像することができる。
【００４９】
なお、上記連結部付近の内側主面には、音声入力装置としてマイク（図２に示すマイク４３）が収納されている。そして、上記連結部付近の内側主面には、マイク４３がゲーム装置１外部の音を検知できるように、マイクロフォン用孔１６が形成される。マイク４３を収納する位置およびマイクロフォン用孔１６の位置は必ずしも上記連結部である必要はなく、例えば下側ハウジング１１にマイク４３を収納し、マイク４３を収納位置に対応させて下側ハウジング１１にマイクロフォン用孔１６を設けるようにしてもよい。
【００５０】
また、上側ハウジング２１の外側主面には、第４ＬＥＤ２６（図１では、破線で示す）が取り付けられる。第４ＬＥＤ２６は、内側カメラ２３または外側カメラ２５によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、内側カメラ２３または外側カメラ２５によって動画が撮影される間点灯する。第４ＬＥＤ２６によって、ゲーム装置１による撮影が行われた（行われている）ことを撮影対象者や周囲に通知することができる。
【００５１】
また、上側ハウジング２１の内側主面の中央付近に設けられる上側ＬＣＤ２２に対して、左右両側の当該主面に音抜き孔２４がそれぞれ形成される。音抜き孔２４の奥の上側ハウジング２１内にはスピーカが収納されている。音抜き孔２４は、スピーカからの音をゲーム装置１の外部に放出するための孔である。
【００５２】
以上に説明したように、上側ハウジング２１には、画像を撮像するための構成である内側カメラ２３および外側カメラ２５と、主に操作説明画面を表示するための表示手段である上側ＬＣＤ２２とが設けられる。一方、下側ハウジング１１には、ゲーム装置１に対する操作入力を行うための入力装置（タッチパネル１３および各操作ボタン１４Ａ〜１４Ｋ）と、撮像された画像を表示するための表示手段である下側ＬＣＤ１２とが設けられる。したがって、ゲーム装置１を使用する際には、ユーザは、下側ＬＣＤ１２に表示される撮像画像（カメラによって撮像された画像）を見ながら、下側ハウジング１１を把持して入力装置に対する入力を行うことができる。
【００５３】
次に、図２を参照して、ゲーム装置１の内部構成を説明する。図２は、ゲーム装置１の内部構成の一例を示すブロック図である。
【００５４】
図２において、ゲーム装置１は、ＣＰＵ３１、メインメモリ３２、メモリ制御回路３３、保存用データメモリ３４、プリセットデータ用メモリ３５、メモリカードインターフェース（メモリカードＩ／Ｆ）３６、メモリカードＩ／Ｆ３７、無線通信モジュール３８、ローカル通信モジュール３９、リアルタイムクロック（ＲＴＣ）４０、電源回路４１、インターフェース回路（Ｉ／Ｆ回路）４２、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４５、第２ＧＰＵ４６、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）４７、第２ＶＲＡＭ４８、およびＬＣＤコントローラ４９等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００５５】
ＣＰＵ３１は、所定のプログラム（ここでは、本実施形態に係るゲームプログラム）を実行するための情報処理手段である。本実施形態では、ゲームプログラムがゲーム装置１内のメモリ（例えば保存用データメモリ３４）やメモリカード２８および／または２９に記憶されており、ＣＰＵ３１は、当該ゲームプログラムを実行することによって、後述するゲーム処理を実行する。なお、ＣＰＵ３１によって実行されるプログラムは、ゲーム装置１内のメモリに予め記憶されていてもよいし、メモリカード２８および／または２９から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。
【００５６】
ＣＰＵ３１には、メインメモリ３２、メモリ制御回路３３、およびプリセットデータ用メモリ３５が接続される。メモリ制御回路３３には、保存用データメモリ３４が接続される。メインメモリ３２は、ＣＰＵ３１のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ３２は、上記ゲーム処理に用いられる各種データを記憶したり、外部（メモリカード２８および２９や他の機器等）から取得されるプログラムを記憶したりする。本実施形態では、メインメモリ３２として、例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ３４は、ＣＰＵ３１によって実行されるプログラムや内側カメラ２３および外側カメラ２５によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ３４は、不揮発性の記憶媒体によって構成されており、本実施形態では例えばＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路３３は、ＣＰＵ３１の指示に従って、保存用データメモリ３４に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ３５は、ゲーム装置１において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ３５としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ３１と接続されるフラッシュメモリを用いることができる。
【００５７】
メモリカードＩ／Ｆ３６および３７は、それぞれＣＰＵ３１に接続される。メモリカードＩ／Ｆ３６は、コネクタに装着されたメモリカード２８に対するデータの読み出しおよび書き込みを、ＣＰＵ３１の指示に応じて行う。また、メモリカードＩ／Ｆ３７は、コネクタに装着されたメモリカード２９に対するデータの読み出しおよび書き込みを、ＣＰＵ３１の指示に応じて行う。本実施形態では、内側カメラ２３および外側カメラ２５によって撮像された画像データや他の装置から受信された画像データがメモリカード２８に書き込まれたり、メモリカード２８に記憶された画像データがメモリカード２８から読み出されて保存用データメモリ３４に記憶されたり、読み出された画像データがメモリカード２８から読み出されて他の装置へ送信されたりする。また、メモリカード２９に記憶された各種プログラムが、ＣＰＵ３１によって読み出されて実行されたりする。
【００５８】
なお、本発明のゲームプログラムは、メモリカード２９等の外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよい。また、ゲームプログラムは、コンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【００５９】
無線通信モジュール３８は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３９は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３８およびローカル通信モジュール３９は、ＣＰＵ３１に接続される。ＣＰＵ３１は、無線通信モジュール３８を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３９を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００６０】
また、ＣＰＵ３１には、ＲＴＣ４０および電源回路４１が接続される。ＲＴＣ４０は、時間をカウントしてＣＰＵ３１に出力する。例えば、ＣＰＵ３１は、ＲＴＣ４０によって計時された時間に基づいて、現在時刻（日付）等を計算することもできる。電源回路４１は、ゲーム装置１が有する電源（典型的には電池であり、下側ハウジング１１に収納される）から供給される電力を制御し、ゲーム装置１の各部品に電力を供給する。
【００６１】
また、ゲーム装置１は、マイク４３およびアンプ４４を備えている。マイク４３およびアンプ４４は、それぞれＩ／Ｆ回路４２に接続される。マイク４３は、ゲーム装置１に向かって発声されたユーザの音声を検知して、当該音声を示す音声信号をＩ／Ｆ回路４２に出力する。アンプ４４は、Ｉ／Ｆ回路４２から音声信号を増幅してスピーカ（図示せず）から出力させる。Ｉ／Ｆ回路４２は、ＣＰＵ３１に接続される。
【００６２】
また、タッチパネル１３は、Ｉ／Ｆ回路４２に接続される。Ｉ／Ｆ回路４２は、マイク４３およびアンプ４４（スピーカ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ３１に出力する。例えば、タッチ位置データは、タッチパネル１３の入力面に対して入力が行われた位置（タッチ位置）の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ３１は、Ｉ／Ｆ回路４２を介してタッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００６３】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｋから構成され、ＣＰＵ３１に接続される。操作ボタン１４からＣＰＵ３１へは、各操作ボタン１４Ａ〜１４Ｋに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【００６４】
内側カメラ２３および外側カメラ２５は、それぞれＣＰＵ３１に接続される。内側カメラ２３および外側カメラ２５は、ＣＰＵ３１の指示に応じて画像を撮像し、撮像した画像データをＣＰＵ３１に出力する。本実施形態では、ＣＰＵ３１は、内側カメラ２３および外側カメラ２５のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラが画像を撮像して画像データをＣＰＵ３１に送る。
【００６５】
第１ＧＰＵ４５には第１ＶＲＡＭ４７が接続され、第２ＧＰＵ４６には第２ＶＲＡＭ４８が接続される。第１ＧＰＵ４５は、ＣＰＵ３１からの指示に応じて、メインメモリ３２に記憶されている表示画像を生成するためのデータに基づいて第１の表示画像を生成し、第１ＶＲＡＭ４７に描画する。第２ＧＰＵ４６は、第１ＧＰＵ４５と同様に、ＣＰＵ３１からの指示に応じて第２の表示画像を生成し、第２ＶＲＡＭ４８に描画する。第１ＶＲＡＭ４７および第２ＶＲＡＭ４８は、ＬＣＤコントローラ４９に接続されている。
【００６６】
ＬＣＤコントローラ４９は、レジスタ４９１を含む。レジスタ４９１は、ＣＰＵ３１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ４９は、レジスタ４９１の値が０の場合は、第１ＶＲＡＭ４７に描画された第１の表示画像を下側ＬＣＤ１２に出力し、第２ＶＲＡＭ４８に描画された第２の表示画像を上側ＬＣＤ２２に出力する。また、レジスタ４９１の値が１の場合は、第１ＶＲＡＭ４７に描画された第１の表示画像を上側ＬＣＤ２２に出力し、第２ＶＲＡＭ４８に描画された第２の表示画像を下側ＬＣＤ１２に出力する。例えば、ＣＰＵ３１は、内側カメラ２３および外側カメラ２５のいずれかから取得した画像を下側ＬＣＤ１２に表示させ、所定の処理によって生成した操作説明画面を上側ＬＣＤ２２に表示させることも可能である。
【００６７】
［ゲーム処理の概要］
次に、図３から図１５を参照して、本実施形態に係るゲームプログラムによって実行されるゲーム処理の概要について説明する。本ゲーム処理は、仮想のゲーム空間に登場する２つのオブジェクトをタッチパネル１３で操作するゲームを実行するものである。
【００６８】
図３は、本実施形態におけるゲーム処理によって表示装置（下側ＬＣＤ１２）に表示されるゲーム画像を示す図である。図３に示すように、下側ＬＣＤ１２には、仮想のゲーム空間の一部の領域を表すゲーム空間画像が表示される。具体的には、第１オブジェクト５１、第２オブジェクト５２、および軌跡マーク５３を含むゲーム空間画像が表示される。本実施形態では、ゲーム装置１は、仮想のゲーム空間の一部領域を表すゲーム空間画像と、ゲーム空間画像により表される領域よりも広い領域を表すマップ画像とを表示することが可能である。図３に示すゲーム画像はゲーム空間画像に相当し、後出する図１０に示すゲーム画像がマップ画像に相当する。また、本実施形態では、ゲーム空間画像に重ねて切替アイコン５４が表示される。切替アイコン５４の機能については後述する。なお、下側ＬＣＤ１２には、上記ゲーム空間画像に加えて、タッチパネル１３を用いて入力された軌跡および追従アイコン（後述）等が状況に応じて表示されることもある。
【００６９】
図３に示すように、仮想のゲーム空間には、第１オブジェクト５１と第２オブジェクト５２という２つのオブジェクトが登場する。第１および第２オブジェクト５１および５２は、プレイヤの操作対象となるオブジェクトである。本実施形態では、プレイヤは、タッチパネル１３を用いて各オブジェクト５１および５２を操作する。第１オブジェクト５１は、タッチパネル１３の入力面においてプレイヤがタッチした位置（タッチ位置）、あるいは、当該入力面上にプレイヤが入力した軌跡によって動作が制御される。第２オブジェクト５２は、上記軌跡に沿って移動するように動作が制御される。
【００７０】
図４は、プレイヤ操作によって第１オブジェクト５１が動作する様子を表すゲーム画像を示す図である。本実施形態では、第１オブジェクト５１に対する操作は、タッチパネル１３を用いて行われる。第１オブジェクト５１に対する操作は、（上記マップ画像ではなく）上記ゲーム空間画像に対して行われる。ここで、図４に示すように、ゲーム空間画像における第２オブジェクト５２の位置には軌跡マーク５３が表示される。第１オブジェクト５１を操作する場合、プレイヤは、軌跡マーク５３以外のゲーム空間内の位置を始点とする入力を行う。例えば、図４に示すように、ゲーム空間内における位置をタッチする入力をプレイヤが行った場合、ゲーム装置１は、タッチ位置に対応する（ゲーム空間内の）位置へ向かって第１オブジェクト５１を移動させる。なお、タッチパネル１３を用いた第１オブジェクト５１の操作は、図４に示す操作に限らずどのような操作であってもよい。例えば、ゲーム装置１は、タッチパネル１３に入力された軌跡に応じて攻撃やジャンプといった動作を第１オブジェクト５１に行わせるようにしてもよい。なお、第１オブジェクト５１の操作中においては、図５に示されるように、ゲーム装置１は追従アイコン５５をゲーム空間画像に重ねて下側ＬＣＤ１２に表示する。追従アイコン５５の機能については後述する。
【００７１】
図５は、第２オブジェクト５２を操作するための軌跡５６をプレイヤが入力している場合のゲーム画像を示す図である。第２オブジェクト５２を操作する場合も第１オブジェクト５１を操作する場合と同様、プレイヤは、ゲーム空間画像に対してタッチパネル１３によって入力を行う。第２オブジェクト５２を操作する場合、プレイヤは、図５に示すように、上記軌跡マーク５３の位置を始点として軌跡５６を入力する。入力された軌跡５６はゲーム空間画像に重ねて下側ＬＣＤ１２に表示される。また、本実施形態では、図５に示すように、軌跡５６の入力中においては、ゲーム装置１は軌跡５６の終端に矢印を付して表示する。
【００７２】
図６は、入力された軌跡５６に沿って第２オブジェクト５２が移動する様子を表すゲーム画像を示す図である。図６に示すように、軌跡５６の入力が終了すると、ゲーム装置１は、軌跡５６に沿って第２オブジェクトを移動させる。このように、本実施形態では、（マップ画像ではなく）ゲーム空間画像に対して軌跡５６の入力が行われ、入力された軌跡５６に沿って第２オブジェクトが移動する様子は当該ゲーム空間画像において表される。なお、本実施形態では、入力中の軌跡と入力が完了した軌跡とをプレイヤが容易に区別することができるように、ゲーム装置１は、入力が完了した軌跡５６の終端に矢印ではなく丸印を付して表示する。
【００７３】
なお、本実施形態においては、第２オブジェクト５２が軌跡５６に沿って移動している途中においても、プレイヤは第１オブジェクト５１を操作することが可能である。図７は、第２オブジェクト５２が移動している間に第１オブジェクト５１が操作される場合のゲーム画像を示す図である。図７に示すように、第２オブジェクト５２が軌跡５６に沿って移動している時にプレイヤがゲーム空間内における軌跡マーク５３以外の位置をタッチする入力をプレイヤが行った場合、ゲーム装置１は、タッチ位置に対応する位置へ向かって第１オブジェクト５１を移動させる。このように、本実施形態では、第１オブジェクト５１の操作中においても、第２オブジェクト５２は移動を継続する。つまり、第２オブジェクト５２の移動中においては、プレイヤは、第１オブジェクト５１と第２オブジェクト５２の両方を移動させることができる。また、本実施形態では、第２オブジェクト５２の移動中においても軌跡５６が表示されている（図７）ので、プレイヤは、第２オブジェクト５２の移動経路を予測しつつ、第１オブジェクト５１を操作することができる。
【００７４】
以上のように、本実施形態では、ゲーム装置１は、マップ画像ではなく、仮想ゲーム空間における一部領域を表すゲーム空間画像において、各オブジェクト５１および５２の操作を受け付ける。すなわち、ゲーム装置１は、ゲーム空間画像内の第１オブジェクト５１の動作をプレイヤの操作に応じて制御する（図４、図７）。また、ゲーム装置１は、タッチパネル１３によってゲーム空間画像上に入力された軌跡を検出し、ゲーム空間画像内の第２オブジェクト５２を軌跡に沿って移動させる（図５、図６）。これによれば、プレイヤは、２つのオブジェクトを同一画像上で操作することができ、画面を切り替える操作が必要ない。そのため、プレイヤは、軌跡を用いて第２オブジェクト５２を移動させる操作を簡単に行うことができ、操作性の良いゲームを提供することができる。
【００７５】
また、本実施形態では、ゲーム装置１は、タッチパネル１３によってゲーム空間画像上に行われた入力に応じて第１オブジェクト５１の動作を制御する。つまり、プレイヤは、第１オブジェクト５１および第２オブジェクト５２の両方をタッチパネル１３によって操作することができる。例えば第１オブジェクト５１を操作ボタンで操作する場合には、プレイヤは、第１オブジェクト５１と第２オブジェクト５２との間で操作対象を変更する際にタッチペンを持ち替える等の手間がかかる。これに対して、本実施形態では、２つのオブジェクトを単一の入力装置で操作できるので、２つのオブジェクトを容易に操作することができる。
【００７６】
ここで、第１オブジェクト５１および第２オブジェクト５２の両方をタッチパネル１３によって操作する場合には、タッチ入力がいずれのオブジェクトに対する操作であるかを判別する必要がある。そこで、ゲーム装置１は、ゲーム空間画像上に行われた入力の開始位置が所定の指示領域（軌跡マーク５３内の領域）の内側に位置する場合、当該入力により示される軌跡に沿って第２オブジェクト５２を移動させ（図５，図６）、当該入力の開始位置が上記指示領域の外側に位置する場合、当該入力に応じて第１オブジェクト５１の動作を制御する（図４）。つまり、ゲーム装置１は、タッチパネル１３に対して行われた入力の開始位置が指示領域の内側であるか外側であるかによって、当該入力に従って第２オブジェクト５２を制御するか第１オブジェクト５１を制御するかを決定する。したがって、本実施形態によれば、プレイヤは、操作対象を切り替えるためだけの操作を行う必要がなく、２つのオブジェクトの操作が簡易になる。また、１回のタッチ入力に応じて２つのオブジェクトの両方が動作すると、プレイヤは２つのオブジェクトを同時に意識して操作を行わなければならず、操作が困難になってしまう。これに対して、本実施形態によれば、（後述する、第２オブジェクト５２が第１オブジェクト５１を追従する場合を除き）１回のタッチ入力に対して２つのオブジェクトの両方が反応することがないので、プレイヤは２つのオブジェクトを容易に操作することができる。
【００７７】
さらに、本実施形態では、ゲーム装置１は、上記指示領域を表す画像として上記軌跡マーク５３を第２オブジェクト５２の上に重ねて表示する。ここで、仮に指示領域が表示されないとすれば、いずれのオブジェクトを操作するかを示す境界がプレイヤにとってわからなくなるので、プレイヤが操作を誤ってしまうおそれがある。例えば、プレイヤが（第２オブジェクト５２を操作しようとして）第２オブジェクト５２の近傍の位置に対してタッチ入力を行ったものの、実際にはタッチ位置が指示領域の外側である結果、ゲーム装置１は第１オブジェクト５１を動作させてしまうことがあり得る。これに対して、本実施形態では、上記軌跡マーク５３を第２オブジェクト５２の上に重ねて表示することによって、上記境界を明確に表示することができる。したがって、２つのオブジェクトを同一画像上で操作する場合であっても、プレイヤが意図しないオブジェクトが操作されてしまう誤操作を防止することができる。
【００７８】
また、本実施形態では、プレイヤは、第２オブジェクト５２が軌跡に沿って移動している途中で軌跡を変更することが可能である。図８および図９は、第２オブジェクト５２の移動途中で軌跡を変更する操作を行った場合のゲーム画像を示す図である。図６および図７にも示したように、第２オブジェクト５２が軌跡５６に沿って移動する時、ゲーム装置１は、軌跡マーク５３を第２オブジェクト５２とともに軌跡５６に沿って移動させる。この時において軌跡を変更する場合、プレイヤは、図８に示すように、軌跡マーク５３の位置を始点とする新たな入力を行う。当該新たな入力が行われると、ゲーム装置１は、当該入力が行われる前に表示されていた軌跡５６を消去する（図８では、消去される軌跡５６を点線で示している）。また、第２オブジェクト５２は停止する。続いてプレイヤは、図９に示すように、軌跡マーク５３の位置を始点とする新たな軌跡５７を入力する。軌跡５７の入力が終了すると、ゲーム装置１は、新たな軌跡５７に沿って第２オブジェクト５２を移動させる。以上のように、ゲーム装置１は、第２オブジェクト５２が軌跡５６に沿って移動している間に、軌跡マーク５３内を開始位置とする新たな入力が行われた場合、当該新たな入力により示される軌跡５７に沿って第２オブジェクト５２を移動させる。これによって、プレイヤは、第２オブジェクト５２を移動させるための軌跡を容易に変更することができる。また、本実施形態においては、第２オブジェクト５２とともに移動する軌跡マーク５３が表示されるので、プレイヤは、この軌跡マーク５３を目標に入力を行えばよく、軌跡の変更を行う場合においても上述の誤操作を防止することができる。
【００７９】
また、本実施形態では、プレイヤは、軌跡に沿って第２オブジェクト５２を移動させるだけでなく、第１オブジェクト５１に追従するように第２オブジェクト５２を移動させることも可能である。具体的には、第１オブジェクト５１に追従するように第２オブジェクト５２を移動させる場合、プレイヤは、上記追従アイコン５５（図４または図７）に対してタッチパネル１３を用いて入力を行う（追従アイコン５５の位置をタッチする）。追従アイコン５５に対して入力が行われた場合、ゲーム装置１は、第１オブジェクト５１の位置に基づいて第２オブジェクト５２の移動を制御する。具体的には、第１オブジェクト５１に追従するように第２オブジェクト５２の移動を制御する。したがって、本実施形態では、第２オブジェクト５２が第１オブジェクト５１から離れてしまった場合でも、第２オブジェクト５２を第１オブジェクト５１の近傍へと容易に移動させることができる。なお、本実施形態では、ゲーム装置１は、開始位置が軌跡マーク５３の内側となる入力がゲーム空間画像上に行われている間は少なくとも消去する。すなわち、第１オブジェクト５１が操作されている間は追従アイコン５５は表示されず（図４、図７）、第２オブジェクト５２が操作されている間は追従アイコン５５が表示される（図５、図６）。このように、本実施形態では、追従アイコン５５は必要でない場合には表示されないので、プレイヤの誤操作を防止することができるとともに、プレイヤにとって見やすいゲーム画像を提供することができる。
【００８０】
また、本実施形態では、プレイヤは、各オブジェクト５１および５２のうちで操作対象となるオブジェクトを切り替えることができる。具体的には、オブジェクトの切替を行う場合、プレイヤは、上記切替アイコン５４（図３等）に対してタッチパネル１３を用いて入力を行う（切替アイコン５４の位置をタッチする）。切替アイコン５４に対して入力が行われた場合、ゲーム装置１は、下側ＬＣＤ１２に表示されるゲーム空間画像内に第１オブジェクト５１が含まれるように表示領域が設定される状態と、ゲーム空間画像内に第２オブジェクトが含まれるように表示領域が設定される状態とを切り替える。本実施形態では、第１および第２オブジェクト５１および５２のいずれかが下側ＬＣＤ１２の表示領域の外側へ移動してしまい、両方のオブジェクトを同時に下側ＬＣＤ１２に表示することができない場合がある。このような場合であっても、プレイヤは、各オブジェクト５１および５２のうちで表示したいオブジェクト（操作したいオブジェクト）を下側ＬＣＤ１２に容易に表示させることができる。
【００８１】
また、本実施形態では、ゲーム装置１は、上側ＬＣＤ２２に、上記ゲーム空間画像により表される領域よりも広い領域を表すマップ画像を表示する。図１０は、ゲーム装置１の上側ＬＣＤ２２に表示されるゲーム画像を示す図である。図１０に示されるように、上側ＬＣＤ２２には、マップ画像に重ねて、第１オブジェクト５１を表すマーク６１と、第２オブジェクトを表すマーク６２とが表示される。さらに、第２オブジェクト５２を移動させるための軌跡が入力されている場合には、マップ画像に重ねて当該軌跡６３が表示される。これによって、プレイヤは、入力した軌跡をマップ画像上でも確認することができる。
【００８２】
また、本実施形態では、ゲーム装置１は、軌跡に沿って移動している第２オブジェクト５２に所定の動作を行わせることがある。ここでは、第２オブジェクト５２が軌跡の移動の途中で行う動作を「途中動作」と呼ぶ。図１１は、第２オブジェクト５２が軌跡５６を移動している途中のゲーム画像を示す図である。なお、図１１では、図面を見やすくする目的で第１オブジェクト５１が表示されていないゲーム画像を記載するが、第１オブジェクト５１がゲーム画像内に含まれていてもよい（図１２〜図１５についても同様）。
【００８３】
図１１では、軌跡５６を移動している第２オブジェクト５２の近くに敵オブジェクト６６が存在している。第２オブジェクト５２は、軌跡５６の移動中において敵オブジェクト６６に近づくと、敵オブジェクト６６を攻撃する途中動作を行う。以下では、途中動作を行う目標となるオブジェクトを、「目標オブジェクト」と呼ぶ。目標オブジェクトは、図１１に示すような敵オブジェクト６６であってもよいし、アイテムのオブジェクトであってもよいし、ゲーム空間に配置される岩等の移動不可能なオブジェクトであってもよい。目標オブジェクトに対する第２オブジェクト５２の途中動作の制御は、プレイヤによる操作によって行われるのではなく、ゲーム装置１によって自動的に行われる。
【００８４】
図１２は、途中動作を第２オブジェクト５２が終了した時点におけるゲーム画像を示す図である。図１２においては、第２オブジェクト５２は、敵オブジェクト６６に対する途中動作を終了した（敵オブジェクト６６を倒した）時点で、軌跡５６から離れた位置に存在する。途中動作は軌跡５６に基づかずに行われるので、途中動作が終了した時点における第２オブジェクト５２の位置は、図１２に示すように、軌跡５６から離れている場合がある。この場合、ゲーム装置１は、第２オブジェクト５２を軌跡５６上の位置に復帰（移動）させ、さらに、軌跡５６に沿った移動を再開させる。
【００８５】
具体的には、上記途中動作が終了すると、ゲーム装置１は、動作を終了したオブジェクトが軌跡５６に復帰する位置である復帰位置を決定する。なお、詳細は後述するが、本実施形態では、復帰位置は、途中動作を終了したオブジェクトの位置と、ゲーム空間内における軌跡５６の位置とに基づいて決定される。そして、ゲーム装置１は、途中動作を終了した第２オブジェクト５２を復帰位置へと復帰（移動）させてから、軌跡５６に沿った移動を再開させる。このようにして、第２オブジェクト５２による軌跡５６に沿った移動は、第２オブジェクト５２が途中動作を行った場合でも、軌跡５６の終点まで行われる。
【００８６】
以上より、本実施形態によれば、第２オブジェクト５２が軌跡５６を離れて途中動作を行った場合であっても、第２オブジェクト５２は軌跡５６に沿った移動を再開する。したがって、プレイヤは、途中動作が行われた場合であっても、軌跡を再度入力する必要がなく、途中動作が行われる前に入力した軌跡の終端まで第２オブジェクト５２を移動させることができる。そのため、本実施形態によれば、途中動作が行われる度に軌跡を入力する必要があった従来技術に比べて、オブジェクトを移動させるための軌跡を簡易な操作でプレイヤに入力させることができる。
【００８７】
次に、上記復帰位置を決定する処理について説明する。なお、本実施形態では、ゲーム装置１は、復帰位置を決定する処理において、当該処理を簡易化・高速化を図る目的で、軌跡５６上から選出される複数の登録ポイントを用いる。すなわち、ゲーム装置１は、軌跡５６を構成する各点のうち、所定時間間隔で入力された１以上の点を登録ポイントとして記憶しておく。図１１〜図１５に示す点Ｐ１〜点Ｐ１０は、それぞれ、登録ポイントを示している。上記復帰位置は、これら登録ポイントのうちから選出される。
【００８８】
上記途中動作が行われる場合、ゲーム装置１は、途中動作が開始された時点における第２オブジェクト５２の位置（登録ポイント）を「元ポイント」として記憶しておく。ここでは、第２オブジェクト５２がすでに通過した登録ポイントのうちで、途中動作の開始時点における位置に最も近い登録ポイントが元ポイントして記憶される。図１１に示す例では、途中動作の開始時点における第２オブジェクト５２の位置は登録ポイントＰ２とＰ３との間であるので、登録ポイントＰ２が元ポイントとして記憶される。
【００８９】
途中動作が終了した場合、ゲーム装置１は、途中動作を終了した時点における第２オブジェクト５２の位置から最短時間で到達することができる登録ポイントを「最短ポイント」として選出する。図１２においては、途中動作を終了した時点における位置から最近の登録ポイントＰ６が「最短ポイント」として選出される。
【００９０】
上記最短ポイントを選出すると、ゲーム装置１は、最短ポイントが軌跡上において上記元ポイント以降の位置であるか否かを判定する。ここで、本明細書では、軌跡上における前後を、第２オブジェクト５２が軌跡上の位置を通過する時間（時刻）を基準に表現する。つまり、「位置Ａが位置Ｂ以降である」とは、「第２オブジェクト５２が位置Ａを通過した後で位置Ｂを通過する」ことを意味する。また、「最短ポイントが元ポイントより前の位置にある」とは、「第２オブジェクト５２が最短ポイントをすでに通過した」ことを意味する。
【００９１】
最短ポイントが元ポイント以降の位置である場合、ゲーム装置１は、最短ポイントの位置を復帰位置（復帰ポイント）に決定する。したがって、途中動作を終了した第２オブジェクト５２は、最短ポイントへ移動した後、軌跡５６に沿って移動を再開することとなる。例えば図１２の場合には、最短ポイントＰ６は元ポイントＰ２より後に位置するので、第２オブジェクト５２は最短ポイントＰ６へ移動し、軌跡５６に沿った移動を最短ポイントＰ６から再開する。
【００９２】
このように、本実施形態においては、ゲーム装置１は、途中動作を終了した第２オブジェクト５２の位置からの到達時間（または到達距離）に基づいて復帰位置を決定する。具体的には、図１２の場合であれば、途中動作を終了した位置から最も短い時間で到達できる登録ポイントが復帰ポイントとなる。ここで、仮に、図１２に示すゲーム状態において上記元ポイントの位置を復帰ポイントとした場合には、第２オブジェクト５２は、すでに登録ポイントＰ６の付近まで進んでいたにもかかわらず、現在位置（途中動作を終了した位置）から離れた元ポイントＰ２の位置まで戻って、元ポイントＰ２から登録ポイントＰ６の位置へと進むことになる。上記の場合、第２オブジェクト５２は非効率に移動を行ったことになり、移動に要する時間もかかってしまうため、プレイヤがいらいら感を募らせることになる。これに対して、本実施形態によれば、第２オブジェクト５２を迅速に軌跡５６に復帰させることができ、第２オブジェクト５２を効率良く移動させることができる。
【００９３】
なお、本実施形態においては、上記最短ポイントは、途中動作を終了した時点における第２オブジェクト５２の位置から最短時間で到達することができる登録ポイントである。したがって、途中動作を終了した時点における位置と、当該位置から最も近い距離にある登録ポイントとの間に障害物等が存在する場合には、当該登録ポイントが最短ポイントにならない場合がある。図１３は、途中動作を第２オブジェクト５２が終了した時点におけるゲーム画像の他の例を示す図である。図１３においては、途中動作を終了した時点における第２オブジェクト５２の位置と、当該位置から最も近い登録ポイントＰ３との間には、池６７（ここでは、第２オブジェクト５２は池を通過することができないものとする）が存在する。このとき、ゲーム装置１は、池６７を迂回しなければ到達できない登録ポイントＰ３〜Ｐ５を除外して、登録ポイントＰ１〜Ｐ１０のうちから最短ポイントを選出する。その結果、図１３の場合においては、登録ポイントＰ７が最短ポイントとして選出される。このように、途中動作を終了した位置からの到達時間に基づいて最短ポイントを選出することによって、第２オブジェクト５２が最短時間で到達することができる登録ポイントをより正確に選出することができる。
【００９４】
なお、本実施形態においては、ゲーム装置１は、最短ポイントの位置を常に復帰ポイントとするのではなく、状況に応じて元ポイントの位置を復帰ポイントとする。すなわち、最短ポイントが元ポイントよりも前の位置である場合（最短ポイントが元ポイント以降の位置でない場合）、ゲーム装置１は、元ポイントを復帰ポイントに決定する。図１４は、途中動作を第２オブジェクト５２が終了した時点におけるゲーム画像の他の例を示す図である。図１４においては、最短ポイントは登録ポイントＰ１であり、元ポイントは登録ポイントＰ２であるとする。このとき、登録ポイントＰ２が復帰ポイントに決定され、途中動作を終了した第２オブジェクト５２は、登録ポイントＰ２へ移動した後、軌跡５６に沿って移動を再開する。
【００９５】
このように、本実施形態においては、ゲーム装置１は、（第２オブジェクト５２の進行方向に関して）元ポイント以降の位置となるように復帰位置（復帰ポイント）を決定する。ここで、仮に、図１４に示すゲーム状態において上記最短ポイントである登録ポイントＰ１を復帰ポイントに決定した場合には、第２オブジェクト５２は、登録ポイントＰ１から登録ポイントＰ２までを再度通過することになる。したがって、第２オブジェクト５２が同じ軌跡を２度通過するという非効率な移動を行うために、プレイヤがいらいら感を募らせるおそれがある。これに対して、本実施形態によれば、第２オブジェクト５２は、一度通過したことがある軌跡の部分を再度通過することがないので、第２オブジェクト５２を効率良く移動させることができる。
【００９６】
なお、他の実施形態においては、ゲーム装置１は、上記最短ポイントを常に復帰位置として決定してもよいし、あるいは、上記元ポイントを常に復帰位置として決定してもよい。例えば、ゲームの設定上、第２オブジェクト５２を軌跡上に早く復帰させる必要がある場合（例えば、軌跡上に位置する間のみ敵キャラクタを攻撃できる等）には、最短ポイントを常に復帰位置とすることが有効である。また、プレイヤによって入力された軌跡に対して忠実に第２オブジェクト５２を移動させたい場合には、元ポイントを常に復帰位置とすることが有効である。
【００９７】
また、本実施形態では、上記目標オブジェクトのうちには、途中動作として所定のイベント動作を行わせるものがある。ここでは、所定のイベント動作を行わせる目標オブジェクトを、イベントオブジェクトと呼び、イベントオブジェクトの位置をイベント位置と呼ぶ。ゲーム装置１は、ゲーム空間内に設定されるイベント位置と第２オブジェクト５２の位置とが所定の位置関係になった場合に、途中動作として第２オブジェクト５２にイベント動作を行わせるのである。なお、上記目標オブジェクトの全てがイベントオブジェクトに設定されるわけではなく、予め定められた特定の目標オブジェクトのみがイベントオブジェクトとして設定される。例えば、敵オブジェクトや通常のアイテムのオブジェクトはイベントオブジェクトに設定されなくてもよく、ゲーム進行上重要なアイテムや仕掛けのオブジェクトがイベントオブジェクトに設定される。例えば、ゲームを進行させるために取得しなければならないアイテムのオブジェクトや、それを開けなければ先に進むことができない扉を開けるためのスイッチのオブジェクトは、イベントオブジェクトに設定される。
【００９８】
ここで、本実施形態では、ゲーム装置１は、復帰位置を決定する際、軌跡上の位置のうちで、第２オブジェクト５２が上記イベント動作を行う位置以前の位置となるように復帰位置を決定する。以下、詳細を説明する。
【００９９】
ゲーム装置１は、軌跡上の位置（登録ポイント）のうちで、第２オブジェクト５２が上記イベント動作を行う位置を優先ポイントとして設定する。つまり、優先ポイントとは、イベントオブジェクトがその近傍に存在する登録ポイントであり、換言すれば、その位置を第２オブジェクト５２が通過するとイベント動作が行われる登録ポイントである。
【０１００】
図１５は、優先ポイントが設定される場合におけるゲーム画像を示す図である。図１５においては、ゲーム空間に、イベントオブジェクトである壺のオブジェクト６８および宝箱のオブジェクト６９が配置されている。また、第２オブジェクト５２が壺のオブジェクト６８に近づいた場合、第２オブジェクト５２は途中動作として壺から鍵を取る動作を行い、第２オブジェクト５２が宝箱のオブジェクト６９に近づいた場合、第２オブジェクト５２は途中動作として鍵を用いて宝箱を開ける動作を行うものとする。図１５においては、壺のオブジェクト６８の近傍を通ってから宝箱のオブジェクト６９の近傍を通る軌跡５６がプレイヤによって入力されている。このとき、ゲーム装置１は、壺のオブジェクト６８が所定距離内に含まれる登録ポイントＰ４、および、宝箱のオブジェクト６９が所定距離内に含まれる登録ポイントＰ１０を、優先ポイントとして設定する。
【０１０１】
また、図１５に示すゲーム状態は、登録ポイントＰ２を元ポイントとする途中動作が第２オブジェクト５２によって行われ、当該途中動作が終了した状態であるとする。このとき、ゲーム装置１は、上述したように、登録ポイントＰ６を最短ポイントに決定し、最短ポイントが元ポイントより前の位置である場合には、元ポイントを復帰ポイントに決定する。
【０１０２】
ここで、もし最短ポイントＰ６が復帰ポイントに決定された場合には、第２オブジェクト５２が優先ポイントをスキップして移動することになるので、第２オブジェクト５２は壺から鍵を取る動作を行わなくなる。しかしながら、図１５に示す軌跡５６が入力された場合には、プレイヤは、まず壺から鍵を取って、それから宝箱の所に向かって宝箱を開ける動作を第２オブジェクト５２に行わせるべく、軌跡５６を入力したと推測される。したがって、途中動作を終了した第２オブジェクトが軌跡に復帰する際に、第２オブジェクト５２が優先ポイントをスキップしてしまうと、プレイヤの意図に反して第２オブジェクト５２の動作が行われてしまうことになる。
【０１０３】
そこで、本実施形態では、ゲーム装置１は、優先ポイント以前の位置となるように復帰ポイントを決定する。すなわち、ゲーム装置１は、（最短ポイントが元ポイントより前の位置でない場合、）最短ポイントが優先ポイントより後の位置であるか否かを判定する。そして、最短ポイントが優先ポイントより後の位置である場合、ゲーム装置１は、最短ポイントを復帰ポイントにはせず、元ポイントを復帰ポイントに決定する。また、最短ポイントが優先ポイント以前の位置である場合（最短ポイントが優先ポイントより後の位置でない場合）、ゲーム装置１は、最短ポイントを復帰ポイントに決定する。したがって、図１５に示す場合においては、最短ポイントＰ６が優先ポイントＰ４よりも後の位置であるので、元ポイントＰ２が復帰ポイントとなる。これによれば、途中動作を行った第２オブジェクト５２が優先ポイントをスキップして優先ポイント以降の登録ポイントへ復帰することがないので、第２オブジェクト５２は優先ポイントを確実に通過することとなる。そのため、プレイヤの意図に適合した動作を第２オブジェクト５２に行わせることができ、操作性の良いゲームを提供することができる。
【０１０４】
［ゲーム処理の詳細］
以下、図１６〜図２３を参照して、本実施形態に係るゲームプログラムによって実行されるゲーム処理の詳細について説明する。まず、ゲーム処理において用いられる各種データについて説明する。図１６は、ゲーム装置１のメインメモリ３２に記憶されるデータを示す図である。図１６において、メインメモリ３２には、本実施形態に係るゲームプログラム７１およびゲーム処理用データ７２が記憶される。
【０１０５】
ゲームプログラム７１は、後述するゲーム処理（図１７）をゲーム装置１のＣＰＵ３１に実行させるためのプログラムである。ゲームプログラム７１は、メモリカード２９から適宜のタイミングで読み込まれることによってメインメモリ３２に記憶されてもよいし、ゲーム装置１の外部との通信によって取得されることによってメインメモリ３２に記憶されてもよい。
【０１０６】
ゲーム処理用データ７２は、後述するゲーム処理（図１７）において用いられるデータである。ゲーム処理用データ７２は、タッチ入力データ７３、入力軌跡データ７４、登録軌跡データ７５、登録ポイントデータ７６、元ポイントデータ７７、最短ポイントデータ７８、優先ポイントデータ７９、復帰ポイントデータ８０、第１オブジェクトデータ８１、第２オブジェクトデータ８２、軌跡マークデータ８３、軌跡表示フラグデータ８４、追従フラグデータ８５、操作対象フラグデータ８６、および、動作フラグデータ８７を含む。なお、ゲーム処理用データ７２は、図１６に示すデータの他、ゲームに登場する各種オブジェクトおよびアイコンの画像データや、各種オブジェクトに設定されるパラメータを示すデータ等、ゲーム処理に必要なデータを含む。
【０１０７】
タッチ入力データ７３は、上記タッチ位置データとしてタッチパネル１３から取得されるデータである。具体的には、タッチ入力データ７３は、プレイヤがタッチパネル１３に対して入力を行った場合には、入力が行われた位置（タッチ位置）の座標を示し、プレイヤがタッチパネル１３に対して入力を行っていない場合には、入力が行われなかったことを示す。
【０１０８】
入力軌跡データ７４は、タッチパネル１３に対して入力されている軌跡を示すデータである。具体的には、入力軌跡データ７４は、連続して入力された１以上のタッチ位置の座標を（入力順に）示す。つまり、プレイヤがタッチパネル１３に対して軌跡を描く入力を行った場合、当該軌跡を構成する各点の座標を入力順に示すデータがタッチ入力データ７３としてメインメモリ３２に記憶される。
【０１０９】
登録軌跡データ７５は、第２オブジェクト５２を移動させるための軌跡として登録された軌跡を示すデータである。上述のように、本実施形態では、プレイヤが入力した軌跡の全てが第２オブジェクト５２の移動に用いられるわけではなく、始点が軌跡マーク５３の内側に位置する軌跡のみが第２オブジェクト５２の移動に用いられる。すなわち、プレイヤが入力した軌跡のうちで、始点が軌跡マーク５３の内側に位置する軌跡を示すデータは、登録軌跡データ７５としてメインメモリ３２に記憶される。
【０１１０】
登録ポイントデータ７６は、プレイヤによって入力された軌跡に設定される１以上の登録ポイントを示すデータである。具体的には、登録ポイントは、登録軌跡データ７５により示される（入力順に並んだ）各タッチ位置のうちから、所定個数間隔で１つ（例えば、１００個に１つ）を抽出した１以上のタッチ位置を示す。したがって、登録ポイントは、軌跡を構成する各点のうち、所定時間間隔で入力された点と言える。なお、他の実施形態においては、ゲーム装置１は、軌跡を構成する各点のうち、所定距離間隔で入力された点を登録ポイントとして抽出してもよい。また、本実施形態では、ゲーム装置１は、抽出された各登録ポイントに入力順に番号を付したデータを登録ポイントデータ７６として記憶しておく。
【０１１１】
元ポイントデータ７７は、上述した元ポイントを示すデータである。本実施形態では、各登録ポイントに番号が付されるので、元ポイントデータ７７は、元ポイントに付された番号を示すデータである。また、最短ポイントデータ７８は、上述した最短ポイントを示すデータであり、優先ポイントデータ７９は、上述した優先ポイントを示すデータであり、復帰ポイントデータ８０は、上述した復帰ポイントを示すデータである。元ポイントデータ７７と同様に、最短ポイントデータ７８、優先ポイントデータ７９、および復帰ポイントデータ８０は、登録ポイントに付された番号を示す。
【０１１２】
第１オブジェクトデータ８１は、第１オブジェクト５１に対して設定される各種パラメータを示すデータである。また、第２オブジェクトデータ８２は、第２オブジェクト５２に対して設定される各種パラメータを示すデータである。本実施形態では、上記パラメータには、ゲーム空間における第１オブジェクト５１（または第２オブジェクト５２）の位置を示す情報が含まれる。その他、上記パラメータには、第１オブジェクト５１（または第２オブジェクト５２）の体力値や能力値を示す情報が含まれていてもよい。
【０１１３】
軌跡マークデータ８３は、軌跡マーク５３の位置を示すデータである。本実施形態においては、軌跡マーク５３は、仮想のゲーム空間に配置されるオブジェクトであり、軌跡マークデータ８３は、ゲーム空間内の位置座標を示す。軌跡マーク５３の位置は、上記第２オブジェクトデータ８２により示される第２オブジェクト５２の位置に基づいて決定される。
【０１１４】
軌跡表示フラグデータ８４は、軌跡表示フラグの内容（オンであるかオフであるか）を示すデータである。軌跡表示フラグは、第２オブジェクト５２を移動させるための軌跡を表示するか否かを表す。すなわち、上記軌跡を表示する場合、軌跡表示フラグはオンに設定され、上記軌跡を表示しない場合、軌跡表示フラグはオフに設定される。
【０１１５】
追従フラグデータ８５は、追従フラグの内容（オンであるかオフであるか）を示すデータである。追従フラグは、第２オブジェクト５２に第１オブジェクト５１を追従させる指示がプレイヤによって行われているか否かを表す。すなわち、上記指示がプレイヤによって行われている場合、追従フラグはオンに設定され、上記指示がプレイヤによって行われている場合、追従フラグはオフに設定される。
【０１１６】
操作対象フラグデータ８６は、操作対象フラグの内容（オンであるかオフであるか）を示すデータである。操作対象フラグは、プレイヤの操作対象が第１オブジェクト５１および第２オブジェクト５２のいずれであるかを表す。すなわち、プレイヤの操作対象が第２オブジェクト５２である場合、操作対象フラグはオンに設定され、プレイヤの操作対象が第１オブジェクト５１である場合、操作対象フラグはオフに設定される。
【０１１７】
動作フラグデータ８７は、動作フラグの内容（オンであるかオフであるか）を示すデータである。動作フラグは、第２オブジェクト５２が上述の途中動作を行っているか否かを表す。すなわち、第２オブジェクト５２が途中動作を行っている場合、動作フラグはオンに設定され、第２オブジェクト５２が途中動作を行っていない場合、動作フラグはオフに設定される。
【０１１８】
次に、ゲーム装置１において行われるゲーム処理の詳細を、図１７〜図２３を用いて説明する。図１７は、ゲーム装置１において実行されるゲーム処理の流れを示すメインフローチャートである。電源ボタン１４Ｆが押下されることによってゲーム装置１の電源が投入されると、ゲーム装置１のＣＰＵ３１は、メインメモリ３２等の初期化を行った後、図１７に示すゲーム処理を行うためのゲームプログラム７１の実行を開始する。ゲームプログラム７１の実行によって、ＣＰＵ３１が請求項に記載の各手段として機能することとなる。つまり、ゲームプログラム７１は、請求項に記載の各手段としてＣＰＵ３１を機能させる。
【０１１９】
まずステップＳ１において、ＣＰＵ３１は初期処理を行う。具体的には、仮想のゲーム空間が構築され、ゲーム空間に登場する各オブジェクト（第１および第２オブジェクト５１および５２を含む）が初期位置に配置される。したがって、メインメモリ３２に記憶される第１オブジェクトデータ８１は、第１オブジェクト５１の初期位置を示すように設定され、第２オブジェクトデータ８２は、第２オブジェクト５２の初期位置を示すように設定される。また、ＣＰＵ３１は、各オブジェクトが上記初期位置に配置されたゲーム空間の画像が下側ＬＣＤ１２に表示し、当該ゲーム空間を含む所定領域のマップ画像が上側ＬＣＤ２２に表示する。さらに、ＣＰＵ３１は、ゲーム処理に用いられる各種パラメータや各種フラグについて初期値を設定する。ここでは、軌跡表示フラグデータ８４はオフを示すように設定され、追従フラグデータ８５はオフを示すように設定され、操作対象フラグデータ８６はオフを示すように設定され、動作フラグデータ８７はオフを示すように設定される。ステップＳ１の次にステップＳ２の処理が実行される。以下、ステップＳ２〜Ｓ９の処理ループは、所定時間（例えば１／６０秒）に１回の割合で実行される。
【０１２０】
ステップＳ２において、ＣＰＵ３１は、プレイヤによるゲーム操作の入力を受け付ける。具体的には、ＣＰＵ３１はタッチパネル１３からタッチ位置データを取得し、タッチ入力データ７３としてメインメモリ３２に記憶する。なお、本実施形態では、前回のステップＳ２において取得されたタッチ位置データがメインメモリ３２に保存（記憶）される。
【０１２１】
また、ステップＳ２においてはさらに、ＣＰＵ３１は、メインメモリ３２に記憶される入力軌跡データ７４を更新する処理を実行する。上述のように、入力軌跡データ７４は、連続して入力された１以上のタッチ位置の座標を（入力順に）示すものである。上記の更新処理は、タッチパネル１３によってゲーム空間画像上に入力された軌跡を検出するための処理である。具体的には、ＣＰＵ３１は、次に示す処理に従って入力軌跡データ７４を更新する。
【０１２２】
まず、ステップＳ２で取得されたタッチ位置データにより示されるタッチ位置が入力の開始位置である場合（前回のステップＳ２において取得されたタッチ位置データが、入力が行われなかったことを示す場合）、ＣＰＵ３１は、入力軌跡データ７４の内容をリセットする。具体的には、ＣＰＵ３１は、現在の入力軌跡データ７４の内容を消去し、ステップＳ２で取得されたタッチ位置データを、更新後の新たな入力軌跡データ７４としてメインメモリ３２に記憶する。一方、ステップＳ２で取得されたタッチ位置データにより示されるタッチ位置が入力の開始位置でない場合、ＣＰＵ３１は、当該タッチ位置が追加されるように入力軌跡データ７４を更新する。つまり、更新後の入力軌跡データ７４は、更新前の入力軌跡データ７４により示される１以上のタッチ位置に対して、ステップＳ２で取得されたタッチ位置データにより示されるタッチ位置を加えた内容を示すように更新される。なお、ステップＳ２で取得されたタッチ位置データが、タッチパネル１３に対する入力が行われなかったことを示す場合、入力軌跡データ７４の更新は行われない。
【０１２３】
上記ステップＳ２の次のステップＳ３において、ＣＰＵ３１は入力判別処理を実行する。入力判別処理は、プレイヤによるタッチ入力が、どのような指示を行うための入力操作であるか（例えば、第２オブジェクト５２を移動させるための入力操作であるか、第１オブジェクト５１に動作を行わせるための入力操作であるか等）を判別する処理である。以下、図１８を参照して、入力判別処理の詳細について説明する。
【０１２４】
図１８は、図１７に示す入力判別処理（ステップＳ３）の流れを示すフローチャートである。入力判別処理においては、まずステップＳ１１において、ＣＰＵ３１は、タッチ入力が開始されたか否かを判定する。ステップＳ１１の判定は、今回のタッチ位置データ（今回のステップＳ２において取得されたタッチ位置データ）と、前回のタッチ位置データ（前回のステップＳ２において取得されたタッチ位置データ）とを参照することにより行うことができる。すなわち、ＣＰＵ３１は、今回のタッチ位置データがタッチ位置を示し（入力が行われなかったことを示すものではなく）、かつ、前回のタッチ位置データが、入力が行われなかったことを示す場合、タッチ入力が開始されたと判定する。逆に、今回のタッチ位置データが、入力が行われなかったことを示す場合、あるいは、前回のタッチ位置データがタッチ位置を示す場合、タッチ入力が開始されていないと判定する。ステップＳ１１の判定結果が肯定である場合、ステップＳ１２の処理が実行される。一方、ステップＳ１１の判定結果が否定である場合、ＣＰＵ３１は入力判別処理を終了する。
【０１２５】
ステップＳ１２において、ＣＰＵ３１は、追従アイコン５５に対して入力が行われたか否かを判定する。ステップＳ１２の判定は、タッチパネル１３の入力面（下側ＬＣＤ１２の表示画面）上において、今回のタッチ位置（タッチ入力の開始位置）が、追従アイコン５５の領域内であるか否かによって行われる。すなわち、ＣＰＵ３１は、タッチ入力データ７３をメインメモリから読み出し、タッチ入力データ７３により示されるタッチ位置が、追従アイコン５５が表示される領域内であるか否かを判定する。なお、追従アイコン５５が表示される領域は、予め定められているものとする。ステップＳ１２の判定結果が肯定である場合、ステップＳ１３の処理が実行される。一方、ステップＳ１２の判定結果が否定である場合、後述するステップＳ１４の処理が実行される。
【０１２６】
ステップＳ１３において、ＣＰＵ３１は、追従フラグをオンに設定する。すなわち、メインメモリ３２に記憶されている追従フラグデータ８５の内容を、オンを示すように更新する。ステップＳ１３の後、ＣＰＵ３１は入力判別処理を終了する。
【０１２７】
一方、ステップＳ１４において、ＣＰＵ３１は、切替アイコン５４に対して入力が行われたか否かを判定する。ステップＳ１４の判定は、タッチパネル１３の入力面（下側ＬＣＤ１２の表示画面）上において、今回のタッチ位置が、切替アイコン５４の領域内であるか否かによって行われる。すなわち、ＣＰＵ３１は、タッチ入力データ７３をメインメモリから読み出し、タッチ入力データ７３により示されるタッチ位置が、切替アイコン５４の領域内であるか否かを判定する。なお、切替アイコン５４が表示される領域は、予め定められているものとする。ステップＳ１４の判定結果が肯定である場合、ステップＳ１５の処理が実行される。一方、ステップＳ１４の判定結果が否定である場合、後述するステップＳ１６の処理が実行される。
【０１２８】
ステップＳ１５において、ＣＰＵ３１は操作対象フラグを反転させる。すなわち、操作対象フラグデータ８６をメインメモリ３２から読み出し、その内容がオンであればオフとなるように、オフであればオンとなるように、操作対象フラグデータ８６の内容を更新する。ステップＳ１５の後、ＣＰＵ３１は入力判別処理を終了する。
【０１２９】
一方、ステップＳ１６において、ＣＰＵ３１は、軌跡マーク５３に対して入力が行われたか否かを判定する。ステップＳ１６の判定は、タッチパネル１３の入力面（下側ＬＣＤ１２の表示画面）上において、今回のタッチ位置が、軌跡マーク５３の領域内であるか否かによって行われる。ＣＰＵ３１は、タッチ入力データ７３および軌跡マークデータ８３をメインメモリから読み出す。そして、読み出したデータに基づいて、今回のタッチ位置が、軌跡マーク５３が表示される領域の内側であるか否かを判定する。ステップＳ１６の判定結果が肯定である場合、ステップＳ１７の処理が実行される。一方、ステップＳ１６の判定結果が否定である場合、ステップＳ１９の処理が実行される。
【０１３０】
ステップＳ１７において、ＣＰＵ３１は、軌跡表示フラグ、追従フラグ、および、操作対象フラグの内容を変更する。すなわち、ＣＰＵ３１は、メインメモリ３２に記憶されている軌跡表示フラグデータ８４の内容を、オンを示すように更新する。また、ＣＰＵ３１は、メインメモリ３２に記憶されている追従フラグデータ８５の内容を、オフを示すように更新する。さらに、ＣＰＵ３１は、メインメモリ３２に記憶されている操作対象フラグデータ８６の内容を、オンを示すように更新する。ステップＳ１７の次にステップＳ１８の処理が実行される。
【０１３１】
ステップＳ１８において、ＣＰＵ３１は、後述するステップＳ２４によって登録された軌跡がある場合、当該軌跡を削除する。すなわち、ＣＰＵ３１は、メインメモリ３２に記憶されている登録軌跡データ７５を削除する。また、このとき、ＣＰＵ３１は、登録軌跡データ７５とともに登録ポイントデータ７６も削除する。ステップＳ１８の後、ＣＰＵ３１は入力判別処理を終了する。
【０１３２】
一方、ステップＳ１９において、ＣＰＵ３１は、操作対象フラグをオフに設定する。すなわち、メインメモリ３２に記憶されている操作対象フラグデータ８６の内容を、オフを示すように更新する。ステップＳ１９の後、ＣＰＵ３１は入力判別処理を終了する。
【０１３３】
以上のように、入力判別処理においては、ＣＰＵ３１は、検出されたタッチ位置が入力の開始位置であるか否かを判定し（ステップＳ１１）、当該タッチ位置が入力の開始位置である場合、タッチ入力がどのような指示を行うための入力であるかを判別する。具体的には、ＣＰＵ３１は、次のように判別する。
・追従アイコン５５に対する入力である場合、第２オブジェクト５２を第１オブジェクト５１に追従させる指示と判別し、追従フラグをオンにする（ステップＳ１３）。
・切替アイコン５４に対する入力である場合、操作対象を切り替える指示と判別し、操作対象フラグを反転する（ステップＳ１４）。
・軌跡マーク５３に対する入力である場合、第２オブジェクト５２を軌跡に沿って移動させる指示と判別し、軌跡表示フラグおよび操作対象フラグをオンにし、追従フラグをオフにする（ステップＳ１７）。
・上記以外の場合（軌跡マーク５３、ならびに、各アイコン５４および５５以外のゲーム空間画像に対する入力である場合）、第１オブジェクト５１を動作させる指示と判別し、操作対象フラグをオフにする（ステップＳ１９）。
【０１３４】
なお、上記入力判定処理においては、ＣＰＵ３１は、プレイヤによる入力の開始位置が軌跡マーク５３の内側であるかであるかによって、当該入力に従って第２オブジェクト５２を制御するか第１オブジェクト５１を制御するかの選択を行った。ここで、他の実施形態においては、上記の選択は、入力の開始位置に限らず、任意の入力位置（入力途中の位置、および、入力が終了した時点の位置を含む）に基づいて行われてもよい。具体的には、ＣＰＵ３１は、タッチ入力が開始された場合（ステップＳ１１でＹｅｓ）だけでなく、入力が行われる領域が切り替わった（例えば、入力位置が軌跡マーク５３の内側から外側へ切り替わった）場合にも、ステップＳ１２〜Ｓ１９の処理を実行するようにしてもよい。これによれば、軌跡マーク５３の外側の領域に対してタッチ入力を行っていた後で、タッチ入力を継続したまま、軌跡マーク５３の内側の領域に対して入力を行った場合（タッチ入力を軌跡マーク５３の外側から内側へ移動させた場合）には、第１オブジェクト５１が動作を行った後に続けて、第２オブジェクト５２を移動させるための軌跡が入力されることになる。これによれば、プレイヤは、連続した入力で２つのオブジェクトを操作することができるようになる。ただし、プレイヤが軌跡マーク５３の外側から内側へタッチ入力を誤って移動させてしまう状況も考えられる。このような状況を考慮する場合には、本実施形態のように、入力の開始位置に基づいて上記選択を行うことが好ましい。
【０１３５】
図１７の説明に戻り、ステップＳ３の次のステップＳ４において、ＣＰＵ３１は、軌跡設定処理を実行する。軌跡設定処理は、プレイヤによって入力された軌跡のうちから、第２オブジェクト５２を移動させるための軌跡を設定（登録）するための処理である。以下、図１９を参照して、軌跡設定処理の詳細を説明する。
【０１３６】
図１９は、図１７に示す軌跡設定処理（ステップＳ４）の流れを示すフローチャートである。軌跡設定処理においては、まずステップＳ２１において、ＣＰＵ３１は、今回のステップＳ２においてタッチ入力が行われたか否かを判定する。なお、ステップＳ２１の判定は、タッチ入力データ７３がタッチ位置を示すか否かによって行うことができる。ステップＳ２１の判定結果が肯定である場合、ＣＰＵ３１は軌跡設定処理を終了する。一方、ステップＳ２１の判定結果が否定である場合、ステップＳ２２の処理が実行される。
【０１３７】
ステップＳ２２において、ＣＰＵ３１は、タッチ入力が終了した直後であるか否かを判定する。ステップＳ２２の判定は、前回のステップＳ２において取得されたタッチ位置データを参照することにより行うことができる。すなわち、ＣＰＵ３１は、前回のステップＳ２において取得されたタッチ位置データがタッチ位置を示す場合、タッチ入力が終了した直後であると判定し、当該タッチ位置データが入力が行われなかったことを示す場合、タッチ入力が終了した直後ではないと判定する。ステップＳ２２の判定結果が肯定である場合、ステップＳ２３の処理が実行される。一方、ステップＳ２２の判定結果が否定である場合、ＣＰＵ３１は軌跡設定処理を終了する。
【０１３８】
ステップＳ２３において、ＣＰＵ３１は、操作対象フラグデータ８６をメインメモリ３２から読み出して参照し、操作対象フラグがオンに設定されているか否かを判定する。ステップＳ２３の判定処理は、現在入力中である軌跡が、軌跡マーク５３内の領域を開始位置とするものであるか否か、換言すれば、第２オブジェクト５２を移動させるための軌跡であるか否かを判定するための処理である。ステップＳ２３の判定結果が肯定である場合、ステップＳ２４の処理が実行される。一方、ステップＳ２３の判定結果が否定である場合、ＣＰＵ３１は軌跡設定処理を終了する。
【０１３９】
ステップＳ２４において、ＣＰＵ３１は、プレイヤによって入力された軌跡を、第２オブジェクト５２を移動させるための軌跡として設定する。具体的には、入力軌跡データ７４をメインメモリ３２から読み出し、読み出した入力軌跡データ７４を、登録軌跡データ７５としてメインメモリ３２に記憶する。ステップＳ２４の次にステップＳ２５の処理が実行される。
【０１４０】
以上のステップＳ２１〜Ｓ２４のように、軌跡設定処理においては、タッチ入力が終了した直後であって（ステップＳ２２でＹｅｓ）、かつ、操作対象フラグがオンである場合（ステップＳ２３でＹｅｓ）に、入力軌跡が登録される。つまり、本実施形態においては、軌跡マーク５３内を開始位置とする軌跡の入力が終了した時点で、当該軌跡が登録されることとなる。
【０１４１】
ステップＳ２５において、ＣＰＵ３１は、上記ステップＳ２４で登録された軌跡に対して登録ポイントを設定する。具体的には、ＣＰＵ３１は、登録軌跡データ７５をメインメモリ３２から読み出し、登録軌跡データ７５により示される各タッチ位置のうちから、所定個数間隔でタッチ位置を抽出する。例えば１００個間隔でタッチ位置を抽出する場合、入力順に並んだ各タッチ位置のうちから、１＋１００ｎ番目（ｎは０以上の整数）のタッチ位置がそれぞれ抽出される。さらに、ＣＰＵ３１は、抽出された１以上のタッチ位置に対して入力順に番号を付したデータを、登録ポイントデータ７６としてメインメモリ３２記憶する。ステップＳ２５の次にステップＳ２６の処理が実行される。
【０１４２】
ステップＳ２６において、ＣＰＵ３１は、ステップＳ２５で設定された登録ポイントに対して優先ポイントを設定する。本実施形態においては、目標オブジェクトのうちでイベントオブジェクトとなるオブジェクトが予め設定されており、イベントオブジェクトの位置（イベント位置）を示すデータがメインメモリ３２に記憶されている。ＣＰＵ３１は、上記設定された登録ポイントについて、イベント位置が所定距離内に存在するか否かを判定する。なお、この所定距離は、後述する球形の探索エリアの半径である。つまり、ステップＳ２６の処理は、実際に登録ポイントの位置に達した場合に第２オブジェクト５２がイベント動作を行うか否かを判定するための処理である。具体的には、ＣＰＵ３１は、登録軌跡データ７５をメインメモリ３２から読み出し、登録軌跡データ７５により示される各タッチ位置に対応するゲーム空間内の位置を算出する。そして、算出された位置から上記所定距離内にイベント位置が存在する否かを判定する。さらに、イベント位置が所定距離内に存在する登録ポイントがあった場合、ＣＰＵ３１は当該登録ポイントを優先ポイントに設定する。すなわち、ＣＰＵ３１は、当該登録ポイントを示すデータ（登録ポイントに付された番号を示すデータ）を優先ポイントデータ８０としてメインメモリ３２に記憶する。なお、本実施形態では、複数の登録ポイントに対して同一のイベント位置が所定距離内に存在すると判定された場合には、いずれか１つの登録ポイント（例えば、軌跡上において最も後に位置する登録ポイント）のみに対して優先ポイントが設定される。ステップＳ２６の後、ＣＰＵ３１は軌跡設定処理を終了する。
【０１４３】
なお、軌跡設定処理においては、軌跡の入力が完了した（ステップＳ２２およびＳ２３でＹｅｓ）ことに応じて、当該軌跡に対して優先ポイントが設定される。軌跡が決まれば、その上に設定されるべき優先ポイントも決まるので、優先ポイントの設定（記憶）は、本実施形態のように、軌跡が入力される毎に行われることが好ましい。なお、本実施形態では、優先ポイントを設定するタイミングを、軌跡の入力が完了した直後としているが、他の実施形態においては、ＣＰＵ３１は、第２オブジェクト５２が途中動作を開始するタイミング（動作フラグがオンになるタイミング）や、復帰ポイント決定処理（Ｓ５２）を実行する直前のタイミングで上記ステップＳ２６の処理を実行してもよい。
【０１４４】
図１７の説明に戻り、ステップＳ４の次のステップＳ５において、ＣＰＵ３１は、操作対象フラグがオンに設定されているか否かを判定する。ステップＳ５の判定処理は、上記ステップＳ２２の判定処理と同じである。ステップＳ５の判定結果が否定である場合、ステップＳ６の処理が実行される。一方、ステップＳ５の判定結果が肯定である場合、後述するステップＳ７の処理が実行される。
【０１４５】
ステップＳ６において、ＣＰＵ３１は、プレイヤの入力に従って第１オブジェクト５１の動作を制御する。本実施形態では、ＣＰＵ３１は、タッチ位置に対応する（ゲーム空間内の）位置へ向かって第１オブジェクト５１を移動させる。具体的には、ＣＰＵ３１は、まず、第１オブジェクトデータ８１およびタッチ入力データ７３をメインメモリ３２から読み出し、タッチ入力データ７３により示されるタッチ位置に対応するゲーム空間内の位置を算出する。そして、第１オブジェクトデータ８１により示される位置を、上記算出された位置の方向へ所定距離だけ移動させた位置を、第１オブジェクト５１の新たな位置とする更新を行う。更新後の位置を示すデータは、第１オブジェクトデータ８１としてメインメモリ３２に記憶される。上記の更新を複数フレームにわたって繰り返す（ステップＳ２〜Ｓ９の処理ループを複数回繰り返す）ことによって、第１オブジェクト５１を所定の速度で移動させることができる。ステップＳ６の処理の次に、ステップＳ７の処理が実行される。
【０１４６】
上記ステップＳ６のように、本実施形態においては、ゲーム装置１は、タッチパネル１３によって行われた入力に応じて第１オブジェクト５１の動作を制御する。したがって、プレイヤは、第１オブジェクト５１および第２オブジェクト５２の両方をタッチパネルによって操作することができる。なお、上記ステップＳ６においては、ＣＰＵ３１は、第１オブジェクト５１の動作を制御する処理の一例として、タッチ位置に対応するゲーム空間内の位置へ向かって第１オブジェクト５１を移動させる処理を実行するものとした。ここで、他の実施形態においては、プレイヤの入力に従って行われる第１オブジェクト５１の動作は、どのようなものであってもよい。例えば、ＣＰＵ３１は、プレイヤによって入力された軌跡の形状や、プレイヤによって入力された（線状の）軌跡の向きに応じて、第１オブジェクト５１を動作させてもよい。
【０１４７】
ステップＳ７において、ＣＰＵ３１は、第２オブジェクト制御処理を実行する。第２オブジェクト制御処理は、プレイヤによる入力に従って第２オブジェクト５２の移動を制御する処理である。以下、図２０を参照して、第２オブジェクト制御処理の詳細を説明する。
【０１４８】
図２０は、図１７に示す第２オブジェクト制御処理（ステップＳ７）の流れを示すフローチャートである。第２オブジェクト制御処理においては、まずステップＳ３１において、ＣＰＵ３１は、上記軌跡設定処理（ステップＳ４）におけるステップＳ２４によって軌跡が登録されているか（登録された軌跡が有るか）否かを判定する。ステップＳ３１の判定は、メインメモリ３２に登録軌跡データ７５が記憶されているか否かによって行うことができる。ステップＳ３１の判定結果が肯定である場合、ステップＳ３２の処理が実行される。一方、ステップＳ３１の判定結果が否定である場合、後述するステップＳ３５の処理が実行される。
【０１４９】
ステップＳ３２において、ＣＰＵ３１は、軌跡移動処理を実行する。軌跡移動処理は、第２オブジェクト５２を軌跡に沿って移動させるための処理である。以下、図２１を参照して、軌跡移動処理の詳細を説明する。
【０１５０】
図２１は、図２０に示す軌跡移動処理（ステップＳ３２）の流れを示すフローチャートである。軌跡移動処理においては、まずステップＳ４１において、ＣＰＵ３１は、復帰ポイントが設定されているか否かを判定する。ここで、本実施形態においては、第２オブジェクト５２が上述の途中動作を終了して軌跡に復帰する場合に復帰ポイントが設定される（後述するステップＳ５２）。つまり、ステップＳ４１の処理は、第２オブジェクト５２が軌跡に復帰する途中であるか否かを判定するための処理である。具体的には、ＣＰＵ３１は、メインメモリ３２に復帰ポイントデータ８０が記憶されているか否かを判定する。ステップＳ４１の判定結果が肯定である場合、ステップＳ４２の処理が実行される。一方、ステップＳ４１の判定結果が否定である場合、後述するステップＳ５３の処理が実行される。
【０１５１】
ステップＳ４２において、ＣＰＵ３１は、動作フラグデータ８７をメインメモリ３２から読み出して参照し、動作フラグがオンに設定されているか否かを判定する。ステップＳ４２の判定処理は、第２オブジェクト５２が途中動作を行っている途中であるか否かを判定するための処理である。ステップＳ４２の判定結果が肯定である場合、後述するステップＳ４７の処理が実行される。一方、ステップＳ４２の判定結果が否定である場合、ステップＳ４３の処理が実行される。
【０１５２】
上記ステップＳ４２の判定結果が否定である場合とは、第２オブジェクト５２が軌跡上を移動している場合である。したがって、ステップＳ４３〜Ｓ４６においては、第２オブジェクト５２を軌跡に沿って移動させるための処理が実行される。以下、詳細を説明する。
【０１５３】
ステップＳ４３において、ＣＰＵ３１は、第２オブジェクト５２を軌跡に沿って移動させる。具体的には、ＣＰＵ３１は、まず第２オブジェクトデータ８２および登録軌跡データ７５をメインメモリ３２から読み出す。そして、第２オブジェクトデータ８２により示される第２オブジェクト５２の位置を、登録軌跡データ７５により示される軌跡に沿って、当該軌跡が入力された方向へ所定距離だけ進んだ位置へと更新する。更新後の第２オブジェクト５２の位置を示すデータは、新たな第２オブジェクトデータ８２としてメインメモリ３２に記憶される。上記の更新を複数フレームにわたって繰り返す（ステップＳ２〜Ｓ９の処理ループを複数回繰り返す）ことによって、第２オブジェクト５２を所定の速度で軌跡に沿って移動させることができる。ステップＳ４３の処理の次に、ステップＳ４４の処理が実行される。
【０１５４】
ステップＳ４４において、ＣＰＵ３１は、第２オブジェクト５２を基準とした探索エリア内に目標オブジェクトが存在するか否かを判定する。ここで、本実施形態においては、探索エリアが第２オブジェクト５２に対して設定される。探索エリアは、第２オブジェクト５２（あるいは、軌跡マーク５３のオブジェクト）の位置を中心とする球形の領域であり、画面に表示されない。具体的には、ＣＰＵ３１は、第２オブジェクトデータ８２をメインメモリ３２から読み出し、第２オブジェクトデータ８２により示される第２オブジェクト５２の位置から、所定距離内（探索エリア内）に目標オブジェクトが存在するか否かを判定する。ステップＳ４４の判定結果が肯定である場合、ステップＳ４５およびＳ４６の処理が実行される。一方、ステップＳ４４の判定結果が否定である場合、ステップＳ４５およびＳ４６の処理がスキップされ、ＣＰＵ３１は軌跡移動処理を終了する。
【０１５５】
上記ステップＳ４４の処理は、第２オブジェクト５２に途中動作を行わせるか否かを判定するための処理である。上記ステップＳ４４においては、探索エリアが第２オブジェクト５２の位置を中心とする球形の領域であるとしたが、探索エリアは、一般的な衝突判定処理において用いられるエリアと同様、第２オブジェクト５２の位置を基準として設定されるものであればよい。例えば、探索エリア５２は、球形に限らず、円柱形や、扇形の底面を有する柱状形状等であってもよい。また、軌跡に沿って移動するオブジェクトが複数種類登場する場合には、オブジェクトによって探索エリアの大きさおよび／または形状は異なっていても良い。
【０１５６】
ステップＳ４５において、ＣＰＵ３１は、元ポイントを記憶する。具体的には、ＣＰＵ３１は、登録ポイントデータ７６および第２オブジェクトデータ８２をメインメモリ３２から読み出す。そして、登録ポイントデータ７６により示される各登録ポイントのうちで、第２オブジェクトデータ８２により示される第２オブジェクト５２の位置よりも前（後としても良い）であって、当該位置に最も近い登録ポイントを選出する。選出された登録ポイントを示すデータが元ポイントデータ７７としてメインメモリ３２に記憶される。ステップＳ４５の次にステップＳ４６の処理が実行される。
【０１５７】
ステップＳ４６において、ＣＰＵ３１は、動作フラグをオンにする。すなわち、ＣＰＵ３１は、メインメモリ３２に記憶されている動作フラグデータ８７の内容を、オンを示すように更新する。ステップＳ４６の処理によって、次に実行される軌跡移動処理においては、ステップＳ４２の判定結果が肯定となる結果、第２オブジェクト５２に途中動作を行わせるための処理（ステップＳ４７〜Ｓ５２）が実行される。ステップＳ４６の後、ＣＰＵ３１は軌跡移動処理を終了する。
【０１５８】
なお、上記ステップＳ４４〜Ｓ４６においては、探索エリア内に目標オブジェクトが存在する場合には常に動作フラグがオンとなり、第２オブジェクト５２は途中動作を行うこととなる。これに対して他の実施形態においては、ＣＰＵ３１は、途中動作を行うための他の条件を設定してもよい。例えば、第２オブジェクト５２が特定のアイテムを持っている場合には途中動作を行わない（例：第２オブジェクト５２が石を運んでいる場合には攻撃を行わない）ように条件が設定されてもよい。逆に、第２オブジェクト５２が特定のアイテムを持っていなければ途中動作を行わない（例：鍵を持っていなければ宝箱を開ける動作を行わない）ように条件が設定されてもよい。
【０１５９】
また、上記ステップＳ４４〜Ｓ４６においては、ＣＰＵ３１は、第２オブジェクト５２の位置と他の目標オブジェクトの位置との位置関係が所定の条件を満たした場合に、第２オブジェクト５２に途中動作を行わせるものであった。ここで、他の実施形態においては、第２オブジェクト５２に途中動作を行わせる条件は、上記に限らず、どのような条件であってもよい。例えば、ＣＰＵ３１は、第２オブジェクト５２に途中動作を行わせる所定位置（オブジェクトが配置される位置に限らない）をゲーム空間内において予め設定しておいてもよい。そして、ＣＰＵ３１は、第２オブジェクト５２の位置と上記所定位置との位置関係が所定の条件を満たした場合に、第２オブジェクト５２に途中動作を行わせるようにしてもよい。
【０１６０】
一方、上記ステップＳ４２の判定結果が肯定である場合とは、第２オブジェクト５２が途中動作を行っている場合である。したがって、ステップＳ４２の判定結果が肯定である場合に実行されるステップＳ４７〜Ｓ５２においては、第２オブジェクト５２に途中動作を行わせるための処理が実行される。以下、詳細を説明する。
【０１６１】
ステップＳ４７において、ＣＰＵ３１は、第２オブジェクト５２に途中動作を行わせる。途中動作の具体的な内容は、動作フラグがオンになった時点で探索エリア内に存在した目標オブジェクトの種類に応じて決められる。例えば、目標オブジェクトが敵オブジェクトである場合、ＣＰＵ３１は敵オブジェクトを攻撃する動作を第２オブジェクト５２に行わせる。また、目標オブジェクトがアイテムのオブジェクトである場合、ＣＰＵ３１は、アイテムを取得する動作や、アイテムを持って運ぶ動作等を行わせる。なお、本実施形態では、途中動作をＣＰＵ３１が全て自動的に制御するものとしたが、他の実施形態においては、途中動作中の一部の動作についてはプレイヤが制御することができるようにしてもよい。例えば、敵オブジェクトを攻撃する動作に関して言えば、敵オブジェクトに向かって移動する動作をＣＰＵ３１が制御し、敵オブジェクトに対して剣を振る動作をプレイヤによる入力に従って行うようにしてもよい。なお、１回のステップＳ４２の処理においては、ＣＰＵ３１は、１フレーム分の動作を第２オブジェクト５２に行わせる。以上のステップＳ４７の次にステップＳ４８の処理が実行される。
【０１６２】
ステップＳ４８において、ＣＰＵ３１は、第２オブジェクト５２による途中動作を終了するか否かを判定する。本実施形態では、ＣＰＵ３１は、途中動作の目的が達成された、または、途中動作が開始してから所定の制限時間が経過した場合に、途中動作を終了すると判定する。なお、途中動作の目的が達成された場合とは、例えば敵オブジェクトを倒した場合や、アイテムのオブジェクトを取得した場合である。また、本実施形態では、例えば敵オブジェクトが逃げてしまった場合等、途中動作の目的が達成できない場合もあることを考慮し、途中動作を行う時間に制限を設けている。このように、本明細書において、「オブジェクトによる動作が終了する」とは、当該動作の目的が達成されて動作が終了する場合の他、（動作の目的が達成されずに）当該動作を単に中止する場合を含む概念である。ステップＳ４８の判定結果が肯定である場合、ステップＳ４９の処理が実行される。一方、ステップＳ４８の判定結果が否定である場合、ＣＰＵ３１は軌跡移動処理を終了する。
【０１６３】
ステップＳ４９において、ＣＰＵ３１は、動作フラグをオフにする。すなわち、ＣＰＵ３１は、メインメモリ３２に記憶されている動作フラグデータ８７の内容を、オフを示すように更新する。なお、ステップＳ４９の処理が実行される場合、後述する復帰ポイント決定処理（ステップＳ５２）によって復帰ポイントが設定される。したがって、次に実行される軌跡移動処理においては、ステップＳ４１の判定結果が肯定となる結果、第２オブジェクト５２を軌跡上に復帰させるための処理（ステップＳ５３〜Ｓ５５）が実行される。ステップＳ４９の次にステップＳ５０の処理が実行される。
【０１６４】
ステップＳ５０において、ＣＰＵ３１は、上記ステップＳ４８で終了したと判定された途中動作がイベント動作であったか否かを判定する。ステップＳ５０の判定は、例えば、第２オブジェクト５２が取得することによってイベントオブジェクトが削除されたり移動されたりする等、第２オブジェクトによるイベント動作によってイベントオブジェクトの状態が変化したか否かによって行うことができる。ステップＳ５０の判定処理は、イベント動作が終了したか否か、すなわち、第２オブジェクト５２がイベントをクリアしたか否かを判定するための処理である。ステップＳ５０の判定結果が肯定である場合、ステップＳ５１の処理が実行される。一方、ステップＳ５０の判定結果が否定である場合、ステップＳ５１の処理がスキップされてステップＳ５２の処理が実行される。
【０１６５】
ステップＳ５１において、ＣＰＵ３１は、優先ポイントを削除する。ステップＳ５１の処理で削除すべき優先ポイントは、上記ステップＳ５０で終了したと判定されたイベント動作に対応する優先ポイントである。具体的には、ＣＰＵ３１は、削除すべき優先ポイントを示す優先ポイントデータ８０をメインメモリ３２から削除する。ステップＳ５１の次にステップＳ５２の処理が実行される。
【０１６６】
ステップＳ５２において、ＣＰＵ３１は、復帰ポイント決定処理を実行する。復帰ポイント決定処理は、登録ポイントのうちから復帰ポイントを決定するための処理である。以下、図２２を参照して、復帰ポイント決定処理の詳細を説明する。
【０１６７】
図２２は、図２１に示す復帰ポイント決定処理（ステップＳ５２）の流れを示すフローチャートである。復帰ポイント決定処理においては、まずステップＳ６１において、ＣＰＵ３１は、最短ポイントを選出する。上述のように、本実施形態では、最短ポイントは、現在の第２オブジェクト５２の位置（途中動作を終了した時点における位置）から最短時間で到達することができる登録ポイントである。具体的には、ＣＰＵ３１は、登録ポイントデータ７６および第２オブジェクトデータ８２をメインメモリ３２から読み出す。そして、登録ポイントデータ７６により示される各登録ポイントのうちで、第２オブジェクトデータ８２により示される第２オブジェクト５２の位置から最短時間で到達することができる登録ポイントを選出する。最短時間で到達することができる登録ポイントを選出するための具体的に方法はどのような方法であってもよい。例えば、ＣＰＵ３１は、第２オブジェクトの位置との間に障害物が存在する登録ポイントを除外した上で、残りの登録ポイントのうちで第２オブジェクトの位置から最短距離にある登録ポイントを選出するようにしてもよい。また、ゲーム空間の地形に応じて第２オブジェクト５２の移動速度が変化する場合には、第２オブジェクト５２の位置から各登録ポイントまでの移動時間をそれぞれ計算し、移動時間が最短となる登録ポイントを選出するようにしてもよい。また、上記の障害物等がゲーム空間に存在しないと考えられる場合には、ＣＰＵ３１は単に、登録ポイントのうちで第２オブジェクトの位置から最短距離にある登録ポイントを選出するようにしてもよい。選出された登録ポイントを示すデータが最短ポイントデータ７８としてメインメモリ３２に記憶される。上記ステップＳ６１の次にステップＳ６２の処理が実行される。
【０１６８】
ステップＳ６２において、ＣＰＵ３１は、最短ポイントが軌跡上において元ポイント以降の位置であるか否かを判定する。ステップＳ６２の判定は、登録番号に付された番号を参照することで容易に行うことができる。すなわち、ＣＰＵ３１は、元ポイントデータ７７および最短ポイントデータ７８をメインメモリ３２から読み出し、元ポイントデータ７７により示される番号と最短ポイントデータ７８により示される番号の大小によって、最短ポイントと元ポイントのいずれが軌跡上において後ろにあるかを判定する。ステップＳ６２の判定結果が肯定の場合、ステップＳ６３の処理が実行される。一方、ステップＳ６２の判定結果が否定の場合、後述するステップＳ６５の処理が実行される。
【０１６９】
ステップＳ６３において、ＣＰＵ３１は、最短ポイントが軌跡上において優先ポイント以前の位置であるか否かを判定する。ステップＳ６３の判定は、ステップＳ６２と同様、登録番号に付された番号を参照することで容易に行うことができる。すなわち、ＣＰＵ３１は、最短ポイントデータ７８および優先ポイントデータ８０をメインメモリ３２から読み出し、最短ポイントデータ７８により示される番号と優先ポイントデータ８０により示される番号との大小によって、最短ポイントと優先ポイントのいずれが軌跡上において後ろにあるかを判定する。ステップＳ６３の判定結果が肯定の場合、ステップＳ６４の処理が実行される。一方、ステップＳ６３の判定結果が否定の場合、後述するステップＳ６５の処理が実行される。
【０１７０】
ステップＳ６４において、ＣＰＵ３１は、最短ポイントを復帰ポイントに設定する。すなわち、メインメモリ３２に記憶されている最短ポイントデータ７８の内容を、復帰ポイントデータ８０としてメインメモリ３２に記憶する。ステップＳ６４の後、ＣＰＵ３１は復帰ポイント決定処理を終了する。
【０１７１】
一方、ステップＳ６５において、ＣＰＵ３１は、元ポイントを復帰ポイントに設定する。すなわち、メインメモリ３２に記憶されている元ポイントデータ７７の内容を、復帰ポイントデータ８０としてメインメモリ３２に記憶する。ステップＳ６５の後、ＣＰＵ３１は復帰ポイント決定処理を終了する。
【０１７２】
図２１の説明に戻り、上述したステップＳ４１の判定結果が肯定である場合、ステップＳ５３〜Ｓ５５の処理が実行される。ステップＳ５３〜Ｓ５５の処理は、途中動作を終了した第２オブジェクト５２を軌跡上の位置へ復帰させるための処理である。以下、詳細を説明する。
【０１７３】
ステップＳ５３において、ＣＰＵ３１は、第２オブジェクト５２を復帰ポイントへ移動させる。具体的には、ＣＰＵ３１は、まず復帰ポイントデータ８０および登録ポイントデータ７６をメインメモリ３２から読み出し、復帰ポイントのゲーム空間における位置を特定する。次に、ＣＰＵ３１は、第２オブジェクトデータ８２をメインメモリ３２から読み出し、第２オブジェクトデータ８２により示される第２オブジェクト５２の位置を、復帰ポイントの位置へ所定距離だけ進んだ位置へと更新する。そして、更新後の第２オブジェクト５２の位置を示すデータを、新たな第２オブジェクトデータ８２としてメインメモリ３２に記憶する。上記の更新を複数フレームにわたって繰り返す（ステップＳ２〜Ｓ９の処理ループを複数回繰り返す）ことによって、第２オブジェクト５２を所定の速度で復帰ポイントへ向けて移動させることができる。ステップＳ５３の処理の次にステップＳ５４の処理が実行される。
【０１７４】
ステップＳ５４において、ＣＰＵ３１は、第２オブジェクト５２が復帰ポイントへ到着したか否かを判定する。すなわち、ＣＰＵ３１は、第２オブジェクトデータ８２をメインメモリ３２から読み出し、第２オブジェクトデータ８２により示される第２オブジェクト５２の位置が、ステップＳ５３で特定された復帰ポイントの位置と一致するか否かを判定する。ステップＳ５４の判定処理は、第２オブジェクト５２が軌跡上の位置へ復帰したか否かを判定するための処理である。ステップＳ５４の判定結果が肯定である場合、ステップＳ５５の処理が実行される。一方、ステップＳ５４の判定結果が否定である場合、ＣＰＵ３１は軌跡移動処理を終了する。
【０１７５】
ステップＳ５５において、ＣＰＵ３１は、復帰ポイントを削除する。具体的には、ＣＰＵ３１は、復帰ポイントデータ８０をメインメモリ３２から削除する。ステップＳ５５の処理によって、次に実行される軌跡移動処理においては、ステップＳ４１の判定結果が否定となる。また、この時点で動作フラグはオフに設定されている（ステップＳ４９）ので、ステップＳ４２の判定結果が否定となる。したがって、次に実行される軌跡移動処理においては、第２オブジェクト５２を軌跡に沿って移動させる処理（Ｓ４３〜Ｓ４６）が実行される。ステップＳ５５の後、ＣＰＵ３１は軌跡移動処理を終了する。
【０１７６】
上記軌跡移動処理に示したように、本実施形態においては、第２オブジェクト５２が軌跡に沿って移動している際に、第２オブジェクト５２の近傍に目標オブジェクトが位置すると（ステップＳ４４でＹｅｓ）、動作フラグがオンとなる結果、第２オブジェクト５２は目標オブジェクトに応じた途中動作を行う（ステップＳ４２でＹｅｓ，ステップＳ４７）。そして、第２オブジェクト５２が途中動作を終了すると（ステップＳ４８でＹｅｓ）、動作フラグがオフとなり、復帰ポイントが決定される（ステップＳ５２）。これによって、第２オブジェクト５２は、復帰ポイントへ移動する（ステップＳ４１でＹｅｓ，ステップＳ５３）、すなわち、軌跡上の位置に復帰する。さらに、軌跡上の位置に復帰すると（ステップＳ５４でＹｅｓ）、復帰ポイントが削除されるとともに、動作フラグがオフとされているので、第２オブジェクト５２は軌跡に沿った移動を再開する（ステップＳ４１およびＳ４２でＮｏ，ステップＳ４３）。このように、本実施形態によれば、第２オブジェクト５２が軌跡５６を離れて途中動作を行った場合であっても、第２オブジェクト５２は軌跡５６に沿った移動を再開することができる。
【０１７７】
また、上記復帰ポイント決定処理によれば、最短ポイントが元ポイント以降であって（ステップＳ６２でＹｅｓ）、かつ、優先ポイント以前である（ステップＳ６３でＹｅｓ）場合、すなわち、最短ポイントが元ポイントと優先ポイントの間にある場合、最短ポイントが復帰ポイントに決定される（ステップＳ６４）。一方、最短ポイントが元ポイントよりも前であるか（ステップＳ６２でＮｏ）、または、優先ポイントよりも後である（ステップＳ６３でＮｏ）場合、すなわち、最短ポイントが元ポイントと優先ポイントの間にない場合、元ポイントが復帰ポイントに決定される（ステップＳ６５）。したがって、本実施形態においては、途中動作を終了した第２オブジェクト５２が元ポイントよりも前の位置に復帰することはなく、また、優先ポイントよりも後の位置に復帰することはない。さらに、途中動作を終了した第２オブジェクト５２は、元ポイント以降でかつ優先ポイント以前であることを条件として、現在の位置から最短時間で到達することができる位置に復帰する。
【０１７８】
なお、上記復帰ポイント決定処理によれば、最短ポイントが元ポイントと優先ポイントの間にない場合、元ポイントが復帰ポイントに決定される。ここで、他の実施形態においては、ＣＰＵ３１は、上記の場合、元ポイントと優先ポイントの間の登録ポイントのうちで、途中動作を終了した時点における第２オブジェクト５２の位置から最短時間で到達することができる登録ポイントを、復帰ポイントとして設定してもよい。すなわち、復帰ポイント決定処理において、ＣＰＵ３１は、元ポイント以降であって、所定の終端ポイント以前の登録ポイントのうちで、途中動作を終了した時点における位置から最短時間で到達することができる登録ポイントを、復帰ポイントとして設定してもよい。ここで、終端ポイントとは、優先ポイントが設定される場合には、優先ポイントのうちで最も前の優先ポイントであり、優先ポイントが設定されない場合には、軌跡において最も後の登録ポイントである。
【０１７９】
なお、上記軌跡移動処理においては、１つの途中動作が終了した場合に復帰ポイントを決定するようにした。ここで、他の実施形態において、１つの途中動作に複数のサブ動作が含まれる場合には、ＣＰＵ３１は、１つのサブ動作が終了する毎に復帰ポイントを決定するようにしてもよい。なお、１つの途中動作に複数のサブ動作が含まれる場合とは、例えば、第２オブジェクト５２が複数の敵オブジェクトを倒す動作を途中動作として行う場合である。この場合、ＣＰＵ３１は、１つの敵オブジェクトを倒す毎に復帰ポイントを決定してもよい。そして、全ての敵オブジェクトを倒す前に上記制限時間が経過した場合には、最後に決定された復帰ポイントへ第２オブジェクト５２を移動させるようにしてもよい。
【０１８０】
図２０の説明に戻り、ステップＳ３３において、ＣＰＵ３１は、第２オブジェクト５２が軌跡の終端まで移動したか否かを判定する。すなわち、ＣＰＵ３１は、第２オブジェクトデータ８２および登録軌跡データ７５をメインメモリ３２から読み出し、第２オブジェクトデータ８２により示される第２オブジェクト５２の位置が、登録軌跡データ７５により示される軌跡の終端の位置と一致するか否かを判定する。ステップＳ３３の判定結果が肯定である場合、ステップＳ３４の処理が実行される。一方、ステップＳ３３の判定結果が否定である場合、後述するステップＳ３７の処理が実行される。
【０１８１】
ステップＳ３４において、ＣＰＵ３１は、上記ステップＳ２４によって登録された軌跡を削除する。登録された軌跡を削除する処理は、上述したステップＳ１８の処理と同様である。また、ＣＰＵ３１は、軌跡表示フラグをオフにする。すなわち、ＣＰＵ３１は、メインメモリ３２に記憶されている軌跡表示フラグデータ８４の内容を、オフを示すように更新する。したがって、第２オブジェクト５２が軌跡の終端まで移動した場合には、ステップＳ３４の処理によって当該軌跡は削除されて表示されなくなる。ステップＳ３４の次に、後述するステップＳ３７の処理が実行される。
【０１８２】
一方、ステップＳ３５において、ＣＰＵ３１は、追従フラグデータ８５をメインメモリ３２から読み出して参照し、追従フラグがオンに設定されているか否かを判定する。ステップＳ３５の判定処理は、第２オブジェクト５２に第１オブジェクト５１を追従させる指示がプレイヤによって行われているか否かを判定するための処理である。ステップＳ３５の判定結果が肯定である場合、ステップＳ３６の処理が実行される。一方、ステップＳ３５の判定結果が否定である場合、後述するステップＳ３７の処理が実行される。
【０１８３】
ステップＳ３６において、ＣＰＵ３１は、第１オブジェクト５１を追従するように第２オブジェクト５２を移動させる。具体的には、ＣＰＵ３１は、第１オブジェクトデータ８１および第２オブジェクトデータ８２をメインメモリ３２から読み出し、第２オブジェクト５２の位置を、第１オブジェクト５１の位置の方向へ所定距離だけ近づけた位置へと更新する。更新後の第２オブジェクト５２の位置を示すデータは、新たな第２オブジェクトデータ８２としてメインメモリ３２に記憶される。なお、本実施形態では、第１オブジェクト５１と第２オブジェクト５２との位置が重なってしまうことを避けるために、第１オブジェクト５１の位置と第２オブジェクト５２との距離が所定距離以内である場合、ＣＰＵ３１は、第２オブジェクト５２の位置の更新を行わない。上記の更新を複数フレームにわたって繰り返す（ステップＳ２〜Ｓ９の処理ループを複数回繰り返す）ことによって、第２オブジェクト５２を第１オブジェクト５１に追従するように移動させることができる。すなわち、第１オブジェクト５１を追従させる指示が行われた場合、第２オブジェクト５２は、まず、第１オブジェクト５１の位置（第１オブジェクト５１の近傍の位置を含む）へ移動する。さらに、上記第１オブジェクト制御処理（ステップＳ６）によって第１オブジェクト５１が移動される場合には、第２オブジェクト５２は第１オブジェクト５１に追従して移動することになる。ステップＳ３６の次に、ステップＳ３７の処理が実行される。
【０１８４】
以上のように、本実施形態では、プレイヤが追従アイコン５５に対してタッチ入力を行った場合（図１８のステップＳ１２でＹｅｓ）、追従フラグがオンに設定される（図１８のステップＳ１３）結果、ステップＳ３６の処理が実行される。つまり、本実施形態では、プレイヤは、追従アイコン５５をタッチすることによって、第２オブジェクト５２を第１オブジェクト５１に追従するように移動させることができる。
【０１８５】
また、第２オブジェクト制御処理では、ＣＰＵ３１は、ステップＳ３１の判定処理を先に実行し、ステップＳ３５の判定処理を後で実行する。したがって、第２オブジェクト５２に第１オブジェクト５１を追従させる指示がプレイヤによって行われた場合において、第２オブジェクト５２が軌跡の移動中であれば、上記ステップＳ３２の処理が実行される。つまり、第２オブジェクト５２は、軌跡に沿って移動している途中で上記指示が行われた場合、当該軌跡の終端まで移動してから、第１オブジェクト５１を追従するように移動する。なお、他の実施形態においては、ＣＰＵ３１は、第２オブジェクト５２が軌跡に沿って移動している途中で上記指示が行われた場合、当該軌跡を中止して、第１オブジェクト５１を追従するように第２オブジェクト５２を移動させてもよい。
【０１８６】
ステップＳ３７において、ＣＰＵ３１は、第２オブジェクト５２の位置に応じて軌跡マーク５３を設定する。本実施形態では、ＣＰＵ３１は、ゲーム空間における第２オブジェクト５２の位置に軌跡マーク５３のオブジェクトを配置する。具体的には、ＣＰＵ３１は、第２オブジェクトデータ８２をメインメモリ３２から読み出し、軌跡マーク５３のオブジェクトの位置を、第２オブジェクト５２の位置によって決められる位置へと更新する。更新後の軌跡マーク５３の位置を示すデータは、新たな軌跡マークデータ８３としてメインメモリ３２に記憶される。以上のように軌跡マークデータ８３が更新されることによって、第２オブジェクト５２の位置に軌跡マーク５３が表示されることとなる。なお、他の実施形態においては、第２オブジェクト５２を移動させるための軌跡が入力されている間については、ＣＰＵ３１は、入力が行われている位置に軌跡マーク５３を設定するようにしてもよい。
【０１８７】
なお、上記の「第２オブジェクト５２の位置によって決められる位置」とは、例えば、第２オブジェクト５２の足下の位置である（図３等参照）。ただし、軌跡マーク５３のオブジェクトは、第２オブジェクト５２に対して固定的に配置される必要はなく、第２オブジェクト５２が配置される位置（地形）の状況等に応じて異なる位置に配置されてもよい。例えば、図３においては、第２オブジェクト５２が地面に配置されているので軌跡マーク５３のオブジェクトは第２オブジェクト５２の足下に配置されるのに対して、第２オブジェクト５２の下半身が例えば水面に浸かっていて表示されていない場合には、軌跡マーク５３のオブジェクトは第２オブジェクト５２の上半身の位置に配置されてもよい。また、本実施形態では、ＣＰＵ３１は、軌跡マーク５３を表示するために、３次元のゲーム空間にオブジェクトを配置するとしたが、他の実施形態においては、ゲーム空間にオブジェクトを配置することなく、軌跡マーク５３を表す画像を単にゲーム空間画像の上に重ねて表示するようにしてもよい。ステップＳ３７の後、ＣＰＵ３１は第２オブジェクト制御処理を終了する。
【０１８８】
以上のステップＳ３〜Ｓ７の処理のように、本実施形態では、タッチ入力の開始位置が軌跡マーク５３の内側に位置する場合、操作対象フラグがオンとなり（ステップＳ１７）、その結果、第１オブジェクト５１の動作を制御する処理（ステップＳ６）はスキップされて、ＣＰＵ３１は当該タッチ入力に応じて第１オブジェクト５１の動作を制御する（ステップＳ７）。一方、タッチ入力の開始位置が軌跡マーク５３の外側に位置する場合、操作対象フラグがオフとなり（ステップＳ１９）、その結果、ＣＰＵ３１は当該タッチ入力に応じて第１オブジェクト５１の動作を制御する（ステップＳ６）。このように、本実施形態では、ＣＰＵ３１は、タッチ入力の開始位置が軌跡マーク５３の外側であるか内側であるかによって、当該タッチ入力によって制御される対象が第１オブジェクト５１であるか第２オブジェクト５２であるかを決定する。これによれば、プレイヤは、操作対象を切り替えるためだけの操作を行う必要がないので、２つのオブジェクトを簡単に操作することができる。なお、他の実施形態においては、ＣＰＵ３１は、所定の切替操作（例えば、所定の操作ボタンを押下する操作）に応じて操作対象の切替を行ってもよい。
【０１８９】
なお、上記ステップＳ７の第２オブジェクト制御処理によれば、軌跡が登録されている場合、第２オブジェクト５２は当該軌跡に沿って移動を行う（ステップＳ３１，Ｓ３２）。ここで、本実施形態では、軌跡の登録は、プレイヤによるタッチ入力が終了した時点で行われる（ステップＳ２２，Ｓ２４）。したがって、本実施形態では、第２オブジェクト５２の移動は、タッチ入力が終了（完了）した時点で開始される。一方、上記ステップＳ６の第１オブジェクト制御処理によれば、タッチ入力が行われたことに応じて第１オブジェクト５１の動作が制御される。つまり、第１オブジェクト５１は、タッチ入力がある度に動作を行うのに対して、第２オブジェクト５２は、軌跡の入力が完了する度に動作（移動）を行う。第２オブジェクト５２は入力の完了後に動作（移動）を行うので、本実施形態では、第２オブジェクト５２の移動中において第１オブジェクト５１を動作させることが可能となる。これによれば、２つのオブジェクトが同時に動作することになるので、ゲーム装置１は、２つのオブジェクトを同時に操作しているかのような操作感覚をプレイヤに与えることができる。なお、他の実施形態においては、ＣＰＵ３１は、タッチ入力が終了する前から第２オブジェクト５２の移動を開始するようにしてもよい。例えば、第２オブジェクト５２の移動は、軌跡マーク５３内を開始位置とするタッチ入力が行われたことに応じて開始されてもよいし、当該タッチ入力が行われてから所定時間経過後に開始されてもよい。また、ＣＰＵ３１は、（第１オブジェクト５１を軌跡に従って動作させる場合には）入力装置に対して軌跡の入力が完了する度に、第１オブジェクト５１に動作を行わせるようにしてもよい。
【０１９０】
また、本実施形態におけるゲーム処理では、軌跡マーク５３に対して新たな入力が行われた場合（図１８のステップＳ１６でＹｅｓ）と、それまでに登録されていた軌跡は削除される（図１８のステップＳ１８）。また、上記第２オブジェクト制御処理に示したように、登録されていた軌跡が削除された場合（ステップＳ３１でＮｏ）、第２オブジェクト５２を軌跡に沿って移動させる処理（ステップＳ３２）は実行されないので、第２オブジェクト５２は当該軌跡に沿った移動を停止する。さらに、上記新たな入力によって新たな軌跡が入力されて登録された場合（ステップＳ３２でＹｅｓ）には、第２オブジェクト５２は当該新たな軌跡に沿った移動を開始する（ステップＳ３２）。したがって、本実施形態によれば、第２オブジェクト５２が軌跡に沿って移動している途中に、プレイヤが異なる軌跡を新たに入力すると、第２オブジェクト５２は当該新たな軌跡に沿って移動することとなる。つまり、本実施形態によれば、プレイヤは、第２オブジェクト５２が軌跡に沿って移動している途中で軌跡を変更することが可能である。そのため、本実施形態によれば、仮に誤って意図しない軌跡を入力してしまった場合でも、プレイヤは即座に当該軌跡を修正することができる。
【０１９１】
図１７の説明に戻り、ステップＳ７の次のステップＳ８において、ＣＰＵ３１は、表示制御処理を実行する。表示制御処理は、下側ＬＣＤ１２および上側ＬＣＤ２２にゲーム画像を表示させる処理である。以下、図２３を参照して、表示制御処理の詳細について説明する。
【０１９２】
図２３は、図１７に示す表示制御処理（ステップＳ８）の流れを示すフローチャートである。表示制御処理においては、まずステップＳ７１において、ＣＰＵ３１は、操作対象フラグがオンに設定されているか否かを判定する。ステップＳ７１の判定処理は、上述したステップＳ２２の判定処理と同じである。ステップＳ７１の判定結果が肯定である場合、ステップＳ７２およびＳ７３の処理が実行される。一方、ステップＳ７１の判定結果が否定である場合、後述するステップＳ７４およびＳ７５の処理が実行される。
【０１９３】
ステップＳ７２において、ＣＰＵ３１は、第２オブジェクト５２を含むようにゲーム空間画像の表示領域を設定する。ここで、ゲーム空間画像の表示領域とは、ゲーム空間のうちで、ゲーム空間画像として下側ＬＣＤ１２に表示すべき領域を指す。具体的には、ＣＰＵ３１は、第２オブジェクトデータ８２をメインメモリ３２から読み出し、第２オブジェクト５２の位置に基づいて所定範囲の表示領域を設定する。典型的には、表示領域は、第２オブジェクト５２の位置が表示領域の略中央となるように設定される。ステップＳ７２の次に、ステップＳ７３の処理が実行される。
【０１９４】
ステップＳ７３において、ＣＰＵ３１は、ステップＳ７２で設定された表示領域内のゲーム空間を表すゲーム空間画像を作成する。すなわち、ＣＰＵ３１は、上記表示領域内のゲーム空間を所定の視点位置から見た画像を作成する。この表示領域内のゲーム空間には第２オブジェクト５２と軌跡マーク５３のオブジェクトとが配置されているので、ゲーム空間画像には、少なくとも第２オブジェクト５２および軌跡マーク５３が含まれることになる。なお、第２オブジェクト５２の周囲に第１オブジェクト５１が存在する場合には、第１オブジェクト５１もゲーム空間画像に含まれる。作成されたゲーム空間画像は、第１ＶＲＡＭ４７に描画される。さらに、ＣＰＵ３１は、第１ＶＲＡＭ４７に描画されたゲーム空間画像の上に重ねて、切替アイコン５４の画像を描画する。ステップＳ７３の次に、後述するステップＳ７６の処理が実行される。
【０１９５】
一方、ステップＳ７４において、ＣＰＵ３１は、第１オブジェクト５１を含むようにゲーム空間画像の表示領域を設定する。具体的には、ＣＰＵ３１は、第１オブジェクトデータ８１をメインメモリ３２から読み出し、第１オブジェクト５１の位置に基づいて所定範囲の表示領域を設定する。ステップＳ７４の場合も上記ステップＳ７２の場合と同様、典型的には、表示領域は、第１オブジェクト５１の位置が表示領域の略中央となるように設定される。ステップＳ７４の次に、ステップＳ７５の処理が実行される。
【０１９６】
ステップＳ７５において、ＣＰＵ３１は、ステップＳ７４で設定された表示領域内のゲーム空間を表すゲーム空間画像を作成する。ステップＳ７５におけるゲーム空間画像を作成する処理は、表示領域の位置が異なる点を除いて、ステップＳ７３における処理と同様である。ステップＳ７５で作成されるゲーム空間画像には、少なくとも第１オブジェクト５１が含まれることになる。なお、第１オブジェクト５１の周囲に第２オブジェクト５２が存在する場合には、第２オブジェクト５２および軌跡マーク５３もゲーム空間画像に含まれる。作成されたゲーム空間画像は、ステップＳ７３の場合と同様、第１ＶＲＡＭ４７に描画される。さらに、ステップＳ７５においては、ＣＰＵ３１は、第１ＶＲＡＭ４７に描画されたゲーム空間画像の上に重ねて、切替アイコン５４および追従アイコン５５の画像を描画する。ステップＳ７５の次に、ステップＳ７６の処理が実行される。
【０１９７】
上記ステップＳ７２〜Ｓ７５のように、本実施形態では、操作対象フラグがオンである場合（ステップＳ７１でＹｅｓ）には、ゲーム空間画像内に第２オブジェクトが含まれるように表示領域が設定され（ステップＳ７２）、操作対象フラグがオフである場合（ステップＳ７１でＹｅｓ）には、ゲーム空間画像内に第２オブジェクトが含まれるように表示領域が設定される（Ｓ７４）。ここで、操作対象フラグは、切替アイコン５４に対してタッチ入力が行われた場合にオンとオフとが切り替わる（図１８のステップＳ１５）。したがって、プレイヤは、切替アイコン５４に対してタッチ入力が行うことによって、第１オブジェクト５１が少なくとも表示される状態と、第２オブジェクト５２が少なくとも表示される状態とを容易に切り替えることができる。
【０１９８】
上記ステップＳ７３およびＳ７５のように、本実施形態では、ＣＰＵ３１は、第２オブジェクト５２に重ねて軌跡マーク５３を表示する。上述したように、タッチ入力によって制御される対象となるオブジェクトは、タッチ入力の開始位置が所定の指示領域（軌跡マーク５３の領域）の外側であるか内側であるかによって変化する。つまり、軌跡マーク５３は、タッチ入力によって２つのオブジェクトのうちいずれが操作されるかを表す指示領域を、プレイヤに対してわかりやすく提示するために表示される。
【０１９９】
また、上記ステップＳ７３およびＳ７５のように、本実施形態では、ＣＰＵ３１は、操作対象フラグがオフである場合（ステップＳ７１でＮｏ）のみ、追従アイコン５５を表示する。ここで、操作対象フラグは、軌跡マーク５３の内側を開始位置とするタッチ入力が行われた場合にオンとなり（図１８のステップＳ１７）、軌跡マーク５３の外側を開始位置とするタッチ入力が行われた場合にオフとなる（図１８のステップＳ１９）。つまり、本実施形態では、軌跡マーク５３の内側を開始位置とするタッチ入力が行われている期間、すなわち、第２オブジェクト５２を移動させるためのタッチ入力が行われている期間は、追従アイコン５５が表示されない。上記の期間は、プレイヤは第２オブジェクト５２を軌跡に沿って移動させようとしている最中であるので、追従アイコン５５は必要でない（プレイヤは追従アイコン５５をタッチしない）と考えられるからである。
【０２００】
ステップＳ７６において、ＣＰＵ３１はマップ画像を作成する。マップ画像の具体的な作成方法はどのような方法であってもよいが、本実施形態では、ゲーム空間全体を表す２次元の全体マップ画像が予め用意されており、ＣＰＵ３１は、当該全体マップ画像のうちから表示すべき領域を選出することによってマップ画像を作成する。また、マップ画像として表示すべき領域は、第１オブジェクト５１および第２オブジェクト５２の両方が含まれるように選出されることが好ましい。以上のようにして作成されたマップ画像は、第２ＶＲＡＭ４８に描画される。さらに、ＣＰＵ３１は、第２ＶＲＡＭ４８に描画されたマップ画像の上に重ねて、第１オブジェクト５１を表すマーク６１と、第２オブジェクトを表すマーク６２とを描画する。ステップＳ７６の次にステップＳ７７の処理が実行される。
【０２０１】
ステップＳ７７において、ＣＰＵ３１は、軌跡表示フラグデータ８４をメインメモリ３２から読み出して参照し、軌跡表示フラグがオンに設定されているか否かを判定する。
ステップＳ７７の判定処理は、画面に表示すべき軌跡（すなわち、第２オブジェクト５２を移動させるために入力中の軌跡、または、登録された軌跡）が存在するか否かを判定するための処理である。ステップＳ７７の判定結果が肯定である場合、ステップＳ７８の処理が実行される。一方、ステップＳ７７の判定結果が否定である場合、ステップＳ７８の処理がスキップされて、後述するステップＳ７９の処理が実行される。
【０２０２】
ステップＳ７８において、ＣＰＵ３１は、各ＬＣＤ１２および２２に表示される各画像に、第２オブジェクトを移動させるための軌跡の画像をそれぞれ追加する。ここで、本実施形態では、下側ＬＣＤ１２に表示されるゲーム空間画像は、３次元のゲーム空間を表す画像であるのに対して、上側ＬＣＤ２２に表示されるマップ画像は、２次元の平面を表す画像である。また、上記ゲーム空間画像とマップ画像とでは、それが表すゲーム空間内における領域の大きさも異なる。そのため、ＣＰＵ３１は、下側ＬＣＤ１２に表示される軌跡の画像（第１軌跡画像）と、マップ画像上に重ねて上側ＬＣＤ２２に表示するための軌跡の画像（第２軌跡画像）とをそれぞれ作成する。
【０２０３】
上記の第１軌跡画像および第２軌跡画像は、登録軌跡データ７５（または入力軌跡データ７４）を用いて作成される。具体的には、ＣＰＵ３１は、登録軌跡データ７５をメインメモリ３２から読み出し、第１軌跡画像として、登録軌跡データ７５により示される１以上のタッチ位置の座標を入力順に接続する線の画像を作成する。また、第２軌跡画像については、ＣＰＵ３１は、登録軌跡データ７５により示される１以上のタッチ位置に対応する（ゲーム空間内の）地面の位置をそれぞれ算出し、算出された各位置を接続する線の画像を作成する。そして、作成された線の画像をマップ画像の大きさに合わせて縮小することで、第２軌跡画像を得ることができる。なお、他の実施形態においては、ＣＰＵ３１は、第１軌跡画像に対して所定の変形を加える（例えば縦に伸びるように変形させる）ことで、第２軌跡画像を作成してもよい。また、例えば、ゲーム空間画像がゲーム空間をほぼ真上から見た画像である場合のように、第１軌跡画像と第２軌跡画像との形状が近くなる場合には、ＣＰＵ３１は、第１軌跡画像に単に縮小することのみによって第２軌跡画像を作成してもよい。これによって、第２軌跡画像を簡易な処理で作成することができる。
【０２０４】
また、登録軌跡データ７５がメインメモリ３２に記憶されていない場合には、上記の第１軌跡画像および第２軌跡画像は、入力軌跡データ７４を用いて作成される。この場合における各軌跡画像の作成方法は、登録軌跡データ７５に代えて入力軌跡データ７４が用いられる点を除いて、上記の作成方法と同様である。なお、ＣＰＵ３１は、登録軌跡データ７５を用いる場合と、入力軌跡データ７４を用いる場合とで、軌跡画像の色や形状を異なるようにしてもよい。これによれば、プレイヤは、入力中の軌跡（入力軌跡データ７４により示される軌跡）と、入力が完了した軌跡（登録軌跡データ７５により示される軌跡）とを、明確に区別することができる。
【０２０５】
ＣＰＵ３１は、以上のようにして作成された第１軌跡画像を、第１ＶＲＡＭ４７に描画されたゲーム空間画像の上に重ねて描画する。また、上記の第２軌跡画像を、第２ＶＲＡＭ４８に描画されたマップ画像の上に重ねて描画する。ステップＳ７８の次にステップＳ７９の処理が実行される。
【０２０６】
上記ステップＳ７８のように、本実施形態においては、下側ＬＣＤ１２に表示されるゲーム空間画像だけでなく、上側ＬＣＤ２２に表示されるマップ画像に対しても、入力された軌跡の画像が表示される。これによって、プレイヤは、タッチ入力を行ったゲーム空間画像よりも広い領域を表すマップ画像上においても、入力した軌跡を確認することができ、軌跡の入力をより行いやすくなる。
【０２０７】
また、他の実施形態においては、プレイヤによって入力された軌跡を画面に表示する場合、ＣＰＵ３１は、軌跡の画像に加えて、上記優先ポイントを表す画像を画面に表示するようにしてもよい。また、ＣＰＵ３１は、軌跡全体のうちで、第２オブジェクト５２がすでに通過した部分と、まだ通過していない部分とで色や太さや線の種類（点線と実線等）等を変えて軌跡を表示してもよい。
【０２０８】
ステップＳ７９において、ＣＰＵ３１は、ゲーム空間画像およびマップ画像を各ＬＣＤ１２および２２に表示させる。すなわち、ＣＰＵ３１は、第１ＶＲＡＭ４７に描画されたゲーム空間画像を下側ＬＣＤ１２に表示させ、第２ＶＲＡＭ４８に描画されたマップ画像を上側ＬＣＤ２２に表示させる。ステップＳ７９の後、ＣＰＵ３１は表示制御処理を終了する。
【０２０９】
図１７の説明に戻り、ステップＳ８の次のステップＳ９において、ＣＰＵ３１は、ゲームを終了するか否かを判定する。ステップＳ９の判定は、例えば、ゲームがクリアされたか否か、ゲームオーバーとなったか否か、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。ステップＳ９の判定結果が否定である場合、ステップＳ２の処理が再度実行される。以降、ステップＳ９でゲームを終了すると判定されるまで、ステップＳ２〜Ｓ９の処理ループが繰り返し実行される。一方、ステップＳ９の判定結果が肯定である場合、ＣＰＵ３１は、図１７に示すゲーム処理を終了する。以上で、ゲーム処理の説明を終了する。
【０２１０】
以上のように、本実施形態におけるゲーム処理によれば、ゲーム装置１は、第２オブジェクト５２を移動させるための軌跡の入力を、マップ画像ではなく、ゲーム空間画像上において受け付ける。これによれば、第１オブジェクト５１を操作する場合であっても第２オブジェクト５２を操作する場合であっても、プレイヤはゲーム空間画像を見て操作を行えばよい。したがって、本実施形態によれば、プレイヤは、マップ画像からゲーム空間画像へと画面を切り替える必要なく、軌跡を入力する操作を簡単に行うことができる。
【０２１１】
［変形例］
上記実施形態においては、ゲーム装置１は２つの画面（下側ＬＣＤ１２および上側ＬＣＤ２２）を備えており、ゲーム空間画像とマップ画像とを同時に表示するものとした。ここで、他の実施形態においては、ゲーム装置１は、マップ画像を必ずしも表示しなくてもよい。また、マップ画像を表示する場合であっても、ゲーム装置１はゲーム空間画像とマップ画像とを必ずしも同時に表示する必要はなく、どちらか一方の画像を１つの表示画面に選択的に表示してもよい。なお、上記実施形態においては、ゲーム空間画像は３次元のゲーム空間の一部領域を表すものであったが、ゲーム空間画像は２次元のゲーム空間を表すものであってもよいし、ゲーム空間の全体を表すものであってもよい。また、上記実施形態においては、マップ画像は２次元の平面を表すものであったが、マップ画像はゲーム空間画像よりも広い範囲を表すものであればよく、３次元のゲーム空間を表すものであってもよい。
【０２１２】
また、上記実施形態においては、表示装置の画面上における位置を指定することが可能な入力装置（ポインティングデバイス）としてタッチパネル１３を備えるゲーム装置１を例にとって説明した。ここで、他の実施形態においては、表示装置の画面上における位置を指定することが可能な入力装置は、マウスやタッチパッド等のポインティングデバイスであってもよい。また、カメラや加速度センサによって入力装置の姿勢を検出し、入力装置が指し示す表示画面上の位置を当該姿勢に基づいて算出するシステムにおいても、本発明を適用することが可能である。
【０２１３】
また、上記実施形態においては、ゲーム装置１がタッチパネル１３に対するタッチ入力に基づいて第１オブジェクト５１の動作を制御する場合を例として説明した。ここで、他の実施形態においては、第１オブジェクト５１の動作は、プレイヤによるタッチ入力に限らず、タッチ入力に代えて、または、タッチ入力に加えて、操作ボタンに対する入力、および／または、マイク４３に対する音声入力に基づいて制御されてもよい。
【０２１４】
なお、上記実施形態のように、プレイヤが画面上に自由に軌跡を入力することができる入力システムを採用するゲーム装置においては、第２オブジェクト５２が移動することができない領域に軌跡が入力される場合もあり得る。例えば、画面に表示される壁を跨ぐように軌跡が入力されたとしても、第２オブジェクト５２は壁を超えて移動することはできない。このような場合を考慮して、ゲーム装置１は、上述したゲーム処理において、次のような処理を実行するようにしてもよい。すなわち、ゲーム装置１は、第２オブジェクト５２が軌跡に沿って移動することができなくなった場合、第２オブジェクト５２に移動を中止させ、軌跡を消去するようにしてもよい。具体的には、上記ステップＳ４３において、ＣＰＵ３１は、第２オブジェクト５２による軌跡に沿った移動が可能かどうかを判定し、移動が不可能である場合、第２オブジェクト５２を移動させないようにする。さらに、メインメモリ３２に記憶されている登録軌跡データ７５および登録ポイントデータ７６を消去する。また、上記ステップＳ５２における復帰ポイント決定処理においては、ＣＰＵ３１は、ステップＳ６１で選出された最短ポイントが、第２オブジェクト５２が侵入することができない位置である場合、（ステップＳ６２およびＳ６３の判定結果にかかわらず）元ポイントを復帰ポイントに決定してもよい。
【０２１５】
また、上記実施形態においては、ゲーム装置１は、復帰ポイントを決定する処理を簡単化するため、プレイヤによって入力された軌跡上に登録ポイントを設定した（ステップＳ２５）。ここで、他の実施形態においては、ゲーム装置１は、登録ポイントを設定せず、軌跡を構成する各点から、途中動作を終了した第２オブジェクト５２を復帰させる位置（復帰位置）を決定するようにしてもよい。このとき、上述の元ポイント、最短ポイント、および優先ポイントも、復帰ポイントと同様、軌跡を構成する各点から決定される。具体的には、元ポイントは、途中動作を開始する時点における第２オブジェクト５２の位置となる。また、最短ポイントは、軌跡を構成する各点のうちで、途中動作を終了した時点における第２オブジェクト５２の位置から最短時間で到達することができる点の位置となる。また、優先ポイントは、軌跡を構成する各点の位置のうちで、第２オブジェクト５２がイベント動作を行う位置となる。
【産業上の利用可能性】
【０２１６】
本発明は、画面上の軌跡によってオブジェクトを移動させる操作をプレイヤが簡単に行うこと等を目的として、例えばゲームプログラムやゲーム装置に利用することが可能である。
【符号の説明】
【０２１７】
１          ゲーム装置
１３        タッチパネル
２７        タッチペン
３２        メインメモリ
５１        第１オブジェクト
５２        第２オブジェクト
５３        軌跡マーク
５４        切替アイコン
５５        追従アイコン
５６，５７  軌跡
７１        ゲームプログラム
【図１】
2010273885.tif 000003
【図２】
2010273885.tif 000004
【図３】
2010273885.tif 000005
【図４】
2010273885.tif 000006
【図５】
2010273885.tif 000007
【図６】
2010273885.tif 000008
【図７】
2010273885.tif 000009
【図８】
2010273885.tif 000010
【図９】
2010273885.tif 000011
【図１０】
2010273885.tif 000012
【図１１】
2010273885.tif 000013
【図１２】
2010273885.tif 000014
【図１３】
2010273885.tif 000015
【図１４】
2010273885.tif 000016
【図１５】
2010273885.tif 000017
【図１６】
2010273885.tif 000018
【図１７】
2010273885.tif 000019
【図１８】
2010273885.tif 000020
【図１９】
2010273885.tif 000021
【図２０】
2010273885.tif 000022
【図２１】
2010273885.tif 000023
【図２２】
2010273885.tif 000024
【図２３】
2010273885.tif 000025
【手続補正書】
【提出日】平成21年9月7日(2009.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
表示装置の画面上における位置を指定することが可能な入力装置を備えるゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
仮想ゲーム空間を表すゲーム画像を前記表示装置に表示させる表示制御手段と、
前記入力装置によって前記ゲーム画像上に行われた入力に応じて、前記ゲーム画像内の第１オブジェクトの動作を制御する第１オブジェクト制御手段と、
前記入力装置によって前記ゲーム画像上に入力された軌跡を検出する軌跡検出手段と、
前記ゲーム画像内の第２オブジェクトを前記軌跡に沿って移動させる第２オブジェクト制御手段として前記コンピュータを機能させる、ゲームプログラム。
【請求項２】
前記軌跡を前記ゲーム画像上に重ねて表示する軌跡表示手段として前記コンピュータをさらに機能させる、請求項１に記載のゲームプログラム。
【請求項３】
前記仮想ゲーム空間において、前記第２オブジェクトの位置に基づいて指示領域を設定する指示領域設定手段として前記コンピュータをさらに機能させ、
前記第２オブジェクト制御手段は、前記ゲーム画像上に行われた入力による入力位置が前記指示領域内に位置する場合、当該指示領域内の入力に後続する入力により示される軌跡に沿って前記第２オブジェクトを移動させ、
前記第１オブジェクト制御手段は、前記ゲーム画像上に行われた入力による入力位置が前記指示領域の外に位置する場合、当該入力に応じて前記第１オブジェクトの動作を制御する、請求項２に記載のゲームプログラム。
【請求項４】
前記表示制御手段は、前記指示領域を表す画像を、前記ゲーム画像内における前記第２オブジェクトの画像の上に重ねて表示させる、請求項３に記載のゲームプログラム。
【請求項５】
前記指示領域設定手段は、前記指示領域を前記第２オブジェクトとともに前記軌跡に沿って移動させ、
前記第２オブジェクト制御手段は、前記第２オブジェクトが軌跡に沿って移動している間に、前記指示領域内を入力位置とする新たな入力が前記入力装置によって行われた場合、当該指示領域内の当該新たな入力に後続する入力により示される軌跡に沿って前記第２オブジェクトを移動させる、請求項３または請求項４に記載のゲームプログラム。
【請求項６】
前記第１オブジェクト制御手段は、前記入力装置によって前記ゲーム画像上に行われた入力に応じて前記第１オブジェクトを移動させる、請求項１から請求項５のいずれか１項に記載のゲームプログラム。
【請求項７】
前記第１オブジェクト制御手段は、前記入力装置によって前記ゲーム画像上に行われた入力が検出される毎に前記第１オブジェクトを動作させ、
前記第２オブジェクト制御手段は、前記軌跡の入力が完了する毎に第２オブジェクトを移動させる、請求項１から請求項６のいずれか１項に記載のゲームプログラム。
【請求項８】
前記第２オブジェクト制御手段は、所定の指示がプレイヤによって行われた場合、前記第１オブジェクトの位置に基づいて前記第２オブジェクトの移動を制御する、請求項１から請求項７のいずれか１項に記載のゲームプログラム。
【請求項９】
前記第２オブジェクト制御手段は、前記所定の指示がプレイヤによって行われた場合、前記第１オブジェクトの位置へ前記第２オブジェクトを移動させた後に、前記第１オブジェクト制御手段によって動作が制御された第１オブジェクトに追従して前記第２オブジェクトを移動させる、請求項８に記載のゲームプログラム。
【請求項１０】
前記ゲーム画像において前記第２オブジェクトの位置に基づいて指示領域を設定する指示領域設定手段として前記コンピュータをさらに機能させ、
前記表示制御手段は、入力位置が前記指示領域内となる入力が前記ゲーム画像上に行われている間は少なくとも消去するように、前記ゲーム画像上に所定の画像を表示し、
前記第２オブジェクト制御手段は、前記所定の画像の位置に対する前記入力装置による入力を前記所定の指示として用いて前記第２オブジェクトの移動を制御する、請求項８に記載のゲームプログラム。
【請求項１１】
前記表示制御手段は、前記第１オブジェクトが前記ゲーム画像内に含まれるように仮想ゲーム空間のうちの表示領域が設定される状態と、前記第２オブジェクトが前記ゲーム画像内に含まれるように当該表示領域が設定される状態とを、プレイヤの指示によって切り替える、請求項１から請求項１０のいずれか１項に記載のゲームプログラム。
【請求項１２】
前記表示制御手段は、前記ゲーム画像と、当該ゲーム画像が表すゲーム空間の領域よりも広い領域を表す広域画像とを選択的または同時に前記表示装置に表示させる、請求項１から請求項１１のいずれか１項に記載のゲームプログラム。
【請求項１３】
前記表示制御手段は、前記第２オブジェクトの移動に用いられる軌跡を、前記広域画像上に重ねて表示させる、請求項１２に記載のゲームプログラム。
【請求項１４】
表示装置の画面上における位置を指定することが可能な入力装置を備えるゲーム装置であって、
仮想ゲーム空間を表すゲーム画像を前記表示装置に表示させる表示制御手段と、
前記入力装置によって前記ゲーム画像上に行われた入力に応じて、前記ゲーム画像内の第１オブジェクトの動作を制御する第１オブジェクト制御手段と、
前記入力装置によって前記ゲーム画像上に入力された軌跡を検出する軌跡検出手段と、
前記ゲーム画像内の第２オブジェクトを前記軌跡に沿って移動させる第２オブジェクト制御手段とを備える、ゲーム装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
また、第１オブジェクト制御手段は、入力装置によってゲーム画像上に行われた入力が検出される毎に第１オブジェクトを動作させるようにしてもよい。このとき、第２オブジェクト制御手段は、軌跡の入力が完了する毎に第２オブジェクトを移動させる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
上記最短ポイントを選出すると、ゲーム装置１は、最短ポイントが軌跡上において上記元ポイント以降の位置であるか否かを判定する。ここで、本明細書では、軌跡上における前後を、第２オブジェクト５２が軌跡上の位置を通過する時間（時刻）を基準に表現する。つまり、「位置Ｂが位置Ａ以降である」とは、「第２オブジェクト５２が位置Ａを通過した後で位置Ｂを通過する」ことを意味する。また、「最短ポイントが元ポイントより前の位置にある」とは、「第２オブジェクト５２が最短ポイントをすでに通過した」ことを意味する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
追従フラグデータ８５は、追従フラグの内容（オンであるかオフであるか）を示すデータである。追従フラグは、第２オブジェクト５２に第１オブジェクト５１を追従させる指示がプレイヤによって行われているか否かを表す。すなわち、上記指示がプレイヤによって行われている場合、追従フラグはオンに設定され、上記指示がプレイヤによって行われていない場合、追従フラグはオフに設定される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１６８
【補正方法】変更
【補正の内容】
【０１６８】
ステップＳ６２において、ＣＰＵ３１は、最短ポイントが軌跡上において元ポイント以降の位置であるか否かを判定する。ステップＳ６２の判定は、登録ポイントに付された番号を参照することで容易に行うことができる。すなわち、ＣＰＵ３１は、元ポイントデータ７７および最短ポイントデータ７８をメインメモリ３２から読み出し、元ポイントデータ７７により示される番号と最短ポイントデータ７８により示される番号の大小によって、最短ポイントと元ポイントのいずれが軌跡上において後ろにあるかを判定する。ステップＳ６２の判定結果が肯定の場合、ステップＳ６３の処理が実行される。一方、ステップＳ６２の判定結果が否定の場合、後述するステップＳ６５の処理が実行される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１６９
【補正方法】変更
【補正の内容】
【０１６９】
ステップＳ６３において、ＣＰＵ３１は、最短ポイントが軌跡上において優先ポイント以前の位置であるか否かを判定する。ステップＳ６３の判定は、ステップＳ６２と同様、登録ポイントに付された番号を参照することで容易に行うことができる。すなわち、ＣＰＵ３１は、最短ポイントデータ７８および優先ポイントデータ８０をメインメモリ３２から読み出し、最短ポイントデータ７８により示される番号と優先ポイントデータ８０により示される番号との大小によって、最短ポイントと優先ポイントのいずれが軌跡上において後ろにあるかを判定する。ステップＳ６３の判定結果が肯定の場合、ステップＳ６４の処理が実行される。一方、ステップＳ６３の判定結果が否定の場合、後述するステップＳ６５の処理が実行される。