(57)【要約】      （修正有）【課題】オブジェクト移動経路を設定するユーザの負担を軽減する。【解決手段】ゲーム装置はゲーム空間６０を表示手段に表示し、ゲーム空間６０は第１領域６２とこの第１領域におけるオブジェクト６６の移動の連続性を遮断する第２領域とを含む。ユーザがタッチペン２６によって移動経路６８をゲーム空間内に設定する。コリジョン６８すなわちオブジェクト６６はこの経路に沿って移動する。経路上において、オブジェクトが次の点位置に移動したとするとオブジェクトが第２領域内に入り込むことになる点位置が設定されているとき、コンピュータは、その次の点位置を第１領域内の目標位置に補正してオブジェクトを移動させる。【選択図】図３
2010273891.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム装置のコンピュータを、
第１領域と当該第１領域におけるオブジェクトの移動の連続性を遮断する第２領域とを含むゲーム空間を表示装置に表示させる表示制御手段、
前記ゲーム空間内においてユーザが指定する経路に沿って前記オブジェクトを移動させるオブジェクト移動制御手段、
前記経路上に沿って移動する前記オブジェクトに関連する所定領域が、前記第１領域と前記第２領域との境界を越えて当該第２領域に入るかどうかを判定する越境判定手段、および
前記越境判定手段によって前記所定領域が前記第２領域に入ると判定されたとき、前記オブジェクトが移動する経路を前記第１領域内に補正する経路補正手段として機能させる、ゲームプログラム。
【請求項２】
前記オブジェクト移動制御手段は、前記経路上の点位置を順次目標にして前記オブジェクトを移動させ、
前記越境判定手段は、次の前記経路上の点位置に前記オブジェクトが移動したとする場合の前記所定領域が、前記第１領域と前記第２領域との境界を越えて前記第２領域に入るかどうかを判定する、請求項１記載のゲームプログラム。
【請求項３】
前記経路補正手段は、前記越境判定手段によって前記次の点位置において前記所定領域が前記第２領域に入ると判定されなかったとき、前記次の点位置を目標位置として設定し、前記越境判定手段によって前記次の点位置において前記所定領域が前記第２領域に入ると判定されたときには、前記次の点位置を補正して前記第１領域内の目標位置を設定する目標位置設定手段を含み、
前記オブジェクト移動制御手段は、前記オブジェクトを前記目標位置に移動させる、請求項２記載のゲームプログラム。
【請求項４】
前記経路補正手段は、前記越境判定手段によって前記次の点位置において前記所定領域が前記境界を越えて前記第２領域に入ると判定したとき、前記次の点位置の前記境界からの距離が閾値以下かどうか判断する判断手段を含み、
前記判断手段によって前記距離が前記閾値以下であると判断したとき、前記目標位置設定手段は、前記次の点位置を補正して前記第１領域内の目標位置を設定する、請求項３記載のゲームプログラム。
【請求項５】
前記目標位置設定手段は、前記判断手段によって前記距離が前記閾値以下であると判断されなかったとき、前記次の点位置を目標位置として設定する、請求項４記載のゲームプログラム。
【請求項６】
前記ゲーム空間を表現する仮想カメラは平行カメラであり、前記閾値は前記次の点位置が前記ゲーム空間の上側または下側もしくは左側あるいは右側にあることに応じて異なる値として設定される、請求項４または５記載のゲームプログラム。
【請求項７】
前記閾値は、前記上側において比較的大きい値として設定され、前記下側において比較的小さい値として設定され、前記左側あるいは右側においてそれらの間の値として設定される、請求項６記載のゲームプログラム。
【請求項８】
前記コンピュータを
前記オブジェクトが所定時間内に前記目標位置に到達したかどうか判定する到達判定手段、および
前記到達判定手段によって前記オブジェクトが所定時間内に前記目標位置に到達したと判定されなかったとき、前記オブジェクト移動制御手段による前記オブジェクトの移動を停止する停止手段としてさらに機能させる、請求項３ないし７のいずれかに記載のゲームプログラム。
【請求項９】
前記経路補正手段は、前記越境判定手段によって前記所定領域が前記境界を越えて前記第２領域に入ると判定したとき、前記境界に沿って前記第１領域内を前記オブジェクトが移動するように、前記オブジェクトが移動する経路を前記第１領域内に補正する、請求項１記載のゲームプログラム。
【請求項１０】
前記コンピュータを
前記経路を前記表示装置に表示させる第１表示手段、および
前記第１表示手段によって表示された経路のうち前記移動手段によって移動したオブジェクトの前記ゲーム空間内の位置に対応する経路を、前記第１表示手段によって表示された経路とは異なる態様で表示する第２表示手段としてさらに機能させる、請求項１ないし９のいずれかに記載のゲームプログラム。
【請求項１１】
前記コンピュータを
ユーザが指定する前記ゲーム空間内の位置を検出する位置検出手段、
前記位置検出手段によって今回検出された位置と前回検出された位置とが所定の閾値を超えているときに、前回までに検出された位置と今回検出された位置に基づいて、前記経路を生成する経路生成手段としてさらに機能させる、請求項１ないし１０のいずれかに記載のゲームプログラム。
【請求項１２】
前記表示制御手段は、前記オブジェクトとともに当該オブジェクトに関連する関連画像を前記表示装置に表示させ、
前記コンピュータを、
ユーザが指定する指定位置が前記関連画像に位置する場合に、当該指定に後続するユーザの指定により示される指定位置に基づいて、前記経路を生成する経路生成手段としてさらに機能させる、請求項１ないし１０のいずれかに記載のゲームプログラム。
【請求項１３】
前記コンピュータを、
前記関連画像を基準に前記所定領域を設定する所定領域設定手段としてさらに機能させる、請求項１２記載のゲームプログラム。
【請求項１４】
第１領域と当該第１領域におけるオブジェクトの移動の連続性を遮断する第２領域とを含むゲーム空間を表示する表示制御手段、
前記ゲーム空間内においてユーザが指定する経路に沿って前記オブジェクトを移動させるオブジェクト移動制御手段、
前記経路上に沿って移動する前記オブジェクトに関連する所定領域が、前記第１領域と前記第２領域との境界を越えて前記第２領域に入るかどうかを判定する越境判定手段、および
前記越境判定手段によって前記所定領域が前記第２領域に入ると判定されたとき、前記オブジェクトが移動する経路を前記第１領域内に補正する経路補正手段を備える、ゲーム装置。 
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、床や地面のような第１領域と第１領域におけるオブジェクトの移動の連続性を遮断するたとえば壁、高低差のある別の床や地面、または、池（水面）のような第２領域とを含むゲーム空間内において、ユーザが指定する経路に沿ってオブジェクトが移動する、そのようなゲーム装置およびそれのためのゲームプログラムに関する。
【背景技術】
【０００２】
この種のゲームの一例が非特許文献１で知られている。この背景技術においては、ユーザがゲーム空間内に設定した軌跡または経路に沿って、非特許文献２で示すブーメランのようなオブジェクトが移動する。ただし、その経路が壁などの障害物に接触しているときには、ブーメランはその接触場所に到達したとき、ブーメランはその経路に沿った移動をしないでプレイヤキャラクタ（「リンク」）のところに戻ってくる。
【０００３】
ただし、非特許文献２にはブーメランを使用できることが紹介されているだけで、実際にブーメランが戻る動作を示している訳ではない。
【非特許文献１】「ゼルダの伝説  夢幻の砂時計  取扱説明書」，任天堂株式会社，２００７年６月２３日
【非特許文献２】http://www.nintendo.co.jp/ds/azej/penaction/03.html（非特許文献１のゲームの紹介ＵＲＬ)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ゲーム空間の地形（ジオメトリ）によっては、第２領域内に入り込むことなく経路を第１領域内だけで正確に設定するのが困難な場合がある。たとえば壁に挟まれた狭い通路や、川にかかった狭い橋などの場合、ユーザは、通路や橋などのような第１領域上だけでなく壁や川のような第２領域内に経路を設定してしまうことがある。このような場合、ユーザの意図どおりにオブジェクトを移動させるためには、場合によっては、何度もやり直しが必要になる可能性がある。あるいは、ユーザは細心の注意を払って経路をゲーム空間内に設定する必要がある。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム理装置を提供することである。
【０００６】
この発明の他の目的は、移動経路の設定がユーザの負担になることが少ない、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００８】
第１の発明は、ゲーム装置のコンピュータを、第１領域と第１領域におけるオブジェクトの移動の連続性を遮断する第２領域とを含むゲーム空間を表示装置に表示させる表示制御手段、ゲーム空間内においてユーザが指定する経路に沿ってオブジェクトを移動させるオブジェクト移動制御手段、経路上に沿って移動するオブジェクトに関連する所定領域が、第１領域と第２領域との境界を越えて第２領域に入るかどうかを判定する越境判定手段、および越境判定手段によって所定領域が第２領域に入ると判定されたとき、オブジェクトが移動する経路を第１領域内に補正する経路補正手段として機能させる、ゲームプログラムである。
【０００９】
請求項１の発明では、ゲームプログラムは、ゲーム装置（１０：後述する実施例で相当する参照符号。以下同じ。）のコンピュータ（３４）を、表示制御手段、オブジェクト移動制御手段、越境判定手段および経路補正手段として機能させる。表示制御手段は、実施例でいえばコンピュータ（３４）によって画像データ（９４）を使って実行される画面表示制御プログラム（９２）が相当し、たとえば床や地面のような第１領域とたとえば壁、高低差のある別の床や地面、または、池（水面）のような第２領域とを含むゲーム空間とそのゲーム空間内のオブジェクトとを表示する。コンピュータ（３４）は、たとえば経路設定プログラム（８８）に従って、ユーザの操作に応じてオブジェクトが移動すべき経路をゲーム空間内に設定する。オブジェクト移動制御手段は、実施例では、コンピュータ（３４）によって実行されるオブジェクト制御プログラム（９０）、特にステップＳ１１３が相当し、ユーザの操作に従ってゲーム空間内に設定した経路に沿ってオブジェクトを移動させる。
【００１０】
越境判定手段は、実施例ではコンピュータとそれによって実行されるステップＳ１０３が相当し、この越境判断手段は、オブジェクトに相関する所定領域（実施例では、コリジョン６８）が、ゲーム空間（６０）に含まれる第１領域（６２）と第２領域（６４）との境界（６３）を越えて第２領域に入るかどうかを判定する。たとえば、所定領域の外縁の座標（Ｘ−ｒ）と境界の座標（Ｘ６３）とを比較して、前者が後者を越えているかどうか判断する。
【００１１】
経路補正手段は、実施例ではコンピュータとそれによって実行されるステップＳ１１１がそれに相当する。経路補正手段では、越境判定手段によって所定領域が境界を越えて第２領域に入ると判定されたとき、ステップＳ１１１において、経路を補正する。したがって、オブジェクト移動制御手段によってオブジェクトを経路に沿って移動したとしても、オブジェクトが第２領域（６４）に入り込むことはない。
【００１２】
第１の発明によれば、仮に経路上の点位置が第２領域内に入り込むようにユーザが経路を指定したとしても、当該経路を第１領域内に補正するので、ユーザはオブジェクトの移動経路の指定に余り神経質になる必要はなくなる。したがって、ユーザは興趣をそがれることがなく、楽しくゲームをプレイできる。
【００１３】
第２の発明は、第１の発明に従属し、オブジェクト移動制御手段は、経路上の点位置を順次目標にしてオブジェクトを移動させ、越境判定手段は、次の経路上の点位置にオブジェクトが移動したとする場合の所定領域が、第１領域と第２領域との境界を越えて第２領域に入るかどうかを判定する、ゲームプログラムである。
【００１４】
第２の発明では、オブジェクト移動制御手段は経路上の点位置を順次目標にしてオブジェクトを移動させる。そして、越境判定手段は、オブジェクトを次の点位置に移動させたときそのオブジェクトに相関する所定領域が、境界（６３）を越えて第２領域に入ることになるかどうかを判断する。たとえば、所定領域の外縁の座標（Ｘ−ｒ）と境界の座標（Ｘ６３）とを比較して、前者が後者を越えているかどうか判断する。
【００１５】
第２の発明によれば、オブジェクトが越境して第２領域に入り込むかどうかを順次の移動目標位置毎に判定することができる。
【００１６】
第３の発明は、第２の発明に従属し、経路補正手段は、越境判定手段によって次の点位置において所定領域が第２領域に入ると判定されなかったとき、次の点位置を目標位置として設定し、越境判定手段によって次の点位置において所定領域が第２領域に入ると判定されたときには、次の点位置を補正して第１領域内の目標位置を設定する目標位置設定手段を含み、オブジェクト移動制御手段は、オブジェクトを目標位置に移動させる、ゲームプログラムである。
【００１７】
第３の発明では、目標位置設定手段は、越境判定手段によって次の点位置において所定領域が境界を越えて第２領域に入ると判定したとき、たとえば実施例のステップＳ１１１において、次の点位置を補正して第１領域内の目標位置を設定する。たとえば、所定領域の大きさ（実施例ではコリジョン６８の半径）を考慮して、その所定領域が第１領域（６２）に入りかつ第２領域（６４）入り込まない目標位置を設定する。ただし、この目標位置設定手段は、越境判定手段によって次の点位置において所定領域が境界を越えて第２領域に入り込まないと判定したとき、たとえば実施例のステップＳ１０５において、経路上の次の点位置を目標位置として設定する。したがって、いずれの場合においても、オブジェクト移動制御手段によってオブジェクトをその目標位置まで移動したとしても、オブジェクトが第２領域（６４）に入り込むことはない。
【００１８】
第３の発明によれば、目標位置設定手段によって必要なときに目標位置を補正するようにしているので、オブジェクトをユーザの意図通りの位置に移動させることができるとともにオブジェクトが第２領域内に入り込むのを確実に防止できる。
【００１９】
第４の発明は、第３の発明に従属し、経路補正手段は、越境判定手段によって次の点位置において所定領域が境界を越えて第２領域に入ると判定したとき、次の点位置の境界からの距離が閾値以下かどうか判断する判断手段を含み、判断手段によって距離が閾値以下であると判断したとき、目標位置設定手段は、次の点位置を補正して第１領域内の目標位置を設定する、ゲームプログラムである。
【００２０】
第４の発明では、実施例ではコンピュータとそれが実行するステップＳ１０７によって「次の点位置」と境界との間の距離を計算し、実施例のステップＳ１０９が相当する判断手段によって、その距離が閾値以下かどうか判断する。そして、距離が閾値以下であれば経路補正手段は経路を補正しない。つまり経路が第２領域（６４）に入り込んでいたとしてもその入り込み量が小さいとき、目標位置設定手段は、補正による目標位置設定処理ではなく、「次の点位置」に基づく目標位置設定処理を実行することになる。
【００２１】
第４の発明によれば、ユーザの手振れなどによる意図しない経路のずれを効果的に補正してオブジェクトを移動させることができる。
【００２２】
第５の発明は、第４の発明に従属し、目標位置設定手段は、判断手段によって距離が閾値以下であると判断されなかったとき、次の点位置を目標位置として設定する、ゲームプログラムである。
【００２３】
たとえば実施例において、ステップＳ１０９で“ＮＯ”が判断されたときには、目標位置設定手段（Ｓ１０５）は、越境判定手段によって次の点位置において所定領域の外縁が境界を越えて第２領域に入ると判定したときであっても、その「次の点位置」を目標位置として設定する。この場合のように第１の領域から境界を越えて大きく第２領域（６４）に入った経路指定はユーザが敢えて意図した経路指定であると解釈して、その場合には、オブジェクトが第２領域に入ってしまう点位置であっても、その点位置を目標位置として設定する。
【００２４】
ただし、第５の発明の場合、実施例ではオブジェクトがその目標位置へ移動することができないので、結局オブジェクトの移動は停止することになる。
【００２５】
第５の発明によれば、オブジェクトが移動する経路の指定をユーザの意図を反映させたものにすることができる。
【００２６】
第６の発明は、第４または第５の発明に従属し、ゲーム空間を表現する仮想カメラは平行カメラであり、閾値はゲーム空間の上側または下側もしくは左側あるいは右側において異なる値として設定されている、ゲームプログラムである。
【００２７】
平行カメラ（７４）で撮影したゲーム空間の場合、ゲーム空間（６０）の下側においては第２領域（６４）であるたとえば壁面（６４ａ）が直立しているのに対して、上側においては緩やかに傾斜した状態に表現され、左右側の壁面（６４ｃ）はそれらの中間の傾斜を持つように表現される。したがって、第４の発明では、第２領域がどのように表現されるかによって、ゲーム空間の上側または下側もしくは左側あるいは右側において異なる閾値を設定して使用するようにした。
【００２８】
第６の発明によれば、ゲーム空間の表現にマッチした閾値が設定されるので、違和感をユーザに与えることがない。
【００２９】
第７の発明は、第６の発明に従属し、閾値は、上側において比較的大きい値として設定され、下側において比較的小さい値として設定され、左側あるいは右側においてそれらの間の値として設定される、ゲームプログラムである。
【００３０】
実施例では、ゲーム空間（６０）の上側においては、オブジェクトは２次元にかなり近く平面的に表示されるので、相対的に大きい閾値を設定し、ゲーム空間の下側においては、オブジェクトは完全に３次元として表示されるので、相対的に小さい閾値を設定し、左側および右側においては、相対的に大きい閾値と相対的に小さい閾値の中間の閾値を設定する。
【００３１】
第８の発明は、第３ないし第７の発明のいずれかに従属し、コンピュータを、オブジェクトが所定時間内に目標位置に到達したかどうか判定する到達判定手段、および到達判定手段によってオブジェクトが所定時間内に目標位置に到達したと判定しなかったとき、オブジェクト移動制御手段によるオブジェクト移動を停止する停止手段としてさらに機能させる、ゲームプログラムである。
【００３２】
第８の発明では、到達判定手段は、実施例では、コンピュータとそれによって実行されるステップＳ１１５‐Ｓ１２３に相当し、所定時間内に目標位置までオブジェクトが移動できなかったとき、オブジェクト移動処理が停止される。特に、実施例では、上記の第５の発明の場合、第８の発明の結果を招来することになる。
【００３３】
第９の発明は、第１の発明に従属し、経路補正手段は、越境判定手段によって次の点位置において所定領域が境界を越えて第２領域に入ると判定したとき、境界に沿って第１領域内をオブジェクトが移動するように、オブジェクトが移動する経路を補正する、ゲームプログラムである。
【００３４】
第９の発明によれば、オブジェクトが第１領域と第２領域との境界に沿ってかつ第１領域内を移動することになるので、プレイヤに違和感を与えない。
【００３５】
第１０の発明は、第１ないし第９の発明のいずれかに従属し、コンピュータを、経路を表示装置に表示させる第１表示手段、および第１表示手段によって表示された経路のうち移動手段によって移動したオブジェクトのゲーム空間内の位置に対応する経路を、第１表示手段によって表示された経路とは異なる態様で表示する第２表示手段としてさらに機能させる、ゲームプログラムである。
【００３６】
第１０の発明では、第１表示手段は、実施例では、コンピュータ（３４）とそれによって実行されるステップＳ１７がそれに相当し、ユーザが適正に経路を設定したときその経路を表示させる。第２表示手段は、実施例では、コンピュータ（３４）とそれによって実行されるステップＳ１２５が相当する。第２表示手段は，オブジェクトの移動済みの経路を第１表示による表示とは変更して（たとえば、色を変えるなどして）表示する。
【００３７】
第１０の発明によれば、ユーザが指定した経路のうち既にオブジェクトが移動した経路をユーザに認識させることができる。
【００３８】
第１１の発明は、第１ないし第１０の発明のいずれかに従属し、コンピュータを、ユーザが指定するゲーム空間内の位置を検出する位置検出手段、位置検出手段によって今回検出された位置と前回検出された位置とが所定の閾値を超えているときに、前回までに検出された位置と今回検出された位置に基づいて、経路を生成する経路生成手段としてさらに機能させる、ゲームプログラムである。
【００３９】
第１１の発明では、経路生成手段は、たとえばコンピュータ（３４）とそれによって実行される経路設定プログラム（８８，図８）であり、具体的には、経路データとして前回記憶した座標と今回検出された現在の座標との間の距離を算出し、その２座標位置間の距離が所定の閾値以上であるか否かを判定する。距離が閾値を越えているときには今回の座標を経路データとしてとして設定する。
【００４０】
第１１の発明では、閾値を、手ぶれによる座標の変化を排除できるような所定値に設定することによって、手振れによって意図しない経路が設定されるのが効果的に防止できる。
【００４１】
第１２の発明は、第１ないし第１１の発明に従属し、表示制御手段は、オブジェクトとともに当該オブジェクトに関連する関連画像を表示装置に表示させ、コンピュータを、ユーザが指定する指定位置が関連画像に位置する場合に、当該指定に後続するユーザの指定により示される指定位置に基づいて、経路を生成する経路生成手段としてさらに機能させる、ゲームプログラムである。
【００４２】
第１２の発明では、表示制御手段は、画像データ（９４）を用いて、ゲーム空間内にオブジェクトを、そのオブジェクトに関連するコリジョン（６８）と一緒に表示する。ユーザはコリジョンの順次の位置を指定して経路を設定する。
【００４３】
第１２の発明によれば、表示されている関連画像に対する指定から経路の生成が開始されるため、ユーザが経路を指定しやすくなる。
【００４４】
第１３の発明は、第１２の発明に従属し、コンピュータを、関連画像を基準に所定領域を設定する所定領域設定手段としてさらに機能させる、ゲームプログラムである。
【００４５】
第１３の発明では、たとえばコリジョンが所定領域として機能する。
【００４６】
第１４の発明は、第１領域と第１領域におけるオブジェクトの移動の連続性を遮断する第２領域とを含むゲーム空間を表示する表示制御手段、ゲーム空間内においてユーザが指定する経路に沿ってオブジェクトを移動させるオブジェクト移動制御手段、経路上に沿って移動するオブジェクトに関連する所定領域が、第１領域と第２領域との境界を越えて第２領域に入るかどうかを判定する越境判定手段、および越境判定手段によって所定領域が第２領域に入ると判定されたとき、オブジェクトが移動する経路を第１領域内に補正する経路補正手段を備える、ゲーム装置である。
【００４７】
第１４の発明によっても第１の発明と同様の効果が期待できる。
【発明の効果】
【００４８】
この発明によれば、オブジェクトが第２領域内に入り込む経路を設定したとしてもオブジェクトを第１領域内で移動させることができるので、移動経路の設定におけるユーザの負担を軽減することができる。したがって、ゲームを一層楽しくプレイすることができる。
【００４９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００５０】
【図１】この発明の一実施例のゲーム装置の一例を示す外観図である。
【図２】図１実施例の電気的な構成を示すブロック図である。
【図３】図１実施例の表示手段に表示される、ゲーム空間、そのゲーム空間内に設定された経路およびこの経路に沿ってゲーム空間内を移動するオブジェクトを含むゲーム画面の一例を示す図解図である。
【図４】図３実施例のゲーム空間のジオメトリを示す図解図である。
【図５】図１実施例を適用可能なゲーム空間のジオメトリの他の例を示す図解図である。
【図６】図１実施例のゲーム装置のメモリマップの一例を示す図解図である。
【図７】経路データの一例を示す図解図である。
【図８】図１実施例においてのユーザによって経路を設定する際の動作の一例を示すフロー図である。
【図９】図１実施例においてゲーム空間内において経路に沿ってオブジェクトを移動させる際の動作の一例を示すフロー図である。
【発明を実施するための最良の形態】
【００５１】
図１を参照して、この発明の実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。ＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング1６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００５２】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【００５３】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａと略同じであり、その略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。下側ハウジング１６ｂの右側面には電源スイッチ１８が設けられる。
【００５４】
また、上側ハウジング１６ａには、ＬＣＤ１２を挟んで左右に、スピーカ３６ａおよび３６ｂ（図２）のための音抜き孔２０ａおよび２０ｂが形成される。そして、下側ハウジング１６ｂには、マイク（図示せず）のためのマイク孔２０ｃが形成されるとともに、操作スイッチ２２（２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２Ｌおよび２２Ｒ）が設けられる。
【００５５】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とにおいて、回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００５６】
操作スイッチ２２は、方向指示スイッチ（十字スイッチ）２２ａ，スタートスイッチ２２ｂ、セレクトスイッチ２２ｃ、動作スイッチ（Ａボタン）２２ｄ、動作スイッチ（Ｂボタン）２２ｅ、動作スイッチ（Ｘボタン）２２ｆ、動作スイッチ（Ｙボタン）２２ｇ、動作スイッチ（Ｌボタン）２２Ｌおよび動作スイッチ（Ｒボタン）２２Ｒを含む。スイッチ２２ａは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の左側に配置される。その他のスイッチ２２ｂ−２２ｇは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の右側に配置される。さらに、スイッチ２２Ｌおよびスイッチ２２Ｒは、それぞれ、上側ハウジング１６ａとの連結部を挟む下側ハウジング１６ｂの上側面の左右角部に配置される。
【００５７】
方向指示スイッチ２２ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。また、各押圧部には、特定の役割を割り当てることができ、４つの押圧部の１つを操作することによって、割り当てられた役割を指示（指定）することができる。
【００５８】
スタートスイッチ２２ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ２２ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００５９】
動作スイッチ２２ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２２ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２２ｃで選択したゲームモードの変更やＡボタン２２ｄで決定したアクションの取り消し等のために用いられる。
【００６０】
動作スイッチ２２ｆすなわちＸボタン、および動作スイッチ２２ｇすなわちＹボタンは、プッシュボタンで構成され、Ａボタン２２ｄとＢボタン２２ｅだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Ｘボタン２２ｆおよびＹボタン２２ｇは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることも可能である。もちろん、ゲームプレイにおいてＸボタン２２ｆとＹボタン２２ｇとを必ずしも使用しなくてよい。
【００６１】
動作スイッチ２２Ｌ（左押しボタン）および動作スイッチ２２Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）２２Ｌおよび右押しボタン（Ｒボタン）２２Ｒは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることができ、また、Ａボタン２２ｄおよびＢボタン２２ｅの補助的な操作に用いることができる。さらに、Ｌボタン２２ＬおよびＲボタン２２Ｒは、方向スイッチ２２ａ、Ａボタン２２ｄ，Ｂボタン２２ｅ，Ｘボタン２２ｆ，Ｙボタン２２ｇに割り当てられた役割を、他の役割に変更することができる。
【００６２】
また、ＬＣＤ１４の上面には、タッチパネル２４が装着される。タッチパネル２４としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２４は、その上面をスティック２６ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２６等」という場合がある。）で、押圧したり、撫でたり、触れたりすることにより操作（タッチオン操作）すると、スティック２６等の操作位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。
【００６３】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ）の表示面の解像度は２５６ドット×１９２ドットであり、タッチパネル２４の検出精度も表示画面に対応して２５６ドット×１９２ドットとしてあるが、タッチパネル２４の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００６４】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画面が表示されてもよい。たとえば、レースゲームでは一方のＬＣＤに運転席からの視点による画面を表示し、他方のＬＣＤにレース（コース）全体の画面を表示することができる。また、ＲＰＧでは、一方のＬＣＤにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のＬＣＤにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のＬＣＤ（この実施例では、ＬＣＤ１４）にゲームの操作画面（ゲーム画面）を表示し、他方のＬＣＤ（この実施例では、ＬＣＤ１２）に当該ゲームに関する情報（得点やレベルなど）を含む他のゲーム画面を表示することができる。さらには、２つのＬＣＤ１２およびＬＣＤ１４を合わせて１つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物（敵キャラクタ）を表示することもできる。
【００６５】
したがって、プレイヤはスティック２６等でタッチパネル２４を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、操作オブジェクトなどの画像を指示（操作）したり、コマンドを選択（入力）したりすることができる。また、３次元ゲーム空間に設けられる仮想カメラ（視点）の方向（視線の向き）を変化させたり、ゲーム画面（マップ）のスクロール(徐々に移動表示)方向を指示したりすることもできる。
【００６６】
なお、ゲームの種類によっては、タッチパネル２４を用いることにより、その他の入力指示も可能である。たとえば、座標入力指示を入力したり、ＬＣＤ１４において文字，数字，記号等を手書き入力したりすることができる。
【００６７】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２４が設けられるので、２画面（１２，１４）と２系統の操作部（２２，２４）とを有する構成になっている。
【００６８】
また、この実施例では、スティック２６は、たとえば下側ハウジング１６ｂに設けられる収納部（図示せず）に収納することができ、必要に応じて取り出される。ただし、スティック２６を設けない場合には、その収納部も設ける必要はない。
【００６９】
さらに、ゲーム装置１０はメモリカード（またはカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは下端（底面）に設けられる挿入部３０（図１では点線で示す）に挿入される。図１では省略するが、挿入部３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ３２（図２参照）が設けられており、したがって、メモリカード２８が挿入部３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア３４（図２参照）がメモリカード２８にアクセス可能となる。
【００７０】
なお、図１では表現できないが、上側ハウジング１６ａの音抜き孔２０ａおよび２０ｂと対応する位置であり、この上側ハウジング１６ａの内部にはスピーカ３６ａおよび３６ｂ（図２参照）が設けられる。
【００７１】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００７２】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板３８を含み、この電子回路基板３８には上述のＣＰＵコア３４等の回路コンポーネントが実装される。ＣＰＵコア３４は、バス４０を介して前述のコネクタ３２に接続されるとともに、ＲＡＭ４２、第１のグラフィック処理ユニット（ＧＰＵ）４４、第２のＧＰＵ４６、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）４８およびＬＣＤコントローラ５０が接続される。
【００７３】
コネクタ３２には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ３２と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア３４は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００７４】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲームのためのゲームプログラム、画像データ（文字やオブジェクトの画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像など）およびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データなどを記憶（セーブ）する。
【００７５】
ＲＡＭ４２は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア３４は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、画像データおよび音データ等をＲＡＭ４２にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア３４は、ゲームの進行に応じて一時的に発生するデータ（ゲームデータやフラグデータ）をＲＡＭ４２に記憶しつつゲーム処理を実行する。
【００７６】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または部分的かつ順次的に読み出され、ＲＡＭ４２に記憶（ロード）される。
【００７７】
ＧＰＵ４４およびＧＰＵ４６は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア３４からのグラフィックスコマンド（作画命令）を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、ＣＰＵコア３４は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ４４およびＧＰＵ４６のそれぞれに与える。
【００７８】
また、ＧＰＵ４４には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５２が接続され、ＧＰＵ４６には、第２のＶＲＡＭ５４が接続される。ＧＰＵ４４およびＧＰＵ４６が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ４４およびＧＰＵ４６が、それぞれ、第１のＶＲＡＭ５２および第２のＶＲＡＭ５４にアクセスして取得する。
【００７９】
なお、ＣＰＵコア３４は、描画に必要な画像データをＧＰＵ４４およびＧＰＵ４６を介して第１のＶＲＡＭ５２および第２のＶＲＡＭ５４に書き込む。ＧＰＵ４４はＶＲＡＭ５２にアクセスして描画のための画像データを作成し、ＧＰＵ４６はＶＲＡＭ５４にアクセスして描画のための画像データを作成する。
【００８０】
ＶＲＡＭ５２およびＶＲＡＭ５４は、ＬＣＤコントローラ５０に接続される。ＬＣＤコントローラ５０はレジスタ５６を含み、レジスタ５６はたとえば１ビットで構成され、ＣＰＵコア３４の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「０」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１２に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「１」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１４に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１２に出力する。
【００８１】
なお、ＬＣＤコントローラ５０は、ＶＲＡＭ５２およびＶＲＡＭ５４から直接画像データを読み出したり、ＧＰＵ４４およびＧＰＵ４６を介してＶＲＡＭ５２およびＶＲＡＭ５４から画像データを読み出したりする。
【００８２】
Ｉ／Ｆ回路４８には、操作スイッチ２２，タッチパネル２４およびスピーカ３６ａ，３６ｂが接続される。ここで、操作スイッチ２２は、上述したスイッチ２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２Ｌおよび２２Ｒであり、操作スイッチ２２が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。また、タッチパネル２４からの座標データがＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。さらに、ＣＰＵコア３４は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４２から読み出し、Ｉ／Ｆ回路４８を介してスピーカ３６ａ，３６ｂから出力する。
【００８３】
Ｉ／Ｆ回路４８には、操作スイッチ２２，タッチパネル２４および左右スピーカ３６ａ,３６ｂが接続される。ここで、操作スイッチ２２は、上述したスイッチ２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２Ｌおよび２２Ｒであり、操作スイッチ２２が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。また、タッチパネル２４から出力される操作データ（座標データ）がＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。さらに、ＣＰＵコア３４は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４２から読み出し、Ｉ／Ｆ回路４８を介して左右スピーカ３６ａ,３６ｂからその音を出力する。
【００８４】
ワイヤレス通信部５８は他のゲーム装置１０との間で無線によってデータを送受信するための通信手段である。すなわち、ワイヤレス通信部５８は、相手方への通信データを無線信号に変調してアンテナから送信し、また、相手方のゲーム装置１０からの無線信号を同じアンテナで受信して通信データに復調する。
【００８５】
この実施例では、ユーザがタッチペン（スティック）２６を用いて仮想ゲーム世界（仮想ゲーム空間）内にオブジェクトが移動すべき軌跡（経路）を設定し、オブジェクトをその経路に沿って移動させるゲームを実行する。
【００８６】
具体的には、図３に示す仮想３次元ゲーム空間６０を表示した仮想３次元ゲーム画面が第２のＬＣＤ１４に表示される。この仮想３次元ゲーム空間６０のジオメトリは、図４に示すが、第１領域６２および第２領域６４が形成されていて、第１領域６２は、たとえば床オブジェクトからなり、オブジェクト６６が、敵などに遭遇しない限り、自由に移動できる領域である。第２領域６４はたとえば壁オブジェクトなどのような障害物であり、オブジェクト６６の第１領域６２内における移動を阻止したり妨害したりする領域である。つまり、第２領域６４は第１領域６２におけるオブジェクトの移動の連続性を遮断する機能を持った領域であるということができる。この第１領域６２と第２領域６４とが境界６３で接している。
【００８７】
なお、図３において点線で示し、オブジェクト６６の下方に設定されている円形領域は「コリジョン」（衝突または接触）を判定するためにオブジェクト６６に関連して設定されている領域であり、ここではこの領域をコリジョン６８と呼ぶ。コリジョン６８はオブジェクト６６に相関する所定領域であり、後述のように、この実施例では、便宜上このコリジョン６８を用いて、オブジェクト６６が第２領域６４に入り込むかどうかを判定するようにしている。
【００８８】
そして、ユーザはスティック２６を用いてタッチパネル２４（図２）表面をなぞることによって、オブジェクト６６すなわちコリジョン６８の移動すべき経路７０を図３に示すように設定する。
【００８９】
経路７０は、その開始点７２Ｓから終了点７２Ｅまで連続して設定されるものであり、実際にはもっと細かいのであるが、順次の点位置７２Ｓ，７２０，７２１，７２２，７２３，…７２Ｅによって形成される。
【００９０】
そして、コリジョン６８すなわちオブジェクト６６はこの経路７０に沿ってゲーム空間６０内の第１領域６２上を移動するのであるが、ユーザは必ずしも、第１領域６２内だけに（オブジェクト６６が壁などに入り込まないように）経路を正確に設定できるというものではない。たとえば、第１領域６２が狭小な場合、あるいは、第１領域６２と第２領域６４との境界６３が複雑な形状である場合などにおいては、ユーザが設定する経路７０はしばしば、第２領域６４に極端に接近したり、場合によっては、境界６３を越境して第２領域６４内に入り込んだりしてしまう。このような場合、先に挙げた背景技術などにおいては、オブジェクトの移動が停止されてしまうので、ユーザの思い通りのオブジェクトの移動がなかなかできにくい。そのため、ユーザの意図どおりにオブジェクトを移動させるためには、場合によっては、何度もやり直しが必要になることもあり、経路設定の技量を競うゲームでない限り、それがユーザのゲームに対する興趣をそぐことにもなる。
【００９１】
そこで、この実施例は、ユーザが指定した経路７０に沿ってオブジェクト６６が移動する場合にオブジェクト６６（コリジョン６８）が多少第２領域６４に入り込んでしまうときでも、ユーザが指定した経路自体の入り込みの量が許容値である場合には、経路７０の連続性を確保してオブジェクト６６を継続的に移動させようとするものである。
【００９２】
すなわち、後に詳細に説明するが、簡単に言うと、順次の点位置に設定されるコリジョン６８の境界６３からの入り込みがある場合に、ユーザが指定した経路自体の境界６３からの入り込み量が閾値Ｄ以下であれば、経路７０のそのときの第２領域６４への入り込みはユーザが意図しなかった入り込みであると判定して、当該次の点位置を補正して、オブジェクト６６が次に移動すべき目標位置をコリジョン６８が第１領域６２内となるように設定する。しかし、コリジョン６８の境界６３からの入り込みがある場合に、ユーザが指定した経路自体の境界６３からの入り込み量が閾値Ｄを越えている場合には、経路７０のそのときの第２領域６４への入り込みはユーザが敢えて意図した入り込みであると判定して、補正をしないで、第２領域６４内の当該次の点位置をオブジェクト６６が次に移動すべき目標位置として設定する。
【００９３】
なお、図３の仮想３次元ゲーム空間６０は図４に示す平行カメラ７４で撮影したゲーム空間である。ここで、平行カメラとは、その撮影方向が一定なままで移動するカメラのことを言う。なお、本実施例では、カメラの高さ位置も一定にされる。このような平行カメラ７４で表現する仮想３次元ゲーム空間６０では、図３からよく分かるように、仮想３次元ゲーム空間６０の下側においては第２領域６４である壁面６４ａが直立しているのに対して、上側においてはその壁面６４ｂはかなり「寝た」（緩やかに傾斜した）状態で表現されている。そして、左右側の壁面６４ｃは壁面６４ａと壁面６４ｂとの中間の傾斜を持つように表現される。
【００９４】
したがって、この実施例では、仮想３次元ゲーム空間６０の上側においては、オブジェクト６６は２次元にかなり近く平面的に表示される。したがって、この位置において経路を第２領域６４にかかるように設定したとしても、オブジェクト６６自体が２次元に近く平面化されて表示されているので、経路のブレでオブジェクト６６が第２領域６４に入りこんだとしても、入り込む量は３次元の仮想空間においては、ＬＣＤ１４における２次元的な見た目ほど大きくないので、経路の境界６３からの入り込み量の閾値Ｄとして比較的大きな閾値を設定している。逆に、仮想３次元ゲーム空間６０の下側においては、オブジェクト６６は完全に３次元として表示されるので、比較的小さな閾値Ｄを設定している。仮想３次元ゲーム空間６０の左側および右側においては、それらの中間の値の閾値Ｄを設定する。
【００９５】
なお、図３の仮想３次元ゲーム空間のジオメトリを図４に示す。図４では第２領域６４が第１領域６２より仮想空間において高い位置に設定されている。しかしながら、第２領域６４は図５に示すように第１領域６２より低い位置に設定されてもよい。図５のように第１領域６２より低い位置に設定される第２領域６４としては、池や川さらには海のような水面（属性の異なる面）、深い穴、あるいは、第１領域６２の床とは高さが異なる床などが想定され得る。水面ではオブジェクト６６は第１領域６２（たとえば地面）と同じ様に移動することはできず、何もなければ（アイテムを用いるなど、特殊な状態にならない限り）オブジェクトは沈んでいくことになる。このような場合も第２領域６４は第１領域６２におけるオブジェクト６６の移動の連続性を遮断するように働く。
【００９６】
図４や図５で示すように、仮想３次元ゲーム空間を構成する第１領域６２および第２領域６４は任意のジオメトリを持って配置できる点に留意されたい。
【００９７】
図３および図４に示す仮想３次元ゲーム空間６０において、図３の左右方向をＸ軸とすると、図３の上下方向がＹ軸となり、図４に示す高さ方向がＺ軸となる。Ｘ軸の座標は、図３の左端が「０」に決められていて、右に向うにつれて値が大きくなる。Ｙ軸の座標は、図３の下端が「０」とされ、上に向うにつれて値が大きくなる。Ｚ軸の座標は、図４の右端（第１領域６２を示す線の位置）が「０」で、左に向うにつれて値が大きくなる。
【００９８】
図６には、ゲーム装置１０のメモリマップの一例が示される。メモリマップはプログラム記憶領域８０およびデータ記憶領域８２を含む。なお、図６にはメモリマップの一部のみが示されており、ゲームやアプリケーションの進行に必要な各種プログラムおよびデータが記憶される。
【００９９】
ゲームメインプログラム記憶領域８４には、ゲームを進行させるためのプログラムが記憶される。タッチ入力検出プログラム記憶領域８６には、タッチパネル２４からの操作データ（タッチ入力データ）を検出するためのプログラムが記憶される。タッチ入力データは、タッチ位置の座標データを含み、たとえば一定時間間隔で（たとえば１表示フレーム（１／６０秒）中に所定回数）検出される。
【０１００】
経路設定プログラム記憶領域８８には、オブジェクト６６を移動させるための経路７０（図３）を示す経路データを取得するためのプログラムが記憶されている。この実施例では、タッチオンからタッチオフまで連続的に検出される座標を経路（軌跡）の座標として取得する。ただし、実施例では、ユーザが１回に描画できる軌跡の長さに制限がある。具体的には、移動経路として記憶される座標数に上限値を設定しているので、座標カウンタ（後述）によって記憶した座標数を計測し、座標カウンタ値が所定の閾値を超えた場合にはそれ以降の検出される座標は経路データとしては記憶されない。また、手ぶれ対策として、前回記憶された座標から所定距離以上離れていない座標も経路データとして記憶しないこととしている。
【０１０１】
オブジェクト制御プログラム記憶領域９０には、図３に示すようにユーザが設定した経路７０に沿うオブジェクト６６の移動を制御するためのプログラムが記憶されている。このプログラムによって、たとえば、オブジェクト６６の仮想３次元ゲーム空間における座標を示す位置データ、２次元マップ（後述）における座標を示す位置データ等が設定され更新される。
【０１０２】
画面表示制御プログラム記憶領域９２には、画面の生成および表示を制御するためのプログラムが記憶されている。また、このプログラムによって、たとえば３次元ゲーム画面を生成するための注視点位置データおよびカメラ位置データが設定および更新される。
【０１０３】
画像データ記憶領域９４には、地形オブジェクト、背景オブジェクト、オブジェクト６６を含む全てのオブジェクトないしキャラクタを表示するための画像データが記憶されている。
【０１０４】
マップデータ記憶領域９６には、仮想３次元ゲーム世界のマップデータが記憶されている。マップデータは仮想３次元ゲーム世界の構成を示すデータであり、地形オブジェクトのような固定的に設けられるオブジェクト等の位置データや画像指定データ等を含む。
【０１０５】
２Ｄマップデータ記憶領域９８には、仮想３次元ゲーム世界の２次元マップデータが記憶されている。この２次元マップは、仮想３次元ゲーム世界を前述の平行カメラから見た平面図である。この２Ｄマップデータは、後に詳細に説明するように、図３の経路７０が第２領域６４に入り込んでいるかどうかを判定したり、その場合の「次の点位置」と境界６３（図３）との間の距離を計算したり、さらには補正した目標位置を設定したりするために利用される。
【０１０６】
タッチ入力データ記憶領域１００には、タッチ入力検出プログラムによって検出されるタッチ入力データが記憶される。タッチ入力データはタッチ入力の有無を示すデータおよび検出された座標データを含む。
【０１０７】
座標カウンタ記憶領域１０２は、経路設定プログラム８８によって経路として記憶されるタッチ座標の数を計測するための変数が記憶される。つまり、この実施例では、経路として記憶可能な座標（点位置）の数に制限を設けている。つまり、経路として記憶した座標数が一定値（たとえば１００）を超えたと判定される場合には、タッチオンが継続されていても検出される座標を経路データとして記憶しないようにしている。しかしながら、この座標数の制限値は、任意に変更可能であるばかりでなく、制限値を設けないことも自由である。制限値を設定しない場合、当然、この座標カウンタ記憶領域１０２も省略可能である。
【０１０８】
経路データ記憶領域１０４には、経路設定プログラムによって取得された経路データが記憶される。経路データとしては、図７に示すように、座標カウンタ値に対応付けて、タッチ座標（Ｘａ，Ｙａ）が記憶されている。このタッチ座標が経路７０上の各点（図３の７２０，７２１，７２２，…）の位置データである。
【０１０９】
図６に戻って、オブジェクト位置データ記憶領域１０６には、オブジェクト６６の仮想３次元ゲーム空間における位置座標、２次元マップ上の位置座標等を示す位置データが記憶される。
【０１１０】
目標位置設定レジスタ１０８は、オブジェクト制御プログラムに従ってオブジェクト６６を移動させるときに、オブジェクト６６が次に移動すべき位置を「目標位置」としてその都度設定するためのレジスタである。
【０１１１】
さらに、タイマ１１０は、コンピュータすなわちＣＰＵコア３４がオブジェクト６６の次の点位置（目標位置）への移動を指示したにも拘らず移動しなかった場合のタイムアウトを判定するためのタイマである。
【０１１２】
ここで、図８を参照して、移動経路設定プログラム８８によって図７に示す経路データを設定するための動作について説明する。
【０１１３】
なお、コンピュータないしＣＰＵコア３４によって図３に示す画像データ記憶領域９４に記憶されている画像データを用いて同じく図３に示す画面表示制御プログラム領域９２に格納されている画面表示制御プログラムを実行することによって図３に示すような仮想３次元ゲーム空間６０を表現するゲーム画像（ゲーム画面）が表示される。つまり、画面表示制御プログラムが表示制御手段を構成することになるが、この表示制御手段がゲーム画面を表示するとき、図３に示すように、オブジェクト６６とともに当該オブジェクト６６に関連する関連画像、実施例ではコリジョン６８の画像を表示装置（第２のＬＣＤ１４）に表示させる。
【０１１４】
そこで、この実施例では、ユーザがオブジェクト６６の経路７０を設定するとき、上述のコリジョン６８が移動すべき順次の点位置を指定することによって経路７０が設定できるようにしている。したがって、ユーザが指定する点位置がコリジョン６８の画像上に位置する場合に、そのユーザの指定により示される点位置に基づいて、経路７０を生成するようにしている。
【０１１５】
ゲームによってはオブジェクト６６が非常に大きかったり、非常に小さかったりすることがあるが、そのような場合に、正確にオブジェクト６６のどこにタッチしたら経路生成のために点位置を指定したことになるのか、ユーザにとっては分かりにくい。ところが、実施例のようにオブジェクト６６の関連画像（コリジョン６８）にタッチしたときは経路設定のための操作をユーザが行なっていると判断できれば、ユーザが経路設定に際してどこの位置を最初に指定すればよいかが容易に把握できる。
【０１１６】
最初のステップＳ１で、コンピュータすなわちＣＰＵコア３４（図２）は、図６に示す座標カウンタ記憶領域１０２に記憶されている座標カウンタ値をリセットする。
【０１１７】
ついで、ステップＳ３で、ＣＰＵコア３４は、タッチオンされたか否か、つまり、タッチ入力が開始されたか否かを判断する。具体的には、ＣＰＵコア３４は、タッチ入力データ記憶領域１００に記憶されているタッチ入力データに基づいて、タッチ入力が開始されたか否かを判断する。そして、ＣＰＵコア３４は、前回のタッチ入力データが、入力が行われていないことを示し、かつ、今回のタッチ入力データが、入力が行われたことを示した場合に、タッチ入力が開始されたと判断する。ステップＳ３で“ＹＥＳ”が判断された場合、つまり、タッチ入力が開始されたときには、ステップＳ５へ進む。すなわち、経路データの取得が開始される。一方、ステップＳ３で“ＮＯ”が判断された場合には、再度ステップＳ３の処理が実行される。
【０１１８】
なお、上述のように経路設定に際してはオブジェクト６６の関連画像、実施例ではコリジョン６８の画像上に最初にタッチしたとき経路設定のための操作をユーザがしようとしていると判断するので、ステップＳ３でＣＰＵコア３４は、そのコリジョン６８の画像上の点にタッチしたとき、“ＹＥＳ”と判断する。したがって、ユーザがコリジョン６８の画像以外の点にタッチしているときは、経路設定のための操作以外の操作がされていると判断し、ステップＳ３では“ＮＯ”と判断することになる。
【０１１９】
ステップＳ５で、コンピュータすなわちＣＰＵコア３４は、座標カウンタ記憶領域１０２に記憶されている座標カウンタ値が所定の閾値以下であるか否かを判断する。ステップＳ５で“ＹＥＳ”が判断された場合、つまり、経路データの座標数が上限を超えていないときには、ＣＰＵコア３４は、ステップＳ７でタッチ入力データからタッチ位置の座標（タッチ座標）を検出する。
【０１２０】
続いて、ステップＳ９で、ＣＰＵコア３４は、経路データとして前回記憶したタッチ座標と今回検出された現在のタッチ座標との間の距離を算出する。なお、たとえば、前回の座標の初期値を、タッチ座標として検出され得る座標から閾値を超える距離だけ離れた座標に設定しておくことによって、座標カウンタ値が初期値の場合、つまり、タッチ入力が開始されたときには、閾値を超える距離が算出されるようにする。
【０１２１】
そして、ステップＳ１１で、コンピュータすなわちＣＰＵコア３４は、算出した２座標位置間の距離が所定の閾値以上であるか否かを判定する。この距離の閾値は手ぶれによる座標の変化を排除できるような所定値に設定されている。ステップＳ１１で“ＹＥＳ”が判断された場合、つまり、今回検出された現在のタッチ座標がユーザの意図した経路設定座標であると看做せる場合には、ＣＰＵコア３４は、ステップＳ１３で座標カウンタをインクリメントして、座標カウント値を更新する。
【０１２２】
そして、ステップＳ１５で、コンピュータすなわちＣＰＵコア３４は、「現在のタッチ座標に対応する仮想空間の座標」および座標カウンタ値を対応付けたデータを経路データ記憶領域１０４に追加的に記憶する。このようにして、図７に示したような経路データが記憶される。なお、経路データ記憶領域１０４に記憶する仮想空間の座標は、３次元座標でもよいが、本実施例では、コリジョン６８の境界６３からの入り込み量の判定やユーザが指定した経路の境界６３からの入り込み量の判定を２次元的におこなうこととし、経路データ記憶領域１０４に記憶する仮想空間の座標は、２次元座標を記憶することとする。
【０１２３】
続いて、ステップＳ１７で、コンピュータすなわちＣＰＵコア３４は、画像データおよび現在のタッチ座標データ等に基づいて、ＧＰＵ５０等を用いて、ゲーム空間上内において現在のタッチ座標に軌跡を示すためのドット画像を描画する。これによって、たとえば図３に示すように、ゲーム画面上にユーザが設定した経路７０が描画される。
【０１２４】
ただし、図３の実施例では、開始点７２Ｓから点位置７２２までの経路は「太く」、点位置７２２以降は「細く」描画されている。これは、オブジェクト６６が実際に移動したかどうかで区別するためである。つまり、開始点７２Ｓから点位置７２２までの経路は既にオブジェクト６６が移動としたものとして太く、それ以降は未だ移動していないものとして細く図解している。実際には色を変更して描画することによって、移動済みかどうかを目視可能に表現している。
【０１２５】
その後、ステップＳ１７に進み、ＣＰＵコア３４は、タッチオフされたかどうか、つまり、タッチ入力を終了したかどうか判断する。具体的には、ＣＰＵコア３４は、タッチ入力データ記憶領域１００に記憶されているタッチ入力データが、入力が行われていないことを示しているか否かを判断することにより、タッチ入力を終了したかどうかを判断する。ただし、ステップＳ５で“ＮＯ”が判断された場合、ステップＳ１１で“ＮＯ”が判断された場合には、直接このステップＳ１７に進む。そして、ステップＳ１７で“ＮＯ”が判断された場合、ＣＰＵコア３４は、ステップＳ５に戻ってステップＳ５‐Ｓ１７の動作を繰り返し、１表示フレーム（１／６０秒）に一定数、たとえば４つの座標データを経路上の点位置のデータとして図７に示すように、図６の経路データ記憶領域１０４に記憶する。
【０１２６】
このようにしてオブジェクト６６が移動する経路７０をユーザが設定した後、コンピュータすなわちＣＰＵコア３４は、実際にその経路７０に沿ってオブジェクト６６を移動させるための動作処理を、オブジェクト制御プログラム９０に従って実行する。
【０１２７】
図９の最初のステップＳ１０１において、コンピュータすなわちＣＰＵコア３４は、図６の経路データ記憶領域１０４に未移動の次の点位置があるかどうか判断する。これは、図７の経路データのテーブル中に移動済みか未移動かを示すフラグを追記することによって容易に判定できる。なお、経路データ記憶領域１０４に記憶されたタッチ座標は、座標カウンタ値の順番で利用される。オブジェクト６６が移動すべき次の点位置がないときは、ステップＳ１０１で“ＮＯ”が判断され、コンピュータすなわちＣＰＵコア３４は、後述するステップＳ１２７を実行する。
【０１２８】
オブジェクト６６が移動すべき次の点位置があるときは、ステップＳ１０１で“ＹＥＳ”が判断され、コンピュータすなわちＣＰＵコア３４は、次のステップＳ１０３を実行する。このステップＳ１０３では、ＣＰＵコア３４は、オブジェクト６６が当該次の点位置に移動したとすると、そのオブジェクト６６に関連する所定領域、つまり、コリジョン６８の外縁（図３においては点線）が第１領域６２と第２領域６４との境界６３を越えて第２領域６４内に入り込むのかどうか判定する。このステップＳ１０３は、具体的には、図６の２Ｄマップデータ９８を利用して実行する。
【０１２９】
すなわち、越境判定をするための領域、つまり、コリジョン６８の半径を図３に示すように「ｒ」としたとき、前記次の点位置のＸ値からこの半径ｒを減算し、その減算結果「Ｘ−ｒ」が境界６３のＸ値（Ｘ６３）より大きいかどうか判断すればよい。（Ｘ−ｒ）がＸ６３より大きいときは、次の点位置にオブジェクト６６が移動してもコリジョン６８の外縁が第２領域６４に入り込むことがない。したがって、ステップＳ１０３で“ＮＯ”が判断されることになり、この場合には、次のステップＳ１０５に進み、当該「次の点位置」をオブジェクトが次に移動すべき目標位置として、目標位置設定レジスタ１０８に設定する。
【０１３０】
逆の場合、つまり（Ｘ−ｒ）がＸ６３より小さいか等しいときは、次の点位置にオブジェクト６６が移動したとすると、コリジョン６８の外縁が越境して第２領域６４に入り込む結果になることを意味する。したがって、ステップＳ１０３で“ＹＥＳ”が判定されることになり、コンピュータすなわちＣＰＵコア３４は、次のステップＳ１０７において、当該次の点位置の境界６３からの距離（Ｘ６３−Ｘ）を計算する。
【０１３１】
そして、次のステップＳ１０９において、コンピュータすなわちＣＰＵコア３４は、次の点位置と境界６３との間の距離が所定の閾値以下かどうか判断する。実施例では、当該次の点位置の境界６３からの距離が小さいとき、つまり、第２領域６４への入り込み量が小さいときには、そのような入り込みはユーザの意図しない設定、たとえば手振れなどによるものであると解釈して、その「次の点位置」を有効な設定位置として取り扱うようにしている。したがって、このステップＳ１０９では、第２領域６４への入り込み量が許容値かどうかを判断することになる。
【０１３２】
なお、図３では、ゲーム空間においてＸの負の方向に存在する壁について説明したが、Ｘの正の方向に存在する壁に対しては、Ｘ＋ｒが境界６３のＸ値より大きいときに、コリジョン６８が第２領域６４に入り込むと判断すればよいし、Ｙの正または負の方向に存在する壁に対しても、同様にして適宜処理内容を決めればよい。
【０１３３】
なお、このステップＳ１０９における「閾値」として、実施例のゲーム空間が仮想３次元ではあるけれども、平行カメラ７４で表現しているため、次の点位置がゲーム空間のどこ（上側、下側、左側、右側）にあるかによって、異なる閾値を採用する必要があることは前述したとおりである。
【０１３４】
ステップＳ１０９で“ＹＥＳ”が判断された場合、コンピュータすなわちＣＰＵコア３４は、次のステップＳ１１１において、「次の点位置」を補正して目標位置を決定し、目標位置設定レジスタ１０８に格納する。
【０１３５】
ステップＳ１１１での目標位置の設定では、この実施例では、図３におけるコリジョン６８１あるいは６８２として示すように、コリジョン６８が第２領域６４の外縁に沿って第１領域６２内を移動するような、目標位置を設定する。すなわち、オブジェクト６６が境界６３に沿って第１領域６２内を移動するような目標位置が設定されることになる。たとえば、「次の点位置」が図３の点位置７２１であるとしたとき、その点位置７２１のＸ値は「Ｘ６３−Ｘ１」である。Ｘ６３は境界６３のＸ値であり、Ｘ１は点位置７２１の境界６３との間の距離である。したがって、半径ｒのコリジョン６８（６８１）の左端が第２領域６４の外縁に沿った位置にあるためには、そのコリジョン６８１の中心位置におけるＸ値を「Ｘ６３＋ｒ」に設定する必要がある。つまり、ステップＳ１１１では、コンピュータすなわちＣＰＵコア３４は、次の点位置７２１の位置データのＸ値を補正して「Ｘ６３＋ｒ」のＸ値を持つ座標位置を次の目標位置として算出して目標位置設定レジスタ１０８に設定する。この場合、点位置７２１のＹ値（図３のゲーム空間における奥行き方向、つまり図３の上下方向）を補正する必要はない。なぜなら、この位置７２１においてはＸ方向のみデータを差し替えれば、コリジョン６８すなわちオブジェクト６６が第１領域６２内を移動できるようになるからである。したがって、上述の実施例では、目標位置は、境界６３に垂直な方向に、かつ、第２領域６４から第１領域６２に向かう方向に補正されることになる。
【０１３６】
このようにして、ステップＳ１１１において、経路７０上に設定された点位置を補正して目標位置を設定することによって、オブジェクト６６がこの目標位置に移動することになる。つまり、次の点位置を補正して目標位置を設定することによって、結局、オブジェクト６６がそれに沿って移動する経路を変更することになる。したがって、コンピュータないしＣＰＵコア３４とそれが実行するステップＳ１１１が経路補正手段を構成することになる。
【０１３７】
ただし、上述の実施例では、オブジェクト６６が第２領域６４の外縁に沿って第１領域６２内を移動する、そのような目標位置をステップＳ１１１で設定した。しかしながら、単に第１領域６２内を移動できればよく、必ずしも第２領域６４の外縁（境界６３）に沿って移動する必要はない。
【０１３８】
さらにまた、補正方法として次の点位置のＸ値だけを変更して目標位置データを算出したが、Ｙ値も併せて変更する方法が採用されてもよい。あるいは、コリジョンの接線ベクトルを用いて補正する方法も考えられる。いずれにしても、次の点位置にオブジェクト６６が移動したときそのオブジェクト６６が第１領域６２内にとどまる目標位置を設定すればよいだけである。
【０１３９】
なお、ステップＳ１０９で“ＮＯ”が判断された場合、つまり、次の点位置の第２領域６４への入り込み量が許容値を超えていたときには、実施例では、そのように位置設定は、手振れによるものではなく、ユーザが意図した位置設定であると解釈して、ステップＳ１０５において、目標位置として、「次の点位置」をそのまま設定する。ステップＳ１０３で“ＮＯ”を判断したときと同様で、何も補正しない。
【０１４０】
ステップＳ１０５またはＳ１１１において目標位置を設定してタイマ１１０（図６）をスタートさせた後、コンピュータすなわちＣＰＵコア３４は、次のステップＳ１１３において、コリジョン６８すなわちオブジェクト６６をその目標位置に移動させる。具体的には、表示フレーム毎にオブジェクト位置データ記憶領域１０６におけるオブジェクト６６の位置データを目標位置の方向に一定量だけ移動させることによってオブジェクト６６を目標位置まで次第に移動させる。
【０１４１】
ステップＳ１１５において、コンピュータすなわちＣＰＵコア３４は、目標位置設定レジスタ１０８に格納されている目標位置とオブジェクト位置データ記憶領域１０６の更新された位置データとを参照して、オブジェクト６６（コリジョン６８）が目標位置まで実際に移動したかどうか判断する。
【０１４２】
ステップＳ１１５で“ＹＥＳ”が判断された場合、オブジェクト６６の未到達を判定する必要がないので、ステップＳ１１７でタイマ１１０をリセットする。一方、“ＮＯ”が判断された場合には、オブジェクト６６の目標位置への未到達を判定しなければならないので、ステップＳ１１９でタイマ１１０をインクリメントする。
【０１４３】
そして、ステップＳ１２１で、コンピュータすなわちＣＰＵコア３４は、タイマ１１０の設定時間（たとえば、３０フレーム時間）が経過したかどうか判断する。ステップＳ１２１で“ＹＥＳ”が判断された場合、コンピュータすなわちＣＰＵコア３４は、後述するステップＳ１２７を実行する。このときタイマ１１０をリセットする。一方、ステップＳ１２１で“ＮＯ”が判断された場合、コンピュータすなわちＣＰＵコア３４は、次のステップＳ１２３において、目標位置設定レジスタ１０８に格納されている目標位置とオブジェクト位置データ領域１０６の更新された位置データとを参照して、目標位置へオブジェクト６６が到達したかどうか判断する。
【０１４４】
ステップＳ１２３で“ＮＯ”が判断された場合、すなわち、オブジェクト６６が目標位置に未到達のときには、コンピュータすなわちＣＰＵコア３４は、先のステップＳ１１３に戻ってステップＳ１２３までの処理を繰り返し実行する。
【０１４５】
ステップＳ１２３で“ＹＥＳ”が判断された場合、すなわち、オブジェクト６６が目標位置へ到達したと判断したときには、コンピュータすなわちＣＰＵコア３４は、次のステップＳ１２５で、その目標位置または目標位置の基礎となった点位置（図３でいえば点位置７２１，７２２）までの経路の色を変更して描画する。つまり、ステップＳ１０３において“ＮＯ”が判断されたときには第１領域６２内の「次の点位置」が目標位置として設定される（ステップＳ１０５）し、ステップＳ１０３において“ＹＥＳ”が判断されたときにはコリジョン６８の少なくとも一部が第２領域６４に入り込んでしまう「次の点位置」を補正して目標位置を設定する（ステップＳ１１１）ので、ステップＳ１２５では、その目標位置または目標位置の基礎となった点位置までの経路の色を変更して描画するのである。
【０１４６】
なお、ステップＳ１０９において“ＮＯ”が判断されたとき、コンピュータすなわちＣＰＵコア３４は、次のステップＳ１０５を実行して、コリジョン６８の少なくとも一部が第２領域６４に入り込んでしまう「次の点位置」を補正しないでそのまま目標位置として設定する。この場合、実施例では、オブジェクト６６は該当の目標位置へは移動されないので、時間の経過とともにステップＳ１２１で結局“ＹＥＳ”が判断されてしまうことになる。したがって、その場合、ステップＳ１２７でオブジェクト６６の移動を停止し、コンピュータすなわちＣＰＵコア３４は、オブジェクト６６の動作処理を終了してメインルーチン（図示せず）にリターンする。
【０１４７】
ステップＳ１２７でオブジェクト６６の移動を停止したとき、その位置から先の経路の色を変更することはしないで元の色のままにしておく。図３でいえば細いままにしておく。
【０１４８】
なお、上述の実施例では、オブジェクト６６を次の点位置に移動してもよいかどうか判断するための「オブジェクトに相関する領域」としてコリジョン６８を利用するようにしたが、このような「所定領域」は実施例のコリジョン６８に限定されるものではなく、円形以外の矩形や多角形であってもよいし、オブジェクト６６の輪郭をそのまま「所定領域」として利用するようにしてもよい。
【０１４９】
また、実施例では経路の設定のためにタッチパネル２４とスティック２６の組み合わせからなるポインティングデバイスを利用した。しかしながら、たとえばマウスなど他のポインティングデバイスが使用されてもよく、さらにはポインティングデバイスではなく、他の操作スイッチ、たとえばジョイスティックや十字キーのような方向入力手段やＡボタンを用いて経路を設定することも可能である。
【０１５０】
上述の実施例によれば、仮に経路７０上の点位置が第２領域６４内に入り込むようにユーザが経路設定したとしても、オブジェクト６６が第２領域６４に入り込まず第１領域内６２を移動できるので、ユーザはオブジェクト６６の移動経路設定に余り神経質になる必要はなく、したがって、興趣をそがれることがなく、楽しくゲームをプレイできる。
【符号の説明】
【０１５１】
１０  …ゲーム装置
１２，１４…ＬＣＤ
２０  …操作スイッチ
２４  …タッチパネル
２６  …スイティック
３４  …ＣＰＵコア
４０  …メモリマップ
６０  …ゲーム空間
６２  …第１領域
６４  …第２領域
６６  …オブジェクト
６８  …コリジョン
７０  …移動経路
【図１】
2010273891.tif 000003
【図２】
2010273891.tif 000004
【図３】
2010273891.tif 000005
【図４】
2010273891.tif 000006
【図５】
2010273891.tif 000007
【図６】
2010273891.tif 000008
【図７】
2010273891.tif 000009
【図８】
2010273891.tif 000010
【図９】
2010273891.tif 000011
【手続補正書】
【提出日】平成21年9月18日(2009.9.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲーム装置のコンピュータを、
第１領域と当該第１領域におけるオブジェクトの移動の連続性を遮断する第２領域とを含むゲーム空間を表示装置に表示させる表示制御手段、
前記ゲーム空間内においてユーザが指定する経路に沿って前記オブジェクトを移動させるオブジェクト移動制御手段、
前記経路上に沿って移動する前記オブジェクトに関連する所定領域が、前記第１領域と前記第２領域との境界を越えて当該第２領域に入るかどうかを判定する越境判定手段、および
前記越境判定手段によって前記所定領域が前記第２領域に入ると判定されたとき、前記オブジェクトが移動する経路を前記第１領域内に補正する経路補正手段として機能させる、ゲームプログラム。
【請求項２】
前記オブジェクト移動制御手段は、前記経路上の点位置を順次目標にして前記オブジェクトを移動させ、
前記越境判定手段は、次の前記経路上の点位置に前記オブジェクトが移動したとする場合の前記所定領域が、前記第１領域と前記第２領域との境界を越えて前記第２領域に入るかどうかを判定する、請求項１記載のゲームプログラム。
【請求項３】
前記経路補正手段は、前記越境判定手段によって前記次の点位置において前記所定領域が前記第２領域に入ると判定されなかったとき、前記次の点位置を目標位置として設定し、前記越境判定手段によって前記次の点位置において前記所定領域が前記第２領域に入ると判定されたときには、前記次の点位置を補正して前記第１領域内の目標位置を設定する目標位置設定手段を含み、
前記オブジェクト移動制御手段は、前記オブジェクトを前記目標位置に移動させる、請求項２記載のゲームプログラム。
【請求項４】
前記経路補正手段は、前記越境判定手段によって前記次の点位置において前記所定領域が前記境界を越えて前記第２領域に入ると判定したとき、前記次の点位置の前記境界からの距離が閾値以下かどうか判断する判断手段を含み、
前記判断手段によって前記距離が前記閾値以下であると判断したとき、前記目標位置設定手段は、前記次の点位置を補正して前記第１領域内の目標位置を設定する、請求項３記載のゲームプログラム。
【請求項５】
前記目標位置設定手段は、前記判断手段によって前記距離が前記閾値以下であると判断されなかったとき、前記次の点位置を目標位置として設定する、請求項４記載のゲームプログラム。
【請求項６】
前記ゲーム空間を表現する仮想カメラは平行カメラであり、前記閾値は前記次の点位置が前記ゲーム空間の上側または下側もしくは左側あるいは右側にあることに応じて異なる値として設定される、請求項４または５記載のゲームプログラム。
【請求項７】
前記閾値は、前記上側において比較的大きい値として設定され、前記下側において比較的小さい値として設定され、前記左側あるいは右側においてそれらの間の値として設定される、請求項６記載のゲームプログラム。
【請求項８】
前記コンピュータを
前記オブジェクトが所定時間内に前記目標位置に到達したかどうか判定する到達判定手段、および
前記到達判定手段によって前記オブジェクトが所定時間内に前記目標位置に到達したと判定されなかったとき、前記オブジェクト移動制御手段による前記オブジェクトの移動を停止する停止手段としてさらに機能させる、請求項３ないし７のいずれかに記載のゲームプログラム。
【請求項９】
前記経路補正手段は、前記越境判定手段によって前記所定領域が前記境界を越えて前記第２領域に入ると判定したとき、前記境界に沿って前記第１領域内を前記オブジェクトが移動するように、前記オブジェクトが移動する経路を前記第１領域内に補正する、請求項１記載のゲームプログラム。
【請求項１０】
前記コンピュータを
前記経路を前記表示装置に表示させる第１表示手段、および
前記第１表示手段によって表示された経路のうち前記オブジェクト移動制御手段によって移動したオブジェクトの前記ゲーム空間内の位置に対応する経路を、前記第１表示手段によって表示された経路とは異なる態様で表示する第２表示手段としてさらに機能させる、請求項１ないし９のいずれかに記載のゲームプログラム。
【請求項１１】
前記コンピュータを
ユーザが指定する前記ゲーム空間内の位置を検出する位置検出手段、
前記位置検出手段によって今回検出された位置と前回検出された位置とが所定の閾値を超えているときに、前回までに検出された位置と今回検出された位置に基づいて、前記経路を生成する経路生成手段としてさらに機能させる、請求項１ないし１０のいずれかに記載のゲームプログラム。
【請求項１２】
前記表示制御手段は、前記オブジェクトとともに当該オブジェクトに関連する関連画像を前記表示装置に表示させ、
前記コンピュータを、
ユーザが指定する指定位置が前記関連画像に位置する場合に、当該指定に後続するユーザの指定により示される指定位置に基づいて、前記経路を生成する経路生成手段としてさらに機能させる、請求項１ないし１０のいずれかに記載のゲームプログラム。
【請求項１３】
前記コンピュータを、
前記関連画像を基準に前記所定領域を設定する所定領域設定手段としてさらに機能させる、請求項１２記載のゲームプログラム。
【請求項１４】
第１領域と当該第１領域におけるオブジェクトの移動の連続性を遮断する第２領域とを含むゲーム空間を表示する表示制御手段、
前記ゲーム空間内においてユーザが指定する経路に沿って前記オブジェクトを移動させるオブジェクト移動制御手段、
前記経路上に沿って移動する前記オブジェクトに関連する所定領域が、前記第１領域と前記第２領域との境界を越えて前記第２領域に入るかどうかを判定する越境判定手段、および
前記越境判定手段によって前記所定領域が前記第２領域に入ると判定されたとき、前記オブジェクトが移動する経路を前記第１領域内に補正する経路補正手段を備える、ゲーム装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
第１０の発明は、第１ないし第９の発明のいずれかに従属し、コンピュータを、経路を表示装置に表示させる第１表示手段、および第１表示手段によって表示された経路のうちオブジェクト移動制御手段によって移動したオブジェクトのゲーム空間内の位置に対応する経路を、第１表示手段によって表示された経路とは異なる態様で表示する第２表示手段としてさらに機能させる、ゲームプログラムである。