(57)【要約】【課題】経路オブジェクトおよび影によって対象オブジェクトを事前に知ることができる。【解決手段】ゲーム装置１０は表示装置１８を含み、表示装置にはゲーム画面（１００）が表示される。たとえば、ゲーム画面（１００）には、プレイヤキャラクタ（１０２）、敵キャラクタ（１０４）および背景オブジェクト（１０６）などが表示される。投げモードが設定されると、プレイヤの操作に従って、ターゲットカーソル（１２０）が仮想空間内の所定の平面上を移動され、投げオブジェクト（１１０）を衝突させる対象オブジェクトを指定する。対象オブジェクトが指定される場合には、投げの起点と対象オブジェクトの指定位置である目標点を結ぶ線分上に経路オブジェクト（１２２）が表示されるとともに、経路オブジェクトの影（１２４）が表示される。【選択図】  図１
2018202128.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータで実行されるゲームプログラムであって、
プレイヤの操作に基づいて、仮想空間内において、カーソルオブジェクトを所定の平面上において移動させ、他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するカーソル制御ステップと、
前記カーソルオブジェクトの表示位置に対応する前記仮想空間内の位置を算出し、前記仮想空間内における指定位置とする指定位置算出ステップと、
前記仮想空間内の所定の起点位置から前記指定位置までの経路を示す経路オブジェクトを前記仮想空間内に配置する経路オブジェクト配置ステップと、
前記仮想空間の画像を生成する画像生成ステップを、前記コンピュータに実行させる、ゲームプログラム。
【請求項２】
前記画像生成ステップは、前記仮想空間内における前記経路オブジェクトの影となる画像を生成する、請求項１記載のゲームプログラム。
【請求項３】
前記仮想空間内における前記経路オブジェクトの影を示すオブジェクトを配置する影配置ステップを前記コンピュータにさらに実行させる、請求項１記載のゲームプログラム。
【請求項４】
前記仮想空間内に、前記指定位置を向くようにプレイヤキャラクタを配置するプレイヤキャラクタ配置ステップを前記コンピュータにさらに実行させる、請求項１から３のいずれかに記載のゲームプログラム。
【請求項５】
前記起点位置は、前記プレイヤキャラクタが配置される位置と所定の位置関係を有する位置である、請求項４記載のゲームプログラム。
【請求項６】
前記プレイヤの操作に基づいて、前記カーソルオブジェクトを移動させるカーソル操作モードと、前記プレイヤキャラクタを移動させるプレイヤキャラクタ移動モードを切り替えるモード切替ステップを前記コンピュータにさらに実行させる、請求項４または５記載のゲームプログラム。
【請求項７】
前記プレイヤの操作に基づいて、前記起点位置から前記指定位置に向かって、前記経路に沿って所定の発射対象オブジェクトを発射させる発射ステップと、
前記発射対象オブジェクトが発射後に前記仮想空間内の所定のオブジェクトと衝突する場合に、当該所定のオブジェクトに応じた所定の処理を行う衝突処理ステップを前記コンピュータにさらに実行させる、請求項１から５のいずれかに記載のゲームプログラム。
【請求項８】
前記衝突処理ステップにおいて処理の対象となるオブジェクトが前記指定位置に配置されている否かを前記発射対象オブジェクトが発射される前に判定する対象オブジェクト判定ステップと、
前記対象オブジェクト判定ステップにおいて、前記対象となるオブジェクトが前記指定位置に配置されていることを判定した場合に、当該対象となるオブジェクトの表示態様を変化させる指定位置判定ステップを前記コンピュータにさらに実行させる、請求項７記載のゲームプログラム。
【請求項９】
前記経路上に、前記指定位置までの途中に他のオブジェクトがあるかどうかを判定する他のオブジェクト判定ステップと、
前記他のオブジェクト判定ステップにおける判定結果に応じて前記カーソルオブジェクトの表示態様を変化させる第１表示態様ステップを前記コンピュータにさらに実行させる、請求項７または８記載のゲームプログラム。
【請求項１０】
前記他のオブジェクト判定ステップにおいて前記他のオブジェクトがあることを判定した場合に、前記起点から前記他のオブジェクトまでにおける前記経路オブジェクトの表示態様と前記他のオブジェクトから前記カーソルオブジェクトまでにおける当該経路オブジェクトの表示態様を変化させる第２表示態様ステップを前記コンピュータにさらに実行させる、請求項９記載のゲームプログラム。
【請求項１１】
プレイヤの操作に基づいて、仮想空間内において、カーソルオブジェクトを所定の平面上において移動させ、他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するカーソル制御部と、
前記カーソルオブジェクトの表示位置に対応する前記仮想空間内の位置を算出し、前記仮想空間内における指定位置とする指定位置算出部と、
前記仮想空間内に、前記指定位置を向くようにプレイヤキャラクタを配置するプレイヤキャラクタ配置部と、
前記仮想空間内の前記プレイヤキャラクタが配置される位置と所定の位置関係を有する位置である所定の起点位置から前記指定位置までの経路を示す経路オブジェクトを当該仮想空間内に配置する経路オブジェクト配置部と、
前記仮想空間の画像を生成する画像生成部を備え、
前記画像生生成部は、前記仮想空間内における前記経路オブジェクトの影となる画像を生成する、ゲーム装置。
【請求項１２】
前記プレイヤの操作に基づいて、前記カーソルオブジェクトを移動させるカーソル操作モードと、前記プレイヤキャラクタを移動させるプレイヤキャラクタ移動モードを切り替えるモード切替部をさらに備える、請求項１１記載のゲーム装置。
【請求項１３】
前記プレイヤの操作に基づいて、前記起点位置から前記指定位置に向かって、前記経路に沿って所定の発射対象オブジェクトを発射させる発射部と、
前記発射対象オブジェクトが発射後に前記仮想空間内の所定のオブジェクトと衝突する場合に、当該所定のオブジェクトに応じた所定の処理を行う衝突処理部をさらに備える、請求項１１または１２記載のゲーム装置。
【請求項１４】
前記衝突処理部において処理の対象となるオブジェクトが前記指定位置に配置されている否かを前記発射対象オブジェクトが発射される前に判定する対象オブジェクト判定部と、
前記対象オブジェクト判定部において、前記対象となるオブジェクトが前記指定位置に配置されていることを判定した場合に、当該対象となるオブジェクトの表示態様を変化させる指定位置判定部をさらに備える、請求項１３記載のゲーム装置。
【請求項１５】
前記経路上に、前記指定位置までの途中に他のオブジェクトがあるかどうかを判定する他のオブジェクト判定部と、
前記他のオブジェクト判定部における判定結果に応じて前記カーソルオブジェクトの表示態様を変化させる第１表示態様部をさらに備える、請求項１３または１４記載のゲーム装置。
【請求項１６】
前記他のオブジェクト判定部において前記他のオブジェクトがあることを判定した場合に、前記起点から前記他のオブジェクトまでにおける前記経路オブジェクトの表示態様と前記他のオブジェクトから前記カーソルオブジェクトまでにおける当該経路オブジェクトの表示態様を変化させる第２表示態様部をさらに備える、請求項１５記載のゲーム装置。
【請求項１７】
プレイヤの操作に基づいて、仮想空間内において、カーソルオブジェクトを所定の平面上において移動させ、他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するカーソル制御部と、
前記カーソルオブジェクトの表示位置に対応する前記仮想空間内の位置を算出し、前記仮想空間内における指定位置とする指定位置算出部と、
前記仮想空間内の所定の起点位置から前記指定位置までの経路を示す経路オブジェクトを前記仮想空間内に配置する経路オブジェクト配置部と、
前記仮想空間の画像を生成する画像生成部を備える、ゲームシステム。
【請求項１８】
前記画像生成部は、前記仮想空間内における前記経路オブジェクトの影となる画像を生成する、請求項１７記載のゲームシステム。
【請求項１９】
前記仮想空間内における前記経路オブジェクトの影を示すオブジェクトを配置する影配置部をさらに備える、請求項１７記載のゲームシステム。
【請求項２０】
前記仮想空間内に、前記指定位置を向くようにプレイヤキャラクタを配置するプレイヤキャラクタ配置部をさらに備える、請求項１７から１９のいずれかに記載のゲームシステム。
【請求項２１】
前記起点位置は、前記プレイヤキャラクタが配置される位置と所定の位置関係を有する位置である、請求項２０記載のゲームシステム。
【請求項２２】
前記プレイヤの操作に基づいて、前記カーソルオブジェクトを移動させるカーソル操作モードと、前記プレイヤキャラクタを移動させるプレイヤキャラクタ移動モードを切り替えるモード切替部をさらに備える、請求項２０または２１記載のゲームシステム。
【請求項２３】
前記プレイヤの操作に基づいて、前記起点位置から前記指定位置に向かって、前記経路に沿って所定の発射対象オブジェクトを発射させる発射部と、
前記発射対象オブジェクトが発射後に前記仮想空間内の所定のオブジェクトと衝突する場合に、当該所定のオブジェクトに応じた所定の処理を行う衝突処理部をさらに備える、請求項１７から２１のいずれかに記載のゲームシステム。
【請求項２４】
前記衝突処理部において処理の対象となるオブジェクトが前記指定位置に配置されている否かを前記発射対象オブジェクトが発射される前に判定する対象オブジェクト判定部と、
前記対象オブジェクト判定部において、前記対象となるオブジェクトが前記指定位置に配置されていることを判定した場合に、当該対象となるオブジェクトの表示態様を変化させる指定位置判定部をさらに備える、請求項２３記載のゲームシステム。
【請求項２５】
前記経路上に、前記指定位置までの途中に他のオブジェクトがあるかどうかを判定する他のオブジェクト判定部と、
前記他のオブジェクト判定部における判定結果に応じて前記カーソルオブジェクトの表示態様を変化させる第１表示態様部をさらに備える、請求項２３または２４記載のゲームシステム。
【請求項２６】
前記他のオブジェクト判定部において前記他のオブジェクトがあることを判定した場合に、前記起点から前記他のオブジェクトまでにおける前記経路オブジェクトの表示態様と前記他のオブジェクトから前記カーソルオブジェクトまでにおける当該経路オブジェクトの表示態様を変化させる第２表示態様部をさらに備える、請求項２５記載のゲームシステム。
【請求項２７】
情報処理装置のコンピュータのゲーム制御方法であって、
（ａ）プレイヤの操作に基づいて、仮想空間内において、カーソルオブジェクトを所定の平面上において移動させ、他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するステップと、
（ｂ）前記カーソルオブジェクトの表示位置に対応する前記仮想空間内の位置を算出し、前記仮想空間内における指定位置とするステップと、
（ｃ）前記仮想空間内の所定の起点位置から前記指定位置までの経路を示す経路オブジェクトを前記仮想空間内に配置するステップと、
（ｄ）前記仮想空間の画像を生成するステップを含む、ゲーム制御方法。
【請求項２８】
前記ステップ（ｄ）は、前記仮想空間内における前記経路オブジェクトの影となる画像を生成する、請求項２７記載のゲーム制御方法。
【請求項２９】
（ｅ）前記仮想空間内に、前記指定位置を向くようにプレイヤキャラクタを配置するステップをさらに含む、請求項２７または２８記載のゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法に関し、特にたとえば、プレイヤの操作に基づいて仮想空間内における指定位置に移動開始位置から所定のオブジェクトを移動させる、ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法に関する。
【背景技術】
【０００２】
この種の画像処理装置の一例が特許文献１に開示されている。この特許文献１のゲーム装置では、姿勢センサが内蔵されたスティック型コントローラの姿勢を変化させる操作によって、プレイヤキャラクタの銃による攻撃動作が制御される。使用者が構えボタンを押下した状態でスティック型コントローラを傾けたり、移動させたりすると、その動きによるスティック型コントローラの位置および姿勢の変化に基づいて、ゲーム画面におけるプレイヤキャラクタの銃を構えた姿勢の向き（銃口の向いている方向）と照準のオブジェクトの表示位置が変化する。照準のオブジェクトの表示位置が敵キャラクタに重なったときに、使用者が発射ボタンを押下すると、プレイヤキャラクタが銃を撃つ。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＷＯ２０１１／１２２２１４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この特許文献１のゲーム装置では、銃口を含む銃の一部と照準が表示されるだけであり、たとえば、ゲーム画面において、銃口と照準の間に他の敵キャラクタが存在し、奥行き方向における複数の敵キャラクタの位置関係が分かり難い場合には、照準を合わせた敵キャラクタが攻撃されるのか、他の敵キャラクタが攻撃されるのか、分かり難いという問題がある。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法を提供することである。
【０００６】
また、この発明の他の目的は、対象のオブジェクトを容易に知ることができる、ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、情報処理装置のコンピュータで実行されるゲームプログラムであって、カーソル制御ステップと、指定位置算出ステップと、経路オブジェクト配置ステップと、画像生成ステップを、コンピュータに実行させる。カーソル制御ステップは、プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、３次元の仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置する。指定位置算出ステップは、カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とする。仮想空間内の所定の起点位置から指定位置までの経路を示す経路オブジェクトを仮想空間内に配置する。画像生成ステップは、仮想空間の画像を生成する。
【０００８】
第１の発明によれば、起点位置から指定位置までの経路を示す経路オブジェクトを配置するので、指定位置を容易に知ることができる。
【０００９】
第２の発明は、第１の発明に従属し、画像生成ステップは、仮想空間内における経路オブジェクトの影となる画像を生成する。
【００１０】
第２の発明によれば、経路オブジェクトの影となる画像を生成するので、指定位置をより容易に知ることができる。
【００１１】
第３の発明は、第１の発明に従属し、仮想空間内における経路オブジェクトの影を示すオブジェクトを配置する影配置ステップをコンピュータにさらに実行させる。
【００１２】
第３の発明によれば、影のオブジェクトを配置する場合にも、第２の発明と同様に、指定位置をより容易に知ることができる。
【００１３】
第４の発明は、第１から第３の発明のいずれかに従属し、仮想空間内に、指定位置を向くようにプレイヤキャラクタを配置するプレイヤキャラクタ配置ステップをコンピュータにさらに実行させる。
【００１４】
第４の発明によれば、指定位置にプレイヤキャラクタを向けるので、プレイヤキャラクタの方向によっても指定位置を知ることができ、また、指定位置の方向を知ることもできる。
【００１５】
第５の発明は、第４の発明に従属し、起点位置は、プレイヤキャラクタが配置される位置と所定の位置関係を有する位置である。ただし、起点位置は、プレイヤキャラクタが配置される位置でもよいし、プレイヤキャラクタが配置される位置と所定の位置関係を有する位置でもよい。
【００１６】
第６の発明は、第４または第５の発明に従属し、プレイヤの操作に基づいて、カーソルオブジェクトを移動させるカーソル操作モードと、プレイヤキャラクタを移動させるプレイヤキャラクタ移動モードを切り替えるモード切替ステップをコンピュータにさらに実行させる。
【００１７】
第７の発明は、第１から第５の発明のいずれかに従属し、発射ステップと、衝突処理ステップをコンピュータにさらに実行させる。発射ステップは、プレイヤの操作に基づいて、起点位置から指定位置に向かって、経路に沿って所定の発射対象オブジェクトを発射させる。衝突処理ステップは、発射対象オブジェクトが発射後に仮想空間内の所定のオブジェクトと衝突する場合に、当該所定のオブジェクトに応じた所定の処理を行う。
【００１８】
第７の発明によれば、発射対象オブクトが所定のオブジェクトと衝突することに応じて所定の処理を行うので、プレイヤが狙った所定のオブジェクトに応じた処理を実行させることができる。
【００１９】
第８の発明は、第７の発明に従属し、対象オブジェクト判定ステップと、指定位置判定ステップをコンピュータにさらに実行させる。対象オブジェクト判定ステップは、衝突処理ステップにおいて処理の対象となるオブジェクトが指定位置に配置されている否かを発射対象オブジェクトが発射される前に判定する。指定位置判定ステップは、対象オブジェクト判定ステップにおいて、対象となるオブジェクトが指定位置に配置されていることを判定した場合に、当該対象となるオブジェクトの表示態様を変化させる。
【００２０】
第８の発明によれば、発射対象オブジェクトが発射される前に、対象となるオブジェクトが指定位置に配置されているかどうかを表示態様の変化によって知ることができる。したがって、指定位置が対象となるオブジェクトを指定（指示）しているかどうかを容易に知ることができる。
【００２１】
第９の発明は、第７または第８の発明に従属し、他のオブジェクト判定ステップと、第１表示態様ステップをコンピュータにさらに実行させる。他のオブジェクト判定ステップは、経路上に、指定位置までの途中に他のオブジェクトがあるかどうかを判定する。第１表示態様ステップは、他のオブジェクト判定ステップにおける判定結果に応じてカーソルオブジェクトの表示態様を変化させる。
【００２２】
第９の発明によれば、経路上に、指定位置までの途中に他のオブジェクトがあるかどうかに応じてカーソルオブジェクトの表示態様を変化させるので、たとえば、指定位置まで移動される前に発射オブジェクトが他のオブジェクトに衝突するかどうかを知ることができる。
【００２３】
第１０の発明は、第９の発明に従属し、他のオブジェクト判定ステップにおいて他のオブジェクトがあることを判定した場合に、起点から他のオブジェクトまでにおける経路オブジェクトの表示態様と他のオブジェクトからカーソルオブジェクトまでにおける当該経路オブジェクトの表示態様を変化させる第２表示態様ステップをコンピュータにさらに実行させる。
【００２４】
第１０の発明によれば、指定位置までの途中に他のオブジェクトがある場合には、起点から他のオブジェクトまでにおける経路オブジェクトの表示態様と他のオブジェクトからカーソルオブジェクトまでにおける当該経路オブジェクトの表示態様を変化させるので、経路オブジェクトの表示態様によっても、指定位置まで移動される前に発射オブジェクトが他のオブジェクトに衝突するかどうかを知ることができる。
【００２５】
第１１の発明は、プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、３次元の仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するカーソル制御部と、カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とする指定位置算出部と、仮想空間内に、指定位置を向くようにプレイヤキャラクタを配置するプレイヤキャラクタ配置部と、仮想空間内のプレイヤキャラクタが配置される位置と所定の位置関係を有する位置である所定の起点位置から指定位置までの経路を示す経路オブジェクトを当該仮想空間内に配置する経路オブジェクト配置部と、仮想空間の画像を生成する画像生成部を備え、画像生生成部は、仮想空間内における経路オブジェクトの影となる画像を生成する、ゲーム装置である。
【００２６】
第１１の発明によれば、起点位置から指定位置までの経路を示す経路オブジェクトを配置するとともに、経路オブジェクトの影となる画像を生成するので、指定位置を容易に知ることができる。
【００２７】
第１２の発明は、プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、３次元の仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するカーソル制御部と、カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とする指定位置算出部と、仮想空間内の所定の起点位置から指定位置までの経路を示す経路オブジェクトを仮想空間内に配置する経路オブジェクト配置部と、仮想空間の画像を生成する画像生成部を備える、ゲームシステムである。
【００２８】
第１３の発明は、情報処理装置のコンピュータのゲーム制御方法であって、（ａ）プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、３次元の仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するステップと、（ｂ）カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とするステップと、（ｃ）仮想空間内の所定の起点位置から指定位置までの経路を示す経路オブジェクトを仮想空間内に配置するステップと、（ｄ）仮想空間の画像を生成するステップを含む、ゲーム制御方法である。
【００２９】
第１２および第１３の発明によれば、第１の発明と同様に、指定位置を容易に知ることができる。
【発明の効果】
【００３０】
この発明によれば、投げオブジェクトが衝突されるオブジェクトを事前に知らせることができる。
【００３１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３２】
【図１】図１はゲーム装置の外観構成の限定しない一例を示す図である。
【図２】図２は図１に示すゲーム装置の電気的な構成の限定しない一例を示すブロック図である。
【図３】図３は図１に示す表示装置に表示されるゲーム画面の限定しない第１の例を示す図である。
【図４】図４は図１に示す表示装置に表示されるゲーム画面の限定しない第２の例を示す図である。
【図５】図５（Ａ）は仮想空間において設定される仮想カメラおよびその視体積の限定しない一例を仮想カメラの斜め後方から見た斜視図であり、図５（Ｂ）は図５（Ａ）に示す仮想カメラおよび視体積を仮想ゲーム空間の真上から見た図である。
【図６】図６は図１に示す表示装置に表示されるゲーム画面の限定しない第３の例を示す図である。
【図７】図７は図１に示す表示装置に表示されるゲーム画面の限定しない第４野例を示す図である。
【図８】図８は図１に示す表示装置に表示されるゲーム画面の限定しない第５の例を示す図である。
【図９】図９は図１に示す表示装置に表示されるゲーム画面の限定しない第６の例を示す図である。
【図１０】図１０は図１に示す表示装置に表示されるゲーム画面の限定しない第７の例を示す図である。
【図１１】図１１は図２に示すＲＡＭのメモリマップの限定しない一例を示す図である。
【図１２】図１２は図１１に示すデータ記憶領域の具体的な内容の限定しない一例を示す図である。
【図１３】図１３は図２に示すプロセッサのゲーム全体処理の限定しない一例を示すフロー図である。
【図１４】図１４は図２に示すプロセッサの投げ処理の限定しない一例の一部を示すフロー図である。
【図１５】図１５は図２に示すプロセッサの投げ処理の他の一部であって、図１４に後続するフロー図である。
【図１６】図１６は図２に示すプロセッサの投げ処理のその他の一部であって、図１４に後続するフロー図である。
【発明を実施するための形態】
【００３３】
図１は、この実施例のゲーム装置１０の外観構成の限定しない一例を示す図である。この実施例におけるゲーム装置１０の一例は、本体装置（情報処理装置；この実施例ではゲーム装置本体として機能する）１２と左コントローラ１４および右コントローラ１６とを含む。この実施例では、ゲーム装置１０は、左コントローラ１４および右コントローラ１６をそれぞれ本体装置１２と一体的に設けた装置（手持ち型装置、携帯型装置、可搬型装置）として利用できる。
【００３４】
ただし、ゲーム装置１０は、ゲーム専用機に限定される必要はなく、ゲーム機能を有する、汎用のＰＣ（デスクトップＰＣ、ノートＰＣ、タブレットＰＣなどの各種のＰＣ）、携帯電話機またはスマートフォンでもよい。また、ゲーム装置１０としては、携帯型のゲーム装置、据置型のゲーム装置、または、携帯型と据置型との切り替えが可能なゲーム装置を用いることができ、アーケードゲーム機を用いることもできる。ゲーム装置１０を据置型のゲーム装置として用いる場合には、本体装置１２に、テレビジョン受像機のようなモニタおよびコントローラ（１４、１６）が接続されるため、この場合には、ゲーム装置１０およびモニタを備えるゲームシステムが構成される。また、ゲーム装置１０が他のゲーム装置またはコンピュータと通信可能に接続され、通信可能に接続された他のゲーム装置またはコンピュータに内蔵されるプロセッサと協働してゲーム処理等を実行する場合には、ゲーム装置１０およびこれと通信可能に接続される他のゲーム装置またはコンピュータを備えるネットワークシステム（他のゲームシステム）が構成される。
【００３５】
また、左コントローラ１４および右コントローラ１６は、それぞれ、本体装置１２に着脱可能に構成することもできる。かかる場合には、ゲーム装置１０は、本体装置１２と左コントローラ１４および右コントローラ１６とを通信可能に構成し、本体装置１２と左コントローラ１４および右コントローラ１６とを別体として利用することもできる。
【００３６】
この実施例では、図１に示すように、左コントローラ１４および右コントローラ１６は、それぞれ、本体装置１２に一体的に設けられる。本体装置１２は、ゲーム装置１０における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置１２は、表示装置１８を備える。左コントローラ１４および右コントローラ１６は、ユーザが入力を行うための操作部を備える装置である。
【００３７】
本体装置１２は、略板状のハウジング２０を備える。この実施例において、ハウジング２０の主面（換言すれば、表側の面、すなわち、表示装置１８が設けられる面）は、大略的には矩形形状である。
【００３８】
本体装置１２は、ハウジング２０の主面に設けられる表示装置１８を備える。表示装置１８は、本体装置１２が生成した画像を表示する。この実施例においては、表示装置１８は、液晶表示装置（ＬＣＤ）とする。ただし、表示装置１８は任意の種類の表示装置であってよい。
【００３９】
また、本体装置１２は、ハウジング２０の内部においてスピーカ（すなわち、図２に示すスピーカ４４）を備えている。ハウジング２０の主面には、スピーカ孔２０ａおよび２０ｂが形成される。そして、スピーカ４４の出力音は、これらのスピーカ孔２０ａおよび２０ｂからそれぞれ出力される。
【００４０】
左コントローラ１４は、アナログスティック１４ａを備え、アナログスティック１４ａは略板状のハウジング２２の主面に設けられる。アナログスティック１４ａは、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック１４ａを傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。
【００４１】
なお、左コントローラ１４は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、この実施例においては、アナログスティック１４ａを押下する入力が可能である。
【００４２】
左コントローラ１４は、各種操作ボタンを備える。左コントローラ１４は、ハウジング２２の主面上に４つの操作ボタン１４ｂ、１４ｃ、１４ｄ、１４ｅ（具体的には、左方向ボタン１４ｂ、上方向ボタン１４ｃ、下方向ボタン１４ｄおよび右方向ボタン１４ｅ）を備える。これらの操作ボタンは、本体装置１２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００４３】
右コントローラ１６は、左コントローラ１４と同様、方向入力部としてアナログスティック１６ａを備え、アナログスティック１６ａは略板状のハウジング２４の主面に設けられる。この実施例においては、アナログスティック１６ａは、左コントローラ１４のアナログスティック１４ａと同じ構成である。また、右コントローラ１６は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。
【００４４】
また、右コントローラ１６は、左コントローラ１４と同様、ハウジング２４の主面上に４つの操作ボタン１６ｂ、１６ｃ、１６ｄ、１６ｅ（具体的には、Ｙボタン１６ｂ、Ｘボタン１６ｃ、Ｂボタン１６ｄおよびＡボタン１６ｅ）を備える。
【００４５】
図２は、図１に示すゲーム装置１０の電気的な構成の限定しない一例を示すブロック図である。図２に示すように、ゲーム装置１０はプロセッサ３０を含み、プロセッサ３０は、ＲＡＭ３２、フラッシュメモリ３４、通信モジュール３６、入力装置３８、表示ドライバ４０およびディジタル／アナログ（Ｄ／Ａ）変換器４２に接続される。また、ゲーム装置１０は、上記の表示装置１８およびスピーカ４４を含む。プロセッサ３０は、表示ドライバ４０を介して表示装置１８に接続される。また、プロセッサ３０は、Ｄ／Ａ変換器４２を介してスピーカ４４に接続される。
【００４６】
プロセッサ３０は、ゲーム装置１０の全体制御を司る。具体的には、プロセッサ３０は、ＣＰＵやＧＰＵの機能を内蔵したＳｏＣである。ＲＡＭ３２は、揮発性記憶媒体であり、プロセッサ３０のワークメモリやバッファメモリとして使用される。フラッシュメモリ３４は、不揮発性記憶媒体であり、ゲームのようなアプリケーションのプログラムを記憶したり、各種のデータを記憶（セーブ）したりするために使用される。たとえば、アプリケーショのプログラムは、フラッシュメモリ３４から読み出され、ＲＡＭ３２に記憶される。
【００４７】
なお、ゲーム装置１０に装着可能なＳＤカード、メモリスティックまたは光学ディスクのような外部メモリからアプリケーションのプログラムを読み出し、ＲＡＭ３２に記憶するようにしてもよい。また、ゲーム装置１０は、通信可能に接続された外部のコンピュータからアプリケーションのプログラムをダウンロードし、ＲＡＭ３２記憶するようにしてもよい。これらについては、いずれか１つの方法または２つ以上の方法が採用される。
【００４８】
ただし、アプリケーションは、ゲームのアプリケーションに限定される必要は無く、文書作成アプリケーション、電子メールアプリケーション、お絵描きアプリケーション、文字練習用アプリケーション、語学トレーニングアプリケーション、学習アプリケーションなどの様々なアプリケーションも実行可能である。
【００４９】
通信モジュール３６は、たとえばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。したがって、たとえば、プロセッサ３０は、通信モジュール３６を用いて、アクセスポイントおよびインターネット（ネットワーク）を介して他の機器（コンピュータや他のゲーム装置１０など）との間でデータを送受信する。ただし、通信モジュール３６を用いて、他の機器との間で直接データを送受信することもできる。
【００５０】
ただし、通信モジュール３６は、無線ＬＡＮに接続する機能に代えて、近距離無線通信を行う機能を有していてもよい。かかる場合、通信モジュール３６は、所定の通信方式（たとえば、赤外線方式）により、他の機器（他のゲーム装置など）との間で赤外線信号の送受信を行う機能、および所定の通信プロトコル（たとえば、マルチリンクプロトコル）に従って、同種のゲーム装置との間で無線通信を行う機能を有する。したがって、たとえば、プロセッサ３０は、通信モジュール３６を用いて、同種の他のゲーム装置との間でデータを直接送受信することもできる。ただし、赤外線方式の近距離無線通信に代えて、Bluetooth（登録商標）のような他の無線通信規格に従う近距離無線通信を行うようにしてもよい。
【００５１】
また、無線ＬＡＮに接続する機能を有する通信モジュールおよび近距離無線通信を行う機能を有する通信モジュールを備えるようにしてもよい。
【００５２】
入力装置３８は、上記の左コントローラ１４に設けられるアナログスティック１４ａおよび操作ボタン１４ｂ−１４ｅと、右コントローラ１６に設けられるアナログスティック１６ａおよび操作ボタン１６ｂ−１６ｅを含む。入力装置３８は、ユーザないしプレイヤ（以下、単に「プレイヤ」という）によって、メニュー選択、ゲーム操作、および、仮想カメラの移動およびズームなどの各種の操作ないし入力に用いられる。ただし、入力装置３８としては、タッチパネルなどのポインティングデバイス、マイクおよびカメラなどの入力手段が、左コントローラ１４および右コントローラ１６に設けられる操作手段に代えて、または、これらの操作手段とともに設けられてもよい。また、タッチパネルは、後述する表示装置１８に組み込まれる場合もある。この場合の表示装置１８は、タッチパネル一体型表示装置である。
【００５３】
表示ドライバ４０は、プロセッサ３０の指示の下、表示装置１８にゲーム画像などの各種画像を表示するために使用される。
【００５４】
Ｄ／Ａ変換器４２は、プロセッサ３０から与えられる音声データをアナログのゲーム音声に変換し、スピーカ４４に出力する。ただし、ゲーム音声は、ゲームのキャラクタないしオブジェクトの擬制音、効果音、音楽（ＢＧＭ）のようなゲームに必要な音を意味する。
【００５５】
なお、図２に示すゲーム装置１０の電気的な構成は単なる一例であり、これに限定される必要はない。たとえば、通信モジュール３６は無くてもよい。
【００５６】
図３は、この実施例のゲームの通常モードにおいて、表示装置１８に表示されるゲーム画面１００の一例が示される。たとえば、プレイヤキャラクタ１０２および敵キャラクタ１０４のようなキャラクタオブジェクトとともに、道路オブジェクト１０６ａ、床または地面オブジェクト、空（雲を含む）オブジェクト、建物オブジェクト１０６ｂおよび草木（花も含む）オブジェクト１０６ｃのような仮想オブジェクト（背景オブジェクト）１０６が３次元の仮想空間（仮想ゲーム空間）内に配置される（設けられる）。この実施例では、建物オブジェクト１０６ｂおよび草木オブジェクト１０６ｃは奥行き方向の厚みが少ないオブジェクトである。
【００５７】
また、仮想ゲーム空間内には、動物を模したオブジェクト（動物オブジェクト）１０６ｄが配置される場合がある。ただし、この実施例の動物オブジェクト１０６ｄは、動物の絵を描いた置物のオブジェクトであり、道路、床、地面、建物および草木と同様に移動しないため、背景オブジェクト１０６として扱われる。この動物オブジェクト１０６ｄも奥行き方向の厚みが少ないオブジェクトである。
【００５８】
さらに、仮想ゲーム空間内には、プレイヤキャラクタ１０２および敵キャラクタ１０４以外のキャラクタオブジェクトが配置されることもある。さらにまた、仮想ゲーム空間内には、コインオブジェクト、道具（武器）オブジェクト、薬オブジェクト、食べ物オブジェクト、投げオブジェクト１１０（図４などを参照）のようなアイテムオブジェクトも配置される。ただし、アイテムオブジェクトは、背景オブジェクト１０６の背面側に隠されていたり、背景オブジェクト１０６を叩くまたは壊すことにより出現したりすることもある。
【００５９】
このような仮想ゲーム空間を仮想カメラ２００（視点）で撮影した画像がゲーム画面１００として表示装置１８に表示される。具体的には、キャラクタオブジェクト（１０２、１０４など）、アイテムオブジェクト（１１０など）および背景オブジェクト１０６が仮想ゲーム空間内に配置（モデリング）され、仮想カメラ２００から見た３次元画像（仮想カメラ２００の撮影画像）が、仮想カメラ２００の位置が原点となるように、視点座標ないしはカメラ座標に座標変換される。座標変換された画像は、視点位置を中心として、スクリーン（投影スクリーンまたは仮想スクリーン）上に透視投影される（透視投影変換）。投影スクリーン上に投影された画像が、ゲーム画面１００として表示装置１８に表示される。
【００６０】
なお、この明細書において、キャラクタオブジェクト（１０２、１０４など）、背景オブジェクト１０６およびアイテムオブジェクト（１１０など）を区別する必要が無い場合には、単に「オブジェクト」と言うことがある。
【００６１】
図３では、プレイヤキャラクタ１０２は、ゲーム画面１００の左下であり、道路オブジェクト上に表示される。また、敵キャラクタ１０４がゲーム画面１００の中央から下寄りに表示される。つまり、敵キャラクタ１０４は、プレイヤキャラクタ１０２の斜め前方に表示される。さらに、プレイヤキャラクタ１０２と敵キャラクタ１０４の間であり、道路オブジェクト１０６ａよりも奥側に、家を模した建物オブジェクト１０６ｂが配置される。詳細な説明は省略するが、道路オブジェクト１０６a、建物オブジェクト１０６ｂ、草木オブジェクト１０６ｃおよび動物オブジェクト１０６ｄ以外の背景オブジェクト１０６は、地面オブジェクトおよび空オブジェクトである。このことは、他のゲーム画面１００についても同じである。
【００６２】
通常モードでは、プレイヤキャラクタ１０２は、プレイヤの操作に従って、仮想ゲーム空間内に設けられたコース内を移動し、コースに設定された所定のゴールを目指す。この実施例のゲームは、横スクロールのゲームであり、プレイヤキャラクタ１０２の進行方向は基本的には右である。ただし、プレイヤは、操作ボタン１４ｂ−１４ｅを操作することにより、プレイヤキャラクタ１０２を左右または上下或いは斜め方向に移動させることができる。したがって、通常モードは、プレイヤキャラクタ１０２を移動させるモードということもできる。
【００６３】
なお、プレイヤがプレイヤキャラクタ１０２を上に移動させる場合には、仮想ゲーム空間内においては、プレイヤキャラクタ１０２は奥に向かって（仮想カメラ２００から離れる方向に）移動される。また、プレイヤがプレイヤキャラクタ１０２を下に移動させる場合には、仮想ゲーム空間内においては、プレイヤキャラクタ１０２は手前に向かって（仮想カメラ２００に近づく方向に）移動される。
【００６４】
また、通常モードでは、プレイヤは、操作ボタン１６ｅを操作することにより、プレイヤキャラクタ１０２をジャンプさせることができる。これにより、プレイヤキャラクタ１０２を段差の上に移動させることができ、または、プレイヤキャラクタ１０２に段差、穴または溝を飛び越えさせることもできる。また、プレイヤキャラクタ１０２に、空中に浮かぶ背景オブジェクト１０６を叩かせることもできる。このことにより、背景オブジェクト１０６から、所定のアイテムが出現することがある。または、背景オブジェクト１０６に代えて、所定のアイテムが出現することがある。
【００６５】
なお、プレイヤキャラクタ１０２が敵キャラクタ１０４に攻撃されたり、プレイヤキャラクタ１０２がコース外に出たり、プレイヤキャラクタ１０２が時間内にゴールに到達できなかったりした場合には、ゲームオーバになる。
【００６６】
また、プレイヤの操作に従ってプレイヤキャラクタ１０２に投げオブジェクト１１０を投げさせることもできる。プレイヤが、操作ボタン１６ｃを操作すると、通常モードに代えて投げモードが設定される。投げモードが設定されると、図４に示すように、プレイヤキャラクタ１０２が所持する投げオブジェクト１１０が表示される。図４に示す例では、プレイヤキャラクタ１０２は右手で投げオブジェクト１１０を掴んでいる。
【００６７】
なお、投げモードにおいて、プレイヤが、操作ボタン１６ｃを操作すると、投げモードに代えて通常モードが設定される。
【００６８】
また、図４に示すように、投げモードが設定された当初では、プレイヤキャラクタ１０２の進行方向（この実施例では、右）の前方に、第１所定距離だけ離れた位置に、ターゲットカーソル１２０が表示される。後述するように、ターゲットカーソル１２０が指定する対象オブジェクトとは異なり、プレイヤキャラクタ１０２とこの対象オブジェクトの間に配置される他のオブジェクトに投げオブジェクト１１０が衝突される場合を除いて、ターゲットカーソル１２０は所定の色（たとえば、緑色）で表示される。図４では（図６、図６、図８、図１０も同じ）、ターゲットカーソル１２０を黒色で示してある。また、第1所定距離は、ゲームの開発者等によって予め設定される。また、投げモードでは、プレイヤキャラクタ１０２は、ターゲットカーソル１２０が指定（指示）する点（目標点）を見るように、顔および体の向きを制御される。したがって、プレイヤキャラクタ１０２の顔および体の向きから目標点または目標点の方向を知ることができる。目標点の決定方法については、後で詳細に説明する。
【００６９】
さらに、投げオブジェクト１１０の移動開始位置（起点）からターゲットカーソル１２０によって指定される目標点までを結ぶ線分上に経路オブジェクト１２２が表示される。この実施例では、起点は、プレイヤキャラクタ１０２の胸の中心位置に設定される。たとえば、プレイヤキャラクタ１０２の現在位置は、プレイヤキャラクタ１０２の両足の中心に設定されており、このプレイヤキャラクタ１０２の現在位置を仮想ゲーム空間の高さ方向に第２所定距離移動した位置が起点に設定される。ただし、第２所定距離は、プレイヤキャラクタ１０２の位置からプレイヤキャラクタ１０２の胸の中心までの距離である。
【００７０】
なお、この実施例では、プレイヤキャラクタ１０２の位置と起点の位置を別に設定するようにしてあるが、それらを同じ位置に設定してもよい。
【００７１】
投げオブジェクト１１０は、通常モードにおいて、プレイヤキャラクタ１０２が取得および所持するアイテムオブジェクトであり、投げモードにおいて、プレイヤキャラクタ１０２によって投げられる。プレイヤが操作ボタン１６ｅを操作すると、プレイヤキャラクタ１０２は投げオブジェクト１１０を投げる。すると、投げオブジェクト１１０は、起点と目標点を結ぶ経路上を移動する。ただし、投げオブジェクト１１０は球体であるため、この実施例では、オブジェクト１１０の中心が経路上を移動する。
【００７２】
投げオブジェクト１１０が敵キャラクタ１０４に衝突すると、当該敵キャラクタ１０４は倒れる。また、投げオブジェクト１１０が所定の背景オブジェクト１０６に衝突すると、当該背景オブジェクト１０６は倒れる、または、破壊される。また、投げオブジェクト１１０が他の所定の背景オブジェクト１０６に衝突すると、当該背景オブジェクト１０６から所定のアイテムが出現する、または、当該背景オブジェクト１０６に代えて所定のアイテムが出現する。さらに、投げオブジェクト１１０がその他の所定の背景オブジェクト１０６に衝突すると、当該所定の背景オブジェクト１０６はこの投げオブジェクト１１０を跳ね返す。さらにまた、投げオブジェクト１１０がさらに他の所定の背景オブジェクト１０６に衝突すると、当該背景オブジェクト１０６の表示態様（色彩、模様および形状の少なくとも１つ）が変化される。以下、この明細書のおいては、上記のように、投げオブジェクト１１０が衝突することにより、所定の処理が実行される敵キャラクタ１０４および所定の背景オブジェクト１０６を「反応オブジェクト」と呼ぶことにする。
【００７３】
なお、この実施例のゲームでは、地面オブジェクトおよび道路オブジェクト１０６ａは反応オブジェクトには含まないものとする。そのため、この実施例のゲームでは、ターゲットカーソル１２０が、反応オブジェクトでなく、地面オブジェクトまたは道路オブジェクト１０６ａを指示しているときには、投げオブジェクト１１０が当該地面オブジェクトまたは当該道路オブジェクト１０６ａに向かって移動しないようにする。
【００７４】
別の例においては、投げオブジェクト１１０が地面オブジェクトおよび道路オブジェクト１０６ａに向かって移動するようにしてもよい。この場合、投げオブジェクト１１０が地面オブジェクトまたは道路オブジェクト１０６ａに衝突すると、当該地面オブジェクトまたは当該道路オブジェクト１０６ａは変化せずに、投げオブジェクト１１０が消去するようにしてもよい。
【００７５】
また、投げオブジェクト１１０を衝突させたくないオブジェクト（たとえば、空オブジェクト）についても、反応オブジェクトには含まないものとする。このように、反応オブジェクトに含まれるオブジェクトの種類は、ゲームの内容に応じて予め決定される。
【００７６】
この実施例のゲームでは、基本的には、ターゲットカーソル１２０が指定する反応オブジェクトが投げオブジェクト１１０を衝突させる対象のオブジェクト（対象オブジェクト）として決定される。したがって、プレイヤは、アナログスティック１４ａを操作して、投げオブジェクト１１０を衝突させたい反応オブジェクト上にターゲットカーソル１２０を重ねるように、ターゲットカーソル１２０を移動させる。
【００７７】
つまり、ターゲットカーソル１２０は、プレイヤキャラクタ１０２に投げオブジェクト１１０を投げさせる場合の目標点を指定または設定するためのオブジェクトであり、プレイヤの操作に従って移動される。ただし、ターゲットカーソル１２０は仮想ゲーム空間内の所定の平面上を移動する。所定の平面は、仮想カメラと所定の位置関係を有している。たとえば、所定の平面は、仮想カメラに対して設定されるニアクリップ面に設定することができる。これは一例であり、限定されるべきでないが、この実施例では、ターゲットカーソル１２０は、プレイヤキャラクタ１０２、敵キャラクタ１０４、背景オブジェクト１０６およびアイテムオブジェクトよりも前面（最前面）に表示されるようにしてあるため、仮想カメラから見た場合に、ニアクリップ面よりも奥側であり、ニアクリップ面に近い位置に設定する必要がある。
【００７８】
図５（Ａ）は、仮想カメラ２００の撮影範囲である錐体２５０を仮想カメラ２００の斜め後方から見た図である。図５（Ｂ）は、３次元の仮想ゲーム空間の一部である錐体２５０を真上から俯瞰的に見た図である。ただし、錐体２５０のうち、ニアクリップ面２５２とファークリップ面２５４とで挟まれる四角錐台の部分が視体積である。また、図５（Ａ）および図５（Ｂ）では、ターゲットカーソル１２０以外の各種のオブジェクトを省略してある。
【００７９】
図５（Ａ）および図５（Ｂ）に示すように、仮想カメラ２００から３次元の仮想ゲーム空間を見た場合に、ニアクリップ面２５２とファークリップ面２５４が設定され、ピラミッド状の錐体（四角錐）２５０は、仮想カメラ２００（視点）とファークリップ面２５４で決定される。ただし、錐体の斜辺の傾き（仮想カメラ２００の画角）は、仮想カメラ２００とファークリップ面２５４の距離およびファークリップ面２５４の大きさによって決定される。
【００８０】
また、図５（Ａ）および図５（Ｂ）に示すように、ターゲットカーソル１２０が指定する対象オブジェクトは、仮想カメラ２００からターゲットカーソル１２０の位置に向かう方向の延長上に、ターゲットカーソル１２０の位置（中心位置）からファークリップ面２５４に向けて所定の大きさおよび形状の判定用のオブジェクト（第１判定オブジェクト）を移動させた（トレースチェック）場合に、第１判定オブジェクトが反応オブジェクトに衝突するかどうかを判定する（第１衝突判定処理）ことにより、決定される。たとえば、第１判定オブジェクトは、ターゲットカーソル１２０を構成する４つの棒の間に形成される空白領域の縦または横の長さを直径とする球状オブジェクトである。
【００８１】
第１判定オブジェクトが最初に衝突する反応オブジェクトが、対象オブジェクトとして決定される。また、第１判定オブジェクトが反応オブジェクトに衝突する点が投げオブジェクト１１０を衝突させる目標点として決定される。第１判定オブジェクトが、反応オブジェクトに衝突しない場合には、プレイヤキャラクタ１０２の位置を含み、仮想カメラ２００の視線に垂直な平面（以下、「プレイヤライン平面」という）と、仮想カメラ２００からターゲットカーソル１２０の位置に向かう線との交点が算出され、算出された交点が目標点として決定される。
【００８２】
なお、投げオブジェクト１１０が地面オブジェクトおよび道路オブジェクト１０６ａに向かって移動し衝突することを許容する例においては、第１判定オブジェクトが反応オブジェクトに衝突せずに、地面オブジェクトおよび道路オブジェクト１０６ａに衝突する場合には、当該地面オブジェクトまたは当該道路オブジェクト１０６ａ上で衝突する点が目標点として決定される。
【００８３】
また、プレイヤライン平面は仮想カメラ２００の視線に垂直であるとしたが、仮想カメラ２００の視線と常に垂直である必要はなく、仮想カメラ２００の向きとは独立した水平面に直交する平面である。
【００８４】
さらに、第１衝突判定処理においては、第１判定オブジェクトを実際に移動させる必要はなく、移動させたと仮定して、計算により衝突するかどうかが判断される。以下、この明細書において、判定オブジェクトを移動させて衝突判定を行う場合について同様である。
【００８５】
図４に戻って、経路オブジェクト１２２は、プレイヤキャラクタ１０２によって投げられた投げオブジェクト１１０が移動する経路を、投げオブジェクト１１０が投げられる前に、プレイヤに提示するためのオブジェクトである。経路オブジェクト１２２は、複数の球状オブジェクト１２２ａが直線上に等間隔で並べられたオブジェクトであり、各球状オブジェクト１２２ａは一定速度で第３所定距離をループ移動される。つまり、各球状オブジェクト１２２ａは、第３所定距離だけ移動されると、各々の移動開始位置（出現位置）から再度移動を開始する。ただし、各球状オブジェクト１２２ａが移動される方向は、投げオブジェクト１１０が移動される方向と同じである。
【００８６】
経路オブジェクト１２２の各球状オブジェクト１２２ａに対応して、影１２４が表示される。各球状オブジェクト１２２ａから垂直下向きに当たり判定用のオブジェクト（第２判定オブジェクト）が移動され、第２判定オブジェクトが地面オブジェクトまたは他のオブジェクトに衝突するかどうかが判定される（第２衝突判定処理）。第２判定オブジェクトが地面オブジェクトまたは他のオブジェクトと衝突する位置が影１２４の位置に決定され、影１２４の位置に影（丸影）１２４が表示される。具体的には、マテリアルで影１２４を描画させることにより、第２判定オブジェクトが衝突する地面オブジェクトまたは他のオブジェクトの表面に影１２４がデカールで表示される。図示は省略するが、第２判定オブジェクトは、たとえば、球状オブジェクト１２２ａと同じおよびほぼ同じ形状および大きさの球状オブジェクトである。
【００８７】
このように、経路オブジェクト１２２のみならず、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａの各々の影１２４を表示するので、つまり、経路オブジェクト１２２の影も表示するので、投げオブジェクト１１０が移動する経路を分かり易く示すことができる。
【００８８】
なお、この実施例では、経路オブジェクト１２２を構成する各球状オブジェクト１２２ａの影１２４を分かり易く示すために、プレイヤキャラクタ１０２、敵キャラクタ１０４、背景オブジェクト１０６の影については省略してある。
【００８９】
図６は投げモードにおけるゲーム画面１００の限定しない他の例を示す図である。図６には、図４に示したゲーム画面１００において、敵キャラクタ１０４上にターゲットカーソル１２０が移動された場合のゲーム画面１００が示される。
【００９０】
この場合、上記の第１衝突判定処理が実行されることにより、敵キャラクタ１０４（反応オブジェクト）が対象オブジェクトとして決定される。また、第１判定オブジェクトが敵キャラクタ１０４に衝突する点が目標点として決定され、起点と目標点を結ぶ線分上に経路オブジェクト１２２が配置（表示）され、第２衝突判定処理が実行されることにより、各球状オブジェクト１２２ａの影１２４が表示される。また、プレイヤキャラクタ１０２の向きが目標点を向く方向に設定され、プレイヤキャラクタ１０２は設定された方向に向けられる。
【００９１】
また、図６に示すゲーム画面１００では、目印オブジェクト１２６が表示される。この目印オブジェクト１２６は、投げオブジェクト１１０を目標点に向けて投げた場合に、当該投げオブジェクト１１０が衝突することが予測される位置（衝突予測点）を示す目印のオブジェクトである。また、目印オブジェクト１２６は、的の模様が表現されたオブジェクトであり、その中心が衝突予測点と重なる位置に表示される。目印オブジェクト１２６は、ターゲットカーソル１２０以外のオブジェクトよりも手前（前面）に表示される。
【００９２】
判定用のオブジェクト（第３判定オブジェクト）が起点から目標点に向けて移動され、第３判定オブジェクトが反応オブジェクトに衝突するかどうかが判定される（第３衝突判定処理）。第３判定オブジェクトが反応オブジェクトと衝突する位置が衝突予測点に決定される。第３判定オブジェクトは、投げオブジェクト１１０と同じまたはほぼ同じ形状および大きさの球状オブジェクトである。
【００９３】
また、衝突予測点を含む反応オブジェクト（ここでは、対象オブジェクトの敵キャラクタ１０４）の輪郭（外形線）を強調するように、強調オブジェクト１３０が表示される。この実施例では、強調オブジェクト１３０は、対象オブジェクトの輪郭を明るい色の太線で示したオブジェクトである。ただし、これは一例であり、限定されるべきでない。たとえば、対象オブジェクトと同じ形状のオブジェクトを所定の色または模様で塗り潰した強調オブジェクト１３０が表示されてもよい。また、強調オブジェクト１３０は、表示・非表示を繰り返すことにより、点滅表示されてもよい。
【００９４】
したがって、投げオブジェクト１１０を投げた場合に、当該投げオブジェクト１１０が衝突する反応オブジェクトをプレイヤに知らせることができる。この強調オブジェクト１３０は、仮想ゲーム空間内のターゲットカーソル１２０以外のオブジェクトの前面に表示される。したがって、強調オブジェクト１３０は、仮想ゲーム空間内において、ターゲットカーソル１２０以外のオブジェクトよりも手前側に配置されてもよいし、配置位置に拘わらず、ターゲットカーソル１２０以外のオブジェクトの前面に描画されてもよい。
【００９５】
図７は投げモードにおけるゲーム画面１００の限定しないその他の例を示す図である。図７には、図６に示したゲーム画面１００において、中央の右寄りに別の敵キャラクタ１０４がさらに表示される。説明の便宜上、図６のゲーム画面１００にも表示されていた敵キャラクタ１０４を「敵キャラクタ１０４ａ」と呼び、別の敵キャラクタ１０４を「敵キャラクタ１０４ｂ」と呼ぶ。
【００９６】
図７のゲーム画面１００では、ターゲットカーソル１２０が敵キャラクタ１０４ｂ上に位置し、上記の第１衝突判定処理が実行されることにより、敵キャラクタ１０４ｂ（反応オブジェクト）が対象オブジェクトとして決定される。また、第１判定オブジェクトが敵キャラクタ１０４ｂに衝突する点が目標点として決定され、起点と目標点を結ぶ線分上に経路オブジェクト１２２が配置（表示）され、第２衝突判定処理が実行されることにより、各球状オブジェクト１２２ａの影１２４が表示される。また、プレイヤキャラクタ１０２の向きが目標点を向く方向に設定され、プレイヤキャラクタ１０２は設定された方向に向けられる。
【００９７】
図７に示すゲーム画面１００では、プレイヤキャラクタ１０２と対象オブジェクトの間に他の対象オブジェクト（ここでは、敵キャラクタ１０４ａ）が配置（表示）され、上記の第３衝突判定処理が実行されると、第３判定オブジェクトは敵キャラクタ１０４ａ（反応オブジェクト）に衝突する。上記のとおり、第３判定オブジェクトが反応オブジェクトに衝突する位置が衝突予測点に決定され、目印オブジェクト１２６が表示される。また、敵キャラクタ１０４ａの輪郭に強調オブジェクト１３０が表示される。
【００９８】
この場合、衝突予測点は、対象オブジェクトでは無く、プレイヤキャラクタ１０２と対象オブジェクトの間に配置（表示）される他の反応オブジェクトである。以下、この他の反応オブジェクトを「衝突予測オブジェクト」と呼ぶことにする。
【００９９】
このように、衝突予測点が衝突予測オブジェクト上の点である場合には、投げオブジェクト１１０は対象オブジェクトに衝突しない。このため、このような場合には、ターゲットカーソル１２０をグレーアウトで表示するとともに、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａのうち、衝突予測オブジェクトと対象オブジェクトの間に配置される１または複数の球状オブジェクト１２２ａをグレーアウトで表示するようにしてある。つまり、衝突予測オブジェクトが存在する場合と存在しない場合とで、ターゲットカーソル１２０の表示態様が異なる。同様に、経路オブジェクト１２２の表示態様も異なる。また、経路オブジェクト１２２は、起点から衝突予測点までの間に配置される球状オブジェクト１２２ａの表示態様と、衝突予測点から目標点までの間に配置される球状オブジェクト１２２ａの表示態様が異なるとも言える。
【０１００】
目印オブジェクト１２６は衝突予測点に表示されるため、ターゲットカーソル１２０が指定する対象オブジェクト以外の反応オブジェクト（衝突予測オブジェクト）に投げオブジェクト１１０が衝突することを事前に知ることができる。
【０１０１】
図６および図７のゲーム画面１００を用いて説明したように、第３衝突判定処理が実行されることにより、プレイヤキャラクタ１０２と対象オブジェクトの間に、他の反応オブジェクトが有るかどうかについても判断されていると言える。
【０１０２】
図８は投げモードにおけるゲーム画面１００の限定しない他の例を示す図である。図８に示すゲーム画面１００は、図４に示したゲーム画面１００のシーンとは異なるシーンについての画面である。
【０１０３】
図８に示すゲーム画面１００では、プレイヤキャラクタ１０２の進行方向の前方に２体の敵キャラクタ１０４（１０４ａ、１０４ｂ）が存在し、一方の敵キャラクタ１０４ａはゲーム画面１００の右寄りに表示され、他方の敵キャラクタ１０４ｂはゲーム画面１００の中央に表示される。また、敵キャラクタ１０４ｂおよび道路オブジェクト１０６ａの手前側には、草木オブジェクト１０６ｃが表示される。したがって、敵キャラクタ１０４ｂは草木オブジェクト１０６ｃに隠れている。さらに、敵キャラクタ１０４ａの奥側には、建物オブジェクト１０６ｂが表示される。
【０１０４】
ターゲットカーソル１２０は建物オブジェクト１０６ｂを指定し、対象オブジェクトはこの建物オブジェクト１０６ｂである。したがって、プレイヤキャラクタ１０２は、ターゲットカーソル１２０が指定する建物オブジェクト１０６ｂ上の目標点の方を向いている。図８に示すゲーム画面１００では、プレイヤキャラクタ１０２と建物オブジェクト１０６ｂの間には、敵キャラクタ１０４ｂおよび草木オブジェクト１０６ｃが表示されるが、経路オブジェクト１２２は敵キャラクタ１０４ｂよりも奥側に表示される。また、第３判定オブジェクトは、敵キャラクタ１０４ｂおよび草木オブジェクト１０６ｃに衝突しないで、建物オブジェクト１０６ｂに衝突する。このため、建物オブジェクト１０６ｂ上の衝突予測点を中心にして、目印オブジェクト１２６が表示される。したがって、ターゲットカーソル１２０の表示態様および経路オブジェクト１２２の表示態様は変化されない。また、この建物オブジェクト１０６ｂの輪郭を強調するように、強調オブジェクト１３０が表示される。
【０１０５】
図９は、図８に示すゲーム画面１００において、プレイヤがアナログスティック１４ａを操作して、ターゲットカーソル１２０を敵キャラクタ１０４ａ上に合わせたゲーム画面１００を示す。
【０１０６】
図９に示すゲーム画面１００では、ターゲットカーソル１２０は敵キャラクタ１０４ａを指定するが、プレイヤキャラクタ１０２と敵キャラクタ１０４ａ（対象オブジェクト）との間に敵キャラクタ１０４ｂが配置され、第３判定オブジェクトが敵キャラクタ１０４ｂに衝突する。つまり、敵キャラクタ１０４ｂが衝突予測オブジェクトであり、したがって、敵キャラクタ１０４ｂの輪郭を強調するように、強調オブジェクト１３０が草木オブジェクト１０６ｃよりも手前（前面）に表示される。また、ターゲットカーソル１２０の表示態様と、経路オブジェクト１２２の表示態様が変化される。上述したように、ターゲットカーソル１２０がグレーアウトで表示される。また、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａのうち、衝突予測点から目標点までの間に配置される球状オブジェクト１２２ａがグレーアウトで表示される。
【０１０７】
このように、ゲーム画面１００において見えない反応オブジェクトであっても、ターゲットカーソル１２０の位置を調整することにより、衝突予測オブジェクトとして指定し、投げオブジェクト１１０を衝突させることができる。図示等は省略したが、プレイヤキャラクタ１０２の位置または／およびターゲットカーソル１２０の位置を調整するようにしてもよい。
【０１０８】
図１０は投げモードにおけるゲーム画面１００の限定しないさらに他の例を示す図である。図１０に示すゲーム画面１００は、図４および図８に示したゲーム画面１００のシーンとは異なるシーンについての画面である。
【０１０９】
図１０に示す例では、ゲーム画面１００の右下において、道路オブジェクト１０６ａよりも手前側に草木オブジェクト１０６ｃ（１０６０）が表示される。また、ゲーム画面１００の中央において、２つの動物オブジェクト１０６ｄが左右に並んで表示され、２つの動物オブジェクト１０６ｄよりも奥側に他の２つの草木オブジェクト１０６ｃ（１０６２）が表示される。
【０１１０】
この図１０では、ターゲットカーソル１２０は、道路オブジェクト１０６ａよりも手前側に配置（表示）されている草木オブジェクト１０６０を指定し、対象オブジェクトはこの草木オブジェクト１０６０である。したがって、プレイヤキャラクタ１０２は、ターゲットカーソル１２０が指定する草木オブジェクト１０６０上の目標点の方を向いている。また、第３判定オブジェクトが衝突する反応オブジェクト（ここでは、草木オブジェクト１０６０）の衝突予測点に目印オブジェクト１２６が表示される。図１０に示すゲーム画面１００では、プレイヤキャラクタ１０２と対象オブジェクト（ここでは、草木オブジェクト１０６０）の間において他の反応オブジェクトが配置（表示）されていないため、ターゲットカーソル１２０の表示態様および経路オブジェクト１２２の表示態様は変化されない。さらに、ターゲットカーソル１２０で指定された草木オブジェクト１０６０の輪郭を強調するように、強調オブジェクト１３０が表示される。
【０１１１】
このため、プレイヤキャラクタ１０２よりも手前側に配置されている反応オブジェクトを狙うとともに、当該反応オブジェクトに投げオブジェクト１１０を衝突させることができる。
【０１１２】
ただし、反応オブジェクトであっても、ニアクリップ面２５２（または仮想カメラ２００）に近過ぎる場合には、ターゲットカーソル１２０で指定可能な対象オブジェクトの候補から除外される。ターゲットカーソル１２０で指定可能な対象オブジェクトから除外されるオブジェクト（対象外のオブジェクト）は、仮想カメラ２００の位置等によってゲーム画面１００に表示されたり表示されなかったりするからである。
【０１１３】
図１１および図１２は図１に示したゲーム装置１０のＲＡＭ３２のメモリマップ３００の一例を示す図である。図１１に示すように、ＲＡＭ３２は、プログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、この実施例のゲームのアプリケーションについてのプログラム（ゲームプログラム）が記憶され、ゲームプログラムは、メイン処理プログラム３０２ａ、画像生成プログラム３０２ｂ、画像表示プログラム３０２ｃ、操作検出プログラム３０２ｄ、オブジェクト制御プログラム３０２ｅ、ターゲットカーソル制御プログラム３０２ｆ、目標点決定プログラム３０２ｇ、対象オブジェクト決定プログラム３０２ｈ、経路オブジェクト配置プログラム３０２ｉ、影位置算出プログラム３０２ｊ、衝突予測オブジェクト決定プログラム３０２ｋ、表示態様設定プログラム３０２ｍおよび衝突判定プログラム３０２ｎなどを含む。
【０１１４】
メイン処理プログラム３０２ａは、この実施例のゲームについての全体処理（ゲーム全体処理）のメインルーチンを処理するためのプログラムである。
【０１１５】
画像生成プログラム３０２ｂは、画像生成用データ３０４ｂを用いてゲーム画像の画像データを生成するためのプログラムである。たとえば、仮想ゲーム空間が描画され、描画された仮想ゲーム空間が透視投影変換されて、ゲーム画面１００に対応するゲーム画像の画像データが生成（描画）される。画像表示プログラム３０２ｃは、画像生成プログラム３０２ｂに従って生成されたゲーム画像の画像データを表示装置１８に出力するためのプログラムである。
【０１１６】
操作検出プログラム３０２ｄは、プレイヤによる操作に応じて入力装置３８から入力された操作データを検出するためのプログラムである。検出された操作データは、後述する操作データバッファ３０４ａに記憶される。
【０１１７】
オブジェクト制御プログラム３０２ｅは、操作データに従ってプレイヤキャラクタ１０２を移動等させたり、操作データに従わないで敵キャラクタ１０４を配置（出現）および移動等させたりするためのプログラムである。オブジェクト制御プログラム３０２ｅは、通常モードにおいて、操作検出プログラム３０２ｄに従って検出された操作データが操作ボタン１４ｂ−１４ｅの操作を示す場合に、プレイヤキャラクタ１０２を左右、前後（奥行き方向）および斜め方向に移動させる。また、オブジェクト制御プログラム３０２ｅは、通常モードにおいて、操作データが操作ボタン１６ｅの操作を示す場合に、プレイヤキャラクタ１０２をジャンプさせる。また、オブジェクト制御プログラム３０２ｅは、投げモードにおいて、検出された操作データが操作ボタン１６ｅの操作を示す場合に、プレイヤキャラクタ１０２に投げオブジェクト１１０を投げさせる。
【０１１８】
なお、メイン処理プログラム３０２ａは、操作検出プログラム３０２ｄに従って検出された操作データが操作ボタン１６ｃの操作を示す場合に、または、ゲームの進行状況に応じて、通常モードと投げモードの間でモードを設定（変更）する。
【０１１９】
ターゲットカーソル制御プログラム３０２ｆは、投げモードにおいて、操作検出プログラム３０２ｄに従って検出された操作データがアナログスティック１４ａの操作を示す場合に、操作データが示すアナログスティック１４ａの傾倒方向および傾倒量に応じて、ターゲットカーソル１２０を移動させるためのプログラムである。
【０１２０】
目標点決定プログラム３０２ｇは、現在のターゲットカーソル１２０の位置に基づいて上記の第１衝突判定処理を実行し、第１衝突判定処理の結果に応じて、当該ターゲットカーソル１２０が指定する目標点を決定するためのプログラムである。
【０１２１】
対象オブジェクト決定プログラム３０２ｈは、ターゲットカーソル１２０が指定する反応オブジェクトを対象オブジェクトとして決定するためのプログラムである。つまり、目標点を含む反応オブジェクトが対象オブジェクトとして決定される。
【０１２２】
経路オブジェクト配置プログラム３０２ｉは、投げオブジェクト１１０の起点から目標点決定プログラム３０２ｇに従って決定された目標点を結ぶ線分上に経路オブジェクト１２２を配置するためのプログラムである。ただし、経路オブジェクト配置プログラム３０２ｉは、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａを第３所定距離において巡回するように移動させるためのプログラムでもある。
【０１２３】
影位置算出プログラム３０２ｊは、経路オブジェクト配置プログラム３０２ｉに従って配置された経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａのそれぞれの影１２４の位置を、上記の第２衝突判定処理を実行することにより、算出するためのプログラムである。
【０１２４】
衝突予測オブジェクト決定プログラム３０２ｋは、上記の第３衝突判定処理を実行し、第３衝突判定処理の結果に応じて、衝突予測点を算出するとともに、第３判定オブジェクトがプレイヤキャラクタ１０２と対象オブジェクトの間の他の反応オブジェクトに衝突する場合に、衝突予測点を含む他の反応オブジェクトを衝突予測オブジェクトとして決定するためのプログラムである。
【０１２５】
表示態様設定プログラム３０２ｍは、ターゲットカーソル１２０を表示（描画）するときの色および経路オブジェクト１２２の含まれる複数の球状オブジェクト１２２ａの各々について、表示（描画）するときの色を設定するためのプログラムである。
【０１２６】
衝突判定プログラム３０２ｎは、投げモードにおいて、投げオブジェクト１１０がプレイヤキャラクタ１０２によって投げられた場合に、投げオブジェクト１１０は反応オブジェクトに衝突するかどうかを判定する（第４衝突判定処理を実行する）ためのプログラムである。第４衝突判定処理では、投げオブジェクト１１０に設定された判定用のオブジェクト（第４判定オブジェクト）が反応オブジェクトに衝突するかどうかが判定される。第４判定オブジェクトは、投げオブジェクト１１０と同じまたはほぼ同じ形状および大きさの球状オブジェクトである。
【０１２７】
図示は省略するが、プログラム記憶領域３０２には、ゲームに必要な音を生成および出力するための音出力プログラム、他のゲーム装置またはコンピュータと通信するための通信プログラムおよびゲームデータを不揮発性のメモリに保存するためのセーブプログラムなども記憶される。
【０１２８】
図１２に示すように、データ記憶領域３０４には、操作データバッファ３０４ａが設けられる。操作データバッファ３０４ａは、操作検出プログラム３０２ｄに従って検出された操作データを時系列に従って記憶する。操作データバッファ３０４ａに記憶された操作データは、プロセッサ３０の処理に使用されると、操作データバッファ３０４ａから消去される。
【０１２９】
また、データ記憶領域３０４には、画像生成用データ３０４ｂ、プレイヤキャラクタデータ３０４ｃ、所持アイテムデータ３０４ｄ、ターゲットカーソル位置データ３０４ｅ、対象外データ３０４ｆ、起点データ３０４ｇ、目標点データ３０４ｈ、対象オブジェクトデータ３０４ｉ、経路オブジェクトデータ３０４ｊ、影位置データ３０４ｋ、衝突予測点データ３０４ｍ、衝突予測オブジェクトデータ３０４ｎおよび衝突オブジェクトデータ３０４ｐなどのデータが記憶される。
【０１３０】
操作データバッファ３０４ａは、入力装置３８からの操作データを一時記憶するための領域である。画像生成用データ３０４ｂは、ゲーム画面１００の画像データなどを生成するためのポリゴンデータおよびテクスチャデータなどのデータである。
【０１３１】
プレイヤキャラクタデータ３０４ｃは、仮想ゲーム空間内に配置されるプレイヤキャラクタ１０２の現在の向きを示す方向データおよび現在の３次元位置を示す座標データを含む。プレイヤキャラクタデータ３０４ｃは、プレイヤキャラクタ１０２の状態を示す状態データを含む場合もある。
【０１３２】
所持アイテムデータ３０４ｄは、プレイヤキャラクタ１０２が所持するアイテム（投げオブジェクト１１０など）およびその個数についてのデータである。ターゲットカーソル位置データ３０４ｅは、ターゲットカーソル１２０の現在の３次元位置を示す座標データである。
【０１３３】
対象外データ３０４ｆは、対象外の反応オブジェクトの識別情報についてのデータである。たとえば、ニアクリップ面２５２（または、仮想カメラ２００）との距離が第４所定距離よりも短い（近い）位置に存在する反応オブジェクトが対象外のオブジェクトとして決定される。
【０１３４】
起点データ３０４ｇは、投げオブジェクト１１０の起点の３次元位置を示す座標データであり、プレイヤキャラクタ１０２の現在の３次元位置に基づいて決定される。起点データ３０４ｇが示す投げオブジェクト１１０の起点は、プレイヤキャラクタ１０２の位置（３次元位置）を、第２所定距離だけ高さ方向（Ｙ軸のプラス方向）に移動させた位置（胸の中心位置）である。
【０１３５】
目標点データ３０４ｈは、ターゲットカーソル１２０が指定する目標点（３次元位置）の座標データである。対象オブジェクトデータ３０４ｉは、対象オブジェクトとして決定された反応オブジェクトの識別情報についてのデータである。
【０１３６】
経路オブジェクトデータ３０４ｊは、経路オブジェクト１２２についてのデータであり、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａの各々の３次元位置の座標データおよび各々に付される色の情報についてのデータである。影位置データ３０４ｋは、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａの各々に対応する影１２４の位置についての座標データである。
【０１３７】
衝突予測点データ３０４ｍは、経路オブジェクト１２２が衝突する点（位置）のうち、投げオブジェクト１１０の起点に最も近い位置の座標データである。衝突予測オブジェクトデータ３０４ｎは、衝突予測点データ３０４ｍが示す点を含むオブジェクト（衝突予測オブジェクト）の識別情報についてのデータである。衝突オブジェクトデータ３０４ｐは、プレイヤキャラクタ１０２が投げた投げオブジェクト１１０が衝突する衝突オブジェクトの識別情報についてのデータである。
【０１３８】
また、データ記憶領域３０４には、投げフラグ３０４ｑが設けられる。投げフラグ３０４ｑは、投げモードが設定されているかどうかを判断するためのフラグであり、投げモードではオンされ、通常モードではオフされる。
【０１３９】
図示は省略するが、データ記憶領域３０４には、ゲーム処理（情報処理）に必要な、他のデータが記憶されるとともに他のフラグおよびカウンタ（タイマ）が設けられる。
【０１４０】
図１３は、図１に示したプロセッサ３０によって実行されるゲーム全体処理の限定しない一例についてのフロー図である。なお、図１３に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。このことは、図１４−図１６に示す投げ処理についても同様である。
【０１４１】
ゲーム装置１０の電源が投入されると、ゲーム全体処理の実行に先だって、プロセッサ３０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってＲＡＭ３２等の各コンポーネントが初期化される。そして、不揮発性のメモリ等からゲームプログラムが読み出され、ＲＡＭ３２に記憶され、プロセッサ３０によって当該ゲームプログラムの実行が開始される。
【０１４２】
図１３に示すように、プロセッサ３０は、ゲーム全体処理を開始すると、ステップＳ１で、初期処理を実行する。初期処理では、たとえば、プロセッサ３０は、ゲーム画像を生成および表示するための仮想ゲーム空間を構築し、この仮想ゲーム空間に登場するプレイヤキャラクタ１０２および敵キャラクタ１０４等のキャラクタオブジェクトを初期位置に配置するとともに、この仮想ゲーム空間に登場する背景オブジェクト１０６を所定の位置に配置する。さらに、プロセッサ３０は、ゲーム制御処理（Ｓ５−Ｓ１９）で用いる各種パラメータの初期値を設定する。また、プロセッサ３０は、ステップＳ１で、投げフラグ３０４ｑをオフする。
【０１４３】
続いて、ステップＳ３で、入力装置３８から入力される操作データを取得し、ステップＳ５−Ｓ１９において、ゲーム制御処理を実行する。ステップＳ５では、投げモードかどうかを判断する。ここでは、プロセッサ３０は、投げフラグ３０４ｑがオンであるかどうかを判断する。
【０１４４】
ステップＳ５で“ＹＥＳ”であれば、つまり、投げモードであれば、ステップＳ１１に進む。一方、ステップＳ５で“ＮＯ”であれば、つまり、投げモードでなければ、ステップＳ７で、投げモードの設定かどうかを判断する。ここでは、プロセッサ３０は、操作データバッファ３０４ａに記憶される操作データが操作ボタン１６ｃの操作を示すかどうかを判断する。このことは、後述するステップＳ１１においても同じ。
【０１４５】
ステップＳ７で“ＮＯ”であれば、つまり、投げモードの設定でなければ、ステップＳ９で、通常モードのゲーム制御処理を実行して、ステップＳ２１に進む。ステップＳ９では、たとえば、プロセッサ３０は、操作データに従って、プレイヤキャラクタ１０２を移動させ、または／および、プレイヤキャラクタ１０２に任意のアクションを実行させる。このとき、プロセッサ３０は、プレイヤキャラクタ１０２と所定の位置関係を保つように仮想カメラ２００を移動させる。ただし、プレイヤキャラクタ１０２のプレイヤキャラクタ１０２が移動されると、プレイヤキャラクタ１０２の現在位置が更新される。これに伴って、起点データ３０４ｇも更新される。
【０１４６】
また、プロセッサ３０は、操作データに従わずに、敵キャラクタ１０４などのノンプレイヤキャラクタを移動させ、または／および、ノンプレイヤキャラクタに任意のアクションを実行される。さらに、プロセッサ３０は、プレイヤキャラクタ１０２の勝敗または順位を判断する、または／および、ゲームクリアまたはゲームオーバを判断する。さらにまた、プロセッサ３０は、操作データに従って、仮想カメラ２００の位置、向きおよび画角の少なくとも１つを変化させる。ただし、通常、仮想カメラ２００は、プレイヤキャラクタ１０２を注視するとともに、当該プレイヤキャラクタ１０２と所定の位置関係を保つように仮想ゲーム空間に配置されるが、プレイヤの操作によって、位置、向きおよび画角の少なくとも１つが変化された場合には、変化後の位置または／および向きに配置され、変更後の画角に設定される。ただし、プレイヤが操作しない場合にも、ゲームの文脈によって、自動的（強制的）に、仮想カメラ２００の位置、向きおよび画角の少なくとも１つが変化されることもある。
【０１４７】
ステップＳ７で“ＹＥＳ”であれば、つまり、投げモードの設定であれば、ステップＳ１５で、投げフラグ３０４ｑをオンし、ステップＳ１７で、ターゲットカーソル１２０を配置する。そして、プロセッサ３０は、ステップＳ１９で、投げ処理（図１４−図１６）を実行し、ステップＳ２１に進む。ただし、ステップＳ１７では、プロセッサ３０は、プレイヤキャラクタ１０２の進行方向において第１所定距離だけ離れた位置に、ターゲットカーソル１２０を配置する。
【０１４８】
また、ステップＳ１１では、投げモードの解除かどうかを判断する。つまり、通常モードを設定するかどうかが判断される。具体的には、プロセッサ３０は、投げモードにおいて、操作ボタン１６ｃが操作されたかどうかを判断する。ステップＳ１１で“ＹＥＳ”であれば、つまり、通常モードを設定する場合には、ステップＳ１３で、投げフラグ３０４ｑをオフし、ステップＳ２１に進む。一方、ステップＳ１１で“ＮＯ”であれば、つまり、投げモードを設定しない場合には、ステップＳ１９に進む。
【０１４９】
ステップＳ２１では、プロセッサ３０は、ステップＳ５−Ｓ１９のゲーム制御処理の結果に応じてゲーム画像を生成し、生成したゲーム画像を表示装置１８に表示する。当該ゲーム画像の生成処理は、主にプロセッサ３０に含まれるＧＰＵによって行われる。次のステップＳ２３では、プロセッサ３０は、ステップＳ５−ステップＳ１９のゲーム制御処理の結果に応じてゲーム音声を生成し、生成したゲーム音声を出力する。つまり、ステップＳ２１およびステップＳ２３の処理によって、ゲーム画像の画像データが表示ドライバ４０から表示装置１８に出力され、ゲーム音声の音声データがＤ／Ａ変換器４２を介してスピーカ４４に出力される。
【０１５０】
そして、ステップＳ２５では、プロセッサ３０は、ゲームを終了するかどうかを判断する。ステップＳ２５の判断は、たとえば、ゲームオーバになったか否か、あるいは、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。
【０１５１】
ステップＳ２５で“ＮＯ”であれば、つまり、ゲームを終了しない場合には、ステップＳ３に戻る。一方、ステップＳ２５で“ＹＥＳ”であれば、つまり、ゲームを終了する場合には、ゲーム全体処理を終了する。
【０１５２】
図１４−図１６は、図１３に示したステップＳ１９の投げ処理の限定しない一例についてのフロー図である。
【０１５３】
図１４に示すように、プロセッサ３０は、投げ処理を開始すると、ステップＳ５１で、投げオブジェクト１１０の移動中かどうかを判断する。ステップＳ５１で“ＹＥＳ”であれば、つまり、投げオブジェクト１１０の移動中であれば、図１６に示すステップＳ９５に進む。一方、ステップＳ５１で“ＮＯ”であれば、つまり、投げオブジェクト１１０の移動中でなければ、ステップＳ５３で、投げ操作かどうかを判断する。ここでは、プロセッサ３０は、ステップＳ３で検出した操作データが操作ボタン１６ｅの操作を示すかどうかを判断する。
【０１５４】
ステップＳ５３で“ＹＥＳ”であれば、つまり、投げ操作であれば、図１６に示すステップＳ９７に進む。一方、ステップＳ５３で“ＮＯ”であれば、つまり、投げ操作でなければ、ステップＳ５５で、ターゲットカーソル１２０の移動操作かどうかを判断する。ここでは、プロセッサ３０は、ステップＳ３で検出した操作データがアナログスティック１４ａの操作を示すかどうかを判断する。
【０１５５】
ステップＳ５５で“ＮＯ”であれば、つまり、ターゲットカーソル１２０の移動操作でなければ、ステップＳ５９に進む。一方、ステップＳ５５で“ＹＥＳ”であれば、つまり、ターゲットカーソル１２０の移動操作であれば、ステップＳ５７で、アナログスティック１４ａの傾倒方向に傾倒量に応じた距離だけターゲットカーソル１２０を移動させ、ステップＳ５９に進む。
【０１５６】
ステップＳ５９では、対象外のオブジェクトを決定する。ここでは、プロセッサ３０は、ニアクリップ面２５２（仮想カメラ２００）との距離が第４所定距離未満に存在するオブジェクトを対象外のオブジェクトに決定する。このとき、１または複数の対象外のオブジェクトの識別情報が対象外データ３０４ｆとしてデータ記憶領域３０４に記憶される。
【０１５７】
次のステップＳ６１では、第１衝突判定処理を実行する。ここでは、プロセッサ３０は、ターゲットカーソル１２０の配置位置からＺ軸方向に第１判定オブジェクトを移動させたと仮定して、反応オブジェクトに衝突するかどうかを判定する。ただし、第１判定オブジェクトが反応オブジェクトに衝突せずに、ファークリップ面に衝突する場合には、対象オブジェクトを決定せずに第１衝突判定処理は終了される。
【０１５８】
続くステップＳ６３では、第１判定オブジェクトが反応オブジェクトに衝突するかどうかを判断する。ステップＳ６３で“ＮＯ”であれば、つまり、第１判定オブジェクトが反応オブジェクトに衝突しなければ、ステップＳ６５で、プレイヤライン平面と、仮想カメラ２００からターゲットカーソル１２０の位置に向かう線との交点を目標点として決定する。このステップＳ６５では、プロセッサ３０は、決定した目標点に対応する目標点データ３０４ｈをデータ記憶領域３０４に記憶（更新）する。後述するステップＳ６９についても同様である。
【０１５９】
次のステップＳ６７では、プレイヤキャラクタ１０２の進行方向（この実施例では、右方向）にプレイヤキャラクタ１０２の向きを決定し、図１５に示すステップＳ７５に進む。ステップＳ６７では、プロセッサ３０はプレイヤキャラクタ１０２の視線および体の正面を進行方向に向けるように、プレイヤキャラクタ１０２に向きを決定し、プレイヤキャラクタデータ３０４ｃに含まれる方向データを更新する。このことは、後述するステップＳ７３においても同様である。
【０１６０】
一方、ステップＳ６３で“ＹＥＳ”であれば、つまり、第１判定オブジェクトが反応オブジェクトに衝突すれば、ステップＳ６９で、衝突する点を目標点に決定する。次のステップＳ７１では、ステップＳ６９で決定した目標点を含む反応オブジェクトを対象オブジェクトに決定し、ステップＳ７３で、プレイヤキャラクタ１０２の向きを目標点の向きに決定して、ステップＳ７５に進む。ステップＳ６９では、プロセッサ３０は、対象オブジェクトの識別情報を対象オブジェクトデータ３０４ｉとしてデータ記憶領域３０４に記憶（更新）する。
【０１６１】
図１５に示すように、次のステップＳ７５では、起点データ３０４ｇが示す起点と目標点データ３０４ｈが示す目標点を結ぶ線分上に経路オブジェクト１２２を配置する。これ以降では、投げオブジェクト１１０が投げられるまで、経路オブジェクト１２２を構成する各球状オブジェクト１２２ａが第３所定距離において巡回するように移動される。
【０１６２】
続いて、ステップＳ７７で、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａの各々の影１２４の位置を算出し、算出した影１２４の位置を記憶する。つまり、プロセッサ３０は、第２衝突判定処理を実行し、各球状オブジェクト１２２ａの真下方向における地面の位置を影１２４の位置として算出し、算出した影１２４の位置に対応する位置データを影位置データ３０４ｋとしてデータ記憶領域３０４に記憶（更新）する。
【０１６３】
次のステップＳ７９では、第３衝突判定処理を実行する。第３衝突判定処理では、第３判定オブジェクトを起点と目標点を結ぶ線上に移動させたと仮定した場合に、第３判定オブジェクトが、反応オブジェクトに衝突するかどうかを判定する。そして、ステップＳ８１で、第３判定オブジェクトが反応オブジェクトに衝突するかどうかを判断する。
【０１６４】
ステップＳ８１で“ＮＯ”であれば、つまり、第３衝突判定処理において、第３判定オブジェクトが反応オブジェクトに衝突していなければ、ステップＳ９３に進む。一方、ステップＳ８１で“ＹＥＳ”であれば、つまり、第３衝突判定処理において、第３判定オブジェクトが反応オブジェクトに衝突すれば、ステップＳ８３で、第３判定オブジェクトが反応オブジェクトに衝突する点を衝突予測点として決定する。プロセッサ３０は、ステップＳ８３では、衝突予測点の座標データを衝突予測点データ３０４ｍとしてデータ記憶領域３０４に記憶（更新）する。
【０１６５】
次のステップＳ８５では、衝突予測点が対象オブジェクト上の点であるかどうかを判断する。言い換えると、ステップＳ８５では、衝突予測点がプレイヤキャラクタ１０２と対象オブジェクトの間にある他の反応オブジェクト上の点であるかどうかを判断する。ステップＳ８５で“ＹＥＳ”であれば、つまり、衝突予測点が対象オブジェクト上の点であれば、ステップＳ９１に進む。図示は省略するが、このとき、プロセッサ３０は、衝突予測オブジェクトデータ３０４ｎを消去する。
【０１６６】
一方、ステップＳ８５で“ＮＯ”であれば、つまり、衝突予測点がプレイヤキャラクタ１０２と対象オブジェクトの間にある他の反応オブジェクト上の点であれば、ステップＳ８７で、衝突予測点を含む反応オブジェクトを衝突予測オブジェクトとして決定する。プロセッサ３０は、ステップＳ８７では、衝突予測オブジェクトの識別情報を衝突予測オブジェクトデータ３０４ｎとしてデータ記憶領域３０４に記憶（更新）する。
【０１６７】
続いて、ステップＳ８９では、ターゲットカーソル１２０の表示態様および経路オブジェクト１２２の表示態様を設定（変更）する。このステップＳ８９では、ターゲットカーソル１２０と、経路オブジェクト１２２を構成する複数の球状オブジェクト１２２ａのうち、衝突予測点（衝突予測オブジェクト）よりも目標点（対象オブジェクト）側に配置される球状オブジェクト１２２ａがグレーアウトされることが設定される。そして、ステップＳ９１で、衝突予測点に目印オブジェクト１２６を配置し、ステップＳ９３で、対象オブジェクトまたは衝突予測オブジェクトに強調オブジェクト１３０を配置して、ゲーム全体処理にリターンする。
【０１６８】
ステップＳ９３では、衝突予測オブジェクトデータ３０４ｎが記憶されている場合には、このデータに対応する識別情報が示す衝突予測オブジェクトに、この衝突予想オブジェクトの輪郭を強調するための強調オブジェクト１３０が配置される。また、ステップＳ９３では、衝突予測オブジェクトデータ３０４ｎが記憶されていない場合には、対象オブジェクトデータ３０４ｉに対応する識別情報が示す対象オブジェクトに、この対象オブジェクトの輪郭を強調するための強調オブジェクト１３０が配置される。
【０１６９】
また、上述したように、ステップＳ５１で“ＹＥＳ”であれば、図１６に示すステップＳ９５で、投げオブジェクト１１０の移動を開始し、ステップＳ９７で、経路上で投げオブジェクト１１０を第５所定距離移動させる。ただし、経路は、投げ操作が行われたときに、起点と目標点を結ぶ線分で決定される投げオブジェクト１１０の経路である。
【０１７０】
続くステップＳ９９では、第４衝突判定処理を実行する。第４衝突判定処理では、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突するかどうかを判定する。次のステップＳ１０１では、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突するかどうかを判断する。
【０１７１】
ステップＳ１０１で“ＹＥＳ”であれば、つまり、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突すれば、ステップＳ１０３で、衝突オブジェクトに応じた所定の処理を実行して、ステップＳ１０９に進む。一方、ステップＳ１０１で“ＮＯ”であれば、つまり、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突していなければ、ステップＳ１０５で、投げオブジェクト１１０が最大距離移動したかどうかを判断する。たとえば、投げオブジェクト１１０がファークリップ面２５４に到達したかどうかを判断する。ステップＳ１０５で“ＮＯ”であれば、つまり、投げオブジェクト１１０が最大距離移動していなければ、ゲーム全体処理にリターンする。
【０１７２】
一方、ステップＳ１０５で“ＹＥＳ”であれば、つまり、投げオブジェクト１１０が最大距離移動すれば、ステップＳ１０７で、投げオブジェクト１１０を消去して、ステップＳ１０９で、プレイヤキャラクタ１０２が別の投げオブジェクト１１０を所持しているかどうかを判断する。ステップＳ１０９で“ＹＥＳ”であれば、つまり、プレイヤキャラクタ１０２が別の投げオブジェクト１１０を所持している場合には、ゲーム制御処理にリターンする。一方、ステップＳ１０９で“ＮＯ”であれば、つまり、プレイヤキャラクタ１０２が別の投げオブジェクト１１０を所持していない場合には、ステップＳ１１１で、投げフラグ３０４ｑをオフして、ゲーム制御処理にリターンする。
【０１７３】
この実施例によれば、プレイヤの操作に従ってターゲットカーソルを所定の平面内において移動させ、ターゲットカーソルで指定された仮想ゲーム空間内の位置を目標点として決定し、投げオブジェクトの移動を開始する起点から目標点までを結ぶ線分に経路オブジェクトを表示するので、投げオブジェクトを衝突させる対象オブジェクトを容易に知ることができる。
【０１７４】
また、この実施例によれば、経路オブジェクトを構成する球状オブジェクトの影を表示するので、投げオブジェクトの移動経路を分かり易く示すことができる。
【０１７５】
さらに、この実施例では、投げオブジェクトを移動させる方向にプレイヤキャラクタを向けるので、投げオブジェクトの移動方向を分かり易く示すことができる。
【０１７６】
さらにまた、この実施例によれば、投げオブジェクトが衝突することが予測される衝突予測オブジェクトの輪郭に強調オブジェクトを表示するので、投げオブジェクトを衝突させる対象オブジェクトをより分かり易く示すことができる。
【０１７７】
また、この実施例によれば、衝突予測点に目印オブジェクトを表示するので、投げオブジェクトを衝突させる対象オブジェクトをより分かり易く示すことができる。
【０１７８】
なお、この実施例では、携帯型または据え置き型あるいはそれらの切り替えが可能なゲーム装置について説明したが、ゲーム処理の一部または全部がゲーム装置と通信可能に接続される他のゲーム装置またはコンピュータで実行されてもよい。かかる場合には、この実施例のゲーム装置と、当該ゲーム装置と通信可能に接続される他のゲーム装置またはコンピュータによって、ゲームシステム（画像処理システム）が構成される。
【０１７９】
また、この実施例では、経路オブジェクトに含まれる各球状オブジェクトの真下の地面に影をマテリアルで描画するようにしたが、光源の光によって生成される影をシェーディングにより描画するようにしてもよい。または、ステップＳ７１において、各球状オブジェクトの真下であり、地面の上に影のオブジェクトを配置するようにしてもよい。
【０１８０】
さらに、この実施例では、第１衝突判定処理において、ターゲットカーソルから第１判定オブジェクトを移動させた場合に最初に衝突する反応オブジェクトを対象オブジェクトとして決定するようにしてあるが、これに限定される必要はない。たとえば、第１判定オブジェクトが衝突するすべての反応オブジェクトを対象オブジェクトとして決定するようにしてもよい。そして、複数の対象オブジェクトからプレイヤに１つの対象オブジェクトを選択させてもよい。
【０１８１】
さらにまた、この実施例では、プレイヤキャラクタが投げた投げオブジェクトが１つの反応オブジェクトに衝突すると、投げオブジェクトを消去し、当該反応オブジェクトに設定された所定の処理を実行するようにしたが、投げオブジェクトが反応オブジェクトに当たったとしても、目標値まで移動させるようにしてもよい。
【０１８２】
また、この実施例では、プレイヤオブジェクトが投げオブジェクトを投げる場合について説明したが、投げる（発射する）オブジェクトは限定される必要はない。ゲームの種類によっては、弾丸を模したオブジェクトを撃ったり（発射したり）、サッカーボールを模したオブジェクトを蹴ったり、矢を模したオブジェクトを射たりするようにしてもよい。これらのオブジェクトもまた、プレイヤキャラクタが発射するオブジェクトである。
【０１８３】
また、この実施例で示したゲームの内容、ゲーム装置の構成および具体的数値は単なる例示であり、限定されるべきでなく、実際の製品に応じて適宜変更可能である。たとえば、プレイヤキャラクタの移動等、ターゲットカーソルの移動、通常モードと投げモードの切り替えを指示する操作手段（アナログスティック、操作ボタン）は、実施例で示した操作手段と異なる操作手段が使用されてもよい。
【符号の説明】
【０１８４】
１０  …ゲーム装置
１２  …装置本体
１４  …左コントローラ
１４ａ、１６ａ  …アナログスティック
１４ｂ−１４ｅ、１６ｂ−１６ｅ  …操作ボタン
１６  …右コントローラ
２０、２２、２４  …ハウジング
１８  …表示装置
３０  …プロセッサ
３２  …ＲＡＭ
３４  …フラッシュメモリ
３８  …入力装置
４４  …スピーカ
【図１】
2018202128.tif 000003
【図２】
2018202128.tif 000004
【図３】
2018202128.tif 000005
【図４】
2018202128.tif 000006
【図５】
2018202128.tif 000007
【図６】
2018202128.tif 000008
【図７】
2018202128.tif 000009
【図８】
2018202128.tif 000010
【図９】
2018202128.tif 000011
【図１０】
2018202128.tif 000012
【図１１】
2018202128.tif 000013
【図１２】
2018202128.tif 000014
【図１３】
2018202128.tif 000015
【図１４】
2018202128.tif 000016
【図１５】
2018202128.tif 000017
【図１６】
2018202128.tif 000018
【手続補正書】
【提出日】平成30年4月25日(2018.4.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
第１の発明は、情報処理装置のコンピュータで実行されるゲームプログラムであって、カーソル制御ステップと、指定位置算出ステップと、経路オブジェクト配置ステップと、画像生成ステップを、コンピュータに実行させる。カーソル制御ステップは、プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置する。指定位置算出ステップは、カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とする。経路オブジェクト配置ステップは、仮想空間内の所定の起点位置から指定位置までの経路を示す経路オブジェクトを仮想空間内に配置する。画像生成ステップは、仮想空間の画像を生成する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
第１１の発明は、プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するカーソル制御部と、カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とする指定位置算出部と、仮想空間内に、指定位置を向くようにプレイヤキャラクタを配置するプレイヤキャラクタ配置部と、仮想空間内のプレイヤキャラクタが配置される位置と所定の位置関係を有する位置である所定の起点位置から指定位置までの経路を示す経路オブジェクトを当該仮想空間内に配置する経路オブジェクト配置部と、仮想空間の画像を生成する画像生成部を備え、画像生生成部は、仮想空間内における経路オブジェクトの影となる画像を生成する、ゲーム装置である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
第１２の発明は、プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するカーソル制御部と、カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とする指定位置算出部と、仮想空間内の所定の起点位置から指定位置までの経路を示す経路オブジェクトを仮想空間内に配置する経路オブジェクト配置部と、仮想空間の画像を生成する画像生成部を備える、ゲームシステムである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
第１３の発明は、情報処理装置のコンピュータのゲーム制御方法であって、（ａ）プレイヤの操作に基づいて、カーソルオブジェクトを所定の平面上において移動させ、仮想空間内において他のオブジェクトよりも手前に表示されるよう当該カーソルオブジェクトを配置するステップと、（ｂ）カーソルオブジェクトの表示位置に対応する仮想空間内の位置を算出し、仮想空間内における指定位置とするステップと、（ｃ）仮想空間内の所定の起点位置から指定位置までの経路を示す経路オブジェクトを仮想空間内に配置するステップと、（ｄ）仮想空間の画像を生成するステップを含む、ゲーム制御方法である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
また、図４に示すように、投げモードが設定された当初では、プレイヤキャラクタ１０２の進行方向（この実施例では、右）の前方に、第１所定距離だけ離れた位置に、ターゲットカーソル１２０が表示される。後述するように、ターゲットカーソル１２０が指定する対象オブジェクトとは異なり、プレイヤキャラクタ１０２とこの対象オブジェクトの間に配置される他のオブジェクトに投げオブジェクト１１０が衝突される場合を除いて、ターゲットカーソル１２０は所定の色（たとえば、緑色）で表示される。図４では（図６、図７、図８、図１０も同じ）、ターゲットカーソル１２０を黒色で示してある。また、第1所定距離は、ゲームの開発者等によって予め設定される。また、投げモードでは、プレ
イヤキャラクタ１０２は、ターゲットカーソル１２０が指定（指示）する点（目標点）を見るように、顔および体の向きを制御される。したがって、プレイヤキャラクタ１０２の顔および体の向きから目標点または目標点の方向を知ることができる。目標点の決定方法については、後で詳細に説明する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
図１１および図１２は図２に示したゲーム装置１０のＲＡＭ３２のメモリマップ３００の一例を示す図である。図１１に示すように、ＲＡＭ３２は、プログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、この実施例のゲームのアプリケーションについてのプログラム（ゲームプログラム）が記憶され、ゲームプログラムは、メイン処理プログラム３０２ａ、画像生成プログラム３０２ｂ、画像表示プログラム３０２ｃ、操作検出プログラム３０２ｄ、オブジェクト制御プログラム３０２ｅ、ターゲットカーソル制御プログラム３０２ｆ、目標点決定プログラム３０２ｇ、対象オブジェクト決定プログラム３０２ｈ、経路オブジェクト配置プログラム３０２ｉ、影位置算出プログラム３０２ｊ、衝突予測オブジェクト決定プログラム３０２ｋ、表示態様設定プログラム３０２ｍおよび衝突判定プログラム３０２ｎなどを含む。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
図１３は、図２に示したプロセッサ３０によって実行されるゲーム全体処理の限定しない一例についてのフロー図である。なお、図１３に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。このことは、図１４−図１６に示す投げ処理についても同様である。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１４５
【補正方法】変更
【補正の内容】
【０１４５】
ステップＳ７で“ＮＯ”であれば、つまり、投げモードの設定でなければ、ステップＳ９で、通常モードのゲーム制御処理を実行して、ステップＳ２１に進む。ステップＳ９では、たとえば、プロセッサ３０は、操作データに従って、プレイヤキャラクタ１０２を移動させ、または／および、プレイヤキャラクタ１０２に任意のアクションを実行させる。このとき、プロセッサ３０は、プレイヤキャラクタ１０２と所定の位置関係を保つように仮想カメラ２００を移動させる。ただし、プレイヤキャラクタ１０２が移動されると、プレイヤキャラクタ１０２の現在位置が更新される。これに伴って、起点データ３０４ｇも更新される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１４８
【補正方法】変更
【補正の内容】
【０１４８】
また、ステップＳ１１では、投げモードの解除かどうかを判断する。つまり、通常モードを設定するかどうかが判断される。具体的には、プロセッサ３０は、投げモードにおいて、操作ボタン１６ｃが操作されたかどうかを判断する。ステップＳ１１で“ＹＥＳ”であれば、つまり、通常モードを設定する場合には、ステップＳ１３で、投げフラグ３０４ｑをオフし、ステップＳ２１に進む。一方、ステップＳ１１で“ＮＯ”であれば、つまり、通常モードを設定しない場合には、ステップＳ１９に進む。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１６３
【補正方法】変更
【補正の内容】
【０１６３】
次のステップＳ７９では、第３衝突判定処理を実行する。第３衝突判定処理では、第３判定オブジェクトを起点と目標点を結ぶ線上に移動させたと仮定した場合に、第３判定オブジェクトが、反応オブジェクトに衝突するかどうかを判定する。そして、ステップＳ８１で、第３衝突判定処理において、第３判定オブジェクトが反応オブジェクトに衝突するかどうかを判断する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１７０
【補正方法】変更
【補正の内容】
【０１７０】
続くステップＳ９９では、第４衝突判定処理を実行する。第４衝突判定処理では、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突するかどうかを判定する。次のステップＳ１０１では、第４衝突判定処理において、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突するかどうかを判断する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１７１
【補正方法】変更
【補正の内容】
【０１７１】
ステップＳ１０１で“ＹＥＳ”であれば、つまり、第４衝突判定処理において、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突すれば、ステップＳ１０３で、衝突オブジェクトに応じた所定の処理を実行して、ステップＳ１０９に進む。一方、ステップＳ１０１で“ＮＯ”であれば、つまり、第４衝突判定処理において、投げオブジェクト１１０が対象オブジェクトまたは衝突予測オブジェクトに衝突していなければ、ステップＳ１０５で、投げオブジェクト１１０が最大距離移動したかどうかを判断する。たとえば、投げオブジェクト１１０がファークリップ面２５４に到達したかどうかを判断する。ステップＳ１０５で“ＮＯ”であれば、つまり、投げオブジェクト１１０が最大距離移動していなければ、ゲーム全体処理にリターンする。