(57)【特許請求の範囲】
【請求項１】
コンピュータに、衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って操作オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成させるためのプログラムであって、
前記操作オブジェクトの所与の基準点の移動軌跡に基づき前記仮想カメラの視線方向に沿った方向に拡張した面状のヒット可能範囲を設定するヒット可能範囲設定手段、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段、
前記ヒット判定手段によりヒットしたと判定された場合に、前記衝突対象オブジェクトを前記ヒット可能範囲の面に基づき二分することで切断制御する切断制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
コンピュータに、衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って操作オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成させるためのプログラムであって、
前記衝突対象オブジェクトを移動制御する衝突対象オブジェクト制御手段、
前記操作オブジェクトの所与の基準点の移動軌跡に基づき前記仮想カメラの視線方向に沿った方向に拡張し、且つ、前記衝突対象オブジェクトの移動速度に応じて当該拡張の程度を可変したヒット可能範囲を設定するヒット可能範囲設定手段、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項３】
コンピュータに、衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って操作オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成させるためのプログラムであって、
前記操作オブジェクトの所与の基準点の移動軌跡に基づき前記仮想カメラの視線方向に沿った方向に拡張し、且つ、前記操作オブジェクトの移動速度に応じて当該拡張の程度を可変したヒット可能範囲を設定するヒット可能範囲設定手段、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項４】
コンピュータに、衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って刀剣オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成させるためのプログラムであって、
前記刀剣オブジェクトの先端部の移動軌跡に基づき前記仮想カメラの視線方向に沿った方向に拡張したヒット可能範囲を設定するヒット可能範囲設定手段、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項５】
コンピュータに、衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って刀剣オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成させるためのプログラムであって、
前記刀剣オブジェクトの所与の基準点から前記仮想カメラの視線方向に沿った方向に仮想刀身を設定し、この仮想刀身の通過範囲に基づいてヒット可能範囲を設定するヒット可能範囲設定手段、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項６】
コンピュータに、衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って操作オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成させるためのプログラムであって、
前記画像生成の直近所定時間分の前記操作オブジェクトの移動軌跡によって定まる前記操作オブジェクトの所与の基準点の軌跡線又は軌跡面を、前記仮想カメラの視線方向に沿った方向に拡張したヒット可能範囲を設定するヒット可能範囲設定手段、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項７】
衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って操作オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成する画像生成装置であって、
前記操作オブジェクトの所与の基準点の移動軌跡に基づき前記仮想カメラの視線方向に沿った方向に拡張した面状のヒット可能範囲を設定するヒット可能範囲設定手段と、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段と、
前記ヒット判定手段によりヒットしたと判定された場合に、前記衝突対象オブジェクトを前記ヒット可能範囲の面に基づき二分することで切断制御する切断制御手段と、
を備えた画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに所与の仮想カメラから見た仮想３次元空間の画像を生成させるためのプログラム等に関する。
【背景技術】
【０００２】
ビデオゲームの中には、仮想３次元空間内に多数の衝突対象オブジェクトを配置して、プレーヤが操作する操作オブジェクトとの衝突を判定して進行するゲームがある。
例えば、仮想３次元空間内に対象オブジェクトとして多数の竹オブジェクトを配置し、刀型コントローラによる操作入力に従って、操作オブジェクトである刀オブジェクトを移動させ、衝突した竹オブジェクトを切断するゲームが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−８５５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のゲームのように、仮想３次元空間に配置されたオブジェクトの衝突を、２次元のゲーム画面で表示する場合、画面奥行方向の距離感が掴み難い。操作オブジェクトや衝突対象オブジェクトが動いている場合は特にそうである。その為、プレーヤの感覚としては、操作オブジェクトと衝突対象オブジェクトとを衝突させることができたと思ってもゲーム処理上は衝突しているとは判定されない場合が発生し、ゲームプレイ中にフラストレーションを与えてしまう場合がある。
【０００５】
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、プレーヤの操作入力により移動制御される操作オブジェクトと衝突対象オブジェクトとを仮想３次元空間に形成されたゲーム空間に配置するとともに、ゲーム空間内の様子を仮想カメラで撮影した画像をゲーム画面とし、操作オブジェクトと衝突対象オブジェクトとの衝突を要素にゲームが進行するビデオゲームにおいて、ゲーム画面奥行き感をサポートすることである。より具体的には、プレーヤの感覚として、操作オブジェクトと衝突対象オブジェクトとを衝突させることができたと思ってもゲーム処理上は衝突しているとは判定されず、ゲームプレイ中にフラストレーションを与えるという事態を低減することである。
【課題を解決するための手段】
【０００６】
以上の課題を解決するための第１の形態は、コンピュータに、衝突対象オブジェクト（例えば、図３の砲弾１０）が存在する仮想３次元空間内でユーザ操作に従って操作オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成させるためのプログラムであって、
前記操作オブジェクトの所与の基準点の移動軌跡に基づき前記仮想カメラの視線方向に沿った方向に拡張したヒット可能範囲を設定するヒット可能範囲設定手段（例えば、図６の処理部２００、ゲーム演算部２１０、ヒット可能範囲設定部２１６、図１０のステップＳ８２）、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段（例えば、図６の処理部２００、ゲーム演算部２１０、図１０のステップＳ１５０）、
として前記コンピュータを機能させるためのプログラムである。
【０００７】
また、別形態として、衝突対象オブジェクトが存在する仮想３次元空間内でユーザ操作に従って操作オブジェクトを移動させ、所与の仮想カメラから見た前記仮想３次元空間の画像を生成する画像生成装置であって、
前記操作オブジェクトの所与の基準点の移動軌跡に基づき前記仮想カメラの視線方向に沿った方向に拡張したヒット可能範囲を設定するヒット可能範囲設定手段（例えば、図１の制御ユニット１２１０、図６の処理部２００、ゲーム演算部２１０、ヒット可能範囲設定部２１６、図１０のステップＳ８２）と、
前記ヒット可能範囲と前記衝突対象オブジェクトとのヒット判定を行うヒット判定手段（例えば、図１の制御ユニット１２１０、図６の処理部２００、ゲーム演算部２１０、図１０のステップＳ１５０）と、
を備えた画像生成装置とすることができる。
【０００８】
ここで言う「仮想カメラの視線方向」とは、仮想カメラの焦点（仮想カメラの位置としても勿論良い。）と撮影範囲中心位置を結ぶ方向は勿論のこと、仮想カメラの焦点から撮影範囲の任意点への方向を含む意味である。第１の形態によれば、操作オブジェクトから画面奥行方向へ拡張したヒット可能範囲を設けることができる。そして、ヒット可能範囲と衝突対象オブジェクトとの間でヒット判定を実現する。よって、操作オブジェクトと衝突対象オブジェクトとが画面奥行方向に位置がズレていて、実際にはヒットしていなくとも、ヒット（衝突）したものとして扱うことができる。
画面奥行方向のヒット判定を補助することで、プレーヤの感覚としてはヒットさせることができたと思ってもゲーム処理上はヒットしているとは判定されないといった実態を低減し、プレーヤにフラストレーションを与えるのを抑制できる。
【０００９】
第２の形態は、前記ヒット可能範囲設定手段が、前記ヒット可能範囲を面状に設定するように前記コンピュータを機能させるための第１の形態のプログラムである。
【００１０】
第２の形態によれば、第１の形態のプログラムと同様の効果を発揮するとともに、ヒット可能範囲の形状を面状に設定することができる。
【００１１】
第３の形態は、前記ヒット判定手段によりヒットしたと判定された場合に、前記衝突対象オブジェクトを切断制御する切断制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、砲弾切断制御部２１８、図１０のステップＳ１５８〜Ｓ１６０）として前記コンピュータを更に機能させるための第１又は第２の形態のプログラムである。
【００１２】
第３の形態によれば、第１又は第２の形態のプログラムと同様の効果を発揮するとともに、ヒット可能範囲と衝突対象オブジェクトとがヒットした場合に、衝突対象オブジェクトを切断したように制御できる。
【００１３】
第４の形態は、前記ヒット判定手段によりヒットしたと判定された場合に、前記衝突対象オブジェクトを前記ヒット可能範囲の面に基づき二分することで切断制御する切断制御手段として前記コンピュータを更に機能させるための第２の形態のプログラムである。
【００１４】
第４の形態によれば、第２の形態のプログラムと同様の効果を発揮するとともに、ヒット可能範囲を切断面とすることで、操作オブジェクトによって衝突対象オブジェクトが切断された見かけ上の感覚を上手く表現できる。
【００１５】
第５の形態は、前記衝突対象オブジェクトを移動制御する衝突対象オブジェクト制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、図９のステップＳ３４〜Ｓ４０）として前記コンピュータを機能させ、前記ヒット可能範囲設定手段が、前記衝突対象オブジェクトの移動速度に応じて前記拡張の程度を可変して前記ヒット可能範囲を設定するように前記コンピュータを機能させるための第１〜４の何れか一項の形態のプログラムである。
【００１６】
第５の形態によれば、第１〜第４の形態何れかのプログラムと同様の効果を奏するとともに、衝突対象オブジェクトの移動速度に応じて画面奥行方向の距離感のズレが変化するのをサポートできる。
【００１７】
第６の形態は、前記ヒット可能範囲設定手段が、前記操作オブジェクトの移動速度に応じて前記拡張の程度を可変して前記ヒット可能範囲を設定するように前記コンピュータを機能させるための第１〜第５の何れかの形態のプログラムである。
【００１８】
第６の形態によれば、第１〜第５の形態の何れかのプログラムと同様の効果を発揮するとともに、操作オブジェクトの移動速度に応じて画面奥行方向の距離感のズレが変化するのをサポートできる。
【００１９】
第７の形態は、前記操作オブジェクトは刀剣であり、前記ヒット可能範囲設定手段が、前記刀剣の先端部を前記基準点として前記ヒット可能範囲を設定するように前記コンピュータを機能させるための第１〜第６の何れかの形態のプログラムである。
【００２０】
第７の形態によれば、第１〜第６の形態の何れかのプログラムと同様の効果を奏するとともに、刀剣で衝突対象オブジェクトを切るゲームの設定をヒット可能範囲の設定に上手くマッチさせ、刀剣で切断する際の距離感を上手く表現できる。
【００２１】
第８の形態は、前記操作オブジェクトは刀剣であり、前記ヒット可能範囲設定手段が、前記操作オブジェクトの前記基準点から前記仮想カメラの視線方向に沿った方向に仮想刀身を設定し、この仮想刀身の通過範囲に基づいて前記ヒット可能範囲を設定することで、前記視線方向に沿った方向に拡張させたヒット可能範囲を設定する、ように前記コンピュータを機能させるための第１〜第７の何れかの形態のプログラムである。
【００２２】
第８の形態によれば、第１〜第７の何れかの形態のプログラムと同様の効果を発揮するとともに、刀剣で衝突対象オブジェクトを切るゲームの設定をヒット可能範囲の設定に上手くマッチさせ、刀剣で切断する際の距離感を上手く表現できる。
【００２３】
第９の形態は、前記ヒット可能範囲設定手段が、前記画像生成の直近所定時間分の前記操作オブジェクトの移動軌跡によって定まる軌跡線又は軌跡面を、前記仮想カメラの視線方向に沿った方向に拡張させることで前記ヒット可能範囲を設定するように前記コンピュータを機能させるための第１〜第８の何れかの形態のプログラムである。
【００２４】
第９の形態によれば、第１〜第８の形態の何れかのプログラムと同様の効果を奏するとともに、刀剣で衝突対象オブジェクトを切るゲームの設定をヒット可能範囲の設定に上手くマッチさせ、刀剣で切断する際の距離感を上手く表現できる。
【００２５】
第１０の形態は、第１〜第９の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第１０の形態によれば、第１〜第９の何れか一つの形態のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第９の形態の何れかと同様の効果を発揮させることができる。
【図面の簡単な説明】
【００２６】
【図１】家庭用ゲーム装置のシステム構成の一例を示す図。
【図２】ゲームコントローラの構成例を示す正面図及び右側面図。
【図３】ゲームプレイのスタイルと、ゲーム画面の一例とを示す図。
【図４】仮想３次元空間に配置されるプレーヤキャラクタのオブジェクトと仮想カメラとの相対位置関係の例を示す概念図。
【図５】ヒット可能範囲と砲弾とのヒットが検知された場合の当該砲弾の処理の一例について説明する概念図。
【図６】機能構成例を示す機能ブロック図。
【図７】プレーヤキャラクタ設定データのデータ構成の一例を示す図。
【図８】プレイデータのデータ構成の一例を示す図。
【図９】第１実施形態における主たる処理の流れを説明するためのフローチャート。
【図１０】図９より続くフローチャート。
【図１１】図１０より続くフローチャート。
【図１２】第１実施形態におけるヒット可能範囲設定処理の流れを説明するためのフローチャート。
【図１３】第２実施形態におけるヒット可能範囲の設定方法の原理を説明するための概念図。
【図１４】第２実施形態におけるヒット可能範囲設定処理の流れを説明するためのフローチャート。
【図１５】第３実施形態におけるヒット可能範囲の設定方法の原理を説明するための概念図。
【図１６】第３実施形態におけるヒット可能範囲設定処理の流れを説明するためのフローチャート。
【図１７】第３実施形態におけるヒット可能範囲の設定方法の原理の変形例を説明するための概念図。
【図１８】イメージセンサモジュールで撮影したプレーヤの姿に基づいてプレーヤキャラクタが刀剣を振る方向の入力を取得する第１の概念を説明する図。
【図１９】イメージセンサモジュールで撮影したプレーヤの姿に基づいてプレーヤキャラクタが刀剣を振る方向の入力を取得する第２の概念を説明する図。
【図２０】イメージセンサモジュールで撮影したプレーヤの姿に基づいてプレーヤの動作をボーンモデルの動作に置き換え、ボーンモデルの動きからプレーヤキャラクタが刀剣を振る方向の入力を取得する概念を説明する図。
【図２１】画像生成装置の変形例と、タッチ操作でプレーヤの姿に基づいてプレーヤキャラクタが刀剣を振る方向の入力を取得する概念を説明する図。
【発明を実施するための形態】
【００２７】
〔第１実施形態〕
第１実施形態として、本発明を適用した画像生成装置である据え置き型の家庭用ゲーム装置においてゲームコントローラを振るなどの動作で方向入力しながら楽しむビデオゲームを実行する例について説明する。
【００２８】
［ゲーム装置の構成］
図１は、本実施形態における家庭用ゲーム装置のシステム構成の一例を示す図である。家庭用ゲーム装置１２００は、ゲーム装置本体１２０１と、ビデオモニタ１２２０と、ゲームコントローラ１２３０と、光信号出力装置１２２６と、イメージセンサモジュール１２２７と、を備える。
【００２９】
ゲーム装置本体１２０１は、例えばＣＰＵや画像処理用ＬＳＩ、ＩＣメモリ等が実装された制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８とを備える。そして、家庭用ゲーム装置１２００は、光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ１２３０に為される操作入力等に基づいて制御ユニット１２１０が各種のゲーム演算を実行してビデオゲームを実行する。
【００３０】
制御ユニット１２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＩＣメモリなどの電気電子機器を備え家庭用ゲーム装置１２００の各部を制御する。
また、制御ユニット１２１０は、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と有線又は無線接続し、外部装置との間でデータ通信を実現する通信装置１２１２を備える。また、近距離無線通信モジュール１２１４を備え、近距離無線を介して複数のゲームコントローラ１２３０との間でデータの送受信を実現する。近距離無線の形式としては、例えばＢｌｕｅｔｏｏｔｈ（登録商標）やＵＷＢ（超広帯域無線）、無線ＬＡＮなどが適宜適用可能である。
【００３１】
そして、制御ユニット１２１０は、ゲームコントローラ１２３０から受信した操作入力信号に基づいてゲーム画面やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画面やゲーム音に基づく映像信号や音信号がケーブル１２０９で接続されたビデオモニタ１２２０（ディスプレイモニタ、音声信号やビデオ信号などの外部入力が可能なテレビを含む意）に出力される。ビデオモニタ１２２０には、ビデオ画像を表示する画像表示装置１２２２と、音声を出力するスピーカ１２２４とが備えられており、プレーヤは画像表示装置１２２２に映し出されるゲーム画面を見ながら、スピーカ１２２４から放音されるゲーム音を聞きつつゲームをプレイする。
【００３２】
図２は、本実施形態において用いられるゲームコントローラ１２３０の一例を示す外観図であって、（１）正面図（＝上面図）、（２）右側面図である。ゲームコントローラ１２３０は面取りされた略四角断面を有する棒状を成しており、プレーヤは棒を握る要領で片手把持して操作する。
【００３３】
ゲームコントローラ１２３０は、内蔵するコントローラ制御ユニット１２６０を中心に、各種入力デバイス及び出力デバイスを、例えばＩＩＣ（Inter-Integrated Circuit）バスなどによって実現されるローカルバス回路によって接続しており、コントローラ制御ユニット１２６０によって各デバイス間の入出力を制御する。
【００３４】
具体的には、例えばスイッチ類の入力デバイスとしては、正面側（上面側）の下端部から中央部に掛けて操作ボタン１２４０ａ，１２４０ｂ，１２４０ｃを備える。また、正面側の上部（先端側）には、十字状の四隅を押下することで上下左右の方向を個別に入力することのできる方向入力キー１２４２を備え、背面側の中央部にはトリガー１２４６を備える。
【００３５】
また、その他の入力デバイスとしては、ゲームコントローラ１２３０の動きや傾きを検出するための加速度センサ１２４８と、ジャイロスコープ１２４９と、イメージセンサ１２５６とを備える。
【００３６】
加速度センサ１２４８はゲームコントローラ１２３０の長手先端方向（図２（１）で言うところの図面上方向）をＺ軸のプラス方向、正面に向かって右方向（図２（１）で言うところの図面右方向）をＸ軸のプラス方向、正面に向かって手前方向（図２（２）で言うところの図面左方向）をＹ軸のプラス方向とする直交３軸方向の各加速度を検出し、検出した加速度に応じた情報を含む操作入力信号をコントローラ制御ユニット１２６０に出力する。
【００３７】
イメージセンサ１２５６は、ＣＣＤセンサやＣＭＯＳセンサなどの撮影素子の前方に赤外光のみを透過するフィルタを装着して実現され、ゲームコントローラ１２３０の先端に設けられて長手方向前方の様子を撮影し、画像信号をコントローラ制御ユニット１２６０に出力する。
【００３８】
また、本実施形態におけるゲームコントローラ１２３０は、スピーカ１２５２を備える。スピーカ１２５２は、コントローラ制御ユニット１２６０から出力された音出力信号に従って音を発生させ、正面側に向けて放音する。
【００３９】
コントローラ制御ユニット１２６０は、例えば、ＣＰＵやローカルバス回路におけるデータ通信を制御するバスコントローラＩＣなどの各種マイクロチップやＩＣメモリなどの電子部品、ゲーム装置本体１２０１の近距離無線通信モジュール１２１４と無線通信を実現する近距離無線通信モジュール１２６２などを搭載する。
【００４０】
そして、コントローラ制御ユニット１２６０は、ローカルバス回路を介して各種入力デバイスから送信された信号に基づいて操作入力信号を生成し、生成した操作入力信号を近距離無線通信モジュール１２６２でゲーム装置本体１２０１へ送信する。また、近距離無線通信モジュール１２６２によって、ゲーム装置本体１２０１から送出された出力信号を受信した場合には、受信した出力信号に対応づけられている出力デバイスへ制御信号を生成・送出する。尚、コントローラ制御ユニット１２６０及び各部が必要とする電力は、ゲームコントローラ１２３０の背面側に凹設されたバッテリー室内に内蔵されたバッテリー１２７０から供給される。
【００４１】
図１の光信号出力装置１２２６は、赤外光を発する複数の点光源を内蔵する。光信号出力装置１２２６は、ビデオモニタ１２２０付近の所定位置（例えば上部）に設置され、ビデオモニタ１２２０の前方へ赤外光を投光することができる。
【００４２】
また、イメージセンサモジュール１２２７は、例えば、レンズ、メカシャッター、シャッタードライバ、ＣＣＤイメージセンサモジュールやＣＭＯＳイメージセンサモジュールといった光電変換素子、光電変換素子から電荷量を読み出し画像データを生成するデジタルシグナルプロセッサ（ＤＳＰ）、ＩＣメモリなどで実現される。
【００４３】
［ゲームの概要の説明］
次に、本実施形態におけるビデオゲームの概要について説明する。
図３は、ゲームプレイのスタイルと、ゲーム画面の一例とを示す図であって、吹き出し内がゲーム画面の一例である。図４は、仮想３次元空間に配置されるプレーヤキャラクタ４のオブジェクトと仮想カメラＣＭとの相対位置関係の例を示す概念図である。
【００４４】
本実施形態のビデオゲームは、仮想３次元空間に形成されたゲーム空間でプレーヤ２が操作するプレーヤキャラクタ４と敵キャラクタ６とが戦う様子を仮想カメラＣＭで撮影した画像をレンダリングしてゲーム空間画像を生成し、ゲーム空間画像に各種情報表示を合成してゲーム画面を形成する所謂３ＤＣＧを用いたビデオゲームである。
【００４５】
本実施形態では、仮想カメラＣＭは、ゲーム中の操作オブジェクトである刀剣５を持ったプレーヤキャラクタ４の後方斜め上に配置され、視線方向をプレーヤキャラクタ４の正面に向けて配置される。よって、本実施形態のゲーム画面Ｗ２は、基本的には画面手前にプレーヤキャラクタ４が配置されて、画面奥の敵キャラクタ６が配置される。
【００４６】
敵キャラクタ６は、ＮＰＣ（Non Playable Character）であって、プレーヤキャラクタ４の前方に陣取って、プレーヤキャラクタ４へ向けて砲弾１０を発射して攻撃するように自動制御される。そして、砲弾１０は、発射後、疑似物理法則に従って放物運動するように自動制御される。図中では、破線矢印によって砲弾１０の移動経路の一例を示しているが、実際のゲーム画面にはこれは表示されない。砲弾１０がプレーヤキャラクタ４に着弾すれば、プレーヤキャラクタ４はダメージを受け、ヒットポイント表示欄２２に表示されるヒットポイントが減算され、「０」になるとゲームオーバーとなる。
【００４７】
プレーヤ２は、ゲームコントローラ１２３０を把持して、ビデオモニタ１２２０の正面に立って構え、砲弾１０がプレーヤキャラクタ４の正面、刀剣５の攻撃範囲に入ったタイミングでゲームコントローラ１２３０を剣を振る要領でスイング操作して方向入力する。本実施形態では、３次元のゲームコントローラ移動ベクトルＶｃｎとして入力される。
【００４８】
このゲームコントローラ移動速度ベクトルＶｃｎから、入力速度ベクトルＶｉｎが算出される。入力速度ベクトルＶｉｎは、ゲームコントローラ移動速度ベクトルＶｃｎの直交３軸成分のうち、画面の上下左右に相当するＸＹ軸成分が抽出されて求められる。そして、プレーヤキャラクタ４は、この２次元の入力速度ベクトルＶｉｎの方向へ刀剣５を振るように動作制御される。飛んでくる砲弾１０を上手く刀剣５で切ることができれば砲弾１０を切断してその移動方向を逸らせて着弾を防ぐことができる。敵キャラクタ６の攻撃が終わるまでヒットポイントが「０」にならないように着弾を防げればゲームクリアとなる。尚、ゲームコントローラ移動速度ベクトルＶｃｎの算出には、ジャイロスコープ１２４９の検出値を用いるとしても良い。
【００４９】
ここで着目すべきは、ゲーム空間は３次元なのにゲーム画面は２次元である、ということである。減った１次元が画面奥行方向であるため、従来のこうした画面奥行方向に標的となるオブジェクトが移動するビデオゲームでは、正確な奥行方向の距離感を掴みにくいものである。本実施形態の例で言えば、飛んでくる砲弾１０を上手く刀剣５で切るタイミングが掴み難くなるのに相当する。その為、切ったつもりが切れなかったりといったことが起こり、プレーヤに要らぬフラストレーションを与えることがあった。そこで本実施形態では、砲弾１０の切断判定をするためのヒット可能範囲の設定に工夫を凝らすことで、掴みにくい画面奥行き感をサポートする。
【００５０】
具体的には、図４に示すように、プレーヤキャラクタ４が振った刀剣５の所定基準位置（本実施形態では先端）を、制御サイクル（例えば、１／３０秒）周期で記憶する。図中では記憶された各サイクルにおける先端位置を白丸で示している。そして、１周期前の先端位置（第１頂点Ｐ１）と仮想カメラＣＭの焦点Ｐ０とを通る直線上のプレーヤキャラクタ４の前方に第４頂点Ｐ４を設定し、現在の先端位置（第２頂点Ｐ２）と仮想カメラＣＭの焦点Ｐ０とを通る直線上のプレーヤキャラクタ４前方に第３頂点Ｐ３を設定する。
【００５１】
そして、第１頂点Ｐ１・第２頂点Ｐ２・第３頂点Ｐ３・第４頂点Ｐ４の４点で囲まれる領域を、砲弾１０と刀剣５とのヒット判定に利用可能な範囲（ヒット可能範囲３０）とする。つまり、第１頂点Ｐ１から第２頂点Ｐ２までを底辺として、仮想カメラＣＭの視線方向に沿った方向へ、より厳密には仮想カメラＣＭの位置から刀剣５の先端を通る方向へ拡張したヒット判定領域を作成し、プレーヤの画面奥行方向の距離感が上手く掴めていなくとも、砲弾１０を刀剣５で切れるように補助する。勿論、刀剣５自体に設定されるヒット判定領域も砲弾１０とのヒット判定は行われるが、刀剣５自体はヒット判定領域から除外してもよい。
尚、本実施形態では、現在の周期と１つ前の周期とにおける４点の位置を用いているが、現在の周期から所定周期前までの所定周期分（例えば４周期分など）の多数の位置を記録し、これらを結ぶ多面体としてヒット可能範囲３０を構成してもよい。
【００５２】
尚、焦点Ｐ０は、実質的に仮想カメラＣＭの代表点となるが、それに限らず仮想カメラＣＭの近傍に別途設けた所定の基準点としても良い。更には、仮想カメラＣＭとプレーヤキャラクタ４との相対位置関係は、図４の例のように、後方斜め上に限らず適宜設定できる。例えば、プレーヤキャラクタ４の両目の中心位置としてもよい。
【００５３】
図５は、本実施形態におけるヒット可能範囲３０と砲弾１０とのヒットが検知された場合の砲弾１０の処理の一例について説明する概念図である。
図５（１）に示すように、ヒット可能範囲３０と砲弾１０とがヒットしたならば、本実施形態ではヒット可能範囲３０を含む分割面を設定し、砲弾１０のオブジェクトをこの分割面で分割する。具体的には、ポリゴンモデルを指定面で分割して分割する公知の技術を用いて、分割後の分割後砲弾１２及び１４の２つに分割して、それぞれに切断面のポリゴンを追加する。そして、分割後砲弾１２及び１４に、互いに反対向きとなるヒット可能範囲３０の法線方向に向いた離間速度ベクトルＶｓｃ２，Ｖｓｃ４を付与する。結果、図５（２）に示すように、分割後砲弾１２及び１４は、それぞれ分割時点の速度ベクトルＶ０と付与された離間速度ベクトルＶｓｃ２，Ｖｓｃ４とによって、それぞれ白矢印の方向に移動し、あたかも切断面から二手に分かれるように制御される。
【００５４】
尚、発射される砲弾１０の正面には、ランダムに指定切断方向マーク１８が付与される。指定切断方向マーク１８は、画面座標系で見た上下左右斜めの８方向それぞれの正逆２方向の合計１６方向の中から何れかが自動的に選択・設定される。そして、入力速度ベクトルＶｉｎと指定切断方向マーク１８の方向との角度差が所定の許容範囲内であれば、ヒットポイントが所定値だけ回復される。
【００５５】
［機能ブロックの説明］
次に、上述のようなゲームを実行するための機能構成について説明する。
図６は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部１００と、プレーヤ撮影部１１０と、処理部２００と、光信号発生部３３０と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００５６】
操作入力部１００は、ボタンスイッチや、トリガー、ダイヤル、ジョイスティック、タッチパネル、トラックボール、傾斜センサなど、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する手段である。図２のゲームコントローラ１２３０が、操作入力部１００に相当する。そして、本実施形態では、光信号受光部１０２と、加速度検出部１０４と、角速度検出部１０５と、通信部１０６とを含む。
【００５７】
光信号受光部１０２は、光信号発生部３３０から投光される光信号を受光し電気信号に変換することで画像データに変換するデバイスであって、例えばＣＣＤセンサやＣＭＯＳセンサ、レンズ、光学フィルタ、信号変換処理をするＤＳＰ（デジタルシグナルプロセッサ）などによって実現される。図２のイメージセンサ１２５６や信号処理を行うコントローラ制御ユニット１２６０がこれに該当する。
尚、光信号発生部３３０は、ＬＥＤ等の発光素子、特定周波数の光のみを透過するフィルタなどにより実現され、ゲームコントローラ１２３０をポインティングデバイスとして利用するための基準位置を示す光信号を特定方向へ投光する。図１の光信号出力装置１２２６がこれに該当する。
【００５８】
加速度検出部１０４は、各種加速度センサによって実現され、ゲームコントローラ１２３０に作用する加速度を検出して検出値の情報を出力する。図２の加速度センサ１２４８がこれに該当する。本実施形態では、一つで直交３軸を検出できる３軸加速度センサとするが、単独の加速度３つで構成しても良い。
【００５９】
角速度検出部１０５は、例えばジャイロスコープによって実現され、ゲームコントローラ２３０の加速度の検出３軸周りの角速度を検出し、検出値の情報を出力する。図２のジャイロスコープ１２４９がこれに該当する。
【００６０】
通信部１０６は、ゲームコントローラ１２３０とゲーム装置本体１２０１との間のデータ通信を実現する。本実施形態では図２の近距離無線通信モジュール１２６２がこれに該当する。
【００６１】
プレーヤ撮影部１１０は、プレーヤ２の様子を撮影して電気信号に変換し、デジタル画像データを生成し処理部２００へ出力する。例えば、レンズ、メカシャッター、シャッタードライバ、ＣＣＤイメージセンサやＣＭＯＳイメージセンサといった光電変換素子、光電変換素子から電荷量を読み出し画像データを生成するデジタルシグナルプロセッサ（ＤＳＰ）、ＩＣメモリなどで実現される。図１ではイメージセンサモジュール１２２７がこれに該当する。
【００６２】
処理部２００は、例えばＣＰＵやＧＰＵ等のマイクロプロセッサや、ＡＳＩＣ、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や記憶部５００を含む各機能部との間でデータの入出力を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行してゲーム装置の動作を制御する。図１では制御ユニット１２１０がこれに該当する。そして本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００６３】
ゲーム演算部２１０は、ゲームの進行に関する各種処理を実行する。例えば、（１）仮想３次元空間に背景モデルを配置してゲーム空間を形成する処理、（２）プレーヤキャラクタ４や敵キャラクタ６のオブジェクトをゲーム空間内に配置する処理、（３）プレーヤキャラクタ４が入力された方向へ刀剣５を振るように動作させる処理、（４）敵キャラクタ６の自動制御処理、（５）砲弾１０や分割後砲弾１２，１４を疑似物理法則に則って移動させる処理、（６）砲弾１０とプレーヤキャラクタ４のヒット判定、砲弾１０とヒット可能範囲３０とのヒット判定などオブジェクト間のヒット判定処理、（７）ダメージの算出処理とその反映処理、などが含まれる。
【００６４】
そして、本実施形態のゲーム演算部２１０は、入力方向判定部２１２と、刀剣基準位置周期記憶制御部２１４と、ヒット可能範囲設定部２１６と、砲弾切断制御部２１８とを含む。
【００６５】
入力方向判定部２１２は、操作入力部１００で検出した信号からプレーヤ２が入力した方向を判定する。本実施形態では、加速度検出部１０４で検出された直交３軸の各加速度からゲームコントローラ１２３０が振られた方向を示す情報としてゲームコントローラ移動速度ベクトルＶｃｎを算出する。角速度検出部１０５で検出された加速度検出の直交３軸周りの角速度を更に算出に用いるとしても良い。そして、当該速度ベクトルが所定の基準値を超えたところで、ゲームコントローラ移動ベクトルＶｃｎのＸＹＺの直交３軸成分の内、画面の上下左右に相当するＸＹ軸成分を抽出して２次元の入力速度ベクトルＶｉｎとする。尚、ゲームコントローラ移動速度ベクトルＶｃｎから入力速度ベクトルＶｉｎを算出する方法は別の方法であってもよいのは勿論である。プレーヤ２によるゲームコントローラ１２３０の操作に応じた刀剣５の移動制御がなされればよい。
【００６６】
刀剣基準位置周期記憶制御部２１４は、本実施形態におけるゲーム内の操作オブジェクトの移動軌跡に関する情報をサンプリングする。具体的には、刀剣５の所定基準位置を周期的に記憶する制御を行う。本実施形態では、後述する制御サイクル（例えば、１／３０秒）を１周期とし、記憶部５００のプレイデータ５５０に所定周期分だけ、基準点のゲーム空間内での位置座標と、基準点の速度ベクトルとを対応づけて格納する。
【００６７】
ヒット可能範囲設定部２１６は、操作オブジェクトの移動軌跡と仮想カメラＣＭの焦点Ｐ０（実質的には仮想カメラＣＭの代表点）とを用いて、移動軌跡を焦点Ｐ０から当該移動軌跡を見た方向へ引き延ばしてヒット可能範囲を設定する。具体的には、焦点Ｐ０から刀剣基準位置の周期記憶１サイクル前の第１頂点Ｐ１を通る直線上に、プレーヤキャラ４に最寄りの砲弾１０の速度と、入力速度ベクトルＶｉｎとに基づいた距離離れたところに第４頂点Ｐ４を設定する。また、同様にして焦点Ｐ０から現在の刀剣基準位置である第２頂点Ｐ２を通る直線上に第３頂点Ｐ３を設定する。そして、第１頂点Ｐ１、第２頂点Ｐ２、第３頂点Ｐ３、第４頂点Ｐ４で囲まれる矩形領域をヒット可能範囲３０とする。
【００６８】
砲弾切断制御部２１８は、刀剣５で切られた砲弾１０から分割後砲弾１２，１４を生成し置き換える。具体的には、砲弾１０がヒット可能範囲３０又は刀剣５のヒット判定領域とヒットした場合に、前者とヒットした場合にはヒット可能範囲３０を含む面を分割面とし、後者とヒットした場合には刀剣５の刀身を含む面を分割面として、当該砲弾１０のポリゴンモデルを分割面で２分割し、それぞれに切断面を覆うポリゴンを設定する。そして、切断面から互いに離間するように離間速度ベクトルを付与する。
【００６９】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）、音声合成ＩＣなどのプロセッサや、音声ファイル再生可能なオーディオコーデックによって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００７０】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではスピーカ１２２４がこれに該当する。
【００７１】
画像生成部２６０は、例えば、ＧＰＵ（Graphics Processing Unit）、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、ビデオ信号ＩＣ、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（例えば１／６０秒）で１枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部３６０に出力する。
【００７２】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１では画像表示装置１２２２がこれに該当する。
【００７３】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００７４】
通信部３７０は、通信回線１と接続して通信を実現する。また、操作入力部１００の通信部１０６との通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１の通信装置１２１２、近距離無線通信モジュール１２１４がこれに該当する。
【００７５】
記憶部５００は、処理部２００に家庭用ゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤ、ＢＤ（Blueray Disc（登録商標））などの光学ディスクなどによって実現される。図１では制御ユニット１２１０が搭載するＩＣメモリや光ディスク１２０２、メモリカード１２０４がこれに該当する。
【００７６】
本実施形態では、記憶部５００はシステムプログラム５０１と、ゲームプログラム５０２とを記憶している。システムプログラム５０１は、家庭用ゲーム装置１２００の基本機能を実現するためのプログラムであり、各機能部をアプリケーションソフト側で呼び出して利用可能な各種ファームウェアを含む。ゲームプログラム５０２は、処理部２００が読み出して実行することによってゲーム演算部２１０としての機能を実現させるためのソフトウェアである。
【００７７】
また、記憶部５００には、予め用意されるデータとして、ゲーム空間設定データ５１０と、敵キャラクタ設定データ５１２と、砲弾設定データ５１４と、プレーヤキャラクタ設定データ５２０とが記憶されている。更に、ゲームの準備や進行に伴って随時生成や更新が行われるデータとして、プレイデータ５５０を記憶する。また、ゲームの進行に係る処理を実行するにあたり必要となるデータ（例えば、タイマー値やカウンタ）も適宜記憶されるものとする。
【００７８】
ゲーム空間設定データ５１０は、仮想３次元空間にゲーム空間を形成し、ゲームステージとするための情報が格納されている。背景となる障害物等を配置するための背景オブジェクトのモデルデータとテクスチャデータ、配置位置、姿勢などを定義するデータが含まれる。
【００７９】
敵キャラクタ設定データ５１２は、敵キャラクタ６のオブジェクトを配置させ、動作を制御するための情報を格納する。例えば、モデルデータや、テクスチャデータ、モーションデータなどが含まれる。
【００８０】
砲弾設定データ５１４は、砲弾１０のオブジェクトを配置させるための情報を格納する。例えば、モデルデータやテクスチャデータ、指定切断方向マーク１８のテクスチャデータが含まれる。衝突対象オブジェクトを砲弾１０ではなく何らかの可動物とする場合には、可動させるモーションデータに相当するデータを含むものとする。
【００８１】
プレーヤキャラクタ設定データ５２０は、プレーヤキャラクタ４と刀剣５のオブジェクトを配置させ、動作させるための各種情報を格納する。
例えば、図７に示すように、プレーヤキャラクタモデルデータ５２２と、プレーヤキャラクタテクスチャデータ５２４と、プレーヤキャラクタモーションデータ５２６と、刀剣モデルデータ５２８と、刀剣テクスチャデータ５３２とを含む。
【００８２】
プレーヤキャラクタモーションデータ５２６は、ゲームコントローラ１２３０による入力速度ベクトルＶｉｎの条件を定義する入力速度条件５２６ａ毎に、プレーヤキャラクタ４が刀剣５を振るスイングモーションセット５２６ｂを対応づけて格納する。スイングモーションセット５２６ｂには、プレーヤキャラクタ４が振ることのできる全方向（上下左右斜め３２方向×振り方向２＝６４方向）に対応するスイングモーションが含まれており、プレーヤキャラクタ４に刀剣５を振らせる制御をするときには、該当するスイングモーションセット５２６ｂから入力速度ベクトルＶｉｎの方向に最も類似するスイングモーションが選択され適用されるものとする。
【００８３】
プレイデータ５５０は、ゲーム進行状況を定義する情報を格納する。
例えば、図８に示すように、現在プレイ中のゲームステージの識別情報を格納するステージＩＤ５５２と、現在プレイ中のゲームステージにおける発射済み砲弾数５５４と、ヒットポイント５５６と、敵キャラクタ６の動作制御に関する情報、例えばモーションデータのフレーム番号などを格納する敵キャラクタ動作制御データ５５８とを含む。
【００８４】
ステージＩＤ５５２のゲーム開始時初期状態は第１ステージを示す情報である。
発射済み砲弾数５５４のゲーム開始時初期状態は「０」である。
【００８５】
また、プレイデータ５５０は、砲弾データ５６０と、分割後砲弾データ５６２とを含む。
砲弾データ５６０は、敵キャラクタ６から砲弾１０が発射されると、砲弾ＩＤ５６０ａが新規に付与され、それと対応づけてゲーム空間内における位置座標５６０ｂと、速度ベクトル５６０ｃと、指定切断方向５６０ｄとが格納される。位置座標５６０ｂと速度ベクトル５６０ｃは、制御サイクル毎に更新される。指定切断方向５６０ｄは、その砲弾が生成されたタイミングで設定され変更されない。
そして、砲弾１０がプレーヤキャラクタ４にヒットしたと判定された場合には、当該砲弾に対応するこれらの情報は抹消される。また、砲弾１０がヒット可能範囲３０又は刀剣５とヒットしたと判定され、分割後砲弾１２，１４に置換された場合にも抹消される。
【００８６】
分割後砲弾データ５６２は、砲弾１０がヒット可能範囲３０又は刀剣５とヒットしたと判定されると、当該砲弾から生成される分割後砲弾１２，１４の情報を格納する。具体的には、自動的に砲弾ＩＤ５６２ａが新規に付与され、それと対応づけてゲーム空間内における位置座標５６２ｂと、離間速度ベクトルＶｓｃ２やＶｓｃ４（図５参照）が合成された速度ベクトル５６２ｃと、生成時のシステム時刻を示す配置システム時刻５６２ｄとを格納する。
【００８７】
また、プレイデータ５５０は、プレーヤキャラクタ動作制御データ５６４と、刀剣基準位置周期記録データ５６６と、ゲームコントローラ移動速度ベクトルＶｃｎ５７０と、入力速度ベクトルＶｉｎ５７２と、ヒット可能範囲設定データ５７４とを含む。
【００８８】
プレーヤキャラクタ動作制御データ５６４は、プレーヤキャラクタ４を動作制御するための各種情報、例えばモーションデータのフレーム番号などを格納する。
刀剣基準位置周期記録データ５６６は、刀剣５の先端位置の移動軌跡を定義する情報を格納する。例えば、システム時刻５６６ａに対応づけた刀剣５の先端のゲーム空間内における位置座標５６６ｂと、その時々の入力速度ベクトル５６６ｃとを一定周期分だけ格納する。尚、刀剣５の先端位置のみでなく、刀剣５の各部位の位置を同様に記録・格納してもよい。
【００８９】
［処理の流れの説明］
次に、本実施形態における処理の流れについて説明する。ここで説明される処理は、処理部２００がシステムプログラム５０１並びにゲームプログラム５０２を読み出して実行することによって実現される。
尚、ここではゲーム画面の画像信号の生成と出力、並びにゲーム音の音信号の生成と出力についての説明は省略するが、公知のゲームと同様にして画像生成部２６０が画像表示部３６０（画像表示装置１２２２）のリフレッシュレートよりも十分に短いサイクルでゲーム画面を表示させるための画像信号を生成し出力する。その際、ゲーム画面を３ＤＣＧで生成する場合には、レンダリング等の処理が行われる。同様に、音生成部２５０でゲーム音の音信号を生成して音出力部３５０（スピーカ１２２４）から放音させるものとする。
【００９０】
図９〜図１１は、本実施形態における主たる処理の流れを説明するためのフローチャートである。先ず処理部２００は、ゲーム空間設定データ５１０を参照して、仮想３次元空間内にゲーム空間を作成し（ステップＳ２）、敵キャラクタ設定データ５１２とプレーヤキャラクタ設定データ５２０とを参照して、そこに刀剣５を持ったプレーヤキャラクタ４と敵キャラクタ６とを配置する（ステップＳ４）。初期状態のプレーヤキャラクタ４は刀剣５を構えた状態にある。そして、仮想カメラＣＭをプレーヤキャラクタ４の後方斜め上に配置し、視線方向をプレーヤキャラクタ４の前方に向けて配置する（ステップＳ８）。
【００９１】
ゲームを開始したならば（ステップＳ１０）、処理部２００は、ステップＳ１２〜Ｓ２０４を所定の制御サイクルで繰り返し実行する。
すなわち、処理部２００は、操作入力部１００の加速度検出部１０４の加速度検出信号に基づいて今制御サイクルにおけるゲームコントローラ移動ベクトルＶｃｎを算出し（ステップＳ１２）、算出されたゲームコントローラ移動速度ベクトルＶｃｎから入力速度ベクトルＶｉｎを算出する（ステップＳ１４）。算出されたゲームコントローラ移動速度ベクトルＶｃｎと入力速度ベクトルＶｉｎは、記憶部５００に一時記憶されるものとする。そして、刀剣５の先端位置の周期記録処理をする（ステップＳ１６）。
【００９２】
次に、処理部２００は、砲弾１０の発射タイミング決定処理を実行して、砲弾１０を発射するか否か、発射するならばどの敵キャラクタ６から発射させるかを決定する（ステップＳ３２）。具体的には、乱数を発生させてゲームステージが進むほど砲弾発射の間隙が短くなるようにして発射タイミングを決定し、また乱数を発生させて複数の敵キャラクタ６の内、何れから発射させるかを決定する。
【００９３】
砲弾１０を発射するタイミングであると決定された場合（ステップＳ３４のＹＥＳ）、処理部２００は、次に砲弾１０の発射速度を所定の範囲内からランダムに決定し（ステップＳ３６）、更に指定切断方向をランダムに決定する（ステップＳ３８）。
そして、プレーヤキャラクタ４へ向けて、選択された敵キャラクタ６から指定切断方向マーク１８が描かれた砲弾１０を発射するように表示制御し（ステップＳ４０）、この新たな砲弾１０の情報をプレイデータ５５０の砲弾データ５６０に格納し（ステップＳ４２）、発射済み砲弾数５５４を「１」アップする（ステップＳ４４）。
【００９４】
次いで、処理部２００は、砲弾データ５６０に登録済みのデータが有れば、移動中の砲弾１０が有ると判断して（ステップＳ５０のＹＥＳ）、移動中の砲弾１０の位置座標５６０ｂと速度ベクトル５６０ｃを更新する（ステップＳ５２）。
【００９５】
図１０のフローチャートに移って、処理部２００はゲームコントローラ１２３０を振る操作入力の検知判定をする（ステップＳ６０）。
本実施形態では、制御サイクル毎にゲームコントローラ移動速度ベクトルＶｃｎを算出しているので、今制御サイクルにおける当該速度ベクトルが、明らかにゲームコントローラ１２３０を振っていると判断できる基準値以上であれば肯定判定する（ステップＳ６０のＹＥＳ）。そして、プレーヤキャラクタ４が刀剣５を振っているスイング制御中でなければ（ステップＳ６２のＮＯ）、処理部２００は、プレーヤキャラクタモーションデータ５２６を参照して、入力速度ベクトルＶｉｎに基づいて刀剣５のスイングモーションを決定し（ステップＳ６４）、決定したスイングモーションデータに従って、プレーヤキャラクタ４のスイング制御を開始し、入力速度ベクトルＶｉｎの方向へ刀剣５を振らせる（ステップＳ６６）。
一方、刀剣５のスイング制御が実行されている場合には（ステップＳ６２のＹＥＳ）、実行中のスイング制御を継続する（ステップＳ６８）。
また、今制御サイクルのゲームコントローラ移動速度ベクトルＶｃｎが基準値に満たなければ（ステップＳ６０のＮＯ）、これらの処理はスキップされる。
【００９６】
次に、処理部２００は、プレーヤキャラクタ４に最も近い移動中の砲弾１０を抽出し（ステップＳ８０）、ヒット可能範囲設定処理を実行する（ステップＳ８２）。
【００９７】
図１２は、本実施形態におけるヒット可能範囲設定処理の流れを説明するためのフローチャートである。同処理は、仮想カメラＣＭの視線方向に沿った追加のヒット判定領域としてヒット可能範囲を設定する処理である。
【００９８】
同処理において、処理部２００は先ず、ステップＳ８０で抽出された砲弾１０の移動速度（図８の速度ベクトル５６０ｃ参照）に基づく所定の関数を用いて第１拡張係数ｋ１を算出する（ステップＳ１００）。本実施形態における第１拡張係数ｋ１は、０．８〜１．２の値をとる。その算出関数では、移動速度が高いほど第１拡張係数ｋ１が大きく算出される。また、スイング速度（図８の入力速度ベクトルＶｉｎ５７２参照）に基づく所定の関数を用いて第２拡張係数ｋ２を算出する（ステップＳ１０２）。本実施形態における第２拡張係数ｋ２は、０．８〜１．２の値をとる。その算出関数では、移動速度が高いほど第２拡張係数ｋ２が大きく算出される。
【００９９】
次に、処理部２００は、所定の基準拡張長さＬ０を、第１拡張係数ｋ１と第２拡張係数ｋ２を掛けて補正し、適用拡張長さＬａを算出する（ステップＳ１０４）。基準拡張長さＬ０は、砲弾１０の大きさや、仮想カメラＣＭの画角などとの兼ね合いで、適宜事前のテストをもって適当な値を決定しておく。
【０１００】
次に、処理部２００は、仮想カメラＣＭの焦点Ｐ０から現在の刀剣５の先端位置（第２頂点Ｐ２；図３参照）を通る直線上で、先端位置から適用拡張長さＬａだけ画面奥に移動した位置を算出し、ここに第３頂点Ｐ３を設定する（ステップＳ１０６）。
また、仮想カメラＣＭの焦点Ｐ０から一つ前の制御サイクルにおける刀剣５の先端位置（第１頂点Ｐ１）を通る直線上で、先端位置から適用拡張長さＬａだけ画面奥に移動した位置を算出し、ここに第４頂点Ｐ４を設定する（ステップＳ１０８）。
そして、第１頂点Ｐ１〜第４頂点Ｐ４で囲まれる領域をヒット可能範囲３０（図３参照）として設定し（ステップＳ１１０）、ヒット可能範囲設定処理を終了する。
【０１０１】
図１０のフローチャートに戻って、処理部２００は次に、ヒット可能範囲３０とヒットする砲弾１０が有るかを検索する。もし、該当する砲弾１０が有れば（ステップＳ１５０のＹＥＳ）、ヒット可能範囲３０を含む分割面を設定する（ステップＳ１５２）。分割面を定義する情報は、プレイデータ５５０に一時的に格納する。
また、ヒット可能範囲３０とヒットする砲弾１０が無い場合には（ステップＳ１５０のＮＯ）、刀剣５とヒットする砲弾１０が有るかを検索する（ステップＳ１５４）。そしてもし、該当する砲弾１０が有れば（ステップＳ１５４のＹＥＳ）、刀剣５の刃面に沿った分割面を設定する（ステップＳ１５６）。
【０１０２】
そして、分割面を設定したならば、処理部２００は、ヒット可能範囲３０又は刀剣５とヒットした砲弾１０が、その分割面で分割された分割後砲弾１２，１４を生成して置換し（ステップＳ１５８）、分割後砲弾１２，１４それぞれに離間速度ベクトルＶｓｃ２，Ｖｓｃ４を付与し、元の砲弾１０の速度ベクトルに合成して、速度ベクトル５６２ｃとする（ステップＳ１６０；図５、図８参照）。
【０１０３】
図１１のフローチャートに移って、処理部２００は次に、切断された砲弾１０に設定されている指定切断方向５６０ｄと、入力速度ベクトルＶｉｎとの角度差を算出し（ステップＳ１７０）、角度差が所定の許容範囲内であれば（ステップＳ１７２のＹＥＳ）、ヒットポイント５５６を所定値だけ回復させる（ステップＳ１７４；図８参照）。
【０１０４】
次に、処理部２００は、生成してから所定時間経過した分割後砲弾１２，１４を検索し、該当するものがあれば（ステップＳ１８０のＹＥＳ）、それらを消去する（ステップＳ１８２）。これで、プレーヤキャラクタ４により切られた砲弾が分割され消えるように制御できる。
【０１０５】
次に、処理部２００は、プレーヤキャラクタ４にヒットした砲弾１０を検索し、該当する砲弾１０が有れば（ステップＳ１９０のＹＥＳ）、ヒットポイント５５６を砲弾１つ当たり所定の数値を削減し（ステップＳ１９２）、その砲弾１０を消去する（ステップＳ１９４）。これで、プレーヤキャラクタ４が切り損なった砲弾１０が着弾して、ダメージを受けるように制御できる。
【０１０６】
次いで、処理部２００は、ヒットポイント５５６が「０」になっているかを判定する。「０」になっていなければ（ステップＳ２００のＮＯ）、発射された砲弾数が所定数に達したかを判定する（ステップＳ２０４）。
【０１０７】
発射された砲弾数が所定数に達していなければ（ステップＳ２０４のＮＯ）、ゲーム続行可能と判断して、ステップＳ１２に戻る。
反対に、所定数に達していれば（ステップＳ２０４のＹＥＳ）、ゲームクリアできたと判断して、処理部２００はゲームクリア終了処理を実行し、例えばゲーム画面にゲームクリアした旨の通知表示を行うなどの演出表示制御を実行して（ステップＳ２０６）、一連の処理を終了する。尚、複数のゲームステージで構成されている場合には、ここで最終ステージがクリアされたかどうかを判定し、まだ最終ステージがクリアされていなければ、次のステージに進むようにする。
【０１０８】
また、そもそもヒットポイント５５６が「０」になった場合には（ステップＳ２００のＹＥＳ）、処理部２００はゲームクリアできなかったと判断して、ゲームオーバー終了処理を実行し、例えばゲーム画面にゲームのクリアミスした旨の通知表示を行うなどの演出表示制御を実行して（ステップＳ２０８）、一連の処理を終了する。
【０１０９】
以上、本実施形態によれば、操作オブジェクト（刀剣５）に関して画面奥行方向に拡張したヒット判定領域を設けることで、画面手前／奥行方向に移動してくる衝突対象オブジェクト（砲弾１０）に対して、操作オブジェクトが厳密にはヒットしていないが、普通の感覚ではヒットしているかのように感じる距離にあるとき、それをヒットしているものと判定することができる。
【０１１０】
そして、本実施形態では、ヒット判定領域（ヒット可能範囲３０）を、仮想カメラＣＭの視線方向に沿って（より厳密には仮想カメラＣＭの焦点Ｐ０及び近傍の固定点の何れかからオブジェクトの基準点（刀剣５の先端）を通る方向に）拡張して設ける。そして、ヒット判定領域を含む面を衝突対象オブジェクト（砲弾１０）を分割する分割面とするので、切断時（ヒット時）における切断面が生成画像上の奥行方向に平行となる。切断面が奥行方向に平行な面となることと、２次元画像に対する視覚上の奥行き感の鈍感性（視認の困難性）とが相俟って、分割される様子を美しく表現することができる。刀剣５の刃面のみをヒット判定領域とし、またそれを切断面とする場合よりも「切れた！」感じがより直感的で爽快に感じられるようになる。同様に、ヒット判定領域を単にゲーム空間のＺ軸方向に追加しただけでは、やはり切断面が仮想カメラＣＭに沿わない場合もあり、本実施形態のように仮想カメラＣＭの視線方向に沿ってヒット判定領域を拡張した方が、「切れた！」感じがより直感的で爽快に感じられる。
【０１１１】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は、基本的に第１実施形態と同様に実現されるが、ヒット判定領域を設定する方法が異なる。
尚、ここでは、主に第１実施形態との差異について述べることとし、第１実施形態と同様の構成要素については、同じ符号を付与して説明は省略するものとする。
【０１１２】
図１３は、本実施形態におけるヒット可能範囲の設定方法の原理を説明するための概念図である。本実施形態では、プレーヤキャラクタ設定データ５２０に、刀剣モデルデータ５２８とは別に、刀剣５の先端に追加される透明で棒状の仮想刀身５ｂのモデルが予め記憶されている。そして、仮想刀身５ｂは、一端が刀剣５の先端に接続され、他端が仮想カメラＣＭの焦点Ｐ０又は近傍の所定点から刀剣５の先端を通る直線上、ゲーム空間奥側となるように配置される。
【０１１３】
そして、本実施形態における処理部２００は、この仮想刀身の通過範囲を記憶するために、第１実施形態で刀剣５の先端位置を周期的に記憶した代わりに、仮想刀身５ｂの一端Ｐ６と他端Ｐ７の各位置座標を周期的に記憶する処理を実行する（図９のステップＳ１６参照）。或いは、仮想刀身５ｂの一端Ｐ６と他端Ｐ７のそれぞれの移動軌跡関数を記憶する。
【０１１４】
図１４は、本実施形態におけるヒット可能範囲設定処理（ヒット可能範囲設定処理Ｂ）の流れを説明するためのフローチャートである。同処理において、処理部２００は第１実施形態のヒット可能範囲設定処理と同様にして第１拡張係数ｋ１と第２拡張係数ｋ２とを算出する（ステップＳ１００〜Ｓ１０２）。
【０１１５】
次いで、処理部２００は、一つ前の制御サイクルの仮想刀身５ｂの位置から、現在の仮想刀身５ｂの位置までの通過範囲を基礎ヒット可能範囲３０Ｂとして設定する（ステップＳ１２０；図１３参照）。
具体的には、仮想刀身５ｂの一端Ｐ６と他端Ｐ７の各位置座標を周期的に記憶する構成ならば、一つ前の制御サイクルの一端Ｐ６ａ、今制御サイクルの一端Ｐ６ｂ、一つ前の制御サイクルの他端Ｐ７ａ、今制御サイクルの他端Ｐ７ｂで囲まれる範囲を基礎ヒット可能範囲３０Ｂとする（図９参照）。仮想刀身５ｂの一端Ｐ６と他端Ｐ７のそれぞれの移動軌跡関数を記憶する構成ならば、各移動軌跡関数における一つ前の制御サイクルから今制御サイクルまでの軌跡を抽出し、抽出された軌跡の両端を対向する端部同士で連結して平面を定義し、これを基礎ヒット可能範囲３０Ｂとする。
【０１１６】
そして、基礎ヒット可能範囲３０Ｂを設定できたならば、処理部２００は第１拡張係数ｋ１の倍数分だけ基礎ヒット可能範囲３０Ｂを画面奥行方向へ拡大又は縮小して補正し（ステップＳ１２２）、更に補正された基礎ヒット可能範囲３０Ｂを第２拡張係数ｋ２の倍数分だけ基礎ヒット可能範囲３０Ｂを画面奥行方向へ拡大又は縮小してヒット判定に使用されるヒット可能範囲として（ステップＳ１２４）、ヒット可能範囲設定処理Ｂを終了する。
【０１１７】
〔第３実施形態〕
次に、本発明を適用した第３実施形態について説明する。本実施形態は、基本的に第１実施形態と同様に実現されるが、追加のヒット判定領域を設定する方法が異なる。
尚、ここでは、主に第１実施形態との差異について述べることとし、第１及び第２実施形態と同様の構成要素については、同じ符号を付与して説明は省略するものとする。
【０１１８】
図１５は、本実施形態におけるヒット可能範囲の設定方法の原理を説明するための概念図である。本実施形態の処理部２００は、第１実施形態で刀剣５の先端位置を周期的に記憶した代わりに、刀剣５の先端位置の移動軌跡Ｌ８を移動軌跡関数として記憶・更新する。
【０１１９】
図１６は、本実施形態におけるヒット可能範囲設定処理（ヒット可能範囲設定処理Ｃ）の流れを説明するためのフローチャートである。同処理において、処理部２００は第１実施形態のヒット可能範囲設定処理と同様にして第１拡張係数ｋ１と第２拡張係数ｋ２とを算出する（ステップＳ１００〜Ｓ１０２）。
【０１２０】
次いで、処理部２００は、一つ前の制御サイクルから今制御サイクルまでの一部である軌跡線Ｌ９を抽出し（ステップＳ１３０；図１５参照）、抽出した軌跡線Ｌ９を仮想カメラＣＭの視線方向に沿った方向、厳密には仮想カメラＣＭから軌跡線Ｌ９を向いた方向に拡張させて基礎ヒット可能範囲３０Ｃを設定する（ステップＳ１３２）。
【０１２１】
そして、基礎ヒット可能範囲３０Ｃを設定できたならば、処理部２００は第１拡張係数ｋ１の倍数分だけ基礎ヒット可能範囲３０Ｃを画面奥行方向へ拡大又は縮小して補正し（ステップＳ１３４）、更に補正された基礎ヒット可能範囲３０Ｃを第２拡張係数ｋ２の倍数分だけ画面奥行方向へ拡大又は縮小してヒット判定に使用されるヒット可能範囲として（ステップＳ１３６）、ヒット可能範囲設定処理Ｃを終了する。
【０１２２】
尚、本実施形態では軌跡線Ｌ９を、仮想カメラＣＭの視線方向に沿った方向に投影的に拡張して基礎ヒット可能範囲３０Ｃを設定したが、例えば図１７に示すように、刀剣５の移動軌跡面のうち、一つ前の制御サイクルから今制御サイクルまでの一部である軌跡面３２を抽出し、これを仮想カメラＣＭから当該面の中心を通る方向へ投影的に拡張して基礎ヒット可能範囲３０Ｄを形成するとしても良い。
【０１２３】
〔変形例〕
以上、本発明を適用した第１〜第３実施形態について説明したが、本発明の実施形態はこれらの構成に限定されるものではなく、適宜、構成要素の追加・省略・変更を施すことができる。
【０１２４】
例えば、ゲームの内容は、画面奥行方向に存在する二つのオブジェクトのヒットタイミングに合わせた操作入力が要求されるゲームであれば、そのジャンルや内容は問わない。
【０１２５】
［その１］
例えば、上記実施形態では、プレーヤキャラクタ４が刀剣５を振る方向の入力を、ゲームコントローラ１２３０の加速度からゲームコントローラ移動ベクトルＶｃｎを算出し、そこから入力速度ベクトルＶｉｎを求めて取得する構成としたがこれに限らない。
【０１２６】
例えば図１８は、イメージセンサモジュール１２２７で撮影したプレーヤ２の姿に基づいてプレーヤキャラクタ４が刀剣５を振る方向の入力を取得する概念を説明する図である。この例では、ゲーム開始に先立って、ビデオモニタ１２２０に所定のプレイ準備ガイドを画面表示して、プレーヤ２に指示を与えつつ、イメージセンサモジュール１２２７でキャリブレーション用の画像を取得する。
【０１２７】
より具体的には、プレイ準備ガイドでは先ず、ビデオモニタ１２２０の前にはプレーヤが一定時間立たないように指示し、その間に背景のみの第１キャリブレーション画像をイメージセンサモジュール１２２７で撮影する。次いで、プレーヤにイメージセンサモジュール１２２７に対して正面向いて両手を広げるように指示して、第２キャリブレーション画像Ｃ２を撮影する。そして、第１キャリブレーション画像Ｃ１と第２キャリブレーション画像Ｃ２を取得したならば、制御ユニット１２１０は、両画像の差分からプレーヤ２の人体シルエット３９を抽出する。
【０１２８】
次いで、制御ユニット１２１０は、第２キャリブレーション画像Ｃ２から人体シルエット３９を抽出し、抽出された人体シルエット３９から中央上向き凸部と、左右端部の凸部を抽出する。そして、抽出された中央上向き凸部をプレーヤ２の頭部に相当する頭部特徴部分４０として認識し、その代表点（例えば先端位置や該当部分の中心位置）の画面座標系の座標を取得する。同じように、人体シルエット３９の画面向かって左方向への凸部を左特徴部分４２として識別し、画面向かって右方向への凸部を右特徴部分４４として識別する。
【０１２９】
ゲームプレイ中は、常時イメージセンサモジュール１２２７によってプレーヤ２の様子が撮影され、撮影されたフレーム毎（例えば、プレーヤ画像Ｗ４，Ｗ５，・・・）に頭部特徴部分４０、ゲームコントローラ１２３０を持つ左特徴部分４２、右特徴部分４４の座標が取得され続ける。そして、左特徴部分４２の座標のフレーム間の変化から得た方向と速さとから入力速度ベクトルＶｉｎを算出する。尚、イメージセンサモジュール１２２７で撮影された画像はプレーヤ２の正面像なので、入力速度ベクトルＶｉｎの算出の際には、左右方向の反転を行う。
【０１３０】
［その２］
また、プレーヤキャラクタ４が刀剣５を振る方向の情報を次のように算出してもよい。すなわち、イメージセンサモジュール１２２７で撮影した画像を画像処理して当該モジュールからプレーヤ２までの距離を求め、求めたプレーヤキャラクタ２までの距離に基づいて算出する方法である。
【０１３１】
例えば、図１９に示すように、光信号出力装置１２２６から所定サイクルで赤外線をプレーヤ２に向けて照射する。イメージセンサモジュール１２２７は、光信号出力装置１２２６から赤外線が照射されていないタイミングで取得したバックグランド画像Ｗ１０と、照射されているタイミングで取得したプレーヤ距離画像Ｗ１２とを繰り返し取得する（Ｗ１２（１）〜Ｗ１２（ｎ））。
【０１３２】
プレーヤ距離画像Ｗ１２は、赤外線を反射した画像であり、イメージセンサモジュール１２２７からの距離が近い部分はより強く反射して、画面上は高輝度となり、距離が離れた部分ほど反射が弱まり輝度が下がって写る。例えば、ゲームコントローラ１２３０を持って突き出したコントローラ及びそのコントローラを持つ右腕の部分の輝度が高く、次いで、左腕、体、背景の順に輝度が低くなる。図では、輝度が低いほど黒く、高いほど白っぽく表現している。
【０１３３】
処理部２００のゲーム演算部２１０は、（１）バックグランド画像Ｗ１０とプレーヤ距離画像Ｗ１２とを比較して、プレーヤ２で反射赤外線が撮影されている部分を抽出する第１の画像処理と、（２）プレーヤ距離画像Ｗ１２のプレーヤ２が写っている部分の各画素の輝度に基づいて各画素までの距離Ｚを算出する第２の画像処理と、（３）類似する距離の画素集合の重心位置などから右手代表点４６を抽出する第３の画像処理とを行う。そして、入力方向判定部２１２は、第３の画像処理で抽出された右手代表点４６の移動から、ゲームコントローラ移動速度ベクトルＶｃｎ５７０や入力速度ベクトルＶｉｎ５７２（図８参照）を算出する構成とする。
【０１３４】
［その３］
また、プレーヤキャラクタ４が刀剣５を振る方向の情報を次のように求めても良い。すなわち、イメージセンサモジュール１２２７で撮影した画像を画像処理して当該モジュールからプレーヤ２までの距離を求める。そして、求めたプレーヤキャラクタ２までの距離に基づいて更にプレーヤ２の仮想モデル（例えば、ボーンモデル）を制御し、その仮想モデルの腕の位置から取得する構成としても良い。
【０１３５】
具体的には、処理部２００のゲーム演算部２１０が、（４）イメージセンサモジュール１２２７で撮影したプレーヤ距離画像Ｗ１２からプレーヤ２のシルエット４７を切り出す第４の画像処理と、（５）予め記憶部５００にボーンモデルライブラリ５９０を用意しておいて、このボーンモデルライブラリ５９０に登録されているさまざまなポーズのボーンモデル４８（４８ａ，４８ｂ，４８ｃ，…）と、切り出したシルエット４７とを照合し、最もシルエット４７に類似するボーンモデルを選択する処理と、（６）選択されたボーンモデル４８をシルエット４７のポーズに近似するように、ノードの位置等を補正する処理と、を行う。つまり、プレーヤ２の動作をボーンモデル４８でトレースする。そして、入力方向判定部２１２は、周期的に取得されるプレーヤ距離画像Ｗ１２に応じて選択されるボーンモデル４８の腕の動きからゲームコントローラ移動速度ベクトルＶｃｎ５７０や入力速度ベクトルＶｉｎ５７２（図８参照）を算出する構成とする。尚、ここで言うボーンモデルは、全身モデルに限らず、腕や足のように、人物を構成する部位単位としても良い。また、選択されたボーンモデル４８の情報は、そのままプレーヤキャラクタ４の制御に利用するとしても良い。
【０１３６】
更には、光信号出力装置１２２６からの光信号をゲームコントローラ１２３０で撮影し、その情報に基づいてゲーム画面にポインター３を表示させることができる場合には、ポインター３の変位から入力速度ベクトルＶｉｎを算出する構成とすることもできる。
【０１３７】
［その４］
また、上記実施形態では画像生成装置として据え置き型の家庭用ゲーム装置１２００を例示したが、携帯型ゲーム装置や業務用ゲーム装置として実現しても良い。更にはゲーム装置とする電子機器は、“ゲーム装置”として販売される電子機器に限らず、アプリケーションソフトが実行可能な携帯電話機やコンパクトデジタルカメラ、音楽プレーヤ、パソコン、カーナビと言った電子機器も、プログラムを実行可能なコンピュータを内蔵している、或いはコンピュータそのものと言えるため、本発明を実現するゲーム装置の一形態とすることができる。
【０１３８】
具体的には、例えば図２１に示すように、液晶ディスプレイ１５０８の表示域をカバーするタッチパネル１５０９を備えた携帯端末装置１５００をゲーム装置として用いることができる。この携帯端末装置１５００は、スピーカ１５１０とマイク１５１１及び基地局との交信に使用される無線装置を備え、携帯電話又はＰＨＳとして機能する。更に、携帯端末装置１５００は、アプリケーションプログラムをメモリカード読取装置１５１８でメモリカード１５４０から読み出したり、通信回線１に接続して外部装置からダウンロードして取得し、制御基板１５５０に搭載されたＣＰＵ等のプロセッサで実行することができる。また、携帯端末装置１５００は方向入力キー１５０２を備える。上記実施形態のゲームプログラム５０２や各種データをメモリカード１５４０等から読み込ませることとすれば、上記実施形態と同様に本発明を実現するゲーム装置として機能させることができる。
そして、こうしたゲーム装置の構成では、タッチパネル１５０９にてプレーヤキャラクタ４が刀剣５を振る方向の入力をさせると好適である。
【０１３９】
［その他］
また、上記実施形態では、操作オブジェクトとして刀剣５を設定したが、刀剣に限らず、斧、ビームサーベル、布、キャラクタの手、多足類の足などとしても良い。要は切断の用に供することができる切断具であればよい。また、接触判定オブジェクトについても砲弾１０に限らない。木や竹、柱、人形、敵キャラクタなどとしてもよい。ヒット可能範囲は、ヒット（衝突）判定のための範囲であるため、接触判定オブジェクトに切断面を形成せず、ヒット（衝突）したと判定した時点で別の方向に移動させたり、消失したりするように制御してもよい。
【０１４０】
また、上記実施形態では、仮想カメラＣＭをプレーヤキャラクタ４の背後としているが、これに限らない。例えば、プレーヤキャラクタ４の側方からプレーヤキャラクタ４を写す位置関係や、プレーヤキャラクタ４の始点位置で視線方向を向くように配置しても良い。そして、仮想カメラＣＭとプレーヤキャラクタ４の相対位置は、ゲームの内容や進行状況に応じて適宜変更することができる。
【０１４１】
また、上記実施形態では、ヒット可能範囲３０の奥行方向の長さを有限としているがこれに限らない。つまり、上記実施形態では、仮想カメラＣＭの焦点Ｐ０を通る直線上のプレーヤキャラクタ４の前方無限遠（例えばゲーム空間を設定する際の背景相当位置）に第４頂点Ｐ４を設定し、現在の先端位置（第２頂点Ｐ２）と仮想カメラＣＭの焦点Ｐ０とを通る直線上のプレーヤキャラクタ４の前方無限遠（例えばゲーム空間を設定する際の背景相当位置）に第３頂点Ｐ３を設定するとしても良い。
【符号の説明】
【０１４２】
２  プレーヤ
４  プレーヤキャラクタ
５  刀剣
６  敵キャラクタ
１０  砲弾
１８  指定切断方向マーク
３０  ヒット可能範囲
１００  操作入力部
１０４  加速度検出部
１１０  プレーヤ撮影部
２００  処理部
２１０  ゲーム演算部
２１２  入力方向判定部
２１４  刀剣基準位置周期記憶制御部
２１６  ヒット可能範囲設定部
２１８  砲弾切断制御部
５００  記憶部
５０２  ゲームプログラム
５１０  ゲーム空間設定データ
５１２  敵キャラクタ設定データ
５１４  砲弾設定データ
５２０  プレーヤキャラクタ設定データ
５５０  プレイデータ
５６０  砲弾データ
５６２  分割後砲弾データ
５６６  刀剣基準位置周期記録データ
５７０  ゲームコントローラ移動速度ベクトルＶｃｎ
５７２  入力速度ベクトルＶｉｎ
５７４  ヒット可能範囲設定データ
１２００  家庭用ゲーム装置
１２０１  装置本体
１２１０  制御ユニット
１２２０  ビデオモニタ
１２２２  画像表示装置
１２３０  ゲームコントローラ 
１２４８  加速度センサ
【図１】
0005520656.tif 000002
【図２】
0005520656.tif 000003
【図３】
0005520656.tif 000004
【図４】
0005520656.tif 000005
【図５】
0005520656.tif 000006
【図６】
0005520656.tif 000007
【図７】
0005520656.tif 000008
【図８】
0005520656.tif 000009
【図９】
0005520656.tif 000010
【図１０】
0005520656.tif 000011
【図１１】
0005520656.tif 000012
【図１２】
0005520656.tif 000013
【図１３】
0005520656.tif 000014
【図１４】
0005520656.tif 000015
【図１５】
0005520656.tif 000016
【図１６】
0005520656.tif 000017
【図１７】
0005520656.tif 000018
【図１８】
0005520656.tif 000019
【図１９】
0005520656.tif 000020
【図２０】
0005520656.tif 000021
【図２１】
0005520656.tif 000022