(57)【特許請求の範囲】
【請求項１】
オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は前記光源から照射される光の照射方向を変更する機能と、
前記ゲームフィールドに設けられた投影面に、前記光源から照射される光により投影される前記オブジェクトの影を描画する機能と、
記憶装置に、前記オブジェクトの影が形成すべき所定の形状と、前記所定の形状に類似する形状を段階的に複数記憶しておき、前記所定の形状又は前記所定の形状に類似する形状の影が前記投影面に形成されているか否かを判定する機能と、
前記所定の形状に類似する形状の影が形成されていると判定されたとき、その旨をプレイヤーに提示する機能と、
前記所定の形状の影が形成されていると判定されたとき、前記所定の形状の影に対応する所定の機能を発動する機能と、
をコンピュータに実現させるためのゲーム制御プログラム。
【請求項２】
前記判定する機能は、前記影を描画する機能が描画した前記オブジェクトの影の二次元画像を参照して、前記所定の形状の影が形成されているか否かを判定することを特徴とする請求項１に記載のゲーム制御プログラム。
【請求項３】
前記判定する機能は、前記光源の位置及び前記照射方向に基づいて、前記所定の形状の影が形成されているか否かを判定することを特徴とする請求項１に記載のゲーム制御プログラム。
【請求項４】
前記判定する機能は、前記オブジェクトの影が、前記所定の形状に近づいたときに、その旨をプレイヤーに提示することを特徴とする請求項１から３のいずれかに記載のゲーム制御プログラム。
【請求項５】
前記オブジェクトの影に沿ってキャラクタを移動させる機能を更にコンピュータに実現させ、
前記判定する機能は、前記キャラクタを導くべきゴールの形状が形成されているか否かを判定し、
前記発動する機能は、前記ゴールの形状が形成されていると判定された場合、前記ゴールが形成されたことをプレイヤーに提示し、前記キャラクタが前記ゴールに到達すると、ゲームの目的が達成されたと判定することを特徴とする請求項１から３のいずれかに記載のゲーム制御プログラム。
【請求項６】
前記オブジェクトの影に沿ってキャラクタを移動させる機能を更にコンピュータに実現させ、
前記判定する機能は、トンネルの出入口となる複数のオブジェクトの影がつながることにより、前記キャラクタが通過可能なトンネルの形状が形成されているか否かを判定し、
前記発動する機能は、前記トンネルの形状が形成されていると判定された場合、前記キャラクタが複数の前記出入口のいずれかを通過すると、前記キャラクタを他の出入口の位置まで移動させることを特徴とする請求項１から３のいずれかに記載のゲーム制御プログラム。
【請求項７】
前記所定の形状に関連する文言をプレイヤーに提示する機能を更にコンピュータに実現させることを特徴とする請求項１から３のいずれかに記載のゲーム制御プログラム。
【請求項８】
オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は光の照射方向を変更する光源制御部と、
前記ゲームフィールドに設けられた投影面に投影される前記オブジェクトの影を描画する影描画部と、
記憶装置に、前記オブジェクトの影が形成すべき所定の形状と、前記所定の形状に類似する形状を段階的に複数記憶しておき、前記所定の形状又は前記所定の形状に類似する形状の影が前記投影面に形成されているか否かを判定する影形状判定部と、を備え、
前記影形状判定部は、前記所定の形状に類似する形状の影が形成されていると判定されたとき、その旨をプレイヤーに提示し、前記所定の形状の影が形成されていると判定されたとき、前記所定の形状の影に対応する所定の機能を発動することを特徴とするゲーム装置。
【請求項９】
光源制御部が、オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は光の照射方向を変更するステップと、
影描画部が、前記ゲームフィールドに設けられた投影面に投影される前記オブジェクトの影を描画するステップと、
影形状判定部が、記憶装置に、前記オブジェクトの影が形成すべき所定の形状と、前記所定の形状に類似する形状を段階的に複数記憶しておき、前記所定の形状又は前記所定の形状に類似する形状の影が前記投影面に形成されているか否かを判定するステップと、
前記影形状判定部が、前記所定の形状に類似する形状の影が形成されていると判定されたとき、その旨をプレイヤーに提示するステップと、
前記影形状判定部が、前記所定の形状の影が形成されていると判定されたとき、前記所定の形状の影に対応する所定の機能を発動するステップと、
を備えることを特徴とするゲーム制御方法。
【請求項１０】
請求項１から６のいずれかに記載のゲーム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム制御技術に関し、とくに、３次元空間に配置されたオブジェクトの影に沿ってキャラクタを移動させるゲームを制御するゲーム装置、ゲーム制御方法、及びゲーム制御プログラムに関する。
【背景技術】
【０００２】
３次元空間をモデリングしたゲームフィールドにおいて、キャラクタを移動させて所定のゴールへ導くゲームが数多く提供されている。ゲームフィールドにいろいろな趣向を凝らしたギミックを配置したり、敵キャラクタを配置したりするなどして、新しい娯楽性を提供する努力がなされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許公開第２００９−０１０４９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者らは、３次元空間に配置されたオブジェクトの影に沿ってキャラクタを移動させるという、全く新しいゲームを提供する技術を想到するに至った。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲーム制御技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は、ゲーム制御プログラムに関する。このゲーム制御プログラムは、オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は前記光源から照射される光の照射方向を変更する機能と、前記ゲームフィールドに設けられた投影面に、前記光源から照射される光により投影される前記オブジェクトの影を描画する機能と、前記オブジェクトの影が形成すべき所定の形状が形成されているか否かを判定する機能と、前記所定の形状の影が形成されていると判定されたとき、前記所定の形状の影に対応する所定の機能を発動する機能と、をコンピュータに実現させる。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、より娯楽性の高いゲーム制御技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例にかかるゲームシステムの使用環境を示す図である。
【図２】入力デバイスの外観構成を示す図である。
【図３】入力デバイスの内部構成を示す図である。
【図４】ゲーム装置の構成を示す図である。
【図５】アプリケーション処理部の構成を示す図である。
【図６】実施の形態に係るゲーム装置により制御されるゲームにおけるゲームフィールドの例を示す図である。
【図７】ゲーム画面の例を示す図である。
【図８】影描画部により描画されたオブジェクトの影の画像を示す図である。
【図９】ゲーム画面の例を示す図である。
【図１０】ゲーム画面の例を示す図である。
【図１１】キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図１２】キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図１３】キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図１４】キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図１５】ゴールの形成を判定する機能について説明する図である。
【図１６】トンネルの形成を判定する機能について説明するための図である。
【図１７】影絵の形成を判定する機能について説明するための図である。
【発明を実施するための形態】
【００１０】
実施の形態に係るゲーム装置は、ユーザが光源の位置を操作することにより、３次元空間内に配置されたオブジェクトの影の位置や形状を変化させ、オブジェクトの影に沿ってキャラクタを移動させるゲームを提供する。キャラクタが影の上を移動するという現実世界では起こりえない現象をゲーム世界において実現させることにより、現実世界では味わえない斬新な楽しさをユーザに提供することができる。
【００１１】
図１は、本発明の実施例にかかるゲームシステム１の使用環境を示す。ゲームシステム１は、ゲームソフトウェアを実行するゲーム装置１０と、ゲーム装置１０による処理結果を出力する表示装置１２と、入力デバイス２０と、入力デバイス２０を撮像する撮像装置１４を備える。
【００１２】
入力デバイス２０は、ユーザが操作指示を行うための操作入力装置であり、ゲーム装置１０は、入力デバイス２０における操作指示をもとにゲームアプリケーションを処理して、ゲームアプリケーションの処理結果を示す画像信号を生成する処理装置である。
【００１３】
入力デバイス２０は、ユーザによる操作指示をゲーム装置１０に伝送する機能をもち、本実施例ではゲーム装置１０との間で無線通信可能な無線コントローラとして構成される。入力デバイス２０とゲーム装置１０は、Bluetooth（ブルートゥース）（登録商標）プロトコルを用いて無線接続を確立してもよい。なお入力デバイス２０は、無線コントローラに限らず、ゲーム装置１０とケーブルを介して接続される有線コントローラであってもよい。
【００１４】
入力デバイス２０はバッテリにより駆動され、ゲームを進行させる操作指示を行うための複数のボタンを有して構成される。ユーザが入力デバイス２０のボタンを操作すると、その操作指示が無線によりゲーム装置１０に送信される。ゲーム装置１０は、入力デバイス２０から操作指示を受信し、操作指示に応じてゲーム進行を制御して、ゲーム画像信号を生成する。生成されたゲーム画像信号は、表示装置１２より出力される。
【００１５】
撮像装置１４は、ＣＣＤ撮像素子またはＣＭＯＳ撮像素子などから構成されるビデオカメラであり、実空間を所定の周期で撮像して、周期ごとのフレーム画像を生成する。たとえば、撮像装置１４の撮像速度は３０枚／秒として、表示装置１２のフレームレートと一致させてもよい。撮像装置１４は、ＵＳＢ（Universal Serial Bus）あるいはその他のインタフェースを介してゲーム装置１０と接続する。
【００１６】
表示装置１２は画像を出力するディスプレイであって、ゲーム装置１０において生成された画像信号を受けて、ゲーム画面を表示する。表示装置１２は、ディスプレイおよびスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。表示装置１２は、ゲーム装置１０に有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。
【００１７】
本実施例のゲームシステム１において、入力デバイス２０は発光体を有する。ゲーム中、発光体は所定色で発光し、撮像装置１４により撮像される。撮像装置１４は入力デバイス２０を撮像し、フレーム画像を生成してゲーム装置１０に供給する。ゲーム装置１０はフレーム画像を取得して、フレーム画像における発光体の画像の位置および大きさから、実空間における発光体の位置情報を導出する。ゲーム装置１０は、位置情報をゲームの操作指示として取り扱い、プレイヤーキャラクタの動作を制御するなど、ゲームの処理に反映させる。本実施例のゲーム装置１０は、入力デバイス２０のボタンなどの操作入力だけでなく、取得した発光体画像の位置情報も用いてゲームアプリケーションを処理する機能をもつ。
【００１８】
入力デバイス２０の発光体は、複数色で発光可能に構成される。発光体は、ゲーム装置１０からの発光指示により、発光色を変更できる。
【００１９】
また入力デバイス２０は加速度センサおよびジャイロセンサを有する。センサの検出値は、所定周期でゲーム装置１０に送信され、ゲーム装置１０は、センサの検出値を取得して、実空間における入力デバイス２０の姿勢情報を取得する。ゲーム装置１０は、姿勢情報をゲームの操作指示として取り扱い、ゲームの処理に反映させる。このように本実施例のゲーム装置１０は、取得した入力デバイス２０の姿勢情報も用いてゲームアプリケーションを処理する機能をもつ。
【００２０】
図２は、入力デバイス２０の外観構成を示す。図２（ａ）は、入力デバイス２０の上面構成を示し、図２（ｂ）は、入力デバイス２０の下面構成を示す。入力デバイス２０は、発光体２２およびハンドル２４を有する。発光体２２は、その外側を光透過性を有する樹脂で球体に形成され、内側に発光ダイオードや電球などの発光素子を有する。内側の発光素子が発光すると、外側の球体全体が光る。ハンドル２４の上面には、操作ボタン３０、３２、３４、３６、３８が設けられ、下面には操作ボタン４０が設けられる。ユーザはハンドル２４の端部を手で把持した状態で、操作ボタン３０、３２、３４、３６、３８を親指で操作し、操作ボタン４０を人差し指で操作する。操作ボタン３０、３２、３４、３６、３８は、押下式に構成され、ユーザは押下することで操作する。操作ボタン４０は、アナログ量を入力できるものであってよい。
【００２１】
ユーザは表示装置１２に表示されるゲーム画面を見ながらゲームを行う。撮像装置１４は、ゲームアプリケーションの実行中に発光体２２を撮像する必要があるため、その撮像範囲が表示装置１２と同じ方向を向くように配置されることが好ましい。一般にユーザは表示装置１２の正面でゲームをプレイすることが多いため、撮像装置１４は、その光軸の方向が表示装置１２の正面方向と一致するように配置される。具体的に、撮像装置１４は、表示装置１２の近傍において、表示装置１２の表示画面をユーザが視認可能な位置を撮像範囲に含むように配置されることが好ましい。これにより、撮像装置１４は、入力デバイス２０を撮像できる。
【００２２】
図３は、入力デバイス２０の内部構成を示す。入力デバイス２０は、無線通信モジュール４８、処理部５０、発光部６２および操作ボタン３０、３２、３４、３６、３８、４０を備える。無線通信モジュール４８は、ゲーム装置１０の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部５０は、入力デバイス２０における所期の処理を実行する。
【００２３】
処理部５０は、メイン制御部５２、入力受付部５４、３軸加速度センサ５６、３軸ジャイロセンサ５８および発光制御部６０を有する。メイン制御部５２は、無線通信モジュール４８との間で必要なデータの送受を行う。
【００２４】
入力受付部５４は、操作ボタン３０、３２、３４、３６、３８、４０からの入力情報を受け付け、メイン制御部５２に送る。３軸加速度センサ５６は、ＸＹＺの３軸方向の加速度成分を検出する。３軸ジャイロセンサ５８は、ＸＺ平面、ＺＹ平面、ＹＸ平面における角速度を検出する。なお、ここでは、入力デバイス２０の幅方向をＸ軸、高さ方向をＹ軸、長手方向をＺ軸と設定する。３軸加速度センサ５６および３軸ジャイロセンサ５８は、入力デバイス２０のハンドル２４内に配置され、ハンドル２４内の中心近傍に配置されることが好ましい。無線通信モジュール４８は、操作ボタンからの入力情報とともに、３軸加速度センサ５６による検出値情報、および３軸ジャイロセンサ５８による検出値情報を、所定の周期でゲーム装置１０の無線通信モジュールに送信する。この送信周期は、たとえば１１．２５ｍ秒に設定される。
【００２５】
発光制御部６０は、発光部６２の発光を制御する。発光部６２は、赤色ＬＥＤ６４ａ、緑色ＬＥＤ６４ｂ、青色ＬＥＤ６４ｃを有し、複数色の発光を可能とする。発光制御部６０は、赤色ＬＥＤ６４ａ、緑色ＬＥＤ６４ｂ、青色ＬＥＤ６４ｃの発光を調整して、発光部６２を所望の色に発光させる。
【００２６】
無線通信モジュール４８はゲーム装置１０から発光指示を受け取ると、メイン制御部５２に供給し、メイン制御部５２は、発光制御部６０に発光指示を供給する。発光制御部６０は、発光部６２が発光指示により指定された色で発光するように、赤色ＬＥＤ６４ａ、緑色ＬＥＤ６４ｂ、青色ＬＥＤ６４ｃの発光を制御する。たとえば発光制御部６０は、各ＬＥＤをＰＷＭ（パルス幅変調）制御で点灯制御してもよい。
【００２７】
図４は、ゲーム装置１０の構成を示す。ゲーム装置１０は、フレーム画像取得部８０、画像処理部８２、デバイス情報導出部８４、無線通信モジュール８６、入力受付部８８、出力部９０およびアプリケーション処理部１００を備える。本実施例におけるゲーム装置１０の処理機能は、ＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置１０に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。なおハードウェアの構成上、ゲーム装置１０は複数のＣＰＵを有してもよい。
【００２８】
無線通信モジュール８６は、入力デバイス２０の無線通信モジュール４８との間で無線通信を確立する。これにより入力デバイス２０は、操作ボタンの状態情報、３軸加速度センサ５６および３軸ジャイロセンサ５８の検出値情報を、ゲーム装置１０に所定の周期で送信できるようになる。
【００２９】
無線通信モジュール８６は、入力デバイス２０から送信される操作ボタンの状態情報、およびセンサ検出値情報を受信し、入力受付部８８に供給する。入力受付部８８は、ボタン状態情報およびセンサ検出値情報を分離し、アプリケーション処理部１００に引き渡す。アプリケーション処理部１００は、ボタン状態情報およびセンサ検出値情報を、ゲームの操作指示として受け取る。アプリケーション処理部１００は、センサ検出値情報を、入力デバイス２０の姿勢情報として取り扱う。
【００３０】
フレーム画像取得部８０はＵＳＢインタフェースとして構成され、撮像装置１４から所定の撮像速度（たとえば３０フレーム／秒）でフレーム画像を取得する。画像処理部８２は、フレーム画像から発光体画像を抽出する。画像処理部８２は、フレーム画像中の発光体画像の位置、および大きさを特定する。入力デバイス２０の発光体２２が、たとえばユーザ環境内で使われそうにない色で点灯することで、画像処理部８２は、フレーム画像から高精度に発光体画像を抽出できる。画像処理部８２は、フレーム画像データを所定の閾値を用いて２値化処理し、２値化された画像を生成してもよい。この２値化処理により、所定の閾値より大きい輝度を保持する画素の画素値が“１”に符号化され、所定の閾値以下の輝度を保持する画素の画素値が“０”に符号化される。この所定の閾値を超える輝度で発光体２２を点灯させることで、画像処理部８２は、２値化された画像から、発光体画像の位置および大きさを特定できる。たとえば画像処理部８２は、フレーム画像における発光体画像の重心座標と、発光体画像の半径を特定する。
【００３１】
デバイス情報導出部８４は、画像処理部８２で特定された発光体画像の位置および大きさから、撮像装置１４からみた入力デバイス２０の位置情報を導出する。デバイス情報導出部８４は、発光体画像の重心座標からカメラ座標における位置座標を導出し、また発光体画像の半径から、撮像装置１４からの距離情報を導出する。この位置座標および距離情報は、入力デバイス２０の位置情報を構成する。デバイス情報導出部８４は、フレーム画像ごとに入力デバイス２０の位置情報を導出し、アプリケーション処理部１００に引き渡す。アプリケーション処理部１００は、入力デバイス２０の位置情報を、ゲームの操作指示として受け取る。
【００３２】
アプリケーション処理部１００は、入力デバイス２０の位置情報および姿勢情報と、ボタン状態情報とからゲームを進行させて、ゲームアプリケーションの処理結果を示す画像信号を生成する。画像信号は出力部９０から表示装置１２に送られ、表示画像として出力される。
【００３３】
図５は、アプリケーション処理部１００の構成を示す。アプリケーション処理部１００は、操作指示受付部１０２、制御部１１０、パラメータ保持部１５０、ゲームデータ保持部１５２および画像生成部１５４を備える。
【００３４】
操作指示受付部１０２は、デバイス情報導出部８４から入力デバイス２０の位置情報を、入力受付部８８から入力デバイス２０の姿勢情報およびボタン状態情報を、それぞれ操作指示として受け付ける。制御部１１０は、操作指示受付部１０２が受け付けた操作指示にもとづいてゲームプログラムを実行し、ゲームを進行させる。パラメータ保持部１５０は、ゲームの進行に必要なパラメータを保持する。ゲームデータ保持部１５２は、ゲーム世界を構成するオブジェクトなどの三次元データなど、ゲームに必要なデータを保持する。画像生成部１５４は、制御部１１０によりレンダリングされたゲームフィールドの画像に、各種情報などを付加して表示画面を生成する。
【００３５】
制御部１１０は、光源制御部１１２、ゲームフィールド描画部１１４、影描画部１１６、キャラクタ制御部１１８、ギミック制御部１２０、影形状判定部１２２を含む。
【００３６】
光源制御部１１２は、入力デバイス２０の位置情報、姿勢情報及びボタン状態情報に基づいて、ゲームフィールド内に設定される光源の位置又は光源から照射される光の照射方向を制御する。光源制御部１１２は、入力デバイス２０の操作ボタン４０が押されると、パラメータ保持部１５０に保持された現在の光源位置及び照射方向を示す情報と、入力デバイス２０の位置情報及び姿勢情報とに基づいて、光源位置及び照射方向角度を算出し、影描画部１１６に通知するとともに、パラメータ保持部１５０に格納する。
【００３７】
ゲームフィールド描画部１１４は、ゲームフィールドをレンダリングするための視点位置及び視線方向を設定し、ゲームフィールドに配置されたオブジェクト及び影の投影面をレンダリングして、ゲームフィールドの画像を生成する。本実施の形態では、ゲームフィールドを構成する壁及び床を投影面とする。
【００３８】
影描画部１１６は、ゲームフィールド描画部１１４が設定した視点位置及び視線方向と、光源制御部１１２が設定した光源位置及び照射方向とを取得し、光源から照射される光により壁及び床に投影されるオブジェクトの影を描画する。影描画部１１６が描画した影の二次元画像は、パラメータ保持部１５０に格納される。
【００３９】
キャラクタ制御部１１８は、影描画部１１６により描画された影に沿ってキャラクタを移動させる。キャラクタ制御部１１８は、影描画部１１６により描画された影の二次元画像を参照して、キャラクタの移動先を判定する。キャラクタ制御部１１８は、複数のオブジェクトが離れた位置に配置されていたとしても、それらのオブジェクトの影同士がつながっていれば、それらのオブジェクトの影の間をキャラクタが移動可能とする。キャラクタ制御部１１８は、所定の速度で自動的にキャラクタを移動させるが、プレイヤーから移動速度を増減する操作指示を取得すると、キャラクタの移動速度を増減させる。
【００４０】
ギミック制御部１２０は、ゲームフィールドに配置されたオブジェクトに設定された、所定の機能を発動させるギミックを制御する。ギミック制御部１２０は、キャラクタ制御部１１８により制御されるキャラクタが、配置されたギミックの付近を通過する際に、そのギミックの機能を発動するか否かを判定し、発動する場合には、キャラクタ制御部１１８などにその旨を通知する。ギミック制御部１２０は、配置されたギミックの機能を発動するか否かを所定のタイミング、例えばフレームごとに判定してもよい。
【００４１】
影形状判定部１２２は、影描画部１１６により描画されたオブジェクトの影の形状が、予め定められた所定の形状になっているか否かを判定する。影形状判定部１２２は、パラメータ保持部１５０に格納された、影描画部１１６により描画された影の二次元画像と、ゲームデータ保持部１５２に格納された、予め定められた形状とを比較して、影の二次元画像の中から予め定められた形状を検出する。影形状判定部１２２は、光源の位置及び照射方向が所定の位置及び方向に合致したときに、所定の形状の影が形成されたと判定してもよい。予め定められた形状が検出されると、その旨を識別可能に表示することにより、プレイヤーに通知する。影形状判定部１２２は、影の形状を所定のタイミング、例えばフレームごとに判定してもよい。影形状判定部１２２は、ギミック制御部１２０がギミックの機能を発動するか否かを判定する際に、ギミックの影の形状が所定の形状になっているか否かを判定するために用いられてもよい。
【００４２】
影形状判定部１２２は、影描画部１１６により描画されたオブジェクトの影が形成すべき所定の形状に近づいたことを、段階的にプレイヤーに提示してもよい。例えば、形成すべき所定の形状のほかに、所定の形状に類似する形状を段階的に複数保持しておき、それらの形状に合致する形状が検出されると、その旨をプレイヤーに提示してもよい。また、影描画部１１６により描画された影の二次元画像の中から所定の形状を探索する際に、既知の任意の技術により形状マッチングを行い、所定の類似度よりも高い結果が得られた場合に、その旨をプレイヤーに提示してもよい。また、光源位置又は照射方向の、所定の位置又は方向からのずれが所定値未満になったときに、その旨をプレイヤーに提示してもよい。
【００４３】
図６は、実施の形態に係るゲーム装置により制御されるゲームにおけるゲームフィールドの例を示す。３次元空間内に、ゲームフィールドを構成する壁２１０と、ゲームフィールド内に配置されたオブジェクト２０２、２０４が設けられている。図示しない光源からゲームフィールドに光が当てられ、その光によりオブジェクト２０２の影２１２、オブジェクト２０４の影２１４が壁２１０に投影される。本実施の形態においては、強い光が当たっている領域２００の内側に投影される影のみを表示しているが、影描画部１１６は、領域２００の外側に投影される影も描画しており、キャラクタ制御部１１８は、領域２００の外側に投影される影の上もキャラクタを移動可能とする。
【００４４】
光源制御部１１２は、プレイヤーが入力デバイス２０の操作ボタン４０を押しながら、入力デバイス２０を上下左右に移動させると、入力デバイス２０の位置情報に応じて、光源の位置を上下左右に移動させ、又は、光源の照射角度を上下左右に傾ける。また、プレイヤーが入力デバイス２０の操作ボタン４０を押しながら、入力デバイス２０を上下左右に傾けると、入力デバイス２０の姿勢情報に応じて、光源の位置を上下左右に移動させ、又は、光源の照射角度を上下左右に傾ける。光源制御部１１２は、ゲームフィールドにおける三次元座標の座標軸であるｘ軸及びｙ軸に沿って光源の位置又は角度を変更してもよいし、ゲームフィールドをレンダリングした画面における二次元座標の座標軸であるＸ軸及びＹ軸に沿って光源の位置又は角度を変更してもよい。光源制御部１１２は、入力デバイス２０と撮像装置１４との間の距離に応じて、ｚ軸方向又は画面の奥行き方向へ光源の位置を移動させてもよい。
【００４５】
図７は、ゲーム画面の例を示す。ゲームが開始されると、ゲームフィールド描画部１１４は、ゲームデータ保持部１５２から、キャラクタの初期位置を示す座標を取得し、その初期位置に、ブランコ２２２に乗ったキャラクタ２２０を表示する。また、ゲームデータ保持部１５２から、ゴールの位置を示す座標を取得し、その位置にゴール２２４を表示する。プレイヤーが光源を操作して、キャラクタ２２０を光で照らすと、キャラクタ制御部１１８は、キャラクタ２２０をブランコ２２２から落下させる。キャラクタ制御部１１８は、１フレームごとに所定の座標値ずつキャラクタ２２０の現在位置を下方へ移動させる。キャラクタ２２０の下方に影がなければ、キャラクタ２２０は画面下端まで落下し、ゲームオーバーとなる。キャラクタ２２０の下方に影があれば、キャラクタ制御部１１８は、キャラクタ２２０をその影の上に着地させる。したがって、プレイヤーは、ゲームの開始にあたって、キャラクタ２２０の下方にオブジェクトの影が投影されるように光源の位置や角度を調節しつつ、キャラクタ２２０を光で照らす必要がある。
【００４６】
図８は、影描画部１１６により描画されたオブジェクトの影の画像を示す。キャラクタ制御部１１８は、この二次元画像を参照して、キャラクタ２２０が着地した影２１２の上部に沿ってキャラクタ２２０を移動させる。キャラクタ制御部１１８は、まず、キャラクタ２２０を右方向へ移動させ、影２１２の右端にキャラクタ２２０が到達すると、キャラクタ２２０を左方向へ移動させる。そして、影２１２の左端にキャラクタ２２０が到達すると、キャラクタ２２０を右方向へ移動させる。キャラクタ制御部１１８は、先にキャラクタ２２０を左に移動させてもよい。
【００４７】
キャラクタ制御部１１８は、影に段差がある場合、所定の高さまでの上昇段差はキャラクタが乗り越えられるようにし、所定の高さ以上の上昇段差は乗り越えられずに逆方向へ移動させるようにしてもよい。また、所定の高さまでの下降段差はキャラクタが飛び降りられるようにし、所定の高さ以上の下降段差は飛び降りられずに逆方向へ移動させるようにしてもよい。また、キャラクタ制御部１１８は、キャラクタが接地している影と、その影に隣接する別の影との間の隙間が所定の範囲以内であれば、キャラクタが隣接する影へ飛び移れるようにしてもよい。
【００４８】
キャラクタ制御部１１８は、キャラクタの移動方向の、概ねキャラクタの身長に相当する範囲に、キャラクタが接地している影とは連続していない別の影が存在する場合、その影が障害物となって、その方向にはキャラクタが移動できないと判定し、キャラクタを逆方向へ移動させるようにしてもよい。
【００４９】
図８に示した状態では、キャラクタ２２０が接地している影２１２はゴール２２４につながっていないので、キャラクタ２２０はゴール２２４に辿り着くことができない。プレイヤーは、光源の位置や角度を調節して、影２１２、影２１４及びゴール２２４が一つにつながるようにして、キャラクタ２２０をゴール２２４へ導く。
【００５０】
図９は、ゲーム画面の例を示す。プレイヤーが、入力デバイスにより光源の位置を左方向へ移動させる、又は、光の照射方向を右へ移動させると、オブジェクトの影の位置は右へ移動する。光源制御部１１２が、光源位置又は照射方向を変更すると、影描画部１１６は、フレームごとに、光源位置及び照射方向を設定して、壁及び床に投影されたオブジェクトの影を描画する。キャラクタ制御部１１８は、光源制御部１１２が光源の位置又は角度を変更している間、キャラクタ２２０を移動させずにその場で静止させるが、影描画部１１６により描画される影２１２の移動にともなって、キャラクタ２２０も移動される。したがって、キャラクタ２２０は、影２１２に乗ったまま、影２１２とともに右へ移動する。影の移動にともなってキャラクタが移動しているときに、他の影などの障害物に衝突すると、キャラクタ制御部１１８は、その障害物に押されるようにキャラクタを移動させる。キャラクタが障害物により移動された結果、接地していた影のブロックから外れると、キャラクタ制御部１１８は、キャラクタをその位置から下方に落下させる。
【００５１】
図１０は、ゲーム画面の例を示す。プレイヤーが、光源位置を更に左方向に移動させる、又は、照射方向を更に右へ移動させると、オブジェクトの影は更に右へ移動し、オブジェクト２０２の影２１２と、オブジェクト２０４の影２１４と、ゴール２２４とが一体となる。この状態で光源位置及び照射方向を固定すると、キャラクタ制御部１１８がキャラクタ２２０をゴール２２４まで移動させ、ゲームクリアとなる。
【００５２】
ここで、光源制御部１１２及びキャラクタ制御部１１８の動作の詳細について更に説明する。光源制御部１１２により光源位置又は照射方向が変更されると、影描画部１１６は、カメラの視点位置及び視線方向と、光源の位置及び照射方向とを設定し、ゲームフィールド中の壁及び床を投影面としてオブジェクトの影を描画する。そして、影として描画された位置の、ゲーム画面上における二次元座標を算出し、パラメータ保持部１５０に格納する。このとき、影のブロックの上端の二次元座標のみをパラメータ保持部１５０に格納してもよい。光源制御部１１２は、光源位置又は照射方向の変更前後の影の位置の対応関係を求め、変更前にキャラクタが接地していた影の座標に対応する変更後の座標をキャラクタ制御部１１８に通知する。光源制御部１１２は、ゲームフィールドにギミックが配置されている場合、ギミックの種類と影の座標とをパラメータ保持部１５０に格納する。
【００５３】
キャラクタ制御部１１８は、光源制御部１１２が光源位置又は照射方向を変更している間は、キャラクタを自動的に移動させず、その場に停止させるが、接地している影の移動に伴って、光源制御部１１２から通知された変更後の座標にキャラクタを移動させる。キャラクタ制御部１１８は、光源制御部１１２が、光源位置又は照射方向を変更する速度が、所定の速度以上であればキャラクタを停止させ、所定の速度未満であればキャラクタを停止させないように制御してもよい。キャラクタ制御部１１８は、キャラクタがジャンプしたり落下したりして、影に接地していないときには、光源制御部１１２が光源位置又は照射方向を変更している間も、キャラクタを停止させず、自動的に移動させてもよい。キャラクタ制御部１１８は、光源制御部１１２が光源位置又は照射方向を変更していない間は、パラメータ保持部１５０に格納された影の二次元画像を参照して、キャラクタの移動位置を判定し、ゲーム画面上におけるキャラクタの二次元座標を更新する。
【００５４】
つづいて、ゲームフィールドに配置されるギミックについて説明する。図１１は、キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す。球形のオブジェクト２３２は、キャラクタをジャンプさせる機能を有するギミックである。オブジェクト２３２の影２４２が、キャラクタ２２０が接地している影２１２と重なっている場合に、キャラクタ２２０が影２４２の上に移動すると、ギミックの機能が発動され、キャラクタ２２０は上方にジャンプする。
【００５５】
図１２は、キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す。オブジェクト２３２の影２４２が、キャラクタ２２０が接地している影２１２と重なっていない場合は、影２４２はキャラクタ２２０をジャンプさせるギミックとして機能せず、キャラクタ２２０の移動を妨げる障害物となる。
【００５６】
影描画部１１６は、オブジェクトの影を描画する際に、通常のオブジェクトの影とギミックの影とを識別可能にパラメータ保持部１５０に記録する。影を描画する二次元平面の各ドットに、ギミックの影であるか否かを示すフラグを記録しておいてもよいし、ギミックの影の座標をテーブルとして記録しておいてもよい。キャラクタ制御部１１８は、キャラクタを移動させたときに、パラメータ保持部１５０を参照して、キャラクタが接地している影がギミックの影であるか否かを判定し、ギミックの影であれば、ギミック制御部１２０に通知する。
【００５７】
ギミック制御部１２０は、影描画部１１６により描画された影の二次元画像を参照して、キャラクタが接地しているギミックの影の状態に基づいて、ギミックの影が所定の状態になっていればギミックの機能を発動させ、なっていなければ発動させない。ギミック制御部１２０は、影の二次元画像において、ギミックが配置されたオブジェクトの影を中心として、その周辺の影の状態を参照して、ギミックの機能を発動するか否かを判定する。図１１及び図１２に示した、キャラクタをジャンプさせる機能を有するギミックの場合、ギミックの影が、直前までキャラクタが接地していた影に重なっていれば、ギミックの機能を発動させ、重なっていなければ、ギミックの機能を発動させない。
【００５８】
図１３は、キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す。空洞を有するオブジェクト２３４は、キャラクタを落下させる機能を有するギミックである。オブジェクト２３４の影２４４に穴が空いている場合に、キャラクタ２２０が影２４４の上に移動すると、ギミックの機能が発動され、キャラクタ２２０は影２４４の下に落下する。
【００５９】
図１４は、キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す。空洞が投影されないような光源位置及び照射方向から光が照射されていて、オブジェクト２３４の影２４４に穴が空いていない場合は、影２４４はキャラクタ２２０を落下させるギミックとして機能せず、キャラクタ２２０は影２４４の上を通過できる。
【００６０】
ギミック制御部１２０は、影描画部１１６により描画された影の二次元画像を参照して、キャラクタの現在位置の下方にオブジェクト２３４の空洞に由来する穴が空いているか否かを確認し、穴が空いていれば、ギミックの機能を発動させ、穴が空いていなければ、ギミックの機能を発動させない。
【００６１】
つづいて、影形状判定部１２２の機能について説明する。図１５は、ゴールの形成を判定する機能について説明する図である。図１５（ａ）は、球形のオブジェクト２５２の影２６２と、直方体のオブジェクト２５４の影２６４を示す。図１５（ｂ）は、球形のオブジェクト２５２の影２６２と、直方体のオブジェクト２５４の影２６４が、重なり合った状態を示す。影形状判定部１２２は、影描画部１１６により描画された影の二次元画像の中から、図１５（ｂ）に示した形状の影を検出すると、ゴールが形成されたと判定する。影形状判定部１２２は、ゴールが形成されたと判定すると、その旨を影描画部１１６に通知する。影描画部１１６は、図１５（ｃ）に示すように、影２６２及び影２６４を、ゴール２２４を示す画像に変更する。これにより、ゴール２２４が形成されたことがプレイヤーに通知される。
【００６２】
図１６は、トンネルの形成を判定する機能について説明するための図である。図１６（ａ）は、門の形をしたオブジェクト２５６の影２６６と、もう一つの門の形をしたオブジェクト２５７の影２６７と、直方体の柱の形をしたオブジェクト２５８の影２６８を示す。図１６（ｂ）は、門２５６の影２６６と柱２５８の影２６８が接し、門２５７の影２６７と柱２５８の影２６８が接した状態を示す。影形状判定部１２２は、影描画部１１６により描画された影の二次元画像の中から、図１６（ｂ）に示した形状の影を検出すると、トンネルが形成されたと判定する。影形状判定部１２２は、トンネルが形成されたと判定すると、その旨をキャラクタ制御部１１８に通知する。
【００６３】
キャラクタ制御部１１８は、図１６（ｃ）に示すように、門２５６の影２６６をキャラクタ２２０が通過すると、あたかも柱２５８の影２６８の中をくぐり抜けたかのように、キャラクタ２２０を門２５７の影２６７へ移動させる。キャラクタ制御部１１８は、キャラクタ２２０が門２５７の影２６７を通過したとき、柱２５８の影２６８に他の門の影が接していなければ、キャラクタ２２０が門２５７の影２６７から再び出てくるようにキャラクタ２２０を移動させる。
【００６４】
キャラクタ制御部１１８は、柱の影に接している門の影が２つ以上ある場合、キャラクタが通過した門の影の位置を起点として、他の門の影までの距離を算出し、最も近い位置にある門の影にキャラクタを移動させる。最も近い距離の門の影が複数ある場合には、最も上にある門の影に移動させてもよいし、最も左にある門の影に移動させてもよいし、任意のルールにより優先順位を決定してもよい。キャラクタがある門の影からトンネルに進入し、まだ他の門の影から脱出していない間に、光源制御部１１２により光源位置又は照射方向が変更されて、トンネルが分断された場合、キャラクタ制御部１１８は、トンネルに接続していたいずれかの門の影からキャラクタを脱出させてもよいし、ゲームオーバーとしてもよい。
【００６５】
図１７は、影絵の形成を判定する機能について説明するための図である。本図の例では、所定の光源位置から所定の方向に光を照射したときに、特定の形状の影が形成されるように、オブジェクトが配置されている。プレイヤーは、与えられた題をヒントにして、隠された影絵が形成されるように、光源位置又は照射方向を変更する。影形状判定部１２２が、特定の形状の影が形成されたと判定すると、その旨がプレイヤーに通知される。影形状判定部１２２は、影描画部１１６により描画された影の二次元画像を参照して、特定の形状を検出してもよいし、光源制御部１１２により変更された光源位置及び照射方向が特定の位置及び方向に合致するか否かを判定してもよい。特定の形状の影が形成されたときに、キャラクタをゴールへ導く通路が形成されるようにしてもよい。
【００６６】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００６７】
１  ゲームシステム、１０  ゲーム装置、１１０  制御部、１１２  光源制御部、１１４  ゲームフィールド描画部、１１６  影描画部、１１８  キャラクタ制御部、１２０  ギミック制御部、１２２  影形状判定部、１５０  パラメータ保持部、１５２  ゲームデータ保持部、１５４  画像生成部。
【図１】
0005600033.tif 000002
【図２】
0005600033.tif 000003
【図３】
0005600033.tif 000004
【図４】
0005600033.tif 000005
【図５】
0005600033.tif 000006
【図６】
0005600033.tif 000007
【図７】
0005600033.tif 000008
【図８】
0005600033.tif 000009
【図９】
0005600033.tif 000010
【図１０】
0005600033.tif 000011
【図１１】
0005600033.tif 000012
【図１２】
0005600033.tif 000013
【図１３】
0005600033.tif 000014
【図１４】
0005600033.tif 000015
【図１５】
0005600033.tif 000016
【図１６】
0005600033.tif 000017
【図１７】
0005600033.tif 000018