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