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