(57)【特許請求の範囲】
【請求項１】
仮想３次元空間内でプレイヤオブジェクトを移動させる表示制御装置のコンピュータに実行させる表示制御プログラムであって、
少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを前記仮想３次元空間内に配置するオブジェクト配置手段と、
所定の操作手段からの入力に基づき、前記プレイヤオブジェクトを移動させる移動制御手段と、
前記移動制御手段によって移動された前記プレイヤオブジェクトの前記仮想３次元空間内における現在位置を示す現在位置データを取得する現在位置取得手段と、
前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの所定面を前記プレイヤオブジェクトの現在位置に向ける姿勢制御手段として前記コンピュータを機能させ、
前記所定面には複数の当たり判定が設定されており、
前記当たり判定のうちのいずれかと前記プレイヤオブジェクトが接触しているか否かを判定する接触判定手段と、
前記いずれかの当たり判定と接触している場合、その接触している当たり判定に対応する処理を実行する表示制御手段として前記コンピュータを更に機能させ、
前記オブジェクト配置手段は、前記プレイヤオブジェクトが衝突または通過することが可能な少なくとも１つの所定面を有するオブジェクトを前記ノンプレイヤオブジェクトとして前記仮想３次元空間内に少なくとも１つ配置し、
前記姿勢制御手段は、前記ノンプレイヤオブジェクトの位置が所定の条件を満たしたとき、前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの前記所定面の向きを前記プレイヤオブジェクトの現在位置に常に対向するように繰り返し更新する、表示制御プログラム。
【請求項２】
前記所定面は開口面である、請求項１に記載の表示制御プログラム。
【請求項３】
前記ノンプレイヤオブジェクトには、前記開口面における開口部分に第１の当たり判定が設定されており、非開口部分に第２の当たり判定が設定されており、
前記接触判定手段は、前記第１の当たり判定または第２の当たり判定のいずれかと前記プレイヤオブジェクトが接触しているか否かを判定し、
前記表示制御手段は、前記接触判定手段による判定の結果、前記プレイヤオブジェクトが前記第１の当たり判定に接触した場合と前記第２の当たり判定に接触した場合とで異なる処理を実行する、請求項２に記載の表示制御プログラム。
【請求項４】
前記ノンプレイヤオブジェクトは、輪の形状を有するオブジェクトである、請求項１乃至３のいずれかに記載の表示制御プログラム。
【請求項５】
前記姿勢制御手段は、前記ノンプレイヤオブジェクトの位置が仮想カメラの視界範囲内に位置したときに、当該ノンプレイヤオブジェクトの所定面が前記プレイヤオブジェクトの現在位置に向くように姿勢制御を行う、請求項１に記載の表示制御プログラム。
【請求項６】
仮想３次元空間でプレイヤオブジェクトを移動させる表示制御装置であって、
少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを前記仮想３次元空間内に配置するオブジェクト配置手段と、
所定の操作手段からの入力に基づき、前記プレイヤオブジェクトを移動させる移動制御手段と、
前記移動制御手段によって移動された前記プレイヤオブジェクトの仮想３次元空間内における現在位置を示す現在位置データを取得する現在位置取得手段と、
前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの所定面を前記プレイヤオブジェクトの現在位置に向ける姿勢制御手段とを備え、
前記所定面には複数の当たり判定が設定されており、
前記当たり判定のうちのいずれかと前記プレイヤオブジェクトが接触しているか否かを判定する接触判定手段と、
前記いずれかの当たり判定と接触している場合、その接触している当たり判定に対応する処理を実行する表示制御手段とを更に備え、
前記オブジェクト配置手段は、前記プレイヤオブジェクトが衝突または通過することが可能な少なくとも１つの所定面を有するオブジェクトを前記ノンプレイヤオブジェクトとして前記仮想３次元空間内に少なくとも１つ配置し、
前記姿勢制御手段は、前記ノンプレイヤオブジェクトの位置が所定の条件を満たしたとき、前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの前記所定面の向きを前記プレイヤオブジェクトの現在位置に常に対向するように繰り返し更新する、表示制御装置。
【請求項７】
仮想３次元空間でプレイヤオブジェクトを移動させる表示制御システムであって、
少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを前記仮想３次元空間内に配置するオブジェクト配置手段と、
所定の操作手段からの入力に基づき、前記プレイヤオブジェクトを移動させる移動制御手段と、
前記移動制御手段によって移動された前記プレイヤオブジェクトの仮想３次元空間内における現在位置を示す現在位置データを取得する現在位置取得手段と、
前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの所定面を前記プレイヤオブジェクトの現在位置に向ける姿勢制御手段とを備え、
前記所定面には複数の当たり判定が設定されており、
前記当たり判定のうちのいずれかと前記プレイヤオブジェクトが接触しているか否かを判定する接触判定手段と、
前記いずれかの当たり判定と接触している場合、その接触している当たり判定に対応する処理を実行する表示制御手段とを更に備え、
前記オブジェクト配置手段は、前記プレイヤオブジェクトが衝突または通過することが可能な少なくとも１つの所定面を有するオブジェクトを前記ノンプレイヤオブジェクトとして前記仮想３次元空間内に少なくとも１つ配置し、
前記姿勢制御手段は、前記ノンプレイヤオブジェクトの位置が所定の条件を満たしたとき、前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの前記所定面の向きを前記プレイヤオブジェクトの現在位置に常に対向するように繰り返し更新する、表示制御システム。
【請求項８】
仮想３次元空間でプレイヤオブジェクトを移動させる表示制御方法であって、
少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを前記仮想３次元空間内に配置するオブジェクト配置ステップと、
所定の操作手段からの入力に基づき、前記プレイヤオブジェクトを移動させる移動制御ステップと、
前記移動制御ステップで移動された前記プレイヤオブジェクトの仮想３次元空間内における現在位置を示す現在位置データを取得する現在位置取得ステップと、
前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの所定面を前記プレイヤオブジェクトの現在位置に向ける姿勢制御ステップとを備え、
前記所定面には複数の当たり判定が設定されており、
前記当たり判定のうちのいずれかと前記プレイヤオブジェクトが接触しているか否かを判定する接触判定ステップと、
前記いずれかの当たり判定と接触している場合、その接触している当たり判定に対応する処理を実行する表示制御ステップとを更に備え、
前記オブジェクト配置ステップでは、前記プレイヤオブジェクトが衝突または通過することが可能な少なくとも１つの所定面を有するオブジェクトを前記ノンプレイヤオブジェクトとして前記仮想３次元空間内に少なくとも１つ配置し、
前記姿勢制御ステップでは、前記ノンプレイヤオブジェクトの位置が所定の条件を満たしたとき、前記現在位置データに基づいて、前記ノンプレイヤオブジェクトの前記所定面の向きを前記プレイヤオブジェクトの現在位置に常に対向するように繰り返し更新する、表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想３次元空間を利用した表示制御に関し、より特定的には、仮想３次元空間でプレイヤオブジェクトを飛行させることができる表示制御の処理に関する。
【背景技術】
【０００２】
従来から、いわゆるフライトシミュレーションゲームという分野のゲームが知られている。このようなフライトシミュレーションゲームでは、プレイヤが操作するプレイヤオブジェクト（飛行機等）で仮想３次元空間内を飛行させることで、空を自由に飛びまわる感覚をプレイヤに楽しませている。更に、単に（仮想空間内の）空中を飛び回るだけではゲーム性が乏しいという観点から、よりゲーム性を高めるための試みがなされており、その一例として、例えば、空中にリング型のオブジェクトを配置し、このリングを順番に取得させることで、所定の得点が得られるようにしてゲーム性を高めているゲームもある（例えば、非特許文献１、非特許文献２）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「パイロットウイングス６４  取扱説明書」、任天堂株式会社、１９９６年６月２３日発売、Ｐ２１
【非特許文献２】「６４ブックス  １００パーセント遊ぶ  パイロットウイングス６４」、株式会社芸文社、１９９６年９月２８日、Ｐ５４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のゲームにおいては、プレイヤオブジェクトがリングに接触するだけで当該リングを取得することができていた（なお、プレイヤに対しての説明としては、リングを取得することでリングを「通過」したと扱うこともあった）。このように、リングにプレイヤオブジェクトを接触させて取得するという要素をゲームに持たせたことで、ある程度ゲーム性は高まった。しかし、リングの取得を目的として、当該リングの位置を目標に飛行するというだけでは、ゲームとしてはまだ単調さが残っていた。この点につき、出願人は、例えば、飛行するプレイヤオブジェクトをより自在に操って、より高度な飛行操作（例えば、リングをくぐり抜けるような操作）を適度な難度（難しくなりすぎず、簡単すぎない程度の難度）で楽しませるという観点で、更なる改良の余地があることを発見した。
【０００５】
それ故に、本発明の目的は、適度な難度のゲーム性を有しながら、空中を飛行する楽しさをプレイヤに与える新規な表示制御プログラムを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は以下のような構成を採用した。
【０００７】
本発明にかかるゲームプログラムは、仮想３次元空間内でプレイヤオブジェクトを移動させる表示制御装置のコンピュータに実行させる表示制御プログラムであって、オブジェクト配置手段と、移動制御手段と、現在位置取得手段と、姿勢制御手段としてコンピュータを機能させる。オブジェクト配置手段は、少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを仮想３次元空間内に配置する。移動制御手段は、所定の操作手段からの入力に基づき、プレイヤオブジェクトを移動させる。現在位置取得手段は、移動制御手段によって移動されたプレイヤオブジェクトの仮想３次元空間内における現在位置を示す現在位置データを取得する。姿勢制御手段は、現在位置データに基づいて、ノンプレイヤオブジェクトの所定面をプレイヤオブジェクトの現在位置に向ける。
【０００８】
上記構成により、プレイヤオブジェクトをノンプレイヤオブジェクトの所定面に向けて移動させる操作の難度を下げることができる。
【０００９】
他の構成例として、オブジェクト配置手段は、プレイヤオブジェクトが衝突または通過することが可能な少なくとも１つの所定面を有するオブジェクトをノンプレイヤオブジェクトとして仮想３次元空間内に少なくとも１つ配置し、姿勢制御手段は、現在位置データに基づいて、ノンプレイヤオブジェクトの所定面の向きをプレイヤオブジェクトの現在位置に常に対向するように繰り返し更新するようにしてもよい。
【００１０】
上記構成例によれば、プレイヤオブジェクトをノンプレイヤオブジェクトに衝突させる、または通過させる操作の難度を下げることができる。
【００１１】
更に他の構成例として、所定面は開口面であってもよい。
【００１２】
上記構成により、ノンプレイヤオブジェクトの開口面に向けてプレイヤオブジェクトを移動させやすくすることができ、ゲームの難度を適度なものとしながら、ゲームの興趣性を高めることが可能となる。
【００１３】
更に他の構成例として、ノンプレイヤオブジェクトには、その開口面における開口部分に第１の当たり判定が設定されており、非開口部分に第２の当たり判定が設定されていてもよい。そして、表示制御プログラムは、第１の当たり判定または第２の当たり判定のいずれかとプレイヤオブジェクトが接触しているか否かを判定する接触判定手段と、接触判定手段による判定の結果、プレイヤオブジェクトが第１の当たり判定に接触した場合と第２の当たり判定に接触した場合とで異なる処理を実行する表示制御手段としてコンピュータを更に機能させてもよい。
【００１４】
上記構成例によれば、例えば、ノンプレイヤオブジェクトの開口部分にプレイヤオブジェクトが接触すれば得点が加算されるが、当該ノンプレイヤオブジェクトの非開口部分に接触した場合はプレイヤオブジェクトがクラッシュするというように、１つのノンプレイヤオブジェクトに対して異なる処理を定義することができる。
【００１５】
更に他の構成例として、ノンプレイヤオブジェクトは、輪の形状を有するオブジェクトであってもよい。
【００１６】
上記構成例によれば、輪をくぐり抜けるという操作をプレイヤに要求することで、ゲームの興趣性を高めつつ、ゲームの難度が高くなりすぎないようにすることができる。
【００１７】
更に他の構成例として、姿勢制御手段は、ノンプレイヤオブジェクトの位置が所定の条件を満たしたときに、当該ノンプレイヤオブジェクトの所定面がプレイヤオブジェクトの現在位置に向くように姿勢制御を行うようにしてもよい。
【００１８】
上記構成例によれば、ノンプレイヤキャラクタの姿勢制御に関する処理負荷を軽減することが可能となる。
【００１９】
更に他の構成例として、姿勢制御手段は、ノンプレイヤオブジェクトの位置が仮想カメラの視界範囲内に位置したときに、当該ノンプレイヤオブジェクトの所定面がプレイヤオブジェクトの現在位置に向くように姿勢制御を行うようにしてもよい。
【００２０】
上記構成例によれば、必要なときにのみノンプレイヤオブジェクトの姿勢制御が行われ、処理負荷を軽減することができる。
【００２１】
本発明にかかるゲーム装置は、仮想３次元空間でプレイヤオブジェクトを移動させる表示制御装置であって、オブジェクト配置手段と、移動制御手段と、現在位置取得手段と、姿勢制御手段とを備える。オブジェクト配置手段は、少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを仮想３次元空間内に配置する。移動制御手段は、所定の操作手段からの入力に基づき、プレイヤオブジェクトを移動させる。現在位置取得手段は、移動制御手段によって移動されたプレイヤオブジェクトの仮想ゲーム空間内における現在位置を示す現在位置データを取得する。姿勢制御手段は、現在位置データに基づいて、ノンプレイヤオブジェクトの所定面をプレイヤオブジェクトの現在位置に向ける。
【００２２】
本発明にかかる表示制御システムは、仮想３次元空間でプレイヤオブジェクトを移動させる表示制御システムであって、オブジェクト配置手段と、移動制御手段と、現在位置取得手段と、姿勢制御手段とを備える。オブジェクト配置手段は、少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを仮想３次元空間内に配置する。移動制御手段は、所定の操作手段からの入力に基づき、プレイヤオブジェクトを移動させる。現在位置取得手段は、移動制御手段によって移動されたプレイヤオブジェクトの仮想ゲーム空間内における現在位置を示す現在位置データを取得する。姿勢制御手段は、現在位置データに基づいて、ノンプレイヤオブジェクトの所定面をプレイヤオブジェクトの現在位置に向ける。
【００２３】
本発明にかかる表示制御処理方法は、仮想３次元空間でプレイヤオブジェクトを移動させる表示制御処理方法であって、オブジェクト配置ステップと、移動制御ステップと、現在位置取得ステップと、姿勢制御ステップとを備える。オブジェクト配置ステップは、少なくともプレイヤオブジェクトとノンプレイヤオブジェクトとを仮想３次元空間内に配置する。移動制御ステップは、所定の操作手段からの入力に基づき、プレイヤオブジェクトを移動させる。現在位置取得ステップは、移動制御ステップで移動されたプレイヤオブジェクトの仮想ゲーム空間内における現在位置を示す現在位置データを取得する。姿勢制御ステップは、現在位置データに基づいて、ノンプレイヤオブジェクトの所定面をプレイヤオブジェクトの現在位置に向ける。
【発明の効果】
【００２４】
本発明によれば、プレイヤオブジェクトをノンプレイヤオブジェクトの所定面に向けて移動させる操作の難度を下げることができる。これにより、ゲームの難度を適度なものとしながら、ゲームの興趣性を高めることが可能となる。
【図面の簡単な説明】
【００２５】
【図１】開状態におけるゲーム装置１０の正面図
【図２】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図および背面図
【図３】ゲーム装置１０の内部構成を示すブロック図
【図４】本実施形態が想定するゲームの画面の一例
【図５】本実施形態が想定するゲームの画面の一例
【図６】リングオブジェクトの当たり判定について説明するための図
【図７】メインメモリ３２のメモリマップを示す図
【図８】本実施形態にかかるゲーム処理の詳細を示すフローチャート
【図９】リングオブジェクトの姿勢を制御する処理を説明するための模式図
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【００２７】
（ゲーム装置の構成）
まず、本発明の一実施形態に係るゲーム装置について説明する。図１および図２は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１および図２に示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０を示し、図２は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００２８】
まず、図１および図２を参照して、ゲーム装置１０の外観構成について説明する。図１および図２に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。
【００２９】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１および図２に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３０】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２の画素数は、例えば、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３１】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図２（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００３２】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００３３】
アナログスティック１５は、方向を指示するデバイスである。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００３４】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク４２（図３参照）が設けられ、当該マイク４２がゲーム装置１０の外部の音を検出する。
【００３５】
図２（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図２（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図２（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図２（ｄ）は閉状態におけるゲーム装置１０の背面図である。図２（ｂ）および（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４ＧおよびＲボタン１４Ｈは、例えば、撮像部のシャッターボタン（撮影指示ボタン）として機能することができる。また、図２（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００３６】
図２（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００３７】
また、図２（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。
【００３８】
また、図１および図２（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第２ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図２（ｃ）参照）。
【００３９】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４０】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１および図２に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００４１】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２の画素数は、例えば、８００ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００４２】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００４３】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４４】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４５】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。また、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。
【００４６】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
【００４７】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００４８】
（ゲーム装置１０の内部構成）
次に、図３を参照して、ゲーム装置１０の内部の電気的構成について説明する。図３は、ゲーム装置１０の内部構成を示すブロック図である。図３に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００４９】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。情報処理部３１のＣＰＵ３１１は、ゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００５０】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００５１】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００５２】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００５３】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００５４】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば独自プロトコルによる通信や、赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００５５】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００５６】
また、情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００５７】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００５８】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００５９】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に立体画像（立体視可能な画像）を表示させる。
【００６０】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００６１】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００６２】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００６３】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００６４】
次に、図４〜図６を用いて、本実施形態が想定しているゲームの概要について説明する。本実施形態で想定するゲームは、ハンググライダーを題材としたフライトシミュレーションゲームである。図４および図５は、本実施形態が想定するゲームの画面の一例である（この画面は、立体視表示されていてもよい）。図４においては、仮想３次元空間である仮想ゲーム空間が表示されている。また、ハンググライダーに乗っているプレイヤオブジェクト１０１が後方からの視点で表示されている。本ゲームでは、仮想カメラは基本的にはプレイヤオブジェクト１０１の後方に配置されており、当該仮想カメラは、プレイヤオブジェクト１０１を追従するように移動制御される。本実施形態で想定するゲームは、このようなゲーム画面を用いて、プレイヤの操作に基づいてプレイヤオブジェクトを移動させて、ハンググライダーで飛び回るような感覚を楽しませるゲームである。なお、ハンググライダーを模した操作感、プレイ感（滑空感）を実現するため、その操作感覚としては、プレイヤの操作入力（特に移動方向の操作）に対して機敏に反応して方向転換できるようなものではない。例えば、右方向に進路を変更しようとした場合は、若干時間をかけて、プレイヤオブジェクト１０１が右方向に旋回するような動きとなる（つまり、ややもどかしさが残るような操作感覚となる）。
【００６５】
また、図４においては、仮想ゲーム空間内にリングオブジェクト１０２が複数表示されている。そして、本ゲームでは、図５に示すように、リングオブジェクト１０２をプレイヤオブジェクト１０１にくぐらせる（通過させる）ことにより、得点が加算される。但し、リングオブジェクト１０２そのものに衝突した場合は、プレイヤオブジェクト１０１はクラッシュしてしまう。図６は、リングオブジェクト１０２を正面から見た場合の模式図である。リングオブジェクト１０２には、図６に示すように、２種類の当たり判定が設定されている。１つめは、リングオブジェクト１０２自体の当たり判定（クラッシュ用当たり判定）であり、２つめは、リングオブジェクト１０２の内円部分の当たり判定（得点加算用当たり判定）である（なお、当該得点加算用当たり判定は、透明の当たり判定として設定されている）。つまり、衝突の結果が「成功」となる当たり判定と「失敗」となる当たり判定とが一体化した（隣接配置された）ものがリングオブジェクト１０２として定義されている。
【００６６】
このように、リングオブジェクト１０２をくぐることで得点が加算されるようにした場合、次のような点が懸念される。すなわち、プレイヤオブジェクト１０１は仮想ゲーム空間内を自在に移動可能であるのに対して、リングオブジェクト１０２の向きが固定されたままである場合を想定する。このような場合、例えば、リングオブジェクト１０２の側面方向からプレイヤオブジェクト１０１が近づくと、リングオブジェクト１０２をくぐることができずに、クラッシュしてしまう。つまり、常にリングオブジェクト１０２の正面（あるいは背面）からプレイヤオブジェクトを侵入させるような位置取りをプレイヤに要求することになる。その結果、ゲームの難度が高くなりすぎてしまうという懸念がある。
【００６７】
そこで、本実施形態では、リングオブジェクト１０２の正面側がプレイヤオブジェクト１０１が現在いる方角を常に向くように（あるいは、向いている時間がそうでない時間よりも長くなるように）、リングオブジェクト１０２の姿勢（向き）を制御する。これにより、ゲームの難度を適度なものとする。具体的には、まず、仮想カメラの視界範囲（ビューイング・ボリューム）内に存在するリングオブジェクト１０２が検出される。そして、検出された各リングオブジェクト１０２につき、その正面（プレイヤオブジェクト１０１が通過することが可能な面。以下、開口面と呼ぶ）が、プレイヤオブジェクト１０１の中点に向くように、適宜姿勢が制御されて、描画される。なお、本実施形態で挙げているリングオブジェクト１０２は、その形状からすれば、前面と背面の双方に開口を有することになるが、本実施形態では、リングオブジェクト１０２の正面側のみが開口面として予め定義され、この面を基準に姿勢制御が行われるものとする（もちろん、背面側の面がプレイヤオブジェクト１０１の方角に向くよう制御されてもよい。リングオブジェクト１０２の形状からすれば、その結果として同じ効果が得られるためである）。
【００６８】
次に、ゲーム装置１０によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際にメインメモリ３２に記憶されるデータについて説明する。図７は、ゲーム装置１０のメインメモリ３２のメモリマップを示す図である。図７において、メインメモリ３２は、プログラム記憶領域３２１およびデータ記憶領域３２３を含む。プログラム記憶領域３２１およびデータ記憶領域３２３のデータは、外部メモリ４４に記憶され、ゲームプログラム実行時にはメインメモリ３２に転送されて記憶される。
【００６９】
なお、これらのプログラムおよびデータは、上記外部メモリ４４の他、光磁気ディスクやメモリーカード、ハードディスク等の記録媒体で提供されても良いし、有線ネットワークや無線ネットワークを介して所定のサーバやゲーム装置等からダウンロードすることで提供されてもよい（つまり、ダウンロードしたプログラムやデータをメインメモリ３２に記憶する形態でもよい）。
【００７０】
プログラム記憶領域３２１は、ＣＰＵ３１１によって実行されるゲーム処理プログラム３２２を記憶する。
【００７１】
データ記憶領域３２３には、操作データ３２４、オブジェクトモデルデータ３２５、プレイヤキャラ現在位置データ３２６、リング管理用データ３２７などのデータが記憶されるとともに、ゲーム処理中に用いられる各種フラグも記憶される。
【００７２】
操作データ３２４は、プレイヤがゲーム装置１に対して行った操作内容を示すデータである。操作データ３２４には、タッチパネル１３で検出されたタッチ座標を示すタッチ座標データや、各種操作ボタン１４の押下状態を示す操作ボタンデータ、アナログスティック１５の入力状態を示すアナログ入力データが含まれる。
【００７３】
オブジェクトモデルデータ３２５は、プレイヤオブジェクト１０１やリングオブジェクト１０２等の各種オブジェクトのポリゴンモデルデータおよびテクスチャ画像データである。また、地形オブジェクトや建造物オブジェクト等、仮想ゲーム空間を構成するその他の各種オブジェクトのポリゴンモデルデータおよびテクスチャ画像データも含まれている。
【００７４】
プレイヤキャラ現在位置データ３２６は、プレイヤオブジェクト１０１の仮想ゲーム空間内における現在位置を示すデータである。本実施形態では、３次元座標で示されるものとする。
【００７５】
リング管理用データ３２７は、リングオブジェクト１０２を管理するためのデータである。リング管理用データ３２７には、各リングオブジェクト１０２に対応する管理データ３２８が含まれており、各リングオブジェクト１０２の管理データ３２８は、リングＩＤ３２９、配置位置データ３３０、開口面方角データ３３１等で構成されている。
【００７６】
リングＩＤ３２９は、各リングオブジェクト１０２を一意に識別するためのＩＤである。配置位置データ３３０は、仮想ゲーム空間内において各リングオブジェクト１０２の配置される位置を示すデータである。開口面方角データ３３１は、上記開口面が現在向いている、仮想ゲーム空間内における方角を示すデータである。換言すれば、リングオブジェクト１０２の現在の姿勢を示すデータでもある。
【００７７】
次に、ゲーム装置１において実行されるゲーム処理の流れを図８を用いて説明する。図８は、ゲーム装置１０において実行されるゲーム処理の詳細を示すフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０のＣＰＵ３１１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、メインメモリ３２等の各ユニットが初期化される。そして、外部メモリ４４に格納されたゲームプログラムがメインメモリ３２に読み込まれ、当該ゲームプログラムの実行が開始される。
【００７８】
なお、図８に示すフローチャートにおいては、主に、リングオブジェクト１０２の制御に関する処理について説明し、本願発明とは直接関連しない他の処理については詳細な説明を省略する。
【００７９】
まず、ステップＳ１において、初期処理が実行される。具体的には、地形オブジェクト等が適宜生成・配置されて、ゲームの舞台となる仮想ゲーム空間が構築される。そして、リングオブジェクト１０２が生成される。更に、リング管理用データ３２７が参照され、各リングオブジェクト１０２に対応する配置位置データ３３０に基づいて、各リングオブジェクト１０２が仮想ゲーム空間内に配置される。更に、プレイヤオブジェクト１０１が生成され、スタート位置として予め定義されている位置に配置される。以上のように構築された仮想ゲーム空間を表すゲーム画像が生成され、生成されたゲーム画像が上側ＬＣＤ２２に表示される。以降、ステップＳ２〜Ｓ１３の処理ループが１フレーム毎に繰り返されることによって、ゲームが進行していく。
【００８０】
次に、ステップＳ２において、操作データ３２４が取得される。続く、ステップＳ３において、操作データ３２４に基づいてプレイヤオブジェクト１０１を移動する処理が実行される。また、プレイヤキャラ現在位置データ３２６が移動後のプレイヤオブジェクト１０１の位置を示すデータで更新される。
【００８１】
次に、ステップＳ４において、仮想カメラの視界範囲（ビューイング・ボリューム）内に存在するリングオブジェクト１０２の検出が実行される。更に、ステップＳ５において、上記検出の結果、１つ以上のリングオブジェクト１０２が検出されたか否かが判定される。その結果、１つもリングオブジェクト１２が検出されなかったときは（ステップＳ５でＮＯ）、後述のステップＳ１１に処理が進められる。
【００８２】
一方、１つ以上のリングオブジェクト１０２が検出されたときは（ステップＳ５でＹＥＳ）、ステップＳ６において、上記現在位置データ３２６が参照され、仮想ゲーム空間内におけるプレイヤオブジェクト１０１の現在位置が取得される。
【００８３】
次に、ステップＳ７において、上記ステップＳ４で検出されたリングオブジェクト１０２のうちからいずれか一つが、以下に説明する処理の対象とする処理対象リングとして選択される。処理対象リングが選択されれば、続くステップＳ８において、上記現在位置データ３２６、および、開口面方角データ３３１（つまり、前回のフレームにかかる処理で算出された開口面の方角）に基づいて、処理対象リングの開口面がプレイヤキャラ１０１の中点に向くような姿勢が算出され、更に、当該算出された姿勢になるように処理対象リングの姿勢が変更される。この処理は、例えば、まず、図９に示すように、処理対象リングの開口面に対する法線ベクトルが算出される。次に、この法線ベクトルがプレイヤオブジェクト１０１の中点に向くように、処理対象リングを回転させるための回転行列が算出される。そして、当該回転行列に基づいて処理対象リングの回転が行われる。また、回転後の開口面の方角を示すデータ（例えば、回転後の状態における上記法線ベクトルの向きを示すデータ）は、開口面方角データ３３１として記憶される。なお、上記の処理方法はあくまで一例であり、これらに限らず、処理対象リングの開口面がプレイヤオブジェクト１０１の方向を向くように姿勢制御できれば、どのような処理方法を用いても良い。また、開口面方角データ３３１としては、上記のような方角を示すデータの他、処理対象リングの姿勢そのものを示すデータを開口面方角データ３３１として利用しても良い。
【００８４】
次に、ステップＳ９において、上記検出されたリングオブジェクト１０２のうち、上記のような姿勢制御の処理が行われていないリングオブジェクトが残っているか否かが判定される。その結果、まだ未処理のリングオブジェクト１０２が残っていたときは（ステップＳ９でＹＥＳ）、上記ステップＳ７に戻り、次の処理対象リングが選択されて上記の様な処理が繰り返される。
【００８５】
一方、未処理のリングオブジェクトが残っていなければ（ステップＳ９でＮＯ）、次に、ステップＳ１０において、リングオブジェクト１０２とプレイヤオブジェクト１０１との衝突判定処理が行われる。このステップＳ１０の処理を具体的に説明すると、まず、プレイヤオブジェクト１０１が、いずれかのリングオブジェクト１０２と接触しているか否かが判定される。更に、接触している場合は、図６で示したような２種類の当たり判定のうちのいずれと接触したか否かも判定される。その結果、リングオブジェクト１０２自体に接触しているときは、プレイヤオブジェクト１０１がクラッシュしたときの処理が実行される。例えば、プレイヤオブジェクト１０１がクラッシュした様子を示すための処理や、プレイヤオブジェクトの残機を１つ減らす処理等が実行される。一方、リングオブジェクト１０２の内円部分の当たり判定に接触したときは、当該リングオブジェクト１０２を通過することができた（くぐった）として、所定の得点を加算する処理が実行される。また、この場合は、当該リングオブジェクト１０２を消去する処理も実行される。
【００８６】
次に、ステップＳ１１において、上述したような処理以外のゲーム処理が適宜実行される。そして、ステップＳ１２において、上述したような処理内容が反映された仮想ゲーム空間を示すゲーム画像が生成され、描画されることになる。その結果、画面に表示されているリングオブジェクト１０２については、全てその開口面がプレイヤオブジェクト１０１の方向を向いているようなゲーム画像が表示されることになる。
【００８７】
次に、ステップＳ１３において、ゲーム終了のための条件が満たされたか否かが判断され、ＹＥＳの場合、ゲーム処理は終了され、ＮＯの場合、ステップＳ２に戻って、ゲーム処理が繰り返される。以上で、本実施形態にかかるゲーム処理の説明を終了する。
【００８８】
このように、本実施形態では、プレイヤオブジェクト１０１がくぐる（通過する）ことが可能なリングオブジェクト１０２を複数配置し、各リングオブジェクト１０２の開口面を常にプレイヤオブジェクト１０１の方向に向けるように制御している。これにより、仮想３次元空間内でプレイヤオブジェクトを自由に移動させることが可能なゲームにおいて、上記のようなリングオブジェクト１０２をくぐるという操作の難度を下げることが可能となり、ゲームの難度を適度なものとしながら、ゲームの興趣性を高めることが可能となる。
【００８９】
なお、上記実施形態では、プレイヤオブジェクト１０１が通過する対象としてリングオブジェクト１０２を例に挙げた。このようなリングの形状をしたオブジェクトに限らず、プレイヤオブジェクト１０１が侵入したり、くぐり抜けて通過できるように構成されたオブジェクトであれば、他の形状のオブジェクトであっても本発明は適用可能である。例えば、侵入可能な入り口（開口）のある建築物のようなオブジェクトであって、かつ、可動するようなオブジェクトを対象に、上述したような処理を行っても良い。
【００９０】
また、本実施形態では、リングオブジェクト１０２をプレイヤオブジェクト１０１が通過するゲームを例に挙げたが、この他、プレイヤオブジェクトが対象となるオブジェクト（上述の実施形態ではリングオブジェクト）の所定部分に到達、衝突、侵入等することを要求するようなゲームに関しても、本発明は適用可能である。
【００９１】
また、本実施形態では、リングオブジェクト１０２は開口部を備えたリング状のオブジェクトを例に挙げたが、本発明はこれに限らず、当該オブジェクトは開口部を備えてなくても良く、例えば球体や立方体などでも良い。
【００９２】
また、本実施形態では、オブジェクト１０２に２種類の当たり判定が設定されている例を挙げたが、本発明はこれに限らず、３種類以上または２種類未満の当たり判定があってもよい。例えば、本実施形態のリングオブジェクトを例にとれば、当たり判定は、クラッシュ用の当たり判定を１種類のみ設けるようにしてもよい。この場合、プレイヤオブジェクト１０１がリングオブジェクト１０２をくぐったか否かを当たり判定とは別の手法（例えば、プレイヤオブジェクト１０１の位置がリングオブジェクトの中心位置付近に到達したか否かを判別する等）で判別すればよい。また、リングオブジェクトの内円部分の当たり判定を２種類以上設けて、どの当たり判定を通過したかに応じて加算される得点を変えるようにしてもよい（例えば、リングオブジェクトの中心付近を通過すれば高得点が加算され、リングオブジェクトの端の方を通過すると低得点が加算される等）。
【００９３】
また、上記実施形態では、仮想カメラの視界範囲内に入っているリングオブジェクト１０２のみを対象として開口面の向きの調整を行っていた。この他、仮想カメラの視界範囲内に入っているか否かに関わらず、全てのリングオブジェクト１０２に対して開口面の向きを調整する処理を行うようにしても良い。また、仮想カメラの視界範囲内に入っているリングオブジェクト１０２に対して開口面の向きを調整するのではなく、プレイヤオブジェクト１０１の位置から所定距離以内に近づいたリングオブジェクト１０２に対して開口面の向きを調整してもよい。
【００９４】
また、上述したような処理によって開口面の方角が調整されたリングオブジェクト１０２について、更に、当該方角調整後の姿勢を基準として、リングオブジェクト１０２が若干揺らいでいるような動作を演出として表現するようにしてもよい。例えば、Ｘ軸回りにプラス３度〜マイナス３度程度の幅で、１度／秒の割合で開口面の方角を変動させるようにしてもよい。若干の姿勢変動であれば、リングオブジェクト１０２にプレイヤオブジェクト１０１を通過させる操作の難度は大きく変わらず、且つ、若干の動きを伴わせるため、リングオブジェクトがそこに存在していることをプレイヤに気付かせやすくすることも可能となる。
【００９５】
また、上記実施形態では、ハンググライダーを題材にしたフライトシミュレーションゲームを例に挙げたが、この他、仮想３次元空間を自由に移動可能なプレイヤオブジェクトを操作するゲームであれば、例えばドライブゲームやレースゲーム等にも本発明は適用可能である。また、仮想３次元空間内でオブジェクトを操作する態様のものであれば、ゲーム以外の分野にも適用可能である。
【００９６】
また、上述したような実施形態にかかる処理を実行するためのゲーム処理に代表されるような表示制御処理プログラムは、任意のコンピュータ読み取り可能な記憶媒体（例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、半導体メモリカード、ＲＯＭ、ＲＡＭなど）に格納され得る。
【００９７】
また、上記実施形態においては、プレイヤオブジェクト１０１の現在位置に基づいてリングオブジェクト１０２の向きを制御するための一連の処理が単一の装置（ゲーム装置１０）において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。さらには、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【符号の説明】
【００９８】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
【図１】
0005816435.tif 000002
【図２】
0005816435.tif 000003
【図３】
0005816435.tif 000004
【図４】
0005816435.tif 000005
【図５】
0005816435.tif 000006
【図６】
0005816435.tif 000007
【図７】
0005816435.tif 000008
【図８】
0005816435.tif 000009
【図９】
0005816435.tif 000010