説明

ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム

【課題】娯楽性の高いゲーム制御技術を提供する。
【解決手段】ゲーム装置は、オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は光の照射方向を変更する光源制御部112と、ゲームフィールドに設けられた投影面に投影されるオブジェクトの影を描画する影描画部116と、オブジェクトの影に沿ってキャラクタを移動させるキャラクタ制御部118と、オブジェクトに設けられた、所定の機能を有するギミックを制御するギミック制御部120とを備える。ギミック制御部120は、キャラクタが、ギミックが設けられたオブジェクトの影の近傍に移動したときに、ギミックが設けられたオブジェクトの影の状態に基づいて、ギミックが有する機能を発動するか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム制御技術に関し、とくに、3次元空間に配置されたオブジェクトの影に沿ってキャラクタを移動させるゲームを制御するゲーム装置、ゲーム制御方法、及びゲーム制御プログラムに関する。
【背景技術】
【0002】
3次元空間をモデリングしたゲームフィールドにおいて、キャラクタを移動させて所定のゴールへ導くゲームが数多く提供されている。ゲームフィールドにいろいろな趣向を凝らしたギミックを配置したり、敵キャラクタを配置したりするなどして、新しい娯楽性を提供する努力がなされている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許公開第2009−0104992号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明者らは、3次元空間に配置されたオブジェクトの影に沿ってキャラクタを移動させるという、全く新しいゲームを提供する技術を想到するに至った。
【0005】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲーム制御技術を提供することにある。
【課題を解決するための手段】
【0006】
本発明のある態様は、ゲーム制御プログラムに関する。このゲーム制御プログラムは、オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は前記光源から照射される光の照射方向を変更する機能と、前記ゲームフィールドに設けられた投影面に、前記光源から照射される光により投影される前記オブジェクトの影を描画する機能と、前記オブジェクトの影に沿ってキャラクタを移動させる機能と、前記オブジェクトに設けられた、所定の機能を有するギミックを制御する機能と、前記キャラクタが、前記ギミックが設けられたオブジェクトの影の近傍に移動したときに、前記ギミックが設けられたオブジェクトの影の状態に基づいて、前記ギミックが有する機能を発動するか否かを判定する機能と、をコンピュータに実現させる。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によれば、より娯楽性の高いゲーム制御技術を提供することができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施例にかかるゲームシステムの使用環境を示す図である。
【図2】入力デバイスの外観構成を示す図である。
【図3】入力デバイスの内部構成を示す図である。
【図4】ゲーム装置の構成を示す図である。
【図5】アプリケーション処理部の構成を示す図である。
【図6】実施の形態に係るゲーム装置により制御されるゲームにおけるゲームフィールドの例を示す図である。
【図7】ゲーム画面の例を示す図である。
【図8】影描画部により描画されたオブジェクトの影の画像を示す図である。
【図9】ゲーム画面の例を示す図である。
【図10】ゲーム画面の例を示す図である。
【図11】キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図12】キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図13】キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図14】キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す図である。
【図15】ゴールの形成を判定する機能について説明する図である。
【図16】トンネルの形成を判定する機能について説明するための図である。
【図17】影絵の形成を判定する機能について説明するための図である。
【発明を実施するための形態】
【0010】
実施の形態に係るゲーム装置は、ユーザが光源の位置を操作することにより、3次元空間内に配置されたオブジェクトの影の位置や形状を変化させ、オブジェクトの影に沿ってキャラクタを移動させるゲームを提供する。キャラクタが影の上を移動するという現実世界では起こりえない現象をゲーム世界において実現させることにより、現実世界では味わえない斬新な楽しさをユーザに提供することができる。
【0011】
図1は、本発明の実施例にかかるゲームシステム1の使用環境を示す。ゲームシステム1は、ゲームソフトウェアを実行するゲーム装置10と、ゲーム装置10による処理結果を出力する表示装置12と、入力デバイス20と、入力デバイス20を撮像する撮像装置14を備える。
【0012】
入力デバイス20は、ユーザが操作指示を行うための操作入力装置であり、ゲーム装置10は、入力デバイス20における操作指示をもとにゲームアプリケーションを処理して、ゲームアプリケーションの処理結果を示す画像信号を生成する処理装置である。
【0013】
入力デバイス20は、ユーザによる操作指示をゲーム装置10に伝送する機能をもち、本実施例ではゲーム装置10との間で無線通信可能な無線コントローラとして構成される。入力デバイス20とゲーム装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルを用いて無線接続を確立してもよい。なお入力デバイス20は、無線コントローラに限らず、ゲーム装置10とケーブルを介して接続される有線コントローラであってもよい。
【0014】
入力デバイス20はバッテリにより駆動され、ゲームを進行させる操作指示を行うための複数のボタンを有して構成される。ユーザが入力デバイス20のボタンを操作すると、その操作指示が無線によりゲーム装置10に送信される。ゲーム装置10は、入力デバイス20から操作指示を受信し、操作指示に応じてゲーム進行を制御して、ゲーム画像信号を生成する。生成されたゲーム画像信号は、表示装置12より出力される。
【0015】
撮像装置14は、CCD撮像素子またはCMOS撮像素子などから構成されるビデオカメラであり、実空間を所定の周期で撮像して、周期ごとのフレーム画像を生成する。たとえば、撮像装置14の撮像速度は30枚/秒として、表示装置12のフレームレートと一致させてもよい。撮像装置14は、USB(Universal Serial Bus)あるいはその他のインタフェースを介してゲーム装置10と接続する。
【0016】
表示装置12は画像を出力するディスプレイであって、ゲーム装置10において生成された画像信号を受けて、ゲーム画面を表示する。表示装置12は、ディスプレイおよびスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。表示装置12は、ゲーム装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。
【0017】
本実施例のゲームシステム1において、入力デバイス20は発光体を有する。ゲーム中、発光体は所定色で発光し、撮像装置14により撮像される。撮像装置14は入力デバイス20を撮像し、フレーム画像を生成してゲーム装置10に供給する。ゲーム装置10はフレーム画像を取得して、フレーム画像における発光体の画像の位置および大きさから、実空間における発光体の位置情報を導出する。ゲーム装置10は、位置情報をゲームの操作指示として取り扱い、プレイヤーキャラクタの動作を制御するなど、ゲームの処理に反映させる。本実施例のゲーム装置10は、入力デバイス20のボタンなどの操作入力だけでなく、取得した発光体画像の位置情報も用いてゲームアプリケーションを処理する機能をもつ。
【0018】
入力デバイス20の発光体は、複数色で発光可能に構成される。発光体は、ゲーム装置10からの発光指示により、発光色を変更できる。
【0019】
また入力デバイス20は加速度センサおよびジャイロセンサを有する。センサの検出値は、所定周期でゲーム装置10に送信され、ゲーム装置10は、センサの検出値を取得して、実空間における入力デバイス20の姿勢情報を取得する。ゲーム装置10は、姿勢情報をゲームの操作指示として取り扱い、ゲームの処理に反映させる。このように本実施例のゲーム装置10は、取得した入力デバイス20の姿勢情報も用いてゲームアプリケーションを処理する機能をもつ。
【0020】
図2は、入力デバイス20の外観構成を示す。図2(a)は、入力デバイス20の上面構成を示し、図2(b)は、入力デバイス20の下面構成を示す。入力デバイス20は、発光体22およびハンドル24を有する。発光体22は、その外側を光透過性を有する樹脂で球体に形成され、内側に発光ダイオードや電球などの発光素子を有する。内側の発光素子が発光すると、外側の球体全体が光る。ハンドル24の上面には、操作ボタン30、32、34、36、38が設けられ、下面には操作ボタン40が設けられる。ユーザはハンドル24の端部を手で把持した状態で、操作ボタン30、32、34、36、38を親指で操作し、操作ボタン40を人差し指で操作する。操作ボタン30、32、34、36、38は、押下式に構成され、ユーザは押下することで操作する。操作ボタン40は、アナログ量を入力できるものであってよい。
【0021】
ユーザは表示装置12に表示されるゲーム画面を見ながらゲームを行う。撮像装置14は、ゲームアプリケーションの実行中に発光体22を撮像する必要があるため、その撮像範囲が表示装置12と同じ方向を向くように配置されることが好ましい。一般にユーザは表示装置12の正面でゲームをプレイすることが多いため、撮像装置14は、その光軸の方向が表示装置12の正面方向と一致するように配置される。具体的に、撮像装置14は、表示装置12の近傍において、表示装置12の表示画面をユーザが視認可能な位置を撮像範囲に含むように配置されることが好ましい。これにより、撮像装置14は、入力デバイス20を撮像できる。
【0022】
図3は、入力デバイス20の内部構成を示す。入力デバイス20は、無線通信モジュール48、処理部50、発光部62および操作ボタン30、32、34、36、38、40を備える。無線通信モジュール48は、ゲーム装置10の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部50は、入力デバイス20における所期の処理を実行する。
【0023】
処理部50は、メイン制御部52、入力受付部54、3軸加速度センサ56、3軸ジャイロセンサ58および発光制御部60を有する。メイン制御部52は、無線通信モジュール48との間で必要なデータの送受を行う。
【0024】
入力受付部54は、操作ボタン30、32、34、36、38、40からの入力情報を受け付け、メイン制御部52に送る。3軸加速度センサ56は、XYZの3軸方向の加速度成分を検出する。3軸ジャイロセンサ58は、XZ平面、ZY平面、YX平面における角速度を検出する。なお、ここでは、入力デバイス20の幅方向をX軸、高さ方向をY軸、長手方向をZ軸と設定する。3軸加速度センサ56および3軸ジャイロセンサ58は、入力デバイス20のハンドル24内に配置され、ハンドル24内の中心近傍に配置されることが好ましい。無線通信モジュール48は、操作ボタンからの入力情報とともに、3軸加速度センサ56による検出値情報、および3軸ジャイロセンサ58による検出値情報を、所定の周期でゲーム装置10の無線通信モジュールに送信する。この送信周期は、たとえば11.25m秒に設定される。
【0025】
発光制御部60は、発光部62の発光を制御する。発光部62は、赤色LED64a、緑色LED64b、青色LED64cを有し、複数色の発光を可能とする。発光制御部60は、赤色LED64a、緑色LED64b、青色LED64cの発光を調整して、発光部62を所望の色に発光させる。
【0026】
無線通信モジュール48はゲーム装置10から発光指示を受け取ると、メイン制御部52に供給し、メイン制御部52は、発光制御部60に発光指示を供給する。発光制御部60は、発光部62が発光指示により指定された色で発光するように、赤色LED64a、緑色LED64b、青色LED64cの発光を制御する。たとえば発光制御部60は、各LEDをPWM(パルス幅変調)制御で点灯制御してもよい。
【0027】
図4は、ゲーム装置10の構成を示す。ゲーム装置10は、フレーム画像取得部80、画像処理部82、デバイス情報導出部84、無線通信モジュール86、入力受付部88、出力部90およびアプリケーション処理部100を備える。本実施例におけるゲーム装置10の処理機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置10に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。なおハードウェアの構成上、ゲーム装置10は複数のCPUを有してもよい。
【0028】
無線通信モジュール86は、入力デバイス20の無線通信モジュール48との間で無線通信を確立する。これにより入力デバイス20は、操作ボタンの状態情報、3軸加速度センサ56および3軸ジャイロセンサ58の検出値情報を、ゲーム装置10に所定の周期で送信できるようになる。
【0029】
無線通信モジュール86は、入力デバイス20から送信される操作ボタンの状態情報、およびセンサ検出値情報を受信し、入力受付部88に供給する。入力受付部88は、ボタン状態情報およびセンサ検出値情報を分離し、アプリケーション処理部100に引き渡す。アプリケーション処理部100は、ボタン状態情報およびセンサ検出値情報を、ゲームの操作指示として受け取る。アプリケーション処理部100は、センサ検出値情報を、入力デバイス20の姿勢情報として取り扱う。
【0030】
フレーム画像取得部80はUSBインタフェースとして構成され、撮像装置14から所定の撮像速度(たとえば30フレーム/秒)でフレーム画像を取得する。画像処理部82は、フレーム画像から発光体画像を抽出する。画像処理部82は、フレーム画像中の発光体画像の位置、および大きさを特定する。入力デバイス20の発光体22が、たとえばユーザ環境内で使われそうにない色で点灯することで、画像処理部82は、フレーム画像から高精度に発光体画像を抽出できる。画像処理部82は、フレーム画像データを所定の閾値を用いて2値化処理し、2値化された画像を生成してもよい。この2値化処理により、所定の閾値より大きい輝度を保持する画素の画素値が“1”に符号化され、所定の閾値以下の輝度を保持する画素の画素値が“0”に符号化される。この所定の閾値を超える輝度で発光体22を点灯させることで、画像処理部82は、2値化された画像から、発光体画像の位置および大きさを特定できる。たとえば画像処理部82は、フレーム画像における発光体画像の重心座標と、発光体画像の半径を特定する。
【0031】
デバイス情報導出部84は、画像処理部82で特定された発光体画像の位置および大きさから、撮像装置14からみた入力デバイス20の位置情報を導出する。デバイス情報導出部84は、発光体画像の重心座標からカメラ座標における位置座標を導出し、また発光体画像の半径から、撮像装置14からの距離情報を導出する。この位置座標および距離情報は、入力デバイス20の位置情報を構成する。デバイス情報導出部84は、フレーム画像ごとに入力デバイス20の位置情報を導出し、アプリケーション処理部100に引き渡す。アプリケーション処理部100は、入力デバイス20の位置情報を、ゲームの操作指示として受け取る。
【0032】
アプリケーション処理部100は、入力デバイス20の位置情報および姿勢情報と、ボタン状態情報とからゲームを進行させて、ゲームアプリケーションの処理結果を示す画像信号を生成する。画像信号は出力部90から表示装置12に送られ、表示画像として出力される。
【0033】
図5は、アプリケーション処理部100の構成を示す。アプリケーション処理部100は、操作指示受付部102、制御部110、パラメータ保持部150、ゲームデータ保持部152および画像生成部154を備える。
【0034】
操作指示受付部102は、デバイス情報導出部84から入力デバイス20の位置情報を、入力受付部88から入力デバイス20の姿勢情報およびボタン状態情報を、それぞれ操作指示として受け付ける。制御部110は、操作指示受付部102が受け付けた操作指示にもとづいてゲームプログラムを実行し、ゲームを進行させる。パラメータ保持部150は、ゲームの進行に必要なパラメータを保持する。ゲームデータ保持部152は、ゲーム世界を構成するオブジェクトなどの三次元データなど、ゲームに必要なデータを保持する。画像生成部154は、制御部110によりレンダリングされたゲームフィールドの画像に、各種情報などを付加して表示画面を生成する。
【0035】
制御部110は、光源制御部112、ゲームフィールド描画部114、影描画部116、キャラクタ制御部118、ギミック制御部120、影形状判定部122を含む。
【0036】
光源制御部112は、入力デバイス20の位置情報、姿勢情報及びボタン状態情報に基づいて、ゲームフィールド内に設定される光源の位置又は光源から照射される光の照射方向を制御する。光源制御部112は、入力デバイス20の操作ボタン40が押されると、パラメータ保持部150に保持された現在の光源位置及び照射方向を示す情報と、入力デバイス20の位置情報及び姿勢情報とに基づいて、光源位置及び照射方向角度を算出し、影描画部116に通知するとともに、パラメータ保持部150に格納する。
【0037】
ゲームフィールド描画部114は、ゲームフィールドをレンダリングするための視点位置及び視線方向を設定し、ゲームフィールドに配置されたオブジェクト及び影の投影面をレンダリングして、ゲームフィールドの画像を生成する。本実施の形態では、ゲームフィールドを構成する壁及び床を投影面とする。
【0038】
影描画部116は、ゲームフィールド描画部114が設定した視点位置及び視線方向と、光源制御部112が設定した光源位置及び照射方向とを取得し、光源から照射される光により壁及び床に投影されるオブジェクトの影を描画する。影描画部116が描画した影の二次元画像は、パラメータ保持部150に格納される。
【0039】
キャラクタ制御部118は、影描画部116により描画された影に沿ってキャラクタを移動させる。キャラクタ制御部118は、影描画部116により描画された影の二次元画像を参照して、キャラクタの移動先を判定する。キャラクタ制御部118は、複数のオブジェクトが離れた位置に配置されていたとしても、それらのオブジェクトの影同士がつながっていれば、それらのオブジェクトの影の間をキャラクタが移動可能とする。キャラクタ制御部118は、所定の速度で自動的にキャラクタを移動させるが、プレイヤーから移動速度を増減する操作指示を取得すると、キャラクタの移動速度を増減させる。
【0040】
ギミック制御部120は、ゲームフィールドに配置されたオブジェクトに設定された、所定の機能を発動させるギミックを制御する。ギミック制御部120は、キャラクタ制御部118により制御されるキャラクタが、配置されたギミックの付近を通過する際に、そのギミックの機能を発動するか否かを判定し、発動する場合には、キャラクタ制御部118などにその旨を通知する。ギミック制御部120は、配置されたギミックの機能を発動するか否かを所定のタイミング、例えばフレームごとに判定してもよい。
【0041】
影形状判定部122は、影描画部116により描画されたオブジェクトの影の形状が、予め定められた所定の形状になっているか否かを判定する。影形状判定部122は、パラメータ保持部150に格納された、影描画部116により描画された影の二次元画像と、ゲームデータ保持部152に格納された、予め定められた形状とを比較して、影の二次元画像の中から予め定められた形状を検出する。影形状判定部122は、光源の位置及び照射方向が所定の位置及び方向に合致したときに、所定の形状の影が形成されたと判定してもよい。予め定められた形状が検出されると、その旨を識別可能に表示することにより、プレイヤーに通知する。影形状判定部122は、影の形状を所定のタイミング、例えばフレームごとに判定してもよい。影形状判定部122は、ギミック制御部120がギミックの機能を発動するか否かを判定する際に、ギミックの影の形状が所定の形状になっているか否かを判定するために用いられてもよい。
【0042】
影形状判定部122は、影描画部116により描画されたオブジェクトの影が形成すべき所定の形状に近づいたことを、段階的にプレイヤーに提示してもよい。例えば、形成すべき所定の形状のほかに、所定の形状に類似する形状を段階的に複数保持しておき、それらの形状に合致する形状が検出されると、その旨をプレイヤーに提示してもよい。また、影描画部116により描画された影の二次元画像の中から所定の形状を探索する際に、既知の任意の技術により形状マッチングを行い、所定の類似度よりも高い結果が得られた場合に、その旨をプレイヤーに提示してもよい。また、光源位置又は照射方向の、所定の位置又は方向からのずれが所定値未満になったときに、その旨をプレイヤーに提示してもよい。
【0043】
図6は、実施の形態に係るゲーム装置により制御されるゲームにおけるゲームフィールドの例を示す。3次元空間内に、ゲームフィールドを構成する壁210と、ゲームフィールド内に配置されたオブジェクト202、204が設けられている。図示しない光源からゲームフィールドに光が当てられ、その光によりオブジェクト202の影212、オブジェクト204の影214が壁210に投影される。本実施の形態においては、強い光が当たっている領域200の内側に投影される影のみを表示しているが、影描画部116は、領域200の外側に投影される影も描画しており、キャラクタ制御部118は、領域200の外側に投影される影の上もキャラクタを移動可能とする。
【0044】
光源制御部112は、プレイヤーが入力デバイス20の操作ボタン40を押しながら、入力デバイス20を上下左右に移動させると、入力デバイス20の位置情報に応じて、光源の位置を上下左右に移動させ、又は、光源の照射角度を上下左右に傾ける。また、プレイヤーが入力デバイス20の操作ボタン40を押しながら、入力デバイス20を上下左右に傾けると、入力デバイス20の姿勢情報に応じて、光源の位置を上下左右に移動させ、又は、光源の照射角度を上下左右に傾ける。光源制御部112は、ゲームフィールドにおける三次元座標の座標軸であるx軸及びy軸に沿って光源の位置又は角度を変更してもよいし、ゲームフィールドをレンダリングした画面における二次元座標の座標軸であるX軸及びY軸に沿って光源の位置又は角度を変更してもよい。光源制御部112は、入力デバイス20と撮像装置14との間の距離に応じて、z軸方向又は画面の奥行き方向へ光源の位置を移動させてもよい。
【0045】
図7は、ゲーム画面の例を示す。ゲームが開始されると、ゲームフィールド描画部114は、ゲームデータ保持部152から、キャラクタの初期位置を示す座標を取得し、その初期位置に、ブランコ222に乗ったキャラクタ220を表示する。また、ゲームデータ保持部152から、ゴールの位置を示す座標を取得し、その位置にゴール224を表示する。プレイヤーが光源を操作して、キャラクタ220を光で照らすと、キャラクタ制御部118は、キャラクタ220をブランコ222から落下させる。キャラクタ制御部118は、1フレームごとに所定の座標値ずつキャラクタ220の現在位置を下方へ移動させる。キャラクタ220の下方に影がなければ、キャラクタ220は画面下端まで落下し、ゲームオーバーとなる。キャラクタ220の下方に影があれば、キャラクタ制御部118は、キャラクタ220をその影の上に着地させる。したがって、プレイヤーは、ゲームの開始にあたって、キャラクタ220の下方にオブジェクトの影が投影されるように光源の位置や角度を調節しつつ、キャラクタ220を光で照らす必要がある。
【0046】
図8は、影描画部116により描画されたオブジェクトの影の画像を示す。キャラクタ制御部118は、この二次元画像を参照して、キャラクタ220が着地した影212の上部に沿ってキャラクタ220を移動させる。キャラクタ制御部118は、まず、キャラクタ220を右方向へ移動させ、影212の右端にキャラクタ220が到達すると、キャラクタ220を左方向へ移動させる。そして、影212の左端にキャラクタ220が到達すると、キャラクタ220を右方向へ移動させる。キャラクタ制御部118は、先にキャラクタ220を左に移動させてもよい。
【0047】
キャラクタ制御部118は、影に段差がある場合、所定の高さまでの上昇段差はキャラクタが乗り越えられるようにし、所定の高さ以上の上昇段差は乗り越えられずに逆方向へ移動させるようにしてもよい。また、所定の高さまでの下降段差はキャラクタが飛び降りられるようにし、所定の高さ以上の下降段差は飛び降りられずに逆方向へ移動させるようにしてもよい。また、キャラクタ制御部118は、キャラクタが接地している影と、その影に隣接する別の影との間の隙間が所定の範囲以内であれば、キャラクタが隣接する影へ飛び移れるようにしてもよい。
【0048】
キャラクタ制御部118は、キャラクタの移動方向の、概ねキャラクタの身長に相当する範囲に、キャラクタが接地している影とは連続していない別の影が存在する場合、その影が障害物となって、その方向にはキャラクタが移動できないと判定し、キャラクタを逆方向へ移動させるようにしてもよい。
【0049】
図8に示した状態では、キャラクタ220が接地している影212はゴール224につながっていないので、キャラクタ220はゴール224に辿り着くことができない。プレイヤーは、光源の位置や角度を調節して、影212、影214及びゴール224が一つにつながるようにして、キャラクタ220をゴール224へ導く。
【0050】
図9は、ゲーム画面の例を示す。プレイヤーが、入力デバイスにより光源の位置を左方向へ移動させる、又は、光の照射方向を右へ移動させると、オブジェクトの影の位置は右へ移動する。光源制御部112が、光源位置又は照射方向を変更すると、影描画部116は、フレームごとに、光源位置及び照射方向を設定して、壁及び床に投影されたオブジェクトの影を描画する。キャラクタ制御部118は、光源制御部112が光源の位置又は角度を変更している間、キャラクタ220を移動させずにその場で静止させるが、影描画部116により描画される影212の移動にともなって、キャラクタ220も移動される。したがって、キャラクタ220は、影212に乗ったまま、影212とともに右へ移動する。影の移動にともなってキャラクタが移動しているときに、他の影などの障害物に衝突すると、キャラクタ制御部118は、その障害物に押されるようにキャラクタを移動させる。キャラクタが障害物により移動された結果、接地していた影のブロックから外れると、キャラクタ制御部118は、キャラクタをその位置から下方に落下させる。
【0051】
図10は、ゲーム画面の例を示す。プレイヤーが、光源位置を更に左方向に移動させる、又は、照射方向を更に右へ移動させると、オブジェクトの影は更に右へ移動し、オブジェクト202の影212と、オブジェクト204の影214と、ゴール224とが一体となる。この状態で光源位置及び照射方向を固定すると、キャラクタ制御部118がキャラクタ220をゴール224まで移動させ、ゲームクリアとなる。
【0052】
ここで、光源制御部112及びキャラクタ制御部118の動作の詳細について更に説明する。光源制御部112により光源位置又は照射方向が変更されると、影描画部116は、カメラの視点位置及び視線方向と、光源の位置及び照射方向とを設定し、ゲームフィールド中の壁及び床を投影面としてオブジェクトの影を描画する。そして、影として描画された位置の、ゲーム画面上における二次元座標を算出し、パラメータ保持部150に格納する。このとき、影のブロックの上端の二次元座標のみをパラメータ保持部150に格納してもよい。光源制御部112は、光源位置又は照射方向の変更前後の影の位置の対応関係を求め、変更前にキャラクタが接地していた影の座標に対応する変更後の座標をキャラクタ制御部118に通知する。光源制御部112は、ゲームフィールドにギミックが配置されている場合、ギミックの種類と影の座標とをパラメータ保持部150に格納する。
【0053】
キャラクタ制御部118は、光源制御部112が光源位置又は照射方向を変更している間は、キャラクタを自動的に移動させず、その場に停止させるが、接地している影の移動に伴って、光源制御部112から通知された変更後の座標にキャラクタを移動させる。キャラクタ制御部118は、光源制御部112が、光源位置又は照射方向を変更する速度が、所定の速度以上であればキャラクタを停止させ、所定の速度未満であればキャラクタを停止させないように制御してもよい。キャラクタ制御部118は、キャラクタがジャンプしたり落下したりして、影に接地していないときには、光源制御部112が光源位置又は照射方向を変更している間も、キャラクタを停止させず、自動的に移動させてもよい。キャラクタ制御部118は、光源制御部112が光源位置又は照射方向を変更していない間は、パラメータ保持部150に格納された影の二次元画像を参照して、キャラクタの移動位置を判定し、ゲーム画面上におけるキャラクタの二次元座標を更新する。
【0054】
つづいて、ゲームフィールドに配置されるギミックについて説明する。図11は、キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す。球形のオブジェクト232は、キャラクタをジャンプさせる機能を有するギミックである。オブジェクト232の影242が、キャラクタ220が接地している影212と重なっている場合に、キャラクタ220が影242の上に移動すると、ギミックの機能が発動され、キャラクタ220は上方にジャンプする。
【0055】
図12は、キャラクタをジャンプさせる機能を有するギミックが配置されたゲーム画面の例を示す。オブジェクト232の影242が、キャラクタ220が接地している影212と重なっていない場合は、影242はキャラクタ220をジャンプさせるギミックとして機能せず、キャラクタ220の移動を妨げる障害物となる。
【0056】
影描画部116は、オブジェクトの影を描画する際に、通常のオブジェクトの影とギミックの影とを識別可能にパラメータ保持部150に記録する。影を描画する二次元平面の各ドットに、ギミックの影であるか否かを示すフラグを記録しておいてもよいし、ギミックの影の座標をテーブルとして記録しておいてもよい。キャラクタ制御部118は、キャラクタを移動させたときに、パラメータ保持部150を参照して、キャラクタが接地している影がギミックの影であるか否かを判定し、ギミックの影であれば、ギミック制御部120に通知する。
【0057】
ギミック制御部120は、影描画部116により描画された影の二次元画像を参照して、キャラクタが接地しているギミックの影の状態に基づいて、ギミックの影が所定の状態になっていればギミックの機能を発動させ、なっていなければ発動させない。ギミック制御部120は、影の二次元画像において、ギミックが配置されたオブジェクトの影を中心として、その周辺の影の状態を参照して、ギミックの機能を発動するか否かを判定する。図11及び図12に示した、キャラクタをジャンプさせる機能を有するギミックの場合、ギミックの影が、直前までキャラクタが接地していた影に重なっていれば、ギミックの機能を発動させ、重なっていなければ、ギミックの機能を発動させない。
【0058】
図13は、キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す。空洞を有するオブジェクト234は、キャラクタを落下させる機能を有するギミックである。オブジェクト234の影244に穴が空いている場合に、キャラクタ220が影244の上に移動すると、ギミックの機能が発動され、キャラクタ220は影244の下に落下する。
【0059】
図14は、キャラクタを落下させる機能を有するギミックが配置されたゲーム画面の例を示す。空洞が投影されないような光源位置及び照射方向から光が照射されていて、オブジェクト234の影244に穴が空いていない場合は、影244はキャラクタ220を落下させるギミックとして機能せず、キャラクタ220は影244の上を通過できる。
【0060】
ギミック制御部120は、影描画部116により描画された影の二次元画像を参照して、キャラクタの現在位置の下方にオブジェクト234の空洞に由来する穴が空いているか否かを確認し、穴が空いていれば、ギミックの機能を発動させ、穴が空いていなければ、ギミックの機能を発動させない。
【0061】
つづいて、影形状判定部122の機能について説明する。図15は、ゴールの形成を判定する機能について説明する図である。図15(a)は、球形のオブジェクト252の影262と、直方体のオブジェクト254の影264を示す。図15(b)は、球形のオブジェクト252の影262と、直方体のオブジェクト254の影264が、重なり合った状態を示す。影形状判定部122は、影描画部116により描画された影の二次元画像の中から、図15(b)に示した形状の影を検出すると、ゴールが形成されたと判定する。影形状判定部122は、ゴールが形成されたと判定すると、その旨を影描画部116に通知する。影描画部116は、図15(c)に示すように、影262及び影264を、ゴール224を示す画像に変更する。これにより、ゴール224が形成されたことがプレイヤーに通知される。
【0062】
図16は、トンネルの形成を判定する機能について説明するための図である。図16(a)は、門の形をしたオブジェクト256の影266と、もう一つの門の形をしたオブジェクト257の影267と、直方体の柱の形をしたオブジェクト258の影268を示す。図16(b)は、門256の影266と柱258の影268が接し、門257の影267と柱258の影268が接した状態を示す。影形状判定部122は、影描画部116により描画された影の二次元画像の中から、図16(b)に示した形状の影を検出すると、トンネルが形成されたと判定する。影形状判定部122は、トンネルが形成されたと判定すると、その旨をキャラクタ制御部118に通知する。
【0063】
キャラクタ制御部118は、図16(c)に示すように、門256の影266をキャラクタ220が通過すると、あたかも柱258の影268の中をくぐり抜けたかのように、キャラクタ220を門257の影267へ移動させる。キャラクタ制御部118は、キャラクタ220が門257の影267を通過したとき、柱258の影268に他の門の影が接していなければ、キャラクタ220が門257の影267から再び出てくるようにキャラクタ220を移動させる。
【0064】
キャラクタ制御部118は、柱の影に接している門の影が2つ以上ある場合、キャラクタが通過した門の影の位置を起点として、他の門の影までの距離を算出し、最も近い位置にある門の影にキャラクタを移動させる。最も近い距離の門の影が複数ある場合には、最も上にある門の影に移動させてもよいし、最も左にある門の影に移動させてもよいし、任意のルールにより優先順位を決定してもよい。キャラクタがある門の影からトンネルに進入し、まだ他の門の影から脱出していない間に、光源制御部112により光源位置又は照射方向が変更されて、トンネルが分断された場合、キャラクタ制御部118は、トンネルに接続していたいずれかの門の影からキャラクタを脱出させてもよいし、ゲームオーバーとしてもよい。
【0065】
図17は、影絵の形成を判定する機能について説明するための図である。本図の例では、所定の光源位置から所定の方向に光を照射したときに、特定の形状の影が形成されるように、オブジェクトが配置されている。プレイヤーは、与えられた題をヒントにして、隠された影絵が形成されるように、光源位置又は照射方向を変更する。影形状判定部122が、特定の形状の影が形成されたと判定すると、その旨がプレイヤーに通知される。影形状判定部122は、影描画部116により描画された影の二次元画像を参照して、特定の形状を検出してもよいし、光源制御部112により変更された光源位置及び照射方向が特定の位置及び方向に合致するか否かを判定してもよい。特定の形状の影が形成されたときに、キャラクタをゴールへ導く通路が形成されるようにしてもよい。
【0066】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0067】
1 ゲームシステム、10 ゲーム装置、110 制御部、112 光源制御部、114 ゲームフィールド描画部、116 影描画部、118 キャラクタ制御部、120 ギミック制御部、122 影形状判定部、150 パラメータ保持部、152 ゲームデータ保持部、154 画像生成部。

【特許請求の範囲】
【請求項1】
オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は前記光源から照射される光の照射方向を変更する機能と、
前記ゲームフィールドに設けられた投影面に、前記光源から照射される光により投影される前記オブジェクトの影を描画する機能と、
前記オブジェクトの影に沿ってキャラクタを移動させる機能と、
前記オブジェクトに設けられた、所定の機能を有するギミックを制御する機能と、
前記キャラクタが、前記ギミックが設けられたオブジェクトの影の近傍に移動したときに、前記ギミックが設けられたオブジェクトの影が所定の状態になっていれば前記ギミックが有する機能を発動させ、なっていなければ発動させない発動制御機能と、
をコンピュータに実現させるためのゲーム制御プログラム。
【請求項2】
前記発動制御機能は、前記影を描画する機能が描画した前記オブジェクトの影の二次元画像を参照して、前記ギミックが有する機能を発動するか否かを判定することを特徴とする請求項1に記載のゲーム制御プログラム。
【請求項3】
前記発動制御機能は、前記影の二次元画像において、前記ギミックが設けられたオブジェクトの影の周辺の状態を参照して、前記ギミックが有する機能を発動するか否かを判定することを特徴とする請求項2に記載のゲーム制御プログラム。
【請求項4】
前記ギミックは、前記キャラクタをジャンプさせる機能を有し、
前記発動制御機能は、前記ギミックが配置されたオブジェクトの影が、前記キャラクタが接しているオブジェクトの影と重なっている場合に、前記ギミックが有する機能を発動させることを特徴とする請求項1又は2に記載のゲーム制御プログラム。
【請求項5】
前記ギミックは、前記キャラクタを落下させる機能を有し、
前記ギミックが配置されたオブジェクトは、貫通孔を有し、
前記発動制御機能は、前記ギミックが配置されたオブジェクトの影が、前記貫通孔に由来する穴を有している場合に、前記ギミックが有する機能を発動させることを特徴とする請求項1又は2に記載のゲーム制御プログラム。
【請求項6】
オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は光の照射方向を変更する光源制御部と、
前記ゲームフィールドに設けられた投影面に投影される前記オブジェクトの影を描画する影描画部と、
前記オブジェクトの影に沿ってキャラクタを移動させるキャラクタ制御部と、
前記オブジェクトに設けられた、所定の機能を有するギミックを制御するギミック制御部と、を備え、
前記ギミック制御部は、前記キャラクタが、前記ギミックが設けられたオブジェクトの影の近傍に移動したときに、前記ギミックが設けられたオブジェクトの影が所定の状態になっていれば前記ギミックが有する機能を発動させ、なっていなければ発動させないことを特徴とするゲーム装置。
【請求項7】
オブジェクトが配置されたゲームフィールドにおいて、プレイヤーの操作指示に基づいて光源の位置又は光の照射方向を変更するステップと、
前記ゲームフィールドに設けられた投影面に投影される前記オブジェクトの影を描画するステップと、
前記オブジェクトの影に沿ってキャラクタを移動させるステップと、
前記オブジェクトに設けられた、所定の機能を有するギミックを制御するステップと、を備え、
前記ギミックを制御するステップは、前記キャラクタが、前記ギミックが設けられたオブジェクトの影の近傍に移動したときに、前記ギミックが設けられたオブジェクトの影が所定の状態になっていれば前記ギミックが有する機能を発動させ、なっていなければ発動させないことを特徴とするゲーム制御方法。
【請求項8】
請求項1から4のいずれかに記載のゲーム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−154(P2012−154A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−135451(P2010−135451)
【出願日】平成22年6月14日(2010.6.14)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】