(57)【要約】【課題】  円筒状や球面状の曲面ゲームフィールド上にオブジェクトを配置したゲーム画面を表現して、計算処理を簡単にして処理負荷を軽減するゲームプログラムおよびゲーム装置を提供する。【解決手段】  入力信号に応じて決定された平面状のゲームフィールドにおけるプレイヤオブジェクトの動作に基づいて、平面状のゲームフィールドにおけるプレイヤオブジェクトの位置を示す平面位置座標を更新する。平面位置座標は、平面状のゲームフィールドに基づいた座標系から曲面状のゲームフィールドに基づいた座標系に座標変換されて、曲面位置座標が求められる。そして、曲面位置座標に基づいて、プレイヤオブジェクトを曲面状のゲームフィールド上に配置して表示画面に表示する。【選択図】  図６
2006314633.tif 000002
【特許請求の範囲】
【請求項１】
少なくともプレイヤオブジェクトが存在する曲面状のゲームフィールドを含む仮想空間の少なくとも一部を表現したゲーム画像を表示画面上に表示し、プレイヤの操作に応じた入力装置からの入力信号に応じて操作されるゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記コンピュータに、
平面状のゲームフィールドの座標系におけるプレイヤオブジェクトの位置を示す平面位置座標をメモリに記憶する平面位置座標記憶ステップ、
前記入力信号に応じて決定された前記平面状のゲームフィールドにおける前記プレイヤオブジェクトの動作に基づいて、メモリに記憶された当該平面状のゲームフィールドにおける前記平面位置座標を更新する座標更新ステップ、
前記更新された平面位置座標を、前記平面状のゲームフィールドに基づいた座標系から前記曲面状のゲームフィールドに基づいた座標系に座標変換した曲面位置座標を求める第１座標変換ステップ、および
前記曲面位置座標に基づいて、前記プレイヤオブジェクトを前記曲面状のゲームフィールド上に配置して前記表示画面に表示する表示制御ステップを実行させる、ゲームプログラム。
【請求項２】
前記曲面状のゲームフィールドは、円筒側面の少なくとも一部をゲームフィールドとした円筒状で構成され、
前記第１座標変換ステップは、前記平面状のゲームフィールドが前記円筒状のゲームフィールドに変換されるように前記座標変換を行うステップを含む、請求項１に記載のゲームプログラム。
【請求項３】
前記第１座標変換ステップで行う座標変換は、
前記平面状のゲームフィールドに沿った第１軸方向の座標を前記円筒状のゲームフィールドにおける円筒軸方向の座標に変換し、
前記第１軸方向に対して垂直で、前記平面状のゲームフィールドに沿った第２軸方向の座標を前記円筒状のゲームフィールドにおける円周方向の座標に変換し、
前記平面状のゲームフィールドに対して垂直な第３軸方向の座標を前記円筒状のゲームフィールドにおける半径方向の座標に変換することを特徴とする、請求項２に記載のゲームプログラム。
【請求項４】
前記入力装置は、プレイヤの操作に応じて前記表示画面の座標系に基づいた入力座標を前記入力信号として出力するポインティングデバイスであり、
前記ゲームプログラムは、
前記表示画面上の前記入力座標に重なる前記仮想空間に設定された曲線状のゲームフィールド上の曲面入力座標を算出する曲面入力座標算出ステップ、および
前記曲面入力座標を、前記曲面状のゲームフィールドに基づいた座標系から前記平面状のゲームフィールドに基づいた座標系に座標変換した平面入力座標を求める第２座標変換ステップを、さらに前記コンピュータに実行させ、
前記座標更新ステップは、前記平面入力座標に基づいて、前記平面状のゲームフィールドにおける前記プレイヤオブジェクトを移動させ、前記プレイヤオブジェクトの平面位置座標を更新するステップを含む、請求項１に記載のゲームプログラム。
【請求項５】
前記入力装置は、プレイヤの操作に応じて前記表示画面の座標系に基づいた入力座標を前記入力信号として出力するポインティングデバイスであり、
前記平面位置座標記憶ステップは、前記平面状のゲームフィールドの座標系における他のオブジェクトの位置をそれぞれ示す平面位置座標をさらにメモリに記憶するステップを含み、
前記第１座標変換ステップは、前記他のオブジェクトの平面位置座標を、それぞれ前記曲面位置座標に座標変換するステップを含み、
前記ゲームプログラムは、
前記プレイヤオブジェクトおよび他のオブジェクトの形状を基本立体の組み合わせでそれぞれ表現した簡易モデルをメモリに記憶する簡易モデル記憶ステップ、
前記第１座標変換ステップで座標変換された前記曲面位置座標に基づいて、前記プレイヤオブジェクトの簡易モデルおよび前記他のオブジェクトの簡易モデルをそれぞれ前記曲面状のゲームフィールドを含む仮想空間に配置する簡易モデル配置ステップ、
前記表示画面上の前記入力座標に重なる前記仮想空間に配置された簡易モデルをプレイヤによって指示された指示オブジェクトとして検出する指示オブジェクト検出ステップ、および
前記指示オブジェクト検出ステップで検出した指示オブジェクトを対象として、前記プレイヤオブジェクトを前記平面状のゲームフィールドにおいて動作させるアクション処理ステップを、さらに前記コンピュータに実行させ、
前記表示制御ステップは、前記アクション処理ステップによって動作させた前記プレイヤオブジェクトを前記曲面状のゲームフィールドを含む仮想空間に配置して前記表示画面に表示するステップを含む、請求項１に記載のゲームプログラム。
【請求項６】
少なくともプレイヤオブジェクトが存在する曲面状のゲームフィールドを含む仮想空間の少なくとも一部を表現したゲーム画像を表示画面上に表示し、プレイヤの操作に応じた入力装置からの入力信号に応じて操作されるゲーム装置であって、
記憶手段と、
平面状のゲームフィールドの座標系におけるプレイヤオブジェクトの位置を示す平面位置座標を前記記憶手段に記憶する平面位置座標記憶制御手段と、
前記入力信号に応じて決定された前記平面状のゲームフィールドにおける前記プレイヤオブジェクトの動作に基づいて、前記記憶手段に記憶された当該平面状のゲームフィールドにおける前記平面位置座標を更新する座標更新手段と、
前記更新された平面位置座標を、前記平面状のゲームフィールドに基づいた座標系から前記曲面状のゲームフィールドに基づいた座標系に座標変換した曲面位置座標を求める第１座標変換手段と、
前記曲面位置座標に基づいて、前記プレイヤオブジェクトを前記曲面状のゲームフィールド上に配置して前記表示画面に表示する表示制御手段とを備える、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、曲面状のゲームフィールドを用いてゲーム画像を表現するゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来、プレイヤがゲーム画面に表示されるプレイヤオブジェクトを操作してゲームを楽しむゲーム装置が広く利用されている。例えば、仮想空間において、プレイヤオブジェクトや他のオブジェクトは、平面状のゲームフィールド上に配置され、その状態を仮想カメラによって捉えた状態を描画して、ゲーム画面を生成していた（例えば、特許文献１および特許文献２参照）。
【０００３】
特許文献１に開示された図２１〜図２３においては、平面状のゲームフィールド上にキャラクタ（主人公）や敵が配置され、ゲーム画面の中央に当該キャラクタが位置するように描画されている。また、特許文献２に開示された図４〜図９においては、水面を平面状のフィールド（ポリゴン）を用いて描画してモニタに出力している。
【特許文献１】特開２００２−９３９号公報
【特許文献２】特開平１０−１９８８１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、平面状のゲームフィールドを用いて生成したゲーム画像に対して、円筒状や球面状のゲームフィールドを用いると、より立体感のある仮想空間がゲーム画像で表現される。しかしながら、ゲームフィールドを円筒状や球面状の曲面で構成すると、当該ゲームフィールド上を移動するオブジェクト等もその形状に沿って移動させることになる。したがって、平面フィールド上の移動処理に比べて、オブジェクトを曲面フィールドに沿って移動させる処理負荷が高くなり、オブジェクトを移動させるための計算処理が複雑になるという問題がある。
【０００５】
例えば、平面状のゲームフィールドでは当該ゲームフィールドに作用する仮想空間の重力方向が単純な平面に対して垂直な方向となり、仮想空間に対して一定方向となる。一方、円筒状や球面状のゲームフィールドでは、上記重力方向がゲームフィールドの半径方向となり、仮想空間に対して放射する方向であるため、重力方向を考慮した処理が複雑となる。また、円筒状や球面状のゲームフィールドに沿ったオブジェクトの移動処理では、移動方向が曲線となるため、移動計算が困難になる。
【０００６】
さらに、画面上での入力位置や座標を指定するタッチパネル等のポインティングデバイスを用いて、画面に表現された仮想空間上のオブジェクトを指定する場合、円筒状や球面状のゲームフィールドに配置されたオブジェクトに対して指定されたか否かを判定のための処理が複雑となる。具体的には、プレイヤオブジェクトを示す画像モデルや他のオブジェクトをそれぞれ示す画像モデルが円筒状や球面状のゲームフィールド上に配置され、その状態を仮想カメラによって捉えた状態を描画して、ゲーム画面を生成している。つまり、各画像モデルは、ゲームフィールドに対して各位置の垂直方向（重力方向）を基準として配置されるため、それぞれ画像モデルが異なった方向を基準方向として配置される。このような仮想空間に対して、プレイヤがポインティングデバイスを操作して指定された画像モデルを判定しようとすると、画像モデル自体が複雑な形状を有していることに加え、それらが配置されているゲームフィールドも円筒状や球面状であるため、正確な判定を行うためには処理負荷が高くなる。
【０００７】
それ故に、本発明の目的は、円筒状や球面状の曲面ゲームフィールド上にオブジェクトを配置したゲーム画面を表現して、計算処理を簡単にして処理負荷を軽減するゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号（ステップをＳと略称しステップ番号のみを記載する）等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【０００９】
第１の発明は、少なくともプレイヤオブジェクト（ＰＣ）が存在する曲面状のゲームフィールド（ＦＤ）を含む仮想空間の少なくとも一部を表現したゲーム画像を表示画面（１２）上に表示し、プレイヤの操作に応じた入力装置（１５）からの入力信号（ＤＣ１）に応じて操作されるゲーム装置（１）のコンピュータ（２１）で実行されるゲームプログラムである。ゲームプログラムは、平面位置座標記憶ステップ（ＤＯ、Ｓ５０）、座標更新ステップ（Ｓ６２）、第１座標変換ステップ（Ｓ６４）、および表示制御ステップ（Ｓ６５）をコンピュータに実行させる。平面位置座標記憶ステップは、平面状のゲームフィールド（ＦＰ）の座標系（Ｘ、Ｙ、Ｚ軸座標）におけるプレイヤオブジェクトの位置を示す平面位置座標（ＤＯの位置座標、（Ｘｐｃ、Ｙｐｃ、Ｚｐｃ））をメモリ（２４）に記憶する。座標更新ステップは、入力信号に応じて（Ｓ５６〜Ｓ６０）決定された平面状のゲームフィールドにおけるプレイヤオブジェクトの動作に基づいて、メモリに記憶されたその平面状のゲームフィールドにおける平面位置座標を更新する（Ｓ９１〜Ｓ１１２）。第１座標変換ステップは、更新された平面位置座標を、平面状のゲームフィールドに基づいた座標系から曲面状のゲームフィールドに基づいた座標系に座標変換した曲面位置座標を求める。表示制御ステップは、曲面位置座標に基づいて、プレイヤオブジェクトを曲面状のゲームフィールド上に配置して表示画面に表示する。
【００１０】
第２の発明は、上記第１の発明において、曲面状のゲームフィールドは、円筒側面の少なくとも一部をゲームフィールドとした円筒状で構成される。第１座標変換ステップは、平面状のゲームフィールドが円筒状のゲームフィールドに変換されるように座標変換を行うステップを含む。
【００１１】
第３の発明は、上記第２の発明において、第１座標変換ステップで行う座標変換は、平面状のゲームフィールドに沿った第１軸方向の座標（Ｘ軸座標）を円筒状のゲームフィールドにおける円筒軸方向の座標に変換し、第１軸方向に対して垂直で、平面状のゲームフィールドに沿った第２軸方向の座標（Ｚ軸座標）を円筒状のゲームフィールドにおける円周方向の座標に変換し、平面状のゲームフィールドに対して垂直な第３軸方向の座標（Ｙ軸座標）を円筒状のゲームフィールドにおける半径方向の座標に変換する。
【００１２】
第４の発明は、上記第１の発明において、入力装置は、プレイヤの操作に応じて表示画面の座標系に基づいた入力座標を入力信号として出力するポインティングデバイスである。ゲームプログラムは、曲面入力座標算出ステップ（Ｓ６０）および第２座標変換ステップ（Ｓ６１）を、さらにコンピュータに実行させる。曲面入力座標算出ステップは、表示画面上の入力座標に重なる仮想空間に設定された曲線状のゲームフィールド上の曲面入力座標（ＤＣ２）を算出する。第２座標変換ステップは、曲面入力座標を、曲面状のゲームフィールドに基づいた座標系から平面状のゲームフィールドに基づいた座標系に座標変換した平面入力座標（ＤＣ３）を求める。座標更新ステップは、平面入力座標に基づいて、平面状のゲームフィールドにおけるプレイヤオブジェクトを移動させ（Ｓ９９、Ｓ１１２）、プレイヤオブジェクトの平面位置座標を更新するステップを含む。なお、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボールなどで実現される。そして、それぞれの入力装置で用いられる座標系は、タッチパネル座標系や画面座標系である。
【００１３】
第５の発明は、上記第１の発明において、入力装置は、プレイヤの操作に応じて表示画面の座標系に基づいた入力座標を入力信号として出力するポインティングデバイスである。平面位置座標記憶ステップは、平面状のゲームフィールドの座標系における他のオブジェクトの位置をそれぞれ示す平面位置座標をさらにメモリに記憶するステップを含む。第１座標変換ステップは、他のオブジェクトの平面位置座標を、それぞれ曲面位置座標に座標変換するステップを含む。ゲームプログラムは、簡易モデル記憶ステップ（ＤＩ２、Ｓ５０）、簡易モデル配置ステップ（Ｓ５５）、指示オブジェクト検出ステップ（Ｓ５７〜Ｓ５９）、およびアクション処理ステップ（Ｓ９１〜Ｓ９８、Ｓ１０１〜Ｓ１１１）を、さらにコンピュータに実行させる。簡易モデル記憶ステップは、プレイヤオブジェクトおよび他のオブジェクトの形状を基本立体の組み合わせでそれぞれ表現した簡易モデルをメモリに記憶する。簡易モデル配置ステップは、第１座標変換ステップで座標変換された曲面位置座標に基づいて、プレイヤオブジェクトの簡易モデルおよび他のオブジェクトの簡易モデルをそれぞれ曲面状のゲームフィールドを含む仮想空間に配置する。指示オブジェクト検出ステップは、表示画面上の入力座標に重なる仮想空間に配置された簡易モデルをプレイヤによって指示された指示オブジェクトとして検出する。アクション処理ステップは、指示オブジェクト検出ステップで検出した指示オブジェクトを対象として、プレイヤオブジェクトを平面状のゲームフィールドにおいて動作させる。表示制御ステップは、アクション処理ステップによって動作させたプレイヤオブジェクトを曲面状のゲームフィールドを含む仮想空間に配置して表示画面に表示するステップを含む。
【００１４】
第６の発明は、少なくともプレイヤオブジェクトが存在する曲面状のゲームフィールドを含む仮想空間の少なくとも一部を表現したゲーム画像を表示画面上に表示し、プレイヤの操作に応じた入力装置からの入力信号に応じて操作されるゲーム装置である。ゲーム装置は、記憶手段（２４）、平面位置座標記憶制御手段、座標更新手段、第１座標変換手段、および表示制御手段を備える。平面位置座標記憶制御手段は、平面状のゲームフィールドの座標系におけるプレイヤオブジェクトの位置を示す平面位置座標を記憶手段に記憶する。座標更新手段は、入力信号に応じて決定された平面状のゲームフィールドにおけるプレイヤオブジェクトの動作に基づいて、記憶手段に記憶されたその平面状のゲームフィールドにおける平面位置座標を更新する。第１座標変換手段は、更新された平面位置座標を、平面状のゲームフィールドに基づいた座標系から曲面状のゲームフィールドに基づいた座標系に座標変換した曲面位置座標を求める。表示制御手段は、曲面位置座標に基づいて、プレイヤオブジェクトを曲面状のゲームフィールド上に配置して表示画面に表示する。
【発明の効果】
【００１５】
上記第１の発明によれば、プレイヤキャラクタの移動処理や動作処理等を行う際、平面状のゲームフィールドを用いる。その後、平面状のゲームフィールドを基準とした平面位置座標を曲面状のフィールド座標系に変換してゲーム画像を生成する。したがって、平面状のゲームフィールドを用いてオブジェクトを移動させたり動作させたりする等の処理を行っているため、処理負荷が軽減される。また、これらの処理結果を反映した平面位置座標を曲面状のゲームフィールドの座標系に座標変換し、曲面状のゲームフィールドに配置したプレイヤオブジェクトを用いてゲーム画像を生成しているため、より立体感のある仮想空間がゲーム画像で表現される。
【００１６】
上記第２の発明によれば、円筒の側面の少なくとも一部がゲームフィールドとして表現されたゲーム画像が表示されるため、立体感のある新しい仮想空間がゲーム画像で表現される。
【００１７】
上記第３の発明によれば、平面上のゲームフィールドに対して設定された互いに直交する３つの座標軸に対する座標値が、それぞれ円筒状のゲームフィールドに対して設定される円筒軸方向、円周方向、および半径方向への座標値に変換されるため、容易に座標変換処理が行える。
【００１８】
上記第４の発明によれば、タッチパネル等のポインティングデバイスを入力装置とする場合、当該ポインティングデバイスによって指定される仮想空間上の位置が平面状のゲームフィールドの座標系に変換されるため、曲面状のゲームフィールドに対する入力位置を平面状のゲームフィールドに置き換えてオブジェクトを移動させたり動作させたりする等の処理を容易に行うことができる。
【００１９】
上記第５の発明によれば、タッチパネル等のポインティングデバイスを入力装置とする場合、曲面状のゲームフィールドに簡易モデルを配置してプレイヤが指定したオブジェクトを判定する。したがって、上記判定処理において処理負荷が軽減され、判定の正確性を向上させることができる。
【００２０】
また、本発明のゲーム装置によれば、上述したゲームプログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００２１】
図面を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。本発明のゲームプログラムは、表示装置に表示可能な任意のコンピュータシステムで実行されることによって適用することができるが、情報処理装置（ゲーム装置）の一例としてゲーム装置１で実行されるゲームプログラムを用いて説明する。なお、図１は、本発明のゲームプログラムを実行するゲーム装置１の外観図である。ここでは、ゲーム装置１の一例として、携帯ゲーム装置を示す。
【００２２】
図１において、ゲーム装置１は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は、上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度は、いずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を利用することができる。また、第１のＬＣＤ１１および第２のＬＣＤ１２は、任意の解像度のものを利用することができる。
【００２３】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００２４】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、電源スイッチ１４ｈ、Ｌボタン１４Ｌ、およびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００２５】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式等、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有するポインティングデバイスの一例である。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２との解像度が一致している必要はない。
【００２６】
メモリカード１７は、ゲームプログラム等を記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００２７】
次に、図２を参照して、ゲーム装置１の内部構成を説明する。なお、図２は、ゲーム装置１の内部構成を示すブロック図である。
【００２８】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、ＬＣＤコントローラ３１、およびワイヤレス通信部３３が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムは、ＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、適宜、ＣＰＵコア２１がプログラムを実行して得られる一時的なデータを生成するためのデータ等が記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂ、および図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａおよび左スピーカ３０ｂは、音抜き孔１８ａおよび１８ｂの内側にそれぞれ配置される。
【００２９】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されている表示画像を生成するためのデータに基づいて第１の表示画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２の表示画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９は、ＬＣＤコントローラ３１に接続されている。
【００３０】
ＬＣＤコントローラ３１は、レジスタ３２を含む。レジスタ３２は、ＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３１】
ワイヤレス通信部３３は、他のゲーム装置のワイヤレス通信部３３との間で、ゲーム処理に利用されるデータやその他のデータをやりとりする機能を有しており、一例としてＩＥＥＥ８０２．１１の無線ＬＡＮ規格に則った無線通信機能を提供する。そして、ワイヤレス通信部３３は、受信したデータをＣＰＵコア２１に出力する。また、ワイヤレス通信部３３は、ＣＰＵコア２１から指示されたデータを他のゲーム装置へ送信する。なお、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のプロトコルや所定のブラウザをワイヤレス通信部３３やゲーム装置１内の記憶部に実装することによって、ゲーム装置１は、ワイヤレス通信部３３を介してインターネット等のネットワークとの接続が可能となる。そして、ゲーム装置１は、ネットワーク上で公開されている文書や画像等のデータを第１のＬＣＤ１１および第２のＬＣＤ１２で閲覧することができる。
【００３２】
なお、本発明のゲームプログラムは、メモリカード１７等の外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよい。また、ゲームプログラムは、コンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【００３３】
次に、図３〜図１１を参照して、ゲーム装置１で実行されるゲームプログラムによる具体的な処理動作を説明する前に、当該処理動作によって第１のＬＣＤ１１および第２のＬＣＤ１２に表示される表示形態例や処理例等について説明する。なお、図３は、第１のＬＣＤ１１および第２のＬＣＤ１２に表示される画面表示例を示す図である。図４は、第２のＬＣＤ１２に表示されるゲーム画像を得るためのドラム座標系およびタッチパネル１５との位置関係を説明するための概略斜視図である。図５は、ドラム座標系とタッチパネル１５との位置関係を説明するための側面図である。図６は、ゲーム処理を行う平面座標系を説明するための概略斜視図である。図７は、プレイヤキャラクタＰＣに設定される会話範囲Ａ１を説明するための概略斜視図である。図８は、プレイヤキャラクタＰＣに設定される呼びかけ範囲Ａ２を説明するための概略斜視図である。図９は、プレイヤキャラクタＰＣに設定されるアクション範囲Ａ３を説明するための概略斜視図である。図１０は、アクションの内容の一例を説明するための図である。図１１は、プレイヤキャラクタＰＣの移動アクションを説明するための図である。
【００３４】
図３において、ゲーム装置１の第１のＬＣＤ１１および第２のＬＣＤ１２には、それぞれゲーム画像が表示される。本発明に関わるゲーム画像は、主に第２のＬＣＤ１２に表示されるため、以下、第２のＬＣＤ１２に表示される画像を単にゲーム画像と記載する。
【００３５】
第２のＬＣＤ１２には、プレイヤキャラクタＰＣおよびノンプレイヤキャラクタＮＰＣの他に、オブジェクトＯＢＪがゲーム空間に設定されたドラムフィールドＦＤ上に配置されてゲーム画像として表現される。図３に示したゲーム画像例では、１つのプレイヤキャラクタＰＣおよびノンプレイヤキャラクタＮＰＣと６つのオブジェクトＯＢＪ１〜ＯＢＪ６とが表示されている。ドラムフィールドＦＤは、その円筒曲面の一部がゲーム画像として表示される円筒形状のゲームフィールドであり、ゲーム空間内でその円筒軸が水平になるように設置される。プレイヤキャラクタＰＣ、ノンプレイヤキャラクタＮＰＣ、およびオブジェクトＯＢＪは、それぞれドラムフィールドＦＤの円筒曲面上に配置される。例えば、プレイヤキャラクタＰＣは、ゲーム空間内でドラムフィールドＦＤの円筒曲面上に沿って移動可能なキャラクタである。また、ドラムフィールドＦＤ後方には、背景ＢＩ（例えば、空）が表示される。なお、図３で示した例では、ドラムフィールドＦＤの側方から円筒曲面を注視点とし、当該円筒曲面の一部を描画範囲とした仮想カメラから透視投影によって得たゲーム画像を示している。
【００３６】
図４において、上記ゲーム画像を得るための仮想カメラＣおよびタッチパネル１５が配置された仮想３次元ゲーム空間の様子が表示されている。ドラム座標系においては、ゲーム空間にドラムフィールドＦＤ、背景ＢＩ、および仮想壁Ｗが設定される。仮想壁Ｗは、その一例としてドラムフィールドＦＤの円筒軸に対して平行に設定された仮想的な透過平面である。仮想カメラＣは、ドラムフィールドＦＤの円筒曲面の側方に配置される。そして、仮想カメラＣのカメラ位置を基準とした所定のクリップ面に挟まれた視体積に設定されるゲーム空間がゲーム画像として第２のＬＣＤ１２に表示される。図４に示した例では、仮想カメラＣからドラムフィールドＦＤの円筒曲面の一部を透視投影した画像ＩＭ１と、その後方の仮想壁Ｗの一部を透過してさらに後方に描画された背景ＢＩを透視投影した画像ＩＭ２とによって、ゲーム画像が構成される。このとき、後述する位置座標をドラム座標系に変換した位置に基づいて各オブジェクトの描画モデルがドラムフィールドＦＤ上に配置され（図４におけるプレイヤキャラクタＰＣおよびオブジェクトＯＢＪ）、視体積内に含まれる描画モデルも第２のＬＣＤ１２に表示される。そして、手前側（仮想カメラＣ側）クリップ面にタッチパネル１５が配置されたようにタッチパネル座標系が設定され、タッチパネル１５からの入力座標が仮想カメラＣの視線方向に沿ってゲーム空間内に透視投影される。
【００３７】
図５において、プレイヤがタッチパネル１５をタッチしたタッチ入力座標がゲーム空間内に透視投影される様子を示している。本実施例においては、プレイヤがタッチ操作した対象のオブジェクトを判定するために簡易モデルを用いる。ここで、簡易モデルとは、ゲーム画像を得るための描画モデルをそれぞれ簡素化したモデルであり、基本立体の種別とその大きさとによって定義される。各オブジェクトの簡易モデルは、後述する位置座標をドラム座標系に変換した位置に基づいてドラムフィールドＦＤ上に配置される。例えば、図５の例では、プレイヤキャラクタＰＣは、円柱の上部に球を乗せた簡易モデルＰＣｅとしてその位置座標を変換したドラムフィールドＦＤ上の位置に配置されている。また、オブジェクトＯＢＪは、円柱の上部に三角錐を乗せた簡易モデルＯＢＪｅとしてその位置座標を変換したドラムフィールドＦＤ上の位置に配置されている。
【００３８】
例えば、プレイヤがタッチパネル１５をスティック１６ａの位置でタッチ操作したとき、そのタッチ操作で得られるタッチ入力座標を仮想カメラＣから放射状に延伸する視線方向に沿ってゲーム空間内に透視投影した直線（図５では、破線で示す）が簡易モデルＰＣｅと交差または接触するとする。このとき、簡易モデルＰＣｅに該当するプレイヤキャラクタＰＣがプレイヤによってタッチ操作されたと判断する。さらに、上記直線が簡易モデルＰＣｅを通過してドラムフィールドＦＤと交差する交点ＴＰＤａを、プレイヤによってタッチ操作されたドラム座標系フィールド上の点であると判断する。
【００３９】
また、プレイヤがタッチパネル１５をスティック１６ｂの位置でタッチ操作したとき、そのタッチ操作で得られるタッチ入力座標を仮想カメラＣの視線方向に沿ってゲーム空間内に透視投影した直線が簡易モデルＯＢＪｅと交差または接触するとする。このとき、簡易モデルＯＢＪｅに該当するオブジェクトＯＢＪがプレイヤによってタッチ操作されたと判断する。さらに、上記直線が簡易モデルＯＢＪｅを通過してドラムフィールドＦＤと交差する交点ＴＰＤｂを、プレイヤによってタッチ操作されたドラム座標系フィールド上の点であると判断する。
【００４０】
また、プレイヤがタッチパネル１５をスティック１６ｃの位置でタッチ操作したとき、そのタッチ操作で得られるタッチ入力座標を仮想カメラＣの視線方向に沿ってゲーム空間内に透視投影した直線が直接ドラムフィールドＦＤと交差するとする。このとき、上記直線がドラムフィールドＦＤと交差する交点ＴＰＤｃを、プレイヤによってタッチ操作されたドラム座標系フィールド上の点であると判断する。なお、この場合、プレイヤによってタッチ操作されたキャラクタやオブジェクトがないと判断する。
【００４１】
また、プレイヤがタッチパネル１５をスティック１６ｄの位置でタッチ操作したとき（つまり背景が表示されたゲーム画像上をタッチ）、そのタッチ操作で得られるタッチ入力座標を仮想カメラＣの視線方向に沿ってゲーム空間内に透視投影した直線が直接仮想壁Ｗと交差するとする。このとき、上記直線が仮想壁Ｗと交差する交点ＴＰＤｄを、プレイヤによってタッチ操作されたドラム座標系フィールド上の点であると判断する。なお、この場合も、プレイヤによってタッチ操作されたキャラクタやオブジェクトがないと判断する。
【００４２】
このように、現実の描画に用いられる描画モデルより簡素化された簡易モデルを用いてプレイヤがタッチ操作したオブジェクトを判定することによって、その判定処理負荷が軽減される。また、描画モデルに対する全体の形状ではなく、実際の判定に用いたい部位のみを模した簡易モデルを設定することも可能である。例えば、家を表すオブジェクトに対して、描画モデルでは家全体に対して設定されるが、タッチ操作の対象を判定する処理において当該家のドアのみの判定でよければ、ドアのみを模した簡易モデルを設定すればよい。つまり、タッチ操作の対象の形状を簡易モデルで単純にできることに加えて、タッチ操作の対象を判定する処理に必要な部位やオブジェクトのみを模した簡易モデルを配置することができるため、判定対象となるモデル自体の数や大きさも少なくなる。
【００４３】
図６において、ゲーム装置１は、キャラクタの移動やアクションの動作を行う際、ドラム座標系を平面座標系に変換してそれらの処理を行う。そして、平面座標系で上記処理を行った後、各位置座標を再度ドラム座標系に変換してドラムフィールドＦＤに描画モデルを配置して、第２のＬＣＤ１２に表示されるゲーム画像を生成する（図４参照）。
【００４４】
例えば、ドラムフィールドＦＤの円筒軸方向が平面座標系におけるＸ軸方向に変換される。また、ドラムフィールドＦＤの円筒曲面の円周方向が平面座標系におけるＺ軸方向に変換される。さらに、ドラムフィールドＦＤの円筒曲面から離れる円筒軸と垂直な放射方向（重力方向）が平面座標系におけるＹ軸方向に変換される。これらの変換によって、ドラムフィールドＦＤの円筒曲面をＹ＝０の平面に伸ばしたような平面フィールドＦＰが平面座標系に設定される。つまり、平面状のゲームフィールド（平面フィールドＦＰ）の座標系は、曲面状のゲームフィールド（ドラムフィールドＦＤ）の座標系に対応するように定義される。本実施例においては、ドラムフィールドＦＤの円筒軸方向の座標をそのまま平面座標系におけるＸ軸座標に変換する。また、ドラムフィールドＦＤの円筒曲面の円周長さの全周あるいは一部が平面座標系におけるＺ軸方向の長さとなるように、ドラムフィールドＦＤの円周方向の座標を平面座標系におけるＺ軸座標に変換する。
【００４５】
仮想壁Ｗは、図５に示すようにタッチパネル１５（クリップ面）に対して平行にドラムフィールドＦＤの円筒曲面から起立するように当該円筒曲面と交わって設置されている。したがって、仮想壁Ｗと円筒曲面との交線を上記座標変換により平面座標系に変換した直線（Ｙ＝０、Ｚ＝Ｚｗ（一定値））を平面フィールドＦＰとの交線として、Ｙ軸方向へ起立したＺ＝Ｚｗ（一定値）の平面が、仮想壁Ｗに対応する平面フィールドＷｐとして平面座標系に設定される。そして、ドラム座標系における仮想壁Ｗ上の座標は、平面フィールドＷｐ上の座標に変換される。具体的には、仮想壁Ｗに沿った円筒軸方向の座標を平面座標系におけるＸ軸座標に変換する。また、仮想壁Ｗに沿った円筒軸に垂直な方向でドラムフィールドＦＤとの交線からの長さを平面座標系におけるＹ軸座標に変換する。さらに、仮想壁Ｗ上の座標は、平面座標系のＺ軸座標Ｚｗに変換する。
【００４６】
ここで、図６に示すように、平面フィールドＦＰ上には、後述するオブジェクトデータ（位置座標）に応じて各オブジェクトが配置される。例えば、図６の例では、プレイヤキャラクタＰＣが位置座標ＰＣＰ（Ｘｐｃ、Ｙｐｃ、Ｚｐｃ）の平面フィールドＦＰ上に配置され、オブジェクトＯＢＪが位置座標ＯＢＪＰ（Ｘｏｂｊ、Ｙｏｂｊ、Ｚｏｂｊ）の平面フィールドＦＰ上に配置されている。また、上述したプレイヤによってタッチ操作されたドラムフィールドＦＤ上の交点ＴＰＤａは、上記座標変換によって交点ＴＰＰａに変換される。上述したプレイヤによってタッチ操作されたドラムフィールドＦＤ上の交点ＴＰＤｂは、上記座標変換によって交点ＴＰＰｂに変換される。上述したプレイヤによってタッチ操作されたドラムフィールドＦＤ上の交点ＴＰＤｃは、上記座標変換によって交点ＴＰＰｃに変換される。そして、上述したプレイヤによってタッチ操作された仮想壁Ｗ上の交点ＴＰＤｄは、上記座標変換によって平面フィールドＷｐ上の交点ＴＰＰｄに変換した後、Ｙ＝０（つまり、平面フィールドＷｐに沿ってＹ軸負方向に移動）とした目標点ＴＧに変換する。
【００４７】
図７において、プレイヤキャラクタＰＣには、会話範囲Ａ１が設定されている。会話範囲Ａ１は、プレイヤキャラクタＰＣの正面から左右所定角度ずつ所定の距離までの扇形状で平面フィールドＦＰ上に設定される。例えば、会話範囲Ａ１は、プレイヤキャラクタＰＣの正面から左右θ１ずつ距離Ｌ１までの扇形状で設定される。この会話範囲Ａ１内にアクション対象（ノンプレイヤキャラクタＮＰＣ）が存在する場合、プレイヤキャラクタＰＣは、その対象（ノンプレイヤキャラクタＮＰＣ）と会話する動作（会話アクション）を行う。
【００４８】
図８において、プレイヤキャラクタＰＣには、呼びかけ範囲Ａ２が設定されている。呼びかけ範囲Ａ２は、プレイヤキャラクタＰＣの正面から左右所定角度ずつ所定の距離までの扇形状で平面フィールドＦＰ上に設定される。例えば、呼びかけ範囲Ａ２は、プレイヤキャラクタＰＣの正面から左右θ２（θ１≦θ２）ずつ距離Ｌ２（Ｌ１＜Ｌ２）までの扇形状で設定される。この呼びかけ範囲Ａ２内にアクション対象（ノンプレイヤキャラクタＮＰＣ）が存在する場合、プレイヤキャラクタＰＣは、その対象（ノンプレイヤキャラクタＮＰＣ）に呼びかける動作（呼びかけアクション）を行う。
【００４９】
図９において、プレイヤキャラクタＰＣには、アクション範囲Ａ３が設定されている。アクション範囲Ａ３は、プレイヤキャラクタＰＣの正面から左右所定角度ずつ所定の距離までの扇形状で平面フィールドＦＰ上に設定される。例えば、アクション範囲Ａ３は、プレイヤキャラクタＰＣの正面から左右θ３ずつ距離Ｌ３までの扇形状で設定される。このアクション範囲Ａ３内にアクション対象（オブジェクトＯＢＪ、ノンプレイヤキャラクタＮＰＣ、平面フィールドＦＰ）が存在する場合、プレイヤキャラクタＰＣは、その対象（オブジェクトＯＢＪ、ノンプレイヤキャラクタＮＰＣ、平面フィールドＦＰ）やプレイヤキャラクタＰＣが所持している装備に応じた動作を行う。なお、アクション範囲Ａ３は、プレイヤキャラクタＰＣの正面に扇形状で設定されるが、対象となるオブジェクトの種別や装備に応じて角度θ３および距離Ｌ３を変化させてもかまわない。
【００５０】
図１０において、アクション範囲Ａ３内に存在するタッチ操作された対象とプレイヤキャラクタＰＣの装備との組み合わせで決定される動作の一例を示している。このような動作は、プログラム処理の分岐によって実現されるが、これらの組み合わせに対する動作を記載したテーブルを用いて処理してもかまわない。例えば、プレイヤキャラクタＰＣがスコップを装備しており、タッチ操作された対象がアクション範囲Ａ３内に存在する地面（平面フィールドＦＰ）である場合、プレイヤキャラクタＰＣは、スコップを用いて地面（平面フィールドＦＰ）を掘る動作を行う。また、プレイヤキャラクタＰＣが斧を装備しており、タッチ操作された対象がアクション範囲Ａ３内に存在する木（オブジェクトＯＢＪ）である場合、プレイヤキャラクタＰＣは、斧を用いて木（オブジェクトＯＢＪ）を切る動作を行う。さらに、プレイヤキャラクタＰＣが釣竿を装備しており、タッチ操作された対象がアクション範囲Ａ３内に存在する川（平面フィールドＦＰ）である場合、プレイヤキャラクタＰＣは、釣竿を用いて川（平面フィールドＦＰ）に向かって釣りをする動作を行う。このようにプレイヤキャラクタＰＣの装備（アイテム）とアクション範囲Ａ３内に存在するタッチ操作された対象との組み合わせに応じて、特別な動作を行う当該対象をアイテムのアクション対象と記載する。また、プレイヤキャラクタＰＣの装備によらず、タッチ操作された対象がアクション範囲Ａ３内に存在するポスト（オブジェクトＯＢＪ）である場合、プレイヤキャラクタＰＣは、必ずポスト（オブジェクトＯＢＪ）を開ける動作を行う。このようにプレイヤキャラクタＰＣの装備とは無関係にアクション範囲Ａ３内に存在するタッチ操作された対象に対して共通の動作を通常アクションと記載し、当該通常アクションを行う対象を通常アクション対象と記載する。なお、図１０の例においては、アクション範囲Ａ３内に存在する対象をタッチ操作したとして説明したが、アクション範囲Ａ３内に対象が存在するプレイヤキャラクタＰＣをタッチ操作した場合も、この組み合わせに応じてプレイヤキャラクタＰＣが同様の動作を行ってもかまわない。
【００５１】
このように、対象と装備との組み合わせに応じてプレイヤキャラクタＰＣの動作が決定されるが、当該組み合わせに応じてアクション範囲Ａ３の大きさを変更する方が好ましい。例えば、プレイヤキャラクタＰＣがスコップを用いて動作する対象の範囲に対して、釣竿を用いて動作するアクション範囲Ａ３の距離Ｌ３を長く設定する方が自然なアクションとなる。このように、装備の特性や対象の種別、キャラクタの特性等に応じて、アクション範囲Ａ３の大きさを変化させてもかまわない。
【００５２】
一方、アクション範囲Ａ３内に存在する対象の種別と装備によっては、プレイヤキャラクタＰＣが特別な動作を行わない組み合わせもある。例えば、プレイヤキャラクタＰＣがスコップを装備しており、タッチ操作された対象がアクション範囲Ａ３内に存在する木（オブジェクトＯＢＪ）である場合、プレイヤキャラクタＰＣは、移動動作を行う。また、プレイヤキャラクタＰＣが斧を装備しており、タッチ操作された対象がアクション範囲Ａ３内に存在する地面や川（平面フィールドＦＰ）である場合、プレイヤキャラクタＰＣは、移動動作を行う。さらに、プレイヤキャラクタＰＣが釣竿を装備しており、タッチ操作された対象がアクション範囲Ａ３内に存在する地面（平面フィールドＦＰ）や木および岩（オブジェクトＯＢＪ）である場合、プレイヤキャラクタＰＣは、移動動作を行う。
【００５３】
図１１において、タッチ操作された対象が上述した特別な動作や通常アクションを行わない組み合わせとなる場合、プレイヤキャラクタＰＣは、当該タッチ操作された平面フィールドＷｐ上の交点ＴＰＰ（図６参照）を目標点ＴＧとして、その目標点ＴＧに向かって所定の速度で移動する。ここで、タッチ操作された対象が仮想壁Ｗである場合、上述したようにタッチ入力座標が平面フィールドＦＰ上の目標点ＴＧに変換されているため、プレイヤキャラクタＰＣは、その目標点ＴＧに向かって移動する。
【００５４】
このように、本実施例では、プレイヤキャラクタＰＣの移動や、プレイヤキャラクタＰＣとノンプレイヤキャラクタＮＰＣまたはオブジェクトＯＢＪとの間のアクション等が、平面フィールドＦＰを用いて処理される。つまり、ゲーム装置１は、キャラクタの移動やアクションの動作を行う際、平面座標系を用いてそれらの処理を行う。ゲーム装置１は、平面座標系でこれらの処理を行った後、各位置座標を再度ドラム座標系に変換してドラムフィールドＦＤにそれぞれ対応する描画モデルを配置する（図４参照）。そして、ドラムフィールドＦＤに描画モデルを配置して仮想カメラＣによって捉えた状態を描画して、ゲーム画像を生成する。
【００５５】
次に、図１２〜図１８を参照して、ゲーム装置１で実行されるゲームプログラムによる具体的な処理動作について説明する。なお、図１２は、当該ゲームプログラムを実行することによってゲーム装置１がゲーム処理を行う前半の動作を示すフローチャートである。図１３は、当該ゲームプログラムを実行することによってゲーム装置１がゲーム処理を行う後半の動作を示すフローチャートである。図１４は、図１２におけるステップ５４および図１３におけるステップ６４のドラム座標系の位置座標に変換する処理について詳細な動作を示すサブルーチンである。図１５は、図１３におけるステップ６１のドラム座標系の交点座標を平面座標系に変換する処理について詳細な動作を示すサブルーチンである。図１６は、図１３におけるステップ６２のアクション処理について前半の詳細な動作を示すサブルーチンである。図１７は、図１３におけるステップ６２のアクション処理について後半の詳細な動作を示すサブルーチンである。図１８は、図１２および図１３に基づいた処理動作でＲＡＭ２４に記憶される各種データの一例を示す図である。なお、これらの処理を実行するためのプログラムは、ＲＯＭ１７ａに格納されたゲームプログラムに含まれており、ゲーム装置１の電源がオンになったときに、ＲＯＭ１７ａからＲＡＭ２４に読み出されて、ＣＰＵコア２１によって実行される。
【００５６】
まず、ゲーム装置１の電源（図示せず）がＯＮされると、ＣＰＵコア２１によってブートプログラム（図示せず）が実行され、これによりメモリカード１７に格納されているゲームプログラムがＲＡＭ２４にロードされる。当該ロードされたゲームプログラムがＣＰＵコア２１で実行されることによって、図１２および図１３に示すステップ（図１２〜図１７では「Ｓ」と略称する）が実行される。
【００５７】
図１２において、ＣＰＵコア２１は、ゲームの初期設定を行って（ステップ５０）、処理を次のステップに進める。例えば、ＣＰＵコア２１がステップ５０で行う初期設定として、ゲーム空間に登場させるオブジェクトに関するデータを設定する。図１８に示すように、初期設定において、ＲＡＭ２４には、ゲーム空間に各オブジェクトを配置するためのオブジェクトデータベースとして、各オブジェクトに対応するオブジェクトデータＤＯ１〜ＤＯ５…等が記憶される。各オブジェクトデータＤＯ１〜ＤＯ５…は、キャラクタＩＤ、描画モデル識別記号、簡易モデル種別と大きさ、および位置座標を示すデータをそれぞれ含んでいる。キャラクタＩＤは、オブジェクト毎に固有に付与される番号であり、この番号によって当該オブジェクトの種別（プレイヤキャラクタ、ノンプレイヤキャラクタ、その他のオブジェクト等）を区別することができる。描画モデル種別記号は、ゲーム画像を生成する際にドラムフィールドＦＤ上に配置するオブジェクト毎の描画モデル画像データＤＩ１を指示する記号である。簡易モデルの種別および大きさは、プレイヤがタッチ操作した対象のオブジェクトを判定するために用いられる簡易モデルデータＤＩ２の種別およびその大きさをオブジェクト毎に指示する記号である。位置座標は、平面座標系において配置される各オブジェクトの位置を３次元座標（Ｘ、Ｙ、Ｚ）で示すデータである。さらに、ゲーム画像を生成したりタッチ操作の対象を検出したりするための画像／モデルデータとして、描画モデル画像データＤＩ１、簡易モデルデータＤＩ２、および背景画像データＤＩ３等が適宜記憶される。ここで、簡易モデルデータＤＩ２は、描画モデル画像データＤＩ１と比較すると極めて単純な円柱、球、円錐等の立体モデルであり、オブジェクトデータＤＯに含まれる簡易モデルの種別によって選択される。そして、オブジェクトデータＤＯに含まれる簡易モデルの大きさに応じて、その立体モデルの大きさを変化させて配置される。
【００５８】
図１２に戻り、ＣＰＵコア２１は、ユーザの操作に応じたタッチパネル１５からのタッチ入力を待つ（ステップ５１）。そして、タッチ入力があると（ステップ５１でＹｅｓ）、ＣＰＵコア２１は、現在タッチパネル１５をタッチしている接触位置を示すタッチパネル座標系の座標をタッチ入力座標ＤＣ１としてＲＡＭ２４に記憶し（ステップ５２）、処理を次のステップに進める。
【００５９】
例えば、図１８に示すように、タッチパネル１５から入力するタッチパネル座標系の座標データは、適時、ＲＡＭ２４にタッチ入力座標ＤＣ１として記憶されている。また、ＲＡＭ２４には、タッチ入力座標ＤＣ１に対応するドラム座標系の位置データとして交点座標ＤＣ２および当該交点座標ＤＣ２に対応する平面座標系の位置データとして交点座標ＤＣ３等が適宜記憶される。
【００６０】
図１２に戻り、ＣＰＵコア２１は、オブジェクトデータベースのオブジェクトデータＤＯに基づいて、ゲーム空間に配置されているオブジェクト毎に平面座標系の位置座標および簡易モデル（種別、大きさ）を取得する（ステップ５３）。そして、ＣＰＵコア２１は、上記ステップ５３で取得した各位置座標を平面座標系からドラム座標系に変換し（ステップ５４）、処理を次のステップに進める。以下、図１４を参照して、ステップ５４における詳細な処理について説明する。
【００６１】
図１４において、ＣＰＵコア２１は、平面座標系において、予め設定されているＺ軸方向の取りうる範囲に対して、各位置座標のＺ軸座標の比率をそれぞれ算出し（ステップ７１）、処理を次のステップに進める。ここで、Ｚ軸方向の取りうる範囲とは、ドラムフィールドＦＤ（図５参照）の円筒曲面の全部または一部を平面に伸ばしたような平面フィールドＦＰ（図６参照）のＺ軸方向長さに相当し、すなわち、ドラムフィールドＦＤの円筒曲面の円周長さの全周あるいは一部に相当する平面座標系の長さである。
【００６２】
次に、ＣＰＵコア２１は、上記ステップ７１で算出した各比率に基づいて、ドラムフィールドＦＤの円周方向の対応座標をそれぞれ算出し（ステップ７２）、処理を次のステップに進める。例えば、上記Ｚ軸方向の取りうる範囲が円筒曲面の円周長さ全周を示している場合、上記比率を全周に対する円周長さの比率であるとして、上記比率に対する円周長さを算出する。そして、ドラムフィールドＦＤの円周方向の原点座標を基準として、その円周長さの位置をドラムフィールドＦＤの円周方向の対応座標とする。また、上記Ｚ軸方向の取りうる範囲が円筒曲面の円周長さの一部を示している場合、上記比率をその一部の円周に対する円周長さの比率であるとして、上記比率に対する円周長さを算出する。そして、ドラムフィールドＦＤの円周方向の原点座標を基準として、その円周長さの位置をドラムフィールドＦＤの円周方向の対応座標とする。
【００６３】
次に、ＣＰＵコア２１は、各位置座標のＸ軸座標に基づいて、ドラムフィールドＦＤの軸方向の対応座標をそれぞれ算出して（ステップ７３）、当該サブルーチンによる処理を終了する。例えば、ドラムフィールドＦＤの軸方向の原点座標を基準として、各位置座標のＸ軸座標をそのままドラムフィールドＦＤの軸方向の対応座標とする。なお、所定の換算式に基づいて、各位置座標のＸ軸座標をドラムフィールドＦＤの軸方向の対応座標に換算してもかまわない。これらステップ７１〜７３の処理によって、各オブジェクトの平面座標系の位置座標がドラムフィールドＦＤの円筒曲面上のドラム座標系に変換される。なお、上記ステップ７１〜７３の処理では、平面フィールドＦＰ上の位置座標（つまり、Ｙ＝０）をドラムフィールドＦＤの円筒曲面上の対応座標に変換する動作を行っている。しかしながら、平面フィールドＦＰからＹ軸方向に離れた位置座標（つまり、Ｙ＞０）の場合、そのＹ軸座標をそのままドラムフィールドＦＤの円筒曲面から離れる円筒軸と垂直な半径方向の対応座標とすれば、平面フィールドＦＰ上の点以外でも同様の座標変換ができることは言うまでもない。
【００６４】
図１２に戻って、ＣＰＵコア２１は、上記ステップ５４で算出したドラム座標系の対応座標に応じて、各簡易モデルを配置し（ステップ５５）、処理を次のステップに進める。具体的には、ＣＰＵコア２１は、各オブジェクトデータＤＯに含まれている簡易モデルの種別および大きさに基づいて簡易モデルを生成し、ドラム座標系のゲーム空間における各対応座標の位置に当該簡易モデルを配置する（図５参照）。このステップ５５によって、ゲーム空間に登場するプレイヤキャラクタＰＣ、ノンプレイヤキャラクタＮＰＣ、およびその他のオブジェクトＯＢＪに対応する簡易モデルがドラム座標系のゲーム空間に配置される。
【００６５】
次に、ＣＰＵコア２１は、タッチ入力座標ＤＣ１を仮想カメラＣから放射状に延伸する視線方向に沿ってドラム座標系のゲーム空間内に透視投影して延伸した直線を算出する（ステップ５６；図５の破線参照）。そして、ＣＰＵコア２１は、上記ステップ５６で算出した直線と接触または交差する簡易モデルがあるか否かを判断する（ステップ５７）。上記直線と接触または交差する簡易モデルがある場合、ＣＰＵコア２１は、処理を次のステップ５８に進める。一方、上記直線と接触または交差する簡易モデルがない場合、ＣＰＵコア２１は、処理を次のステップ６０（図１３）に進める。
【００６６】
ステップ５８において、ＣＰＵコア２１は、上記直線と接触または交差すると判断された簡易モデルのうち、最前（仮想カメラＣ側）の簡易モデルに対応するオブジェクト（キャラクタＩＤ）をＲＡＭ２４に記憶する。そして、ＣＰＵコア２１は、最前の簡易モデルに対応するオブジェクト（キャラクタＩＤ）の平面座標系における位置座標をオブジェクトデータベースから取得して（ステップ５９）、処理を次のステップ６０（図１３）に進める。以下、上記直線と接触または交差した最前の簡易モデルに対応するオブジェクトを、タッチ操作の対象オブジェクトと記載する。例えば、図５で示すようにタッチパネル１５をスティック１６ｂの位置でタッチ操作したとき、そのタッチ入力座標ＤＣ１から算出される直線と交差する簡易モデルＯＢＪｅに対応するキャラクタＩＤおよびその平面座標系における位置座標が取得され、簡易モデルＯＢＪｅに対応するオブジェクトがタッチ操作の対象オブジェクトとなる。
【００６７】
ステップ６０において、ＣＰＵコア２１は、上記ステップ５６で算出した直線とドラムフィールドＦＤまたは仮想壁Ｗとの交点座標を取得して、ＲＡＭ２４に交点座標ＤＣ２として記憶する。例えば、図５で示すようにタッチパネル１５をスティック１６ａ〜１６ｃの位置でそれぞれタッチ操作したとき、それらタッチ入力座標ＤＣ１から算出される直線とドラムフィールドＦＤとが交差する交点座標ＴＰＤａ〜ＴＰＤｃがそれぞれ取得される。また、図５で示すようにタッチパネル１５をスティック１６ｄの位置でタッチ操作したとき、そのタッチ入力座標ＤＣ１から算出される直線と仮想壁Ｗとが交差する交点座標ＴＰＤｄが取得される。そして、ＣＰＵコア２１は、上記ステップ６０で取得した交点座標を平面座標系に変換して（ステップ６１）、処理を次のステップに進める。以下、図１５を参照して、ステップ６１における詳細な処理について説明する。
【００６８】
図１５において、ＣＰＵコア２１は、上記ステップ６０で得られた交点座標がドラムフィールドＦＤ上であるか否かを判断する（ステップ８１）。そして、交点座標がドラムフィールドＦＤ上である場合、ＣＰＵコア２１は、処理を次のステップ８２に進める。一方、交点座標が仮想壁Ｗ上である場合、ＣＰＵコア２１は、処理を次のステップ８８に進める。
【００６９】
ステップ８２において、ＣＰＵコア２１は、交点座標におけるドラムフィールドＦＤの軸方向の対応座標に基づいて、平面座標系のＸ軸座標を算出する。次に、ＣＰＵコア２１は、交点座標におけるドラムフィールドＦＤの円周方向の対応座標を取得し（ステップ８３）、処理を次のステップ８４に進める。このステップ８２の処理は、上記ステップ７３の逆変換を行う処理である。したがって、例えば、ドラムフィールドＦＤの軸方向の原点座標を基準としたドラムフィールドＦＤの軸方向の対応座標をそのまま平面座標系におけるＸ軸座標とする。また、所定の換算式に基づいて、ドラムフィールドＦＤの軸方向の対応座標を平面座標系におけるＸ軸座標に換算してもかまわない。
【００７０】
一方、ステップ８８において、ＣＰＵコア２１は、交点座標におけるドラムフィールドＦＤの円筒軸と平行な方向への座標に基づいて、平面座標系のＸ軸座標を算出する。次に、ＣＰＵコア２１は、仮想壁ＷとドラムフィールドＦＤの円筒曲面との交線におけるドラムフィールドＦＤの円周方向の対応座標を取得し（ステップ８９）、処理を次のステップ８４に進める。図５を用いて説明したように、仮想壁Ｗは、タッチパネル１５（クリップ面）に対して平行にドラムフィールドＦＤの円筒曲面から起立するように当該円筒曲面と交わって設置されている。つまり、ステップ８８では、仮想壁Ｗ上においてドラムフィールドＦＤの軸方向と同じ方向の対応座標を算出している。また、ステップ８９では、仮想壁ＷがドラムフィールドＦＤと交差する円周方向の対応座標を算出している。
【００７１】
ステップ８４において、ＣＰＵコア２１は、上記ステップ８３またはステップ８９で算出したドラムフィールドＦＤの円周方向の対応座標に基づいて、円筒軸から円周方向対応座標への直線および当該円筒軸からドラムフィールドＦＤの円周方向の原点座標への直線間の角度を算出する。そして、ＣＰＵコア２１は、ドラムフィールドＦＤの半径および上記ステップ８４で算出した角度に基づいて、当該角度に相当する円周長さを算出する。そして、ＣＰＵコア２１は、上述したＺ軸方向の取りうる範囲と当該範囲に相当するドラムフィールドＦＤの円筒曲面の円周長さの全周あるいは一部との比率に基づいて、算出した円周長さをＺ軸座標に変換し（ステップ８５）、処理を次のステップに進める。ここで、このステップ８５の処理は、上記ステップ７１および７２の逆変換を行う処理である。
【００７２】
次に、ＣＰＵコア２１は、上記交点座標における平面座標系のＹ軸座標を０に設定する（ステップ８６）。そして、ＣＰＵコア２１は、ステップ８２またはステップ８８で算出したＸ軸座標、ステップ８５で算出したＺ軸座標、およびステップ８６で設定したＹ軸座標をＲＡＭ２４に平面座標系の交点座標ＤＣ３として記憶し（ステップ８７）、当該サブルーチンによる処理を終了する。例えば、これらのステップ８１〜８９の処理によって、図５に示した交点座標ＴＰＤａ〜ＴＰＤｃが図６に示した交点座標（目標点）ＴＰＰａ〜ＴＰＰｃに変換される。また、これらのステップ８１〜８９の処理によって、図５に示した交点座標ＴＰＤｄが図６に示した目標点ＴＧに変換される。
【００７３】
図１３に戻り、ＣＰＵコア２１は、タッチ操作の対象オブジェクトおよび交点座標ＤＣ３に基づいて、プレイヤキャラクタＰＣのアクション処理を平面座標系で行い（ステップ６２）、処理を次のステップに進める。以下、図１６および図１７を参照して、ステップ６２における詳細な処理について説明する。
【００７４】
図１６において、ＣＰＵコア２１は、タッチ操作の対象オブジェクトがノンプレイヤキャラクタＮＰＣか否かを判断する（ステップ９１）。そして、ＣＰＵコア２１は、対象オブジェクトがノンプレイヤキャラクタＮＰＣである場合に処理を次のステップ９２に進め、ノンプレイヤキャラクタＮＰＣでない場合に処理を次のステップ１０１（図１７）に進める。ここで、ＣＰＵコア２１は、対象オブジェクトの種別を上記ステップ５８で得られた対象オブジェクトのキャラクタＩＤから判断することができる。
【００７５】
ステップ９２において、ＣＰＵコア２１は、タッチ操作の対象オブジェクトであるノンプレイヤキャラクタＮＰＣの平面座標系における位置座標を取得する。なお、この位置座標は、上記ステップ５９で取得した位置座標と同じである。そして、ＣＰＵコア２１は、オブジェクトデータベースを参照してプレイヤキャラクタＰＣの平面座標系での位置座標および向きを取得し、当該プレイヤキャラクタＰＣの会話範囲Ａ１を平面フィールドＦＰ上で算出し（ステップ９３；図７参照）、処理を次のステップに進める。
【００７６】
次に、ＣＰＵコア２１は、上記ステップ９２で取得したノンプレイヤキャラクタＮＰＣの位置座標が会話範囲Ａ１内か否かを判断する（ステップ９４）。そして、ＣＰＵコア２１は、ノンプレイヤキャラクタＮＰＣの位置座標が会話範囲Ａ１外である場合、処理を次のステップ９６に進める。一方、ノンプレイヤキャラクタＮＰＣの位置座標が会話範囲Ａ１内である場合、ＣＰＵコア２１は、プレイヤキャラクタＰＣとタッチ操作の対象であるノンプレイヤキャラクタＮＰＣとが会話する動作を表現するアクション処理を行って（ステップ９５）、当該サブルーチンによる処理を終了する。ここで、プレイヤキャラクタＰＣとノンプレイヤキャラクタＮＰＣとが会話する動作とは、プレイヤキャラクタＰＣとノンプレイヤキャラクタＮＰＣとに、互いが言葉を受け答えするような動作をゲーム画像上で表現するアクション処理である。
【００７７】
ステップ９６において、ＣＰＵコア２１は、プレイヤキャラクタＰＣの位置座標および向きに基づいて、当該プレイヤキャラクタＰＣの呼びかけ範囲Ａ２を平面フィールドＦＰ上で算出する（図８参照）。次に、ＣＰＵコア２１は、上記ステップ９２で取得したノンプレイヤキャラクタＮＰＣの位置座標が呼びかけ範囲Ａ２内か否かを判断する（ステップ９７）。そして、ＣＰＵコア２１は、ノンプレイヤキャラクタＮＰＣの位置座標が呼びかけ範囲Ａ２内である場合、プレイヤキャラクタＰＣがタッチ操作の対象であるノンプレイヤキャラクタＮＰＣに呼びかける動作を表現するアクション処理を行って（ステップ９８）、当該サブルーチンによる処理を終了する。ここで、プレイヤキャラクタＰＣがノンプレイヤキャラクタＮＰＣに呼びかける動作とは、プレイヤキャラクタＰＣが上記会話する距離とは相対的に遠くに存在するノンプレイヤキャラクタＮＰＣに対して、一方的に言葉をかけるような動作をゲーム画像上で表現するアクション処理である。
【００７８】
一方、ＣＰＵコア２１は、ノンプレイヤキャラクタＮＰＣの位置座標が呼びかけ範囲Ａ２外である場合、交点座標ＤＣ３を目標点ＴＧにして、プレイヤキャラクタＰＣが平面フィールドＦＰ上を所定の速度で移動させるアクション処理を行って（ステップ９９；図１１参照）、当該サブルーチンによる処理を終了する。具体的には、ステップ９９の移動アクションにおいて、ＣＰＵコア２１は、オブジェクトデータベースにおけるプレイヤキャラクタＰＣの位置座標を、交点座標ＤＣ３に向かって所定速度で移動するように変化させる。
【００７９】
図１７において、対象オブジェクトがノンプレイヤキャラクタＮＰＣでない場合、ステップ１０１においてＣＰＵコア２１は、タッチ操作の対象オブジェクトがプレイヤキャラクタＰＣか否かを判断する。そして、ＣＰＵコア２１は、対象オブジェクトがプレイヤキャラクタＰＣでない場合、処理を次のステップ１０３に進める。一方、ＣＰＵコア２１は、プレイヤキャラクタＰＣである場合、当該プレイヤキャラクタＰＣの装備を使う等の動作を表現するアクション処理を行って（ステップ１０２）、当該サブルーチンによる処理を終了する。具体的には、プレイヤがプレイヤキャラクタＰＣをタッチ操作した場合、プレイヤキャラクタＰＣが向いている方向にアクションの対象となるものがあるか否かにかかわらず、現在向いている方向に向かって装備しているアイテムを使う等アクションを行う。例えば、アイテムとして斧を装備しているプレイヤキャラクタＰＣをタッチ操作した場合、当該プレイヤキャラクタＰＣは、現在の向きで斧を振るような動作を行う。また、何のアイテムも装備していないプレイヤキャラクタＰＣをタッチ操作した場合、正面近傍に木（オブジェクトＯＢＪ）があれば、当該木を揺するような動作を行う。
【００８０】
ステップ１０３において、ＣＰＵコア２１は、現在プレイヤキャラクタＰＣが装備しているアイテム種別を取得する。そして、ＣＰＵコア２１は、オブジェクトデータベースを参照してプレイヤキャラクタＰＣの位置座標および向きを取得し、アイテム種別とタッチ操作の対象オブジェクトまたは交点座標ＤＣ３が示す平面フィールドＦＰの種別との組み合わせに応じて当該プレイヤキャラクタＰＣのアクション範囲Ａ３を平面フィールドＦＰ上で算出し（ステップ１０４；図９参照）、処理を次のステップに進める。ここで、ＣＰＵコア２１は、プレイヤキャラクタＰＣの位置座標および向きに基づいて基本的なアクション範囲Ａ３を算出し、アイテム種別とタッチ操作に応じた対象オブジェクトまたは平面フィールドＦＰの種別との組み合わせに応じてアクション範囲Ａ３の大きさを平面フィールドＦＰ上で変化させる。例えば、ＣＰＵコア２１は、釣竿を装備しているプレイヤキャラクタＰＣに対して、ポストがタッチ操作の対象オブジェクトとなったアクション範囲Ａ３と比較して、川がタッチ操作に応じた平面フィールドＦＰの種別である場合に相対的に大きなアクション範囲Ａ３に変化させる。
【００８１】
次に、ＣＰＵコア２１は、上記ステップ５９で取得したタッチ操作の対象オブジェクトの位置座標または交点座標ＤＣ３がアクション範囲Ａ３内か否かを判断する（ステップ１０５）。そして、ＣＰＵコア２１は、対象オブジェクトの位置座標または交点座標ＤＣ３がアクション範囲Ａ３内である場合に処理を次のステップ１０６に進め、アクション範囲Ａ３外である場合に処理を次のステップ１１２に進める。
【００８２】
ステップ１０６において、ＣＰＵコア２１は、アクション範囲Ａ３内にある対象オブジェクトがプレイヤキャラクタＰＣの装備しているアイテムのアクション対象（図１０参照）であるか否かを判断する。そして、ＣＰＵコア２１は、対象オブジェクトがプレイヤキャラクタＰＣの装備しているアイテムのアクション対象でない場合、処理を次のステップ１０８に進める。一方、ＣＰＵコア２１は、対象オブジェクトがプレイヤキャラクタＰＣの装備しているアイテムのアクション対象である場合、プレイヤキャラクタＰＣがタッチ操作の対象オブジェクトに対して特別な動作を表現するアクション処理を行って（ステップ１０７）、当該サブルーチンによる処理を終了する。
【００８３】
このステップ１０６で判断するアイテムのアクション対象とは、プレイヤキャラクタＰＣが当該アイテムを用いて特別な動作を行うオブジェクトである。例えば、図１０に示した一例では、プレイヤキャラクタＰＣが「スコップ」を装備している場合に「はじかれる」アクションを行う「岩」等が「スコップ」（アイテム）のアクション対象となる。また、プレイヤキャラクタＰＣが斧を装備している場合に「木を切る」および「はじかれる」アクションを行う「木」および「岩」等が「斧」（アイテム）のアクション対象となる。また、プレイヤキャラクタＰＣが「釣竿」を装備している場合は、アクション対象となるオブジェクトがない。このようにアイテムとアクション範囲Ａ３内の対象オブジェクトとの組み合わせによって、上記ステップ１０６におけるアクション対象であるか否かを判断する。一方、特別な動作を行わない組み合わせとなる対象オブジェクト（例えば、「スコップ」に対する「木」）は、上記ステップ１０６においてアクション対象のオブジェクトではないと判断される。そして、上記ステップ１０７においては、アイテムとアクション範囲Ａ３内の対象オブジェクトとの組み合わせに応じた特別な動作をゲーム画像上で表現するアクション処理が行われる。
【００８４】
ステップ１０８において、ＣＰＵコア２１は、アクション範囲Ａ３内である対象オブジェクトがプレイヤキャラクタＰＣの装備しているアイテムの種別および有無にかかわらずに同じ動作を行う通常アクション対象（図１０参照）であるか否かを判断する。そして、ＣＰＵコア２１は、対象オブジェクトが通常アクション対象でない場合、処理を次のステップ１１０に進める。一方、ＣＰＵコア２１は、対象オブジェクトが通常アクション対象（例えば、図１０に記載した「ポスト」）である場合、プレイヤキャラクタＰＣがタッチ操作の対象オブジェクトに対して共通の動作（通常アクション；例えば、「ポストを開ける」）を表現するアクション処理を行って（ステップ１０９）、当該サブルーチンによる処理を終了する。
【００８５】
ステップ１１０において、ＣＰＵコア２１は、アクション範囲Ａ３内である交点座標ＤＣ３が示す平面フィールドＦＰの種別（以下、地形と記載する）がプレイヤキャラクタＰＣの装備しているアイテムのアクション対象であるか否かを判断する。そして、ＣＰＵコア２１は、地形がプレイヤキャラクタＰＣの装備しているアイテムのアクション対象でない場合、処理を次のステップ１１２に進める。一方、ＣＰＵコア２１は、地形がプレイヤキャラクタＰＣの装備しているアイテムのアクション対象である場合、プレイヤキャラクタＰＣが交点座標ＤＣ３における平面フィールドＦＰに対して特別な動作を表現するアクション処理を行って（ステップ１１１）、当該サブルーチンによる処理を終了する。
【００８６】
このステップ１１０で判断するアイテムのアクション対象とは、プレイヤキャラクタＰＣが当該アイテムを用いて特別な動作を行う平面フィールドＦＰの種別である。例えば、図１０に示した一例では、プレイヤキャラクタＰＣが「スコップ」を装備している場合に「地面に穴を掘る」および「空振りする」アクションを行う「地面」および「川」等が「スコップ」（アイテム）のアクション対象となる。また、プレイヤキャラクタＰＣが「釣竿」を装備している場合に「釣りをする」アクションを行う「川」等が「釣竿」（アイテム）のアクション対象となる。このようにアイテムとアクション範囲Ａ３内の交点座標ＤＣ３における平面フィールドＦＰの種別との組み合わせによって、上記ステップ１１０におけるアクション対象を判断する。一方、特別な動作を行わない組み合わせとなる地形（例えば、「斧」に対する「地面」）は、上記ステップ１１０においてアクション対象ではないと判断される。そして、上記ステップ１１１においては、アイテムとアクション範囲Ａ３内の交点座標ＤＣ３に応じた地形との組み合わせに応じた特別な動作をゲーム画像上で表現するアクション処理が行われる。
【００８７】
ステップ１１２において、ＣＰＵコア２１は、交点座標ＤＣ３を目標点ＴＧにして、プレイヤキャラクタＰＣが平面フィールドＦＰ上を所定の速度で移動させるアクション処理を行って（図１１参照）、当該サブルーチンによる処理を終了する。なお、この処理は、上記ステップ９９と同様であるため、詳細な説明を省略する。
【００８８】
図１３に戻り、ＣＰＵコア２１は、平面座標系でアクション処理を行った後、オブジェクトデータベースのオブジェクトデータＤＯに基づいて、ゲーム空間に配置されているオブジェクト毎に平面座標系の位置座標および描画モデル種別記号を取得する（ステップ６３）。そして、ＣＰＵコア２１は、上記ステップ６３で取得した各位置座標を平面座標系からドラム座標系に変換し（ステップ６４）、処理を次のステップに進める。なお、ステップ６４で行う各位置座標を平面座標系からドラム座標系に変換する処理は、上述したステップ５４（図１２）の動作と同様であるため、詳細な説明を省略する。
【００８９】
次に、ＣＰＵコア２１は、上記ステップ６４で算出したドラム座標系の対応座標に応じて、各描画モデルを配置して仮想カメラＣを視点としたゲーム画像を描画して（ステップ６５）、当該フローチャートによる処理を終了する。具体的には、ＣＰＵコア２１は、各オブジェクトデータＤＯに含まれている描画モデルの種別記号に基づいて描画モデル画像データＤＩ１を参照し、ドラム座標系のゲーム空間における各対応座標の位置に当該描画モデル画像を配置する（図４参照）。このステップ６５によって、ゲーム空間に登場するプレイヤキャラクタＰＣ、ノンプレイヤキャラクタＮＰＣ、およびその他のオブジェクトＯＢＪに対応する描画モデルがドラム座標系のゲーム空間に配置されて仮想カメラＣを視点としたゲーム画像として描画される。
【００９０】
このように、ゲーム装置１で実行されるゲーム処理では、プレイヤキャラクタＰＣの移動処理、複数の判定領域の設定処理、アクションの動作処理等を行う際、平面フィールドＦＰを用いる。その後、ゲーム装置１は、各平面フィールドＦＰを基準とした位置座標をドラム座標系に変換してドラムフィールドＦＤにそれぞれ対応する描画モデルを配置する（図４参照）。そして、ドラムフィールドＦＤに描画モデルを配置して仮想カメラＣによって捉えた状態を描画して、ゲーム画像を生成する。したがって、ゲーム装置１では、平面フィールドＦＰ上でオブジェクトを移動させたり位置を判定したりする等の計算処理を行っているため、処理負荷が軽減される。また、これらの処理結果を反映した位置座標をドラムフィールドＦＤに座標変換し、当該ドラムフィールドＦＤに配置した描画モデルを用いてゲーム画像を生成しているため、より立体感のある仮想空間がゲーム画像で表現される。
【００９１】
上述した効果は、画面上での入力位置や座標を指定するタッチパネル１５等のポインティングデバイスを入力装置としないゲーム装置（例えば、十字キー、ジョイスティック、ボタンの押下等によって操作される一般的なゲーム装置）であっても得られるものである。しかし、上記実施例で用いたゲーム装置１のようにタッチパネル１５等のポインティングデバイスを入力装置とする場合、さらなる効果が得られる。ゲーム装置１では、タッチパネル１５を操作して第２のＬＣＤ１２に表現された仮想空間上のオブジェクトを指定する場合、ドラムフィールドＦＤに簡易モデルを配置してプレイヤが指定したオブジェクトを判定している。したがって、上記判定処理において処理負荷が軽減され、判定の正確性を向上させることができる。
【００９２】
なお、上述した説明においては、図５に示したようにタッチパネル座標系が設定される手前側クリップ面（タッチパネル１５）と仮想壁Ｗとを互いに平行に設定したが、仮想壁Ｗが平行でなくてもタッチ入力座標の透視投影を同様に行うことができることは言うまでもない。また、図５に示したように仮想カメラＣから透視投影によってゲーム画像が得られる説明をしたが、平行投影によってゲーム画像を生成してもかまわない。さらに、ドラム座標系に設定されるゲームフィールドを円筒状のドラムフィールドＦＤを用いて説明したが、球面状のゲームフィールド等立体感が表現される曲面を有するゲームフィールドを用いてもかまわない。上述したＸ軸およびＺ軸方向に対する座標変換を、球面等の曲面に応じて行えば、同様に本発明を実現することができる。
【００９３】
また、上述では、説明を具体的にするために、具体的な座標軸の設定して座標変換方法を説明し、具体的なゲームフィールドの形状等を示してゲーム処理を説明したが、これらは一実施例であり、本発明がこれらの方法や形状に限定されることはないことは言うまでもない。
【００９４】
また、上述した実施形態では、２画面分の液晶表示部の一例として、物理的に分離された第１のＬＣＤ１１および第２のＬＣＤ１２を互いに上下に配置した場合（上下２画面の場合）を説明した。しかしながら、２画面分の表示画面の構成は、他の構成でもかまわない。例えば、下側ハウジング１３ｂの一方主面に第１のＬＣＤ１１および第２のＬＣＤ１２を左右に配置してもかまわない。また、第２のＬＣＤ１２と横幅が同じで縦の長さが２倍のサイズからなる縦長サイズのＬＣＤ（すなわち、物理的には１つで、表示サイズが縦に２画面分あるＬＣＤ）を下側ハウジング１３ｂの一方主面に配設して、第１および第２のゲーム画像を上下に表示（すなわち上下の境界部分無しに隣接して表示）するように構成してもよい。また、第２のＬＣＤ１２と縦幅が同じで横の長さが２倍のサイズからなる横長サイズのＬＣＤを下側ハウジング１３ｂの一方主面に配設して、横方向に第１および第２のゲーム画像を左右に表示（すなわち左右の境界部分無しに隣接して表示）するように構成してもよい。すなわち、物理的に１つの画面を２つに分割して使用することにより第１および第２のゲーム画像を表示してもかまわない。いずれのゲーム画像の形態に対しても、第２のゲーム画像が表示される画面上にタッチパネル１５を配設すれば、同様に本発明を実現することができる。また、物理的に１つの画面を２つに分割して使用することにより第１および第２のゲーム画像を表示する場合、当該画面全面にタッチパネル１５を配設してもかまわない。
【００９５】
また、上述した実施例では、ゲーム装置１にタッチパネル１５が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、第１のＬＣＤ１１の上面にタッチパネル１５を設けても良い。さらに、上記実施例では表示画面を２つ（第１のＬＣＤ１１、第２のＬＣＤ１２）を設けたが、表示画面は１つであってもかまわない。すなわち、上記実施例において、第１のＬＣＤ１１設けず単に第２のＬＣＤ１２のみを表示画面としてタッチパネル１５を設けるように構成してもよい。また、上記実施例において、第２のＬＣＤ１２を設けず第１のＬＣＤ１１の上面にタッチパネル１５を設けても良い。
【００９６】
また、上記実施例では、ゲーム装置１の入力手段としてタッチパネルを用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボールなどを入力手段として使用し、入力手段から出力される出力値から計算されたドラム座標系の情報を用いれば、本発明を同様に実現することができる。また、上述したプレイヤの指定に対する判定処理における効果を期待しない場合は、ポインティングデバイス以外の入力装置によって操作されるゲーム装置を用いてもかまわない。
【００９７】
また、上記実施例では、携帯型のゲーム装置１を用いて説明しているが、一般的なパーソナルコンピュータなどの情報処理装置（ゲーム装置）でもかまわない。
【産業上の利用可能性】
【００９８】
本発明のゲームプログラムおよびゲーム装置は、円筒状や球面状の曲面ゲームフィールド上にオブジェクトを配置したゲーム画面を表現しながら、計算処理を簡単にして処理負荷を軽減することができ、曲面状のゲームフィールドを用いてゲーム画像等が表現されるゲーム装置等の情報処理装置やその情報処理装置で実行されるゲームプログラム等として有用である。
【図面の簡単な説明】
【００９９】
【図１】本発明のゲームプログラムを実行するゲーム装置１の外観図
【図２】図１のゲーム装置１の内部構成を示すブロック図
【図３】第１のＬＣＤ１１および第２のＬＣＤ１２に表示される画面表示例を示す図
【図４】第２のＬＣＤ１２に表示されるゲーム画像を得るためのドラム座標系およびタッチパネル１５との位置関係を説明するための概略斜視図
【図５】ドラム座標系とタッチパネル１５との位置関係を説明するための側面図
【図６】ゲーム処理を行う平面座標系を説明するための概略斜視図
【図７】プレイヤキャラクタＰＣに設定される会話範囲Ａ１を説明するための概略斜視図
【図８】プレイヤキャラクタＰＣに設定される呼びかけ範囲Ａ２を説明するための概略斜視図
【図９】プレイヤキャラクタＰＣに設定されるアクション範囲Ａ３を説明するための概略斜視図
【図１０】アクションの内容の一例を説明するための図
【図１１】プレイヤキャラクタＰＣの移動アクションを説明するための図
【図１２】本発明の一実施形態に係るゲームプログラムを実行することによってゲーム装置１がゲーム処理を行う前半の動作を示すフローチャート
【図１３】本発明の一実施形態に係るゲームプログラムを実行することによってゲーム装置１がゲーム処理を行う後半の動作を示すフローチャート
【図１４】図１２におけるステップ５４および図１３におけるステップ６４のドラム座標系の位置座標に変換する処理について詳細な動作を示すサブルーチン
【図１５】図１３におけるステップ６１のドラム座標系の交点座標を平面座標系に変換する処理について詳細な動作を示すサブルーチン
【図１６】図１３におけるステップ６２のアクション処理について前半の詳細な動作を示すサブルーチン
【図１７】図１３におけるステップ６２のアクション処理について後半の詳細な動作を示すサブルーチン
【図１８】図１２および図１３に基づいた処理動作でＲＡＭ２４に記憶される各種データの一例を示す図
【符号の説明】
【０１００】
１  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４ｈ  電源スイッチ
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ、１８ｂ  音抜き孔
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
３３  ワイヤレス通信部
【図１】
2006314633.tif 000003
【図２】
2006314633.tif 000004
【図３】
2006314633.tif 000005
【図４】
2006314633.tif 000006
【図５】
2006314633.tif 000007
【図６】
2006314633.tif 000008
【図７】
2006314633.tif 000009
【図８】
2006314633.tif 000010
【図９】
2006314633.tif 000011
【図１０】
2006314633.tif 000012
【図１１】
2006314633.tif 000013
【図１２】
2006314633.tif 000014
【図１３】
2006314633.tif 000015
【図１４】
2006314633.tif 000016
【図１５】
2006314633.tif 000017
【図１６】
2006314633.tif 000018
【図１７】
2006314633.tif 000019
【図１８】
2006314633.tif 000020