(57)【要約】【課題】プレイヤーが物体を画面に接近させたときに、その画面が物体により隠される部分に応じてキャラクタを移動させる。【解決手段】ゲーム装置は、仮想三次元空間に配置されるキャラクタの移動を制御するＣＰＵ５１と、仮想視点に基づきキャラクタを含む仮想三次元空間内の様子を表現したゲーム画像を生成する画像処理部６０と、ゲーム画像を画面に表示する表示手段と、プレイヤーのゲーム操作により画面に接近した物体の位置を検出する位置検出手段とを備え、ＣＰＵ５１は、取得した物体の位置情報に基づいて物体に対応して設定されるグリッドポリゴンを仮想三次元空間に配置する位置を決定し、決定されたオブジェクトの位置と現在のキャラクタの位置とを比較して、オブジェクトとキャラクタが所定の位置関係にあると判定した場合に、キャラクタが現在と異なる位置へ移動するように仮想三次元空間におけるキャラクタの配置を制御する。【選択図】図８
2010063844.tif 000002
【特許請求の範囲】
【請求項１】
仮想三次元空間に配置されるキャラクタの移動を制御する制御手段と、
仮想視点に基づき前記キャラクタを含む前記仮想三次元空間内の様子を表現したゲーム画像を生成する画像生成手段と、
前記ゲーム画像を画面に表示する表示手段と、
プレイヤーのゲーム操作により画面に接近した物体の位置を検出する位置検出手段と、
を備え、
前記制御手段は、
前記位置検出手段から取得した前記物体の位置情報に基づいて、前記物体に対応して設定されるオブジェクトを前記仮想三次元空間に配置する位置を決定し、決定された前記オブジェクトの位置と現在の前記キャラクタの位置とを比較して、前記オブジェクトと前記キャラクタが所定の位置関係にあると判定した場合に、前記キャラクタが現在と異なる位置へ移動するように前記仮想三次元空間における前記キャラクタの配置を制御する、ことを特徴とするゲーム装置。
【請求項２】
前記制御手段は、
前記オブジェクトの位置と現在の前記キャラクタの位置とを比較して、前記オブジェクトと前記キャラクタが互いに衝突する位置関係にあると判定した場合に、前記キャラクタが現在と異なる位置へ移動するように前記仮想三次元空間における前記キャラクタの配置を制御する、ことを特徴とする請求項１に記載のゲーム装置。
【請求項３】
前記位置検出手段は、
プレイヤーが複数の物体を用いてゲーム操作を行った際に、物体それぞれの位置を検出するものであり、
前記制御手段は、
前記位置検出手段から取得した前記物体それぞれの位置情報に基づいて、前記物体それぞれに対応して設定される各オブジェクトを前記仮想三次元空間に配置する位置を決定し、決定された各オブジェクトの位置と現在の前記キャラクタの位置とを比較して、前記キャラクタが複数のオブジェクトによって囲まれた位置関係にあると判定した場合に、前記キャラクタが現在と異なる位置へ移動するように前記仮想三次元空間における前記キャラクタの配置を制御する、ことを特徴とする請求項１に記載のゲーム装置。
【請求項４】
前記制御手段は、
前記キャラクタが前記複数のオブジェクトによって囲まれた位置関係にあると判定した場合に、前記キャラクタを前記複数のオブジェクトによって囲まれた範囲に制限して移動させ、
さらに、前記キャラクタを囲う前記複数のオブジェクトとは異なる別のオブジェクトの位置情報を前記位置検出手段から取得したときに、前記別のオブジェクトの位置と現在の前記キャラクタの位置とを比較して、前記別のオブジェクトと前記キャラクタが互いに衝突する位置関係にあると判定した場合に、前記キャラクタが前記囲まれた範囲外の位置へ移動するように前記仮想三次元空間における前記キャラクタの配置を制御する、ことを特徴とする請求項３に記載のゲーム装置。
【請求項５】
前記制御手段は、
前記キャラクタを現在と異なる位置へ移動させる際に、現在配置されているオブジェクトと移動後に配置されるキャラクタとの衝突を判定し、その判定結果に基づいて互いに衝突しない位置に前記キャラクタを配置するよう制御する、ことを特徴とする請求項３又は４に記載のゲーム装置。
【請求項６】
前記位置検出手段は、
前記画面に向けて赤外光を照射する発光手段と、
前記発光手段から照射された赤外光が前記画面を通過し、プレイヤーのゲーム操作により画面に接近した物体に反射することにより得られる前記物体の像を撮影する撮影手段とを含み、
前記撮影手段によって撮影された像に基づき、前記画面に対向して配置される前記物体の位置を検出することを特徴とする、請求項１乃至５のいずれかに記載のゲーム装置。
【請求項７】
仮想三次元空間に配置されるキャラクタの移動を制御する制御手段と、仮想視点に基づき前記キャラクタを含む前記仮想三次元空間内の様子を表現したゲーム画像を生成する画像生成手段と、前記ゲーム画像を画面に表示する表示手段と、プレイヤーのゲーム操作により画面に接近した物体の位置を検出する位置検出手段とを備えたゲーム装置において、
前記キャラクタを制御する処理をコンピュータに実行させるプログラムであって、
前記コンピュータに
前記位置検出手段から取得した前記物体の位置情報に基づいて、前記物体に対応して設定されるオブジェクトを前記仮想三次元空間に配置する位置を決定する処理と、
決定された前記オブジェクトの位置と現在の前記キャラクタの位置とを比較して、前記オブジェクトと前記キャラクタが所定の位置関係にあるか判定する処理と、
所定の位置関係にある場合に、前記キャラクタが現在と異なる位置へ移動するように前記仮想三次元空間における前記キャラクタの配置を制御する処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲーム画像を画面に表示してゲームを進行させるゲーム装置であって、特に、プレイヤーが物体を画面に接近させて行うゲーム操作に応答してゲームが進行するゲーム装置に関する。
【背景技術】
【０００２】
従来、ゲーム画像を画面に表示してゲームを進行させるゲーム装置として、例えば、下記特許文献１に記載されたゲーム装置がある。このゲーム装置では、プレイヤーが操作するスティックでスクリーン上をタッチする等してゲームを進行している。具体的には、スクリーンに表示されたマトをスティックで叩いたり、スクリーンに表示された敵キャラクタをスティックでタッチしたまま移動させたりしながらゲームを進行している。
【特許文献１】特開２００７−１７２５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、プレイヤーが例えばブロックのような物体で画面を隠し、その画面を隠した部分に応じてゲームを進行させるゲーム装置の場合は、その物体により隠される画面の部分に応じて画面に投影される画像を変化させる必要がある。例えば、物体により隠される画面の部分にキャラクタが存在していた場合には、そのキャラクタをどのように移動させるか問題となる。
【０００４】
本発明は、上述した問題点を解消するためになされたものであり、プレイヤーがブロックのような物体で画面を隠したときに、その画面を隠した部分に応じてキャラクタを移動させゲームを進行させることができるゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するため、本発明にかかるゲーム装置は、仮想三次元空間に配置されるキャラクタの移動を制御する制御手段と、仮想視点に基づきキャラクタを含む仮想三次元空間内の様子を表現したゲーム画像を生成する画像生成手段と、ゲーム画像を画面に表示する表示手段と、プレイヤーのゲーム操作により画面に接近した物体の位置を検出する位置検出手段とを備え、制御手段は、位置検出手段から取得した物体の位置情報に基づいて、物体に対応して設定される板状ポリゴン又は仮想ブロックなどのオブジェクトを仮想三次元空間に配置する位置を決定し、決定されたオブジェクトの位置と現在のキャラクタの位置とを比較して、オブジェクトとキャラクタが所定の位置関係にあると判定した場合に、キャラクタが現在と異なる位置へ移動するように仮想三次元空間におけるキャラクタの配置を制御することを特徴とする。
【０００６】
このゲーム装置によれば、プレイヤーが物体を画面に接近させたときに、その画面が物体により隠される部分に応じてキャラクタを移動させることができる。
【０００７】
また、上記ゲーム装置において、制御手段は、オブジェクトの位置と現在のキャラクタの位置とを比較して、オブジェクトとキャラクタが互いに衝突する位置関係にあると判定した場合に、キャラクタが現在と異なる位置へ移動するように仮想三次元空間におけるキャラクタの配置を制御するようにしても良い。
【０００８】
また、上記ゲーム装置において、位置検出手段は、プレイヤーが複数の物体を用いてゲーム操作を行った際に、物体それぞれの位置を検出するものであり、制御手段は、位置検出手段から取得した物体それぞれの位置情報に基づいて、物体それぞれに対応して設定される各オブジェクトを仮想三次元空間に配置する位置を決定し、決定された各オブジェクトの位置と現在のキャラクタの位置とを比較して、キャラクタが複数のオブジェクトによって囲まれた位置関係にあると判定した場合に、キャラクタが現在と異なる位置へ移動するように仮想三次元空間におけるキャラクタの配置を制御するようにしても良い。
【０００９】
さらに、上記制御手段は、キャラクタが複数のオブジェクトによって囲まれた位置関係にあると判定した場合に、キャラクタを複数のオブジェクトによって囲まれた範囲に制限して移動させ、さらに、キャラクタを囲う複数のオブジェクトとは異なる別のオブジェクトの位置情報を位置検出手段から取得したときに、別のオブジェクトの位置と現在のキャラクタの位置とを比較して、別のオブジェクトとキャラクタが互いに衝突する位置関係にあると判定した場合に、キャラクタが囲まれた範囲外の位置へ移動するように仮想三次元空間におけるキャラクタの配置を制御するようにしても良い。
【００１０】
さらに、上記制御手段は、キャラクタを現在と異なる位置へ移動させる際に、現在配置されているオブジェクトと移動後に配置されるキャラクタとの衝突を判定し、その判定結果に基づいて互いに衝突しない位置にキャラクタを配置するよう制御するようにしても良い。
【００１１】
また、上記ゲーム装置において、位置検出手段は、画面に向けて赤外光を照射する発光手段と、発光手段から照射された赤外光が画面を通過し、プレイヤーのゲーム操作により画面に接近した物体に反射することにより得られる物体の像を撮影する撮影手段とを含み、撮影手段によって撮影された像に基づき、画面に対向して配置される物体の位置を検出することを特徴とするようにしても良い。
【発明の効果】
【００１２】
本発明によれば、プレイヤーが物体を画面に接近させたときに、その画面が物体により隠される部分に応じてキャラクタを移動させることができるゲーム装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下に添付図面を参照して、本発明に係るゲーム装置の好適な実施形態を詳細に説明する。本実施形態におけるゲーム装置は、スクリーンの手前側に設けられた台の上にプレイヤーがブロック（物体）を積み上げていき、積み上げられたブロックの載置状態に応じてゲーム内容を展開させていくアクション型のゲーム装置である。ゲームに関する処理の特徴は、積み上げられたブロックと画面に表示されるキャラクタとの仮想三次元空間内での位置を把握し、仮想三次元空間内でブロックとキャラクタとが重ならないように、キャラクタの移動を制御するものである。このようなゲーム装置の構成及び処理について以下に説明する。
【００１４】
まず、本実施形態におけるゲーム装置の外観構成について説明する。図１は、ゲーム装置の外観構成図である。図１に示すように、ゲーム装置１は、筺体２と、ゲーム画像を表示するためのスクリーン３と、プレイヤーが操作するブロック６を載置するための載置台４と、ブロック６を収納するための収納部５と、を有する。
【００１５】
スクリーン３は、筺体２の前面側に設けられ、筺体２によって略鉛直状態に支持されている。スクリーン３は、後述するプロジェクタによってスクリーン３の背面側から投射された光を透過させ、スクリーン３の前面に映像を映し出す透過型のスクリーンである。
【００１６】
載置台４は、スクリーン３の前面側の下端部に設けられている。この載置台４上に載置する各ブロック６には、ブロック６同士を互いに組み合わせるための突出部６ａおよび陥没部６ｂが設けられている。載置台４のブロック６を載置する面上には、突起部４ａが設けられている。載置台４の突起部４ａとブロック６の陥没部６ｂを嵌合させることで、ブロック６の載置位置を限定することができる。言い換えると、載置台４上の予め決められた場所にブロック６を載置させることができる。
【００１７】
次に、本実施形態におけるゲーム装置１の内部構成について説明する。図２は、図１のII−II線断面図であり、図３は、ゲーム装置１の内部構成を示すブロック図である。図示のように、ゲーム装置１の筺体２の内部には、プロジェクタ（表示手段）１０と、プロジェクタ用鏡１９と、光源部２０と、カメラ３０と、カメラ用鏡３９と、載置台駆動部４０と、制御部５０とが備えられている。
【００１８】
プロジェクタ１０は、スクリーン３にゲーム画像を投影するための投影装置である。このプロジェクタ１０の光軸は、ゲーム装置１の後部側に設けられたプロジェクタ用鏡１９に向けられている。プロジェクタ用鏡１９は、プロジェクタ１０からスクリーン３に至るまでの光路を屈折させる反射部材である。プロジェクタ１０とプロジェクタ用鏡１９は、プロジェクタ１０からゲーム装置１の後方側上方に向けて投射された光線が、プロジェクタ用鏡１９で屈折してスクリーン３の背面全体に行き渡るように配置されている。このようにプロジェクタ１０とプロジェクタ用鏡１９を配置することで、スクリーン３の前面全体にゲーム画像を表示させることが可能となる。
【００１９】
光源部２０は、スクリーン３を透過する赤外線（所定波長の光）をスクリーン３の背面側からスクリーン３に向けて投射するＬＥＤ（光源）を複数有する。
【００２０】
光源部（発光手段）２０は、ゲーム装置１の上下方向に１列に並べられた複数のＬＥＤ２１と、ＬＥＤ２１に沿ってゲーム装置１の上下方向に設けられた反射板２２と、ＬＥＤ２１および反射板２２を支持する支持部材２３とを有する。ＬＥＤ２１は、例えば８９０ｎｍの赤外線を照射する。反射板２２は、ＬＥＤ２１から照射された赤外線をスクリーン方向に反射させることで、赤外線がスクリーン３の背面外に拡散することを防止する。
【００２１】
なお、光源部２０が投射する光は、８９０ｎｍの赤外線には限定されない。スクリーン３を透過することが可能な所定波長の光であればよい。
【００２２】
図２および図３に示すカメラ３０（撮影手段）は、光源部２０による赤外線の投射先をスクリーン３の背面側から撮影するための撮影装置である。カメラ３０は、入射光の光量を抑える減光フィルタ３１と、特定の赤外線波長の光をピークとして透過させるバンドパスフィルタ３２と、赤外線領域に感度分布を持つＣＣＤカメラ３３とを有する。バンドパスフィルタ３２のピーク波長は、ＬＥＤ２１が照射する赤外線の波長（本実施形態では８９０ｎｍ）と同値に設定される。
【００２３】
カメラ３０の光軸は、ゲーム装置１の後部側に設けられたカメラ用鏡３９に向けられている。カメラ用鏡３９は、スクリーン３からカメラ３０に至るまでの光路を屈折させる反射部材である。カメラ３０とカメラ用鏡３９は、カメラ用鏡３９で反射されて形成されるスクリーン３の背面全体を含む写像が、カメラ用鏡３９からゲーム装置１の前方側上方に向けて投射され、この投射された写像をカメラ３０で撮影できるように配置されている。このようにカメラ３０とカメラ用鏡３９を配置することで、ＬＥＤ２１から照射されてスクリーン３を透過した後に載置台４上のブロック６の表面で反射した赤外線をカメラ３０で捉えることが可能となる。
【００２４】
このように、プロジェクタ１０およびカメラ３０は、スクリーン３の背面側において、それぞれの光軸が異なるように配置されている。これにより、プロジェクタ１０の光路とカメラ３０の光路が互いに干渉し合う事態を防止することができる。
【００２５】
載置台駆動部４０は、例えば、モータを含んで構成される。載置台駆動部４０は、制御部５０の指示に従って、載置台４のブロック６を載置する載置面の傾きを、ブロック６を載置できる状態とブロック６を載置できない状態とに変化させる。載置台４の載置面が、ブロック６を載置できる状態からブロック６を載置できない状態に傾けられると、載置台４上に載置されていたブロック６が収納部５内に落下する。
【００２６】
制御部５０は、中央演算処理装置としてのＣＰＵ（制御手段）５１と、記憶部５２としてのＲＯＭおよびＲＡＭを有する。このような制御部５０では、ＣＰＵ５１が、記憶部５２内のＲＯＭに記憶されている各種の制御プログラムに従って、ＲＯＭやＲＡＭに記憶されている各種のデータを用いながら各種の処理を実行することでゲームを進行させる。これにより、上述したゲーム装置１の各部が制御され、ゲーム状況が制御される。
【００２７】
制御部５０は、例えば以下のような制御を行う。制御部５０は、ゲームを開始すると、載置台４上に載置されたブロック６を検出する。制御部５０は、検出したブロック６の載置位置に対応するゲーム画面上にオブジェクトを配置する。制御部５０は、配置したオブジェクトに対してキャラクタを反応させながらゲーム状況を制御する。キャラクタの反応としては、例えば、キャラクタにオブジェクトを登らせる等が該当する。また、制御部５０は、ブロック６によりキャラクタが隠されたしまったときにそのキャラクタを移動する制御を行なう。
【００２８】
載置台４上に載置されたブロック６の検出は、例えば以下のように行う。制御部５０は、カメラ３０で撮影された映像を用いて、載置台４上に載置されたブロック６を検出する。ここで、上述したように光源部２０から投射される赤外線はスクリーン３を透過する。したがって、スクリーンを隔てて載置台４上に載置されているブロック６にも赤外線が照射され、赤外線はブロック６の表面で反射することになる。これにより、カメラ３０は、スクリーン３を隔てて置かれているブロック６の画像を撮影することができる。
【００２９】
したがって、例えば、制御部５０は、カメラ３０によって撮影された映像データをバッファメモリに記録し、その映像データを予め設定したピクセルサイズに分割したグリット単位で画像認識処理を行う。このとき、バッファメモリの記憶容量に対応するピクセルサイズに基づき、記憶された映像データを予め設定したピクセルサイズに分割し処理を行う。例えば、１６０個のグリットに分割された場合は、この１６０個のグリットをインデックス化したテーブルとして扱うことができる。なお、分割グリッドのピクセルサイズは、ブロック６に大きさ（面積）に対応させて予め設定しおけば、以下の画像認識処理を高速に行うことができる。
【００３０】
画像認識処理は、制御部５０が、予め定められたピクセルサイズのグリッドごとに物体の映像が存在するか否かを判定し、物体が存在する場合には、その物体がブロック６であるか否かをパターン認識により判定することで載置台４上に載置されたブロック６を検出する（位置検出手段）ことにより、行うことができる。パターン認識は、例えば、記憶部５２に予め登録されている認識パターンを用い、カメラ３０で撮影されてバッファメモリに記録された映像データに含まれる物体の特定位置に、認識パターンと一致するパターンが存在するか否かを判定することにより、行うことができる。この場合には、ブロック６の各面の特定位置に、認識パターンを予め付しておくことになる。認識パターンとしては、例えば、図１に示すブロック６の各面に付されている丸模様６ｃが該当する。
【００３１】
制御部５０は、上述の画像認識処理のほかに、ゲームの進行やゲーム結果の演算等のゲーム処理、キャラクタ等のオブジェクトの位置（ｘ，ｙ，ｚ）や回転角度（ｘ軸，ｙ軸，ｚ軸回りの角度）を求める処理、キャラクタ等のオブジェクトにモーションさせる処理、オブジェクト間の衝突判定処理などを行う。
【００３２】
画像処理部（画像生成手段）６０は、制御部５０で行われる種々の処理（ゲーム処理など）の結果に基づいて描画処理を行い、生成されたゲーム画像が表示手段としてのプロジェクタ１０によってスクリーン３に出力される。
【００３３】
描画処理は、まず、座標変換（ワールド座標変換、視点座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（頂点の位置座標、テクスチャ座標、色データ等）が作成される。そして、この描画データ（オブジェクトデータ）に基づいて、透視変換後（ジオメトリ処理後）のモデルオブジェクトをフレームバッファ（ピクセル単位で画像情報を記憶できるＶＲＡＭ等のバッファ）に描画する。これにより、仮想三次元空間内（ｘ，ｙ，ｚ）において仮想視点から見えるゲーム画像が生成される。
【００３４】
画像処理部（画像生成手段）６０は、描画処理として、ジオメトリ処理、テクスチャマッピング処理、陰面消去処理等を行う。ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ等）は、記憶部５２に格納される。テクスチャマッピング処理では、記憶部５２に記憶されるテクスチャデータに基づくテクスチャをオブジェクトにマッピングする処理を行う。隠面消去処理では、Ｚバッファに格納される描画ピクセルのＺ値（奥行き情報）参照し、ＺバッファのＺ値と描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想視点から見て手前側となるＺ値である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する処理を行う。
【００３５】
なお、制御部５０によりゲーム画像は総括的に制御されるが、本実施形態においては、キャラクタの移動に関する制御については主としてＣＰＵ５１が実行し、背景画像等の他のゲーム画像の制御について主として画像処理部６０が実行することとする。しかしながら、ゲーム画像の制御はこの構成に限るものではない。
【００３６】
ゲーム装置１において実行されるゲームのプログラムは、例えば、図１１に示すように、樹木１１０に果実１１１があり、その果実１１１をブロック６又はベース上１１２を移動する複数のキャラクタ１０１が採取したか否かを判定し、その果実１１１を全て採取するまでの時間を計測し、その計測時間の良し悪しを評価するものが考えられる。このゲームの場合、ＣＰＵ５１の制御のもとキャラクタ１０１が移動し、キャラクタが果実１１１を採取したと判定した場合は、その果実１１１を描画対象から除外する信号を画像処理部６０へ送る。画像処理部６０は、描画対象となる樹木１１０及び果実１１１等について、予め記憶された樹木１１０及び果実１１１等の画像データに基づき、樹木１１０及び果実１１１等に対応するオブジェクト（ポリゴンにより構成される）をワールド座標系に配置した後、視点によって決定される視点座標系に座標変換し、その視点座標系の投影面に透視変換して生成したゲーム画像をフレームバッファに描画する。これにより、スクリーン３上に樹木１１０及び果実１１１を含むゲーム画像を表示するとともに、描画対象外の当該果実１１１の画像がスクリーン３上から削除されることになる。
【００３７】
既述のゲームにおいて、プレイヤーによりブロック６が載置台４上に載置されると、キャラクタ１０１がそのブロック６により隠されてしまう場合がある。このゲームはキャラクタにより果実１１１を採取する時間を競うものであるため、キャラクタ１０１が隠れ、そこから移動できなければ果実１１１を採取できなくなる。これはプレイヤーにとってゲームを進行するうえで不利益となる。このため、キャラクタ１０１がブロック６に隠されたときは、そのキャラクタ１０１を、当該ブロック６の位置からブロック６により隠されない位置へ移動させる必要がある。このようにキャラクタ１０１が移動することにより、プレイヤーがブロック６を載置台４上への載置の仕方を工夫する（例えば、キャラクタ１０１を果実のあるところに誘導するように複数のブロック６を載置台４上に載置する。）ことにより、意図的にキャラクタ１０１を移動させ、より短時間で果実１１１を採取することを可能とすることができる。このキャラクタ１０１の移動制御は、既述のように本実施形態ではＣＰＵ５１によって行なわれる。
【００３８】
次に、ＣＰＵ５１の実行するキャラクタ１０１の移動制御について、図４から図８を参照して説明する。
【００３９】
図４は、バッファメモリに記録したＣＣＤ映像データを予め設定したピクセルサイズで１６０個に分割した場合、各グリッドに対応するスクーン３上の位置にブロック６が存在するか否かを示すデータ７０の一例である。
【００４０】
このピクセルサイズは、スクリーン３の領域を所定単位（例えばａ×ａ：ａは所定の長さ）で区切った各領域の大きさに対応するように予め設定される。
【００４１】
ＣＣＤ画像処理グリッド番号は、スクリーン３の領域を所定単位で区切った各領域に対し連続して付した番号である。また、ブロック６の存在有無を示す情報は、スクリーン３の各領域を隠す位置にブロック６が存在するか否かを示す情報である。ＣＣＤ画像処理グリッド番号は、“１”から“１６０”が設けられており、そのグリッド番号に対応して、ブロック６が存在する場合は“１”，存在しない場合は“０”が設定される。制御部５０は、ＣＣＤ３３から映像データを取得して、所定時間（フレーム）毎にこのデータ７０を生成する。なお、本実施形態では、図１で示すブロック６は、２ａ（横方向）×ａ（縦方向）×ａ（奥行き）の大きさとなっており、上述の各領域のうち２つの領域の大きさと対応するサイズとなっている。
【００４２】
図５は、グリッドポリゴン番号に対応する仮想三次元空間の位置に仮想ブロックが存在するか否かを示すデータ８０の一例を示している。各グリッドポリゴンは、板状のポリゴンによって構成されており、スクリーン３の領域を所定単位で区切った各領域に対応させて、仮想空間内に配置されるものである。グリッドポリゴン番号は、スクリーン３の領域を所定単位（例えば、ａ×ａ：ａは所定の長さ）で区切った各領域に対して連続して付した番号であり、上述のＣＣＤ画像処理グリッド番号と１対１で対応している。したがって、グリッドポリゴン番号は“１”から“１６０”が設けられている。また、そのグリッドポリゴン番号それぞれと対応して、仮想ブロックが存在する場合はフラグ“１”、存在しない場合はフラグ“０”が記憶部５２内の所定領域に設定される。
【００４３】
図６は、各グリッドポリゴンの配置定義データ９０を示している。グリッドポリゴン番号毎に仮想三次元空間での中心座標が設定されている。例えば、グリッドポリゴン“１”は、仮想三次元空間座標が“ｘ１，ｙ１，ｚ”と設定されており、グリッドポリゴン“１６０”は、仮想三次元空間座標が“ｘ１６０，ｙ１６０，ｚ”と設定されている。なお、キャラクタの移動範囲を二次元平面（ｘｙ平面）に限定する場合、ゲーム処理上、奥行き情報を必要としないため、全てのグリッドポリゴン番号のｚ座標は同じ“ｚ”値となる。
【００４４】
図９は、三次元仮想空間内の仮想視点において、ブロック６に対応する仮想ブロックとキャラクタ１０１との位置関係を説明するための図である。視点座標系における投影面１００に透視変換して生成される画像は、スクリーン３（グリッドポリゴン１番から１６０番の矩形状に配置されたグリッドで構成される）に表示され、仮想ブロックの画像がスクリーン３の前方に置かれたブロック６の位置に対応する領域に配置される。このブロック６と対応する仮想ブロックが配置されている位置のデータはデータ７０に基づいて取得される。図９においては、載置台４上に載置されたブロック６に対応して仮想ブロックが３つ（グリッド番号１４６，１４７、グリッド番号１５５，１５６、グリッド番号１５８，１５９）が板状のグリッドポリゴンとして配置される。また、キャラクタ１０１はグリッド番号１４８に対応する位置に配置されている。キャラクタ１０１と板状のグリッドポリゴン（仮想ブロック）と座標を比較して当たり判定を行うことにより、キャラクタ１０１と仮想ブロックが重なっているか否か、つまり、プレイヤーによりブロック６でキャラクタ１０１が隠されたか否かを判定することができる。
【００４５】
なお、本実施形態においては、予め座標位置が指定されているグリッドポリゴンを用いてキャラクタ１０１と仮想ブロックとの重なりを判定する構成としているが、図１０のように、仮想ブロックが時々刻々と３次元的な位置（ｘ，ｙ，ｚ）を変更する場合には、このグリッドポリゴンを用いずに、キャラクタ１０１と仮想ブロックオブジェクト１０３とのそれぞれにコリジョン領域を設定し、その衝突を判定するようにしても良い。
【００４６】
図１０は、グリッドポリゴンを用いずにキャラクタ１０１と仮想ブロックとの重なりを判定する構成におけるブロック６とキャラクタ１０１との位置関係を説明するための図である。プレイヤーにより物体（例えば、ブロック６）がスクリーン３の前方において時々刻々と配置を変更すると、上述の画像認識処理によってその物体の位置を検出し、対応する仮想ブロック１０３の仮想空間内の対応する位置を求めることにより、キャラクタ１０１と仮想ブロック１０３との重なりを判定することができる。このような構成にすると、物体を動的に動かしたときにも、グリッド単位よりも細かいレベルでその物体の位置を補足することができ、その物体の動作に適応させてキャラクタ１０１との重なりを判定することができ、キャラクタ１０１を物体の存在しない位置等へ移動させる処理を行うことが可能となる。
【００４７】
図７は、図４及び図５で既述したデータ７０がフレーム毎（所定時間毎）に記憶部５２にデータ８０として記憶されるときの変化の一例を説明する図である。
【００４８】
図７において左側がＮフレーム，Ｎ＋１フレームのＣＣＤ３３から受信した映像データに基づき、制御部５０が生成したデータ７１，７２であり、右側が両データ７１、７２に対応して記憶部５２内に記憶されるデータ８１，８２である。
【００４９】
Ｎフレームのデータ７１では、ＣＣＤ画像処理グリッド番号“１５８”，“１５９”と対応する実ブロックの存在有無情報がそれぞれ“１”となっている。このデータ７１によって記憶部５２内に記憶されるデータ８１のグリッドポリゴン番号“１５８”，“１５９”と対応するフラグはそれぞれ“１”となっている。ところが、Ｎ＋１フレームのデータ７２では、ＣＣＤ画像処理グリッド番号“１５８”，“１５９”と対応する実ブロックの存在有無情報がそれぞれ“０”となっている。このため、記憶部５２内のデータ８２のグリッドポリゴン番号“１５８”，“１５９”と対応するフラグもそれぞれ“０”に変化している。
【００５０】
これはＮフレーム時ではＣＣＤ画像処理グリッド番号“１５８”，“１５９”と対応するスクリーン３上の位置にブロック６が接近していたが、Ｎ＋１フレーム時では当該スクリーン３の当該箇所にブロック６が接近していないことを示している。つまりＮフレーム時はＣＣＤ画像処理グリッド番号“１５８”，“１５９”に対応する位置にブロック６が１つ置かれていたが、Ｎ＋１フレーム時はそのブロック６がプレイヤーにより外されたことを意味している。
【００５１】
次に、フレーム毎（所定時間毎）のキャラクタ１０１の移動制御について説明する。図８は、ＣＰＵ５１が実行するキャラクタ１０１移動制御処理を示すフローチャートである。
【００５２】
ＣＰＵ５１は、記憶部５２内のデータ８０を参照して仮想ブロックの存在有無を示すフラグをグリッドポリゴン番号“１”から“１６０”までチェックし（Ｓ１０１）、フラグ“１”となっているグリッドポリゴンがあるか否かを判定する（Ｓ１０２）。
【００５３】
フラグが“１”となっているグリッドポリゴンがなければ（Ｓ１０２：ＮＯ）、ＣＰＵ５１は、この処理を終了する。この場合、ブロック６がスクリーン３に接近していないためキャラクタ１０１の移動処理を行う必要がないからである。
【００５４】
フラグが“１”となっているグリッドポリゴンがあれば（Ｓ１０２：ＹＥＳ）、ＣＰＵ５１は、そのグリッドに仮想ブロックが存在するものとして画像処理部６０に描画対象としてグリッドポリゴンを配置するよう指示する（Ｓ１３０）。そして、ＣＰＵ５１は、現在のキャラクタ１０１の座標を取得し（Ｓ１０４）、そのキャラクタ１０１の座標と配置したグリッドポリゴンの座標とを比較する（Ｓ１０５）。なお、ｚ座標は共通なので実質的にｘ座標、ｙ座標を比較することによりこの処理を行うことができる。
【００５５】
次に、ＣＰＵ５１は、キャラクタ１０１の座標とグリッドポリゴンの座標とが衝突（重複）しているか否かを判定し（Ｓ１０６）、衝突していない場合は（Ｓ１０６：ＮＯ）、ＣＰＵ５１は、そのグリッドについて通常のアルゴリズムに従ってキャラクタ１０１を制御する（Ｓ１０７）。
【００５６】
一方、キャラクタ１０１の座標とグリッドポリゴンの座標とが衝突している場合は（Ｓ１０６：ＹＥＳ）、ＣＰＵ５１は、そのグリッドの周囲のグリッドポリゴンでフラグが“０”のグリッドポリゴンを記憶部５２内のデータ８０を参照して探す（Ｓ１０８）。
【００５７】
次に、ＣＰＵ５１は、周囲のグリッドポリゴンでフラグが“０”のグリッドポリゴンはあったかか否かを判定する（Ｓ１０９）。フラグが“０”のグリッドポリゴンがない場合は（Ｓ１０９：ＮＯ）、ステップＳ１０８の周囲のグリッドポリゴンのさらに外側のグリッドでフラグが“０”のグリッドポリゴンを探す（Ｓ１１０）。そして、ステップＳ１０９の処理へ戻る。すなわち、ＣＰＵ５１は、検索の中心となるグリッドの周囲にフラグが“０”のグリッドポリゴンが無い場合は、さらにその外側にフラグ“０”のグリッドポリゴンがあるかを探す処理を行う。
【００５８】
このようにしてフラグが“０”のグリッドポリゴンがあった場合は（Ｓ１０９：ＹＥＳ）、ＣＰＵ５１は、フラグが“０”のグリッドポリゴンを決定する（Ｓ１１１）。なお、フラグが“０”のグリッドポリゴンが複数あった場合は、その中からランダムに１つのグリッドが選択される。そして、ＣＰＵ５１は、その決定されたグリッドにキャラクタ１０１を配置し、キャラクタ１０１を制御する（Ｓ１１２）。
【００５９】
なお、ステップＳ１１２のグリッドのランダムな選択は、完全なランダムではなくゲームの内容に応じた制限を加えても良い。つまり、本実施形態のゲームは、載置台４上にブロック６を積み上げそのブロック６上をキャラクタ１０１が動作してゲームを進行するものであるため、キャラクタ１０１はブロック６の上側及び左右（上側に出現する確立をより上げても良い。）に出現するようにし、キャラクタ１０１を下側へは出現させないように制限を加えても良い。このようにキャラクタ１０１の移動に対して一定のルールを加えておくことにより、プレイヤーが意図的にキャラクタ１０１を移動させることが可能となり、ゲームをより短時間で終了させるための工夫をプレイヤーが行なうことができ、ゲーム性を高めることができる。
【００６０】
上述してきたように、本実施形態のゲーム装置１では、ゲームの進行中に、スクリーン３の前面側下端部に設けられた載置台４上にブロック６が載置されると、載置台４上に載置されたブロック６が検出され、検出されたブロック６の載置状態に応じてゲーム画像を含むゲーム状況が制御される。これにより、プレイヤーはブロック６を所持し続けることなく、ブロック６を載置台４上に載置して積み上げていくことでゲームを進行させることができる。
【００６１】
その際、スクリーン３に投影されているキャラクタ１０１を載置台４上に載置されたブロック６を避けて移動させることができる。
【００６２】
また、キャラクタ１０１がブロック６で囲まれるような状況が生じても、その囲まれたブロック６の範囲内で、かつ、ブロック６が載置されていない場所にキャラクタ１０１を移動させることができる。さらに、そのブロック６が載置されていない場所にブロック６が載置されキャラクタ１０１が移動する場所がなくなった場合には、そのブロック６により囲まれた部分の外側で、かつ、ブロック６が載置されていない場所にキャラクタを移動させることができる。
【図面の簡単な説明】
【００６３】
【図１】本実施形態におけるゲーム装置の外観構成図である。
【図２】図１のII−II線断面図である。
【図３】ゲーム装置の内部構成を示すブロック図である。
【図４】ＣＣＤから制御部に送信されるデータの一例を示す図である。
【図５】制御部内に記憶されるデータの一例を示す図である。
【図６】グリッドポリゴンの配置定義の一例を示す図である。
【図７】ＣＣＤから制御部に送信されるデータと制御部内に記憶されるデータとのフレーム毎の対応関係を示す図である。
【図８】キャラクタの移動制御処理を示すフローチャートである。
【図９】キャラクタとブロックとの重なりを説明するための図である。
【図１０】他のキャラクタとブロックとの重なりを説明するための図である。
【図１１】ゲームの一例を説明するための図である。
【符号の説明】
【００６４】
１…ゲーム装置、２…筺体、３…スクリーン、４…載置台、４ａ…突起部、５…収納部、６…ブロック、６ａ…突出部、６ｂ…陥没部、１０…プロジェクタ、１９…プロジェクタ用鏡、２０…光源部、３０…カメラ、３９…カメラ用鏡、４０…載置台駆動部、５０…制御部、５１…ＣＰＵ、５２…記憶部、６０…画像処理部、７０，８０，９０…データ、１００…投影面、１０１…キャラクタ、１１１…果実。
【図１】
2010063844.tif 000003
【図２】
2010063844.tif 000004
【図３】
2010063844.tif 000005
【図４】
2010063844.tif 000006
【図５】
2010063844.tif 000007
【図６】
2010063844.tif 000008
【図７】
2010063844.tif 000009
【図８】
2010063844.tif 000010
【図９】
2010063844.tif 000011
【図１０】
2010063844.tif 000012
【図１１】
2010063844.tif 000013