情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
【課題】情報を重畳することにより拡張された実空間の多様性を高める。
【解決手段】情報処理装置は、複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像に基づいて仮想空間を設定する仮想空間設定手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段を含む。
【解決手段】情報処理装置は、複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像に基づいて仮想空間を設定する仮想空間設定手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、現実世界の空間に、情報、映像等を、重畳して発現させる情報処理システム,情報処理方法,情報処理装置,及び情報処理プログラムに関する。
【背景技術】
【0002】
実空間に何らかの情報を追加して提示することによって、現実世界を拡張することを拡張現実(AR:Augmented Reality)という。ARの技術の一つとして、例えば、カード
に印刷された2次元バーコードを用いる技術が知られている。この技術は、2次元バーコードをカメラで撮像し、撮像画像から該2次元バーコードを識別して、該2次元バーコードに対応付けられた3次元画像データを2次元バーコードの位置に重畳して表示装置に表示する。この技術では撮像画像に重畳表示される3次元画像データにより、実空間と仮想空間とが融合した視覚効果を表現できるようにする(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−322602号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来からの技術では、撮像画像内でカードに印刷された2次元バーコードが認識されると、撮像画像を表示する画面内で、その2次元バーコードの位置に3次元画像データが重畳表示されるだけであり、複数の2次元バーコードが撮像画像内で認識される場合については、考慮されていなかった。
【0005】
本発明は、実空間に対応する仮想空間に所定の効果をもたらす処理の多様性を高める情報処理システム、情報処理方法、情報処理装置、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の態様の一つは、情報処理プログラムである。この情報処理プログラムは、撮像装置で撮像を行う情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、コンピュータを、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像に基づいて仮想空間を設定する仮想空間設定手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段として機能させる、情報処理プログラムである。
【0007】
本発明の態様の一つによれば、撮像画像に基づいて設定された仮想空間内の第1のマーカーと第2のマーカーとの状態に基づいて、該仮想空間内の第3のマーカーの状態に変化を与えることができ、仮想空間に所定の効果をもたらす処理の多様性を高めることができる。また、所定の条件とそれに対応する処理との組み合わせによって、仮想空間内の少なくとも第3のマーカーの状態にさまざまな変化を与えることができ、興趣性が高まる。
【0008】
本発明の態様の一つである情報処理プログラムは、処理手段は、第3のマーカーに対応
付けられる情報を変更してもよい。第3のマーカーに対応付けられる情報が変更されることによって、仮想空間内に変化をもたらすことができる。
【0009】
本発明の態様の一つである情報処理プログラムでは、処理手段では、所定の期間、第3のマーカーに対応付けられる情報を変更するようにしてもよい。これによって、所定の期間が経過するまで、仮想空間内は第3のマーカーに対応付けられる情報が変更されたことによって変化された状態となる。したがって、所定の期間が経過するまでは仮想空間の状態が変化することにより、興趣性が高まる。
【0010】
本発明の態様の一つである情報処理プログラムでは、処理手段は、第3のマーカーに対応付けられる2次元又は3次元の画像データを、変更するようにしてもよい。これによって、表示される第3のマーカーに対応付けられる画像データが別の画像データに変更になるので、視覚的にユーザの興味を喚起することができ、興趣性が高まる。
【0011】
本発明の態様の一つである情報処理プログラムでは、処理手段は、第3のマーカーに対応付けられる仮想空間内に対して与える効果を変更するようにしてもよい。これによって、第1のマーカーと第2のマーカーとが所定の条件を満たしたことを契機に、画像データを変更する処理のように可視的に仮想空間に変化を生じさせる処理のみならず、例えば、ゲームの進行に係るような不可視の情報処理装置の内的な処理を実行することもできる。
【0012】
本発明の態様の一つである情報処理プログラムでは、第1のマーカーと第2のマーカーのうち少なくとも一方は、配置変更可能な部品に備えられており、検出手段は、第1のマーカーと第2のマーカーとの位置関係が所定の条件を満たすことを検出するようにしてもよい。第1のマーカーと第2のマーカーのうち少なくとも一方は、配置変更可能な部品に備えられることによって、第1のマーカーと第2のマーカーとの位置関係が変化するので、位置関係が変化する度に所定の条件が満たされるような場合には、仮想空間の状態が次々と変化するので、興趣性を高めることができる。
【0013】
本発明の態様の一つである情報処理プログラムでは、処理手段は、第3のマーカーに対応付けられる仮想空間内に対して与える効果を変更可能な状態に設定し、第1のマーカーまたは第2のマーカーが第3のマーカーに近づいた時に前記与える効果を変更するようにしてもよい。このようにすることによって、所定の条件が第1のマーカーと第2のマーカーとの状態によって満たされた時点では、仮想空間の与えられる効果は変更されないが、その後に、第1のマーカーまたは第2のマーカーが第3のマーカーに近づいた時に仮想空間に与える効果を変更するというように、時間差で仮想空間の状態に変更を与えることができる。
【0014】
本発明の態様の一つである情報処理プログラムでは、第1のマーカー及び第2のマーカーのそれぞれは、マーカーの位置とこの位置における姿勢とを検出可能な形状を有してもよい。この場合には、撮像処理手段によって生成された第1のマーカーと第2のマーカーとを含む撮像画像から、第1のマーカーの形状と第2のマーカーの形状とに基づいて位置関係を判別する位置関係判別手段をさらに備えてもよい。位置関係判別手段では、第1のマーカーと第2のマーカーとの位置関係として、第1のマーカーと第2のマーカーとの距離、第1のマーカーの第2のマーカーに対する向き、及び第1のマーカーの第2のマーカーに対する位置の方向のうちの一つ又は組み合わせを判別する。これによって、例えば、第1のマーカーの配置が変更されたことによる第1のマーカーと第2のマーカーとの位置関係の変化に応じて、仮想空間内の第3のマーカーに作用する処理が行われ、仮想空間の状態も変化することができ、興趣性が高まる。
【0015】
本発明の態様の一つである情報処理プログラムでは、検出ステップは、撮像装置によっ
て撮像された画像に第1のマーカーを含む複数のマーカーが含まれている場合に、第1のマーカーに最も近いマーカーと第1のマーカーとの状態が所定の条件を満たすことを検出するようにしてもよい。これによって、情報処理装置は、第1のマーカーの周囲に複数のマーカーが存在する場合でも、最も近い第2のマーカーとの状態が所定の条件を満たすことを検出するだけでよく、処理負荷を軽くすることができる。
【0016】
本発明の態様の一つである情報処理プログラムでは、少なくとも第1のマーカー,第2のマーカー,及び第3のマーカーのそれぞれは、それぞれに対応する2次元又は3次元の画像データの表示位置の指標であってもよい。また、撮像処理手段によって生成された撮像画像に、少なくとも第1のマーカー,第2のマーカー,及び第3のマーカーのうちの少なくとも一つのマーカーが含まれている場合には、撮像画像内の少なくとも一つのマーカーに対応する位置に、対応する画像データを重畳し、表示装置に表示させる表示処理手段として情報処理装置を機能させてもよい。各マーカーに対応する位置に各マーカーに対応する画像データを撮像画像に重畳表示することで、実空間が拡張されたことをユーザに認識させることができる。また、視覚的にユーザの興味を引いたり、興奮や感動を与えたりすることができる。
【0017】
更に、本発明は、方法,システム,情報処理装置又はプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的,磁気的,光学的,機械的,または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【0018】
例えば、本発明の他の態様の一つは、撮像装置で撮像を行う情報処理装置のコンピュータが実行する情報処理方法である。この情報処理方法は、コンピュータが、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理ステップと、撮像処理ステップにおいて生成された撮像画像に基づいて仮想空間を設定する仮想空間設定ステップと、撮像処理ステップにおいて生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出ステップと、検出ステップにおいて所定の条件が満たされたと検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理ステップと、を実行する情報処理方法である。
【0019】
例えば、本発明の他の態様の一つは、情報処理装置である。この情報処理装置は、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、を含む情報処理装置である。
【0020】
例えば、本発明の他の態様の一つは、情報処理システムである。この情報処理システムは、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、を含む情報処理システムである。
【発明の効果】
【0021】
本発明によれば、仮想空間に所定の効果をもたらす処理の多様性を高めることができる。
【図面の簡単な説明】
【0022】
【図1】ゲームシステムの構成例を示す図である。
【図2】ゲームシステム100において扱われるマーカー座標系(Xm,Ym,Zm)の例を示す図である。
【図3】ゲーム装置の外観図の例である。
【図4】ゲーム装置の内部構成の一例を示すブロック図である。
【図5】ゲーム装置が保持する情報の例を示す図である。
【図6】ゲーム装置の機能ブロック図の一例である。
【図7】ボード及びプレイヤーカードの仮想空間における初期状態を示す図である。
【図8】初期設定処理のフローチャートの例である。
【図9】第1のゲーム進行処理が行われた場合のボード2上の状態を示す図である。
【図10】第1のゲーム進行処理を定義する条件情報の例である。
【図11】第1のゲーム進行処理のフローチャートの例である。
【図12A】第2のゲーム進行処理の一例を説明するための図である。
【図12B】第2のゲーム進行処理の一例を説明するための図である。
【図13】第2のゲーム進行処理を定義する条件情報の例である。
【図14】第2のゲーム進行処理のフローチャートの例である。
【図15】変形例のゲームシステムの仮想空間の例を示す図である。
【図16】変形例における条件情報の例を示す図である。
【図17】変形例におけるゲーム進行処理のフローチャートの例である。
【図18】更新情報の受信処理の一例を説明するための図である。
【図19A】情報整合処理が実行された後のゲーム装置1Bの画面表示を示す図である。
【図19B】情報整合処理が実行された後のゲーム装置1Aの画面表示を示す図である。
【図20】更新情報の受信処理の一例を説明するため
【図21A】情報整合処理が実行された後の撮像範囲50Bを撮像したゲーム装置1Bの画面表示を示す図である。
【図21B】情報整合処理が実行された後の撮像範囲50Aを撮像したゲーム装置1Aの画面表示を示す図である。
【図22】更新情報を受信した場合の情報整合処理のフローチャートの例である。
【発明を実施するための形態】
【0023】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【0024】
<第1実施形態>
(ゲームシステムの概要)
図1は、ゲームシステムの構成例を示す図である。ゲームシステム100には、撮像装置と表示装置とを備えるゲーム装置1,ボード2,及びプレイヤーカード3が含まれる。ゲームシステム100は、ボード2上でプレイヤーカード3が移動,追加,及び除去されることで進行するゲームを提供する。ゲームシステム100が提供するゲームには、2次元又は3次元空間上で物を配置して進行するゲーム一般が含まれる。例えば、ゲームシステム100が提供するゲームには、双六,将棋,チェス,囲碁等がある。
【0025】
ゲーム装置1は、撮像装置で撮像した実空間に、実空間には存在しないオブジェクトを重畳して実空間を拡張し、表示装置に拡張された実空間を表示する。第1実施形態では、情報が重畳されて拡張される実空間を、仮想空間と定義する。ゲーム装置1は、実空間内の状況の変化を撮像すると、実空間内の変化に応じて仮想空間内の状況も変化させる。こ
のようにして、ゲームシステム100では、ゲーム装置1によって生成され、表示装置に表示される仮想空間内でゲームが進行する。
【0026】
図1に示されるゲームシステム100では、ゲーム装置1でボード2及びプレイヤーカード3を撮像すると、ゲーム装置1の画面上に、実空間には存在しないプレイヤーオブジェクト4やツリーオブジェクト5等が存在する仮想空間が表示される。ユーザが、ボード2上でプレイヤーカード3を操作(移動,追加,除去等)し、ゲーム装置1でボード上の変化を撮像すると、ゲーム装置1の画面上に表示されるプレイヤーオブジェクト4又はツリーオブジェクト5等のいずれかの状態が変化し、ゲームが進行する。実空間に存在しないが、ゲーム装置1の画面に表示される仮想空間内に存在するオブジェクトを、以降、仮想オブジェクトと称する。仮想オブジェクトは、ゲームのキャラクタ,アイテム,背景等の物体を示す3次元の画像データ又は動画像データである。また、仮想オブジェクトは、2次元の画像データ又は動画像データであってもよい。
【0027】
ボード2は、プレイヤーカード3に配置領域を提供する配置領域提供物の一つであって、プレイヤーカード3の配置領域である複数のマスを有する。マスは、プレイヤーカード3の配置可能範囲を示す。配置領域提供物は、例えば、紙や布等のシートでもよいし、板等でもよく、地面でもよい。プレイヤーカード3は、ゲームシステム100における部品の一つであり、配置領域提供部上で移動する配置物部品の一つであって、ゲームのプレイヤーの位置を示すためのカードである。配置物には、カードの他に、直方体,円柱、等様々な物を適用可能である。プレイヤーカード3は、ユーザによって、ボード2上の複数のマスのうちのいずれかに配される。
【0028】
ボード2上の各マス及びプレイヤーカード3には、記号が印刷されている。この記号は、仮想オブジェクトと対応付けられている。これらの記号はそれぞれの記号に対応付けられた仮想オブジェクトの表示位置の基準を示す指標となる。以降、仮想オブジェクトの表示位置の基準を示す記号をマーカーと称する。なお、ボード2上の全てのマスにマーカーが印刷されていなくてもよい。
【0029】
仮想オブジェクトは、ゲーム装置1の画面内において、対応付けられたマーカーに対して撮像画像内の所定位置に重畳表示される。また、仮想オブジェクトは、上下,前後,及び左右の複数の方向を有する。そのため、マーカーの形状は、複数の方向のうち、少なくとも一つの方向、例えば、前方方向(正面)を検出可能な記号,文字,図形,絵,及びそれらの組み合わせ等となる。言い換えると、複数の方向のうちの一つの方向も検出不可能な記号,文字,図形,絵及びそれらの組み合わせは、マーカーとして採用されない。例えば、円や長方形等の点対称図形は、マーカーとして採用されない形状である。また、マーカーの向きは、複数の方向のうちの少なくとも一つによって定義される。例えば、マーカーが前方方向を検出可能な形状である場合には、マーカーの向きは、マーカーの形状で検出される前方方向を基準として定義される。以降、第1実施形態では、マーカーはオブジェクトの前方を指示するものとする。ただし、マーカーの指示方向がオブジェクトの前方に限定されるわけではない。
【0030】
なお、図1に示されるゲームシステム100では、便宜上、ゲーム装置1及びプレイヤーカード3が各1つずつ示されているが、これに限られず、ゲーム装置1及びプレイヤーカード3は複数あってもよい。また、ボード2は、ゲームの種類ごとに用意されていてもよいし、複数のゲームで共通するボードが使用されてもよい。
【0031】
図2は、ゲームシステム100において扱われるマーカー座標系(Xm,Ym,Zm)の例を示す図である。マーカー座標系は、マーカー3(プレイヤーカード3上のマーカー、以降「マーカー3」と表記)の中心点を原点とし、互いに直交する3軸によって定義される直交座標系である。マーカー座標系のX軸とY軸とは、マーカー3が付されている平面上に定義され、Z軸は該平面の垂直方向(上下方向)に定義される。また、マーカー3には前後および左右が定義されており、例えば、左右方向にX軸が定義され、前後方向にY軸が定義されている。このようにして、実空間に配置されたマーカー3を基準として仮想空間の座標系が定義されることにより、実空間と仮想空間とを対応付けることができる。
【0032】
また、マーカー座標系は、各マーカー3に対して定義される。ただし、複数のマーカー3間で、1つのマーカー座標系を共有して用いることも可能である。なお、マーカー座標系の原点は、マーカー3の中心点でなくてもよい。例えば、マーカー3における何れかの特徴点を、マーカー座標系の原点として用いることが出来る。また、X軸、Y軸、Z軸の定義方法は、本実施形態において示される一例であり、X軸、Y軸、Z軸は、その他の基準に従って定義されてもよい。
【0033】
ゲーム装置1は、外側左撮像部23aまたは外側右撮像部23b(以下、単に「外側撮像部23」と称する)によって撮像された画像に対して、例えばパターンマッチング等の画像処理を行うことによって、当該画像に含まれるマーカー3を検出することができる。ゲーム装置1は、検出されたマーカー3に基づいて、当該マーカー3と外側撮像部23との相対的な位置および姿勢を算出する。
【0034】
第1実施形態において、仮想空間に配置される仮想オブジェクトは、当該仮想オブジェクトが対応づけられたマーカー3のマーカー座標系に配置される。仮想オブジェクトは、仮想空間に配置された仮想カメラによって撮像されることで描画(レンダリング)され、ゲーム装置1のディスプレイ22に表示される。ここで、仮想カメラは、ユーザに視認させる仮想空間の画像を撮像するためのものである。仮想カメラのマーカー座標系における位置および姿勢は、実空間の外側撮像部23の位置および姿勢と一致される。このため、マーカー3に基づいて仮想空間が定義され、当該仮想空間において、外側撮像部23の位置や撮像方向を変化させると、上側LCD22に表示される仮想空間の画像も変化する。
【0035】
(ゲーム装置の構成)
図3は、ゲーム装置1の外観図の例である。ゲーム装置1は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、ヒンジ構造により開閉可能(折り畳み可能)に連結されている。
【0036】
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12,タッチパネル13,各操作ボタン14A〜14E,アナログスティック15,挿入口11D、および挿入口17が設けられる。
【0037】
下側LCD12は、画像を(立体視可能ではなく)平面的に表示する表示装置である。タッチパネル13はゲーム装置1の入力装置の一つである。タッチパネル13への入力に用いるタッチペン28は、挿入口17(図3において点線で示される)から挿入されて収容される。なお、タッチペン28の代わりにユーザの指を用いることもできる。
【0038】
各操作ボタン14A〜14Eは、所定の入力を行うための入力装置である。ボタン14A〜14Eには、ゲーム装置1によって実行されるプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは、選択操作やゲーム中のキャラクタの移動操作等に用いられる。例えば、各操作ボタン14B〜14Eは、決定操作やキャンセル操作等に用いられる。アナログスティック15は、方向を指示するデバイスである。
【0039】
挿入口11D(図3において点線で示される)は、ゲームプログラムを記録した外部メ
モリ45を挿入するための挿入口11Dが設けられる。
【0040】
上側ハウジング21には、上側LCD22,外側左撮像部23a,外側右撮像部23b,内側撮像部24,および3D調整スイッチ25が設けられる。
【0041】
上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、3D調整スイッチ25によって行われる。
【0042】
内側撮像部24は、上側ハウジング21の内側面21Bの内向きの法線方向を撮像方向とする撮像部である。外側左撮像部23a及び外側右撮像部23bは、いずれも内側面21Bとは反対の外側面の外向きの法線方向を撮像方向とする撮像部である。以降、外側左撮像部23a及び外側右撮像部23bをまとめて、外側撮像部23と称する。
【0043】
内側撮像部24、又は、外側撮像部23によって撮像された撮像画像は、上側LCD22に表示される。したがって、上側LCD22の画面を含む平面は、撮像平面に相当する。
【0044】
図4は、ゲーム装置1の内部構成の一例を示すブロック図である。ゲーム装置1は、上述した各部に加えて、情報処理部31,メインメモリ32,外部メモリインターフェイス(外部メモリI/F)33,データ保存用外部メモリI/F34,データ保存用内部メモリ35,無線通信モジュール36,ローカル通信モジュール37,リアルタイムクロック(RTC)38,加速度センサ39,角速度センサ40,電源回路41,およびインターフェイス回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0045】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311,画像処理を行うGPU(Graphics Processing Unit)312,VRAM(Video RAM)313等を含む。CPU311は、ゲーム装置1内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている当該所定のプログラムを実行することによって、所定の処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。VRAM313に描画された画像は、上側LCD22および/または下側LCD12に出力されて表示される。
【0046】
情報処理部31には、メインメモリ32,外部メモリI/F33,データ保存用外部メモリI/F34,およびデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェイスである。
【0047】
メインメモリ32は、情報処理部31(CPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。第1実施形態では、メインメモリ32として例えばPSRAM(Pseudo-SRAM)を用いる。
【0048】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶媒体である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。
【0049】
データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)であり、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46は、SDカードである。データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46及びデータ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0050】
情報処理部31には、無線通信モジュール36およびローカル通信モジュール37が接続される。無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、IEEE802.11.b/gのアドホックモードにおいて、他のゲーム装置1と直接無線通信を行ったりすることが可能である。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0051】
情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。なお、加速度センサ39は、静電容量式の加速度センサであっても、他の方式の加速度センサであってもよい。また、加速度センサ39は1軸または2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置1の姿勢や動きを算出する。
【0052】
情報処理部31には、角速度センサ40が接続される。角速度センサ40は、ゲーム装置1の3軸周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置1の姿勢や動きを算出する。
【0053】
情報処理部31には、RTC38および電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻を計算する。電源回路41は、ゲーム装置1が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置1の各部品に電力を供給する。
【0054】
情報処理部31には、I/F回路42が接続される。I/F回路42には、マイク43,スピーカ44,およびタッチパネル13が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。スピーカ44は、I/F回路42からの音声信号をアンプ(図示せず)により増幅し、音声を出力する。I/F回路42は、マイク43およびスピーカ44の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。第1実施形態では、タッチパネル13は、抵抗膜方式のタッチパネルが用いられる。ただし、タッチ
パネル13は、抵抗膜方式に限らず、例えば、静電容量方式等、任意の押圧式のタッチパネルを用いることができる。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチパネル13のタッチ位置座標を生成して情報処理部31に出力する。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を知ることができる。
【0055】
操作ボタン14およびアナログスティック15は、情報処理部31に接続され、各操作ボタン14A〜14Eおよびアナログスティック15に対する入力状況を示す操作データを情報処理部31に出力する。情報処理部31は、操作ボタン14およびアナログスティック15から操作データを取得することによって、操作ボタン14およびアナログスティック15に対する入力に応じた処理を実行する。
【0056】
下側LCD12および上側LCD22は、情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(GPU312)の指示にしたがって画像を表示する。下側LCD12は、画像を(立体視可能ではなく)平面的に表示する表示装置である。下側LCD12の画素数は、一例として、320dot×240dot(横×縦)である。なお、第1実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の表示装置を利用してもよい。また、下側LCD12として、所望の解像度を有する表示装置を利用することができる。
【0057】
上側LCD22は、裸眼立体視可能な表示装置である。上側LCD22は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。上側LCD22の画素数は、一例として800dot×240dot(横×縦)である。第1実施形態では、上側LCD22は液晶表示装置であるとして説明される。ただし、これに限らず、例えば、ELを利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0058】
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示にしたがって画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0059】
内側撮像部24は、所定の解像度を有する撮像素子と、レンズとを含む。撮像素子は、例えば、CCDイメージセンサやCMOSイメージセンサ等である。レンズは、ズーム機構を有するものでもよい。
【0060】
外側左撮像部23a及び外側右撮像部23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。外側左撮像部23aと外側右撮像部23bとは、ゲーム装置1が実行するプログラムによって、2つの外側撮像部(外側左撮像部23aおよび外側右撮像部23b)のいずれか一方を単独で使用可能である。第1実施形態では、何れか一方の外側撮像部23を使用することとして説明する。
【0061】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に送信する。
【0062】
図5は、ゲーム装置1が扱う情報の例を示す図である。ゲーム装置1は、ボード情報581,マーカー情報582,オブジェクト情報583,条件情報584,及びゲーム進行状況情報585を扱う。これらの情報は、後述の記憶部58に保持されている。
【0063】
ボード情報581は、ゲームシステム100によって提供されるゲームで用いられるボードに関する情報である。ボード情報581には、例えば、ボードを識別するためのボードID,マス配置情報,及びマーカーの配置情報が含まれる。マス配置情報は、ボード上のマスの配置を示す情報である。また、マーカー配置情報は、マーカーの配置を示す情報であり、マーカーを有するマスと、該マスに配されるマーカーの種類との情報が含まれる。ボード情報581は、ゲームシステム100で提供されるゲームが複数あり、ゲームシステム100で用いられるボードも複数ある場合には、各ボードに対して存在する。
【0064】
例えば、ボード2が横にM個、縦にN個の所定サイズの四角形のフィールドに分割されている場合のマス配置情報及びマーカー配置情報の例を説明する。フィールドは、単にボード2を分割した範囲である。また、1つのフィールドには、1つのマスを配置可能であるとする。ただし、全てのフィールドにマスが配置されることに限られず、一部のフィールドにはマスが配置されない場合もある。各フィールドには、行番号i(0≦i≦M)と列番号j(0≦j≦N)とで識別番号ijが付される。このような場合、マス配置情報は、マスが配置されるフィールドの識別番号となる。また、マーカー配置情報は、マーカーが存在するフィールドの識別番号と、該フィールドに印刷されたマーカーの識別情報であるマーカーIDとの対応付けとなる。なお、マーカーは、マスが配置されているフィールドに配置されるので、マス配置情報に含まれるフィールドの識別番号と、マーカー配置情報に含まれるフィールドの識別情報とは、一部重複する。また、この場合には、ボード情報581に、フィールドのサイズ(縦横の寸法)が含まれるようにしてもよい。
【0065】
マーカー情報582は、マーカーに関する情報である。マーカー情報582には、例えば、マーカーを識別するためのマーカーID,マーカー画像データ,マーカーサイズ,対応オブジェクトID,仮想オブジェクトの表示位置,オブジェクトの表示サイズ等が含まれる。マーカーサイズは、マーカーの縦横の寸法である。マーカー画像データは、ボード2に印刷されるマーカーの画像データである。ゲーム装置1は、マーカー画像データを用いて、撮像画像からマーカーを検出する。また、ゲーム装置1は、マーカー画像データとマーカーサイズに基づいて、撮像画像に含まれるマーカーの見え方から、撮像装置とマーカーとの位置及び姿勢等、すなわち、マーカー座標系を取得することができる。対応オブジェクトIDは、マーカーに対応する位置に表示される仮想オブジェクトの識別番号である。なお、1つのマーカーに対して複数の仮想オブジェクトが対応付けられていてもよく、この場合には、複数の対応オブジェクトIDがマーカー情報582に含まれる。仮想オブジェクトの表示位置は、例えば、仮想オブジェクトの基準点を配置する位置である。仮想オブジェクトの基準点の位置は、例えば、マーカー座標系における座標で示されてもよい。また、仮想オブジェクトの表示位置には、マーカーに対する仮想オブジェクトの傾きの角度等が含まれてもよい。オブジェクトの表示サイズは、仮想オブジェクトの縦横の寸法である。この仮想オブジェクトの寸法は、例えば、マーカーの等倍率のサイズに対する寸法であるので、仮想オブジェクトが上側LCD22に表示される場合には、撮像画像内のマーカーのサイズに応じて仮想オブジェクトのサイズも調整されて表示される。マーカー情報582は、ゲームシステム100において複数のマーカーが使用される場合には、使用される各マーカーに対して存在する。
【0066】
オブジェクト情報583は、マーカーに対応する位置に表示される仮想オブジェクトに関する情報である。オブジェクト情報583には、例えば、仮想オブジェクトを識別するためのオブジェクトID及び3次元描画用のオブジェクトのデータが含まれる。オブジェクトのデータには、仮想オブジェクトに複数の形態が存在する場合には、仮想オブジェクトの各形態のデータも含まれる。仮想オブジェクトの形態とは、仮想オブジェクトの外観を指し、仮想オブジェクトの形態が変化することは、仮想オブジェクトの外観が変化することを指す。仮想オブジェクトの外観は、例えば、仮想オブジェクト内のローカルな座標
系における点,線,面等の集合でも定義できる。例えば、仮想オブジェクトが人物のオブジェクトである場合には、仮想オブジェクトの形態が変化するとは、顔の表情,服装,ポーズの種類等が変わることであり、表情、服装、ポーズ毎のデータがオブジェクトのデータに含まれる。オブジェクト情報583は、ゲームシステム100において使用される仮想オブジェクトが複数ある場合には、各仮想オブジェクトに対して存在する。
【0067】
条件情報584は、ゲーム進行に関する分岐条件に関する情報である。条件情報584には、例えば、条件を識別するための条件ID,条件内容,及び条件内容を満たした場合に実行されるアクションが含まれる。ゲーム装置1は、複数の条件情報584を保持する。詳細は、後述される。
【0068】
ゲーム進行状況情報585は、ゲームの進行状況が記録された情報である。ゲーム進行状況情報585には、例えば、プレイヤーの状態,使用中のボードの各フィールドの状態,各仮想オブジェクトの各マーカー座標系における座標値等が含まれる。プレイヤーの状態及び各フィールド(特にマーカーを有するフィールド)の状態には、例えば、表示される仮想オブジェクトの形態のような表示に係る情報,ゲーム内で使用する蓄積されたポイント数のような各フィールド、仮想オブジェクト、プレイヤー等の属性情報等が含まれる。
【0069】
図6は、ゲーム装置1の機能ブロック図の一例である。図6に示される各機能ブロックは、例えば、外部メモリ45に格納されるゲームプログラムを情報処理部31(CPU311及びGPU312)が読み出して実行することによって実現される機能の一つである。
【0070】
ゲーム装置1の情報処理部31は、ゲームプログラムを実行することによって、撮像処理部51,マーカー処理部52,位置関係取得部53,操作解析部54,制御部55,オブジェクト表示設定部56,及び表示処理部57として動作する。記憶部58は、ゲームプログラムの実行によるメモリ割り当てにより動的に又は静的に、メインメモリ32,データ保存用外部メモリ46,又はデータ保存用内部メモリの記憶領域に作成される。
【0071】
撮像処理部51は、外側撮像部23及び内側撮像部24によって撮像して2次元の撮像画像を生成する。撮像処理部51は、外側撮像部23又は内側撮像部24に、撮像を行う所定間隔を指示することもできる。所定間隔は、例えば、1/60秒である。すなわち、外側撮像部23及び内側撮像部24は所定間隔で撮像し、撮像処理部51は所定間隔で2次元の画素配列である撮像画像を生成する。生成された撮像画像は、マーカー処理部52及び表示処理部57に出力される。
【0072】
マーカー処理部52は、撮像処理部51から入力される撮像画像に対してパターンマッチング等の画像認識処理を実行し、記憶部58のマーカー情報582に含まれるマーカー画像データに該当するマーカーを検出する。このようなマーカーの検出は、例えば、画像認識エンジンを用いて行われる。
【0073】
マーカー処理部52は、検出されたマーカーに対応するマーカー情報582を記憶部58から読み出し、該マーカーの外側撮像部23からの距離,傾きの角度,及びマーカーの向き、すなわち、マーカー座標系を検出する。このような処理は、例えば、ARToolKit等の専用のソフトウェアライブラリを用いて行うことができる。マーカー座標系を含むマーカーの検出結果は、位置関係取得部53とオブジェクト表示設定部56とに出力される。
【0074】
さらに、マーカー処理部52は、撮像画像から検出されたマーカーの基準座標系におけ
る座標を求める。撮像処理部51からは、所定間隔で逐次撮像画像が入力されるので、マーカー処理部52は、逐次入力される各撮像画像について検出された該マーカーの基準座標系における座標を求める。求められたマーカーの座標は、位置関係取得部53に出力される。基準座標系は、例えば、撮像画像内に含まれるいずれかのマーカーのマーカー座標系,撮像画像平面における座標系,撮像平面に平行な面上のXY軸と該平行な面に直行するZ軸で定義されるカメラ座標系,又は、実空間内における所定位置を原点として互いに直行するXYZ軸で定義される座標系のいずれであってもよい。実空間内の座標系は、例えば、原点となる位置をゲーム開始前に決定し、ゲーム装置1に備えられる加速度センサ39や角速度センサ40から得られる情報によって、ゲーム装置1や各マーカーの実空間内の座標系における位置は取得することができる。なお、マーカーの座標は、マーカーの中心点を含む特徴点の何れかについて求められればよい。
【0075】
なお、撮像画像に複数のマーカーが含まれる場合には、マーカー処理部52は、それぞれのマーカーについて上記処理を行う。
【0076】
位置関係取得部53は、マーカー処理部52から入力される、マーカー座標系と基準座標系におけるマーカーの座標とから、撮像画像に含まれる2つ以上のマーカーのうち、2つのマーカーの組み合わせ毎に、該2つのマーカー間の位置関係を取得する。2つのマーカーの位置関係には、例えば、2つのマーカー間の距離,2つのマーカーの向き,一方のマーカーに対するもう一方のマーカーの位置する方向等、及び、それらの組み合わせが含まれる。2つのマーカーの位置関係は、マーカー処理部52から入力される各撮像画像について、すなわち、撮像画像が生成される所定間隔で行われる。
【0077】
位置関係取得部53は、求めた2つのマーカーの位置関係を所定時間分バッファしておき、該位置関係の変化を監視する。第1実施形態では、ボード2上のマーカーはボード2に固定されているため、2つのマーカーの位置関係の変化は、プレイヤーカード3の移動があったことを示す。2つのマーカーの位置関係の変化を検出すると、位置関係取得部53は、変化内容と変化後の2つのマーカーの位置関係とを制御部55に出力する。位置関係の変化には、例えば、2つのマーカー間の距離の変化,一方のマーカーに対するもう一方のマーカーが位置する方向の変化,一方のマーカーに対するもう一方のマーカーの向きの変化等,及びそれらの組み合わせが含まれる。なお、2つマーカーの位置関係の変化には、例えば、プレイヤーカード3がボード2上に追加されて配置されたことによる新たな2つのマーカーの位置関係の出現や、プレイヤーカード3がボード2上から取り除かれることによる2つのマーカーの位置関係の消滅等も含まれる。
【0078】
操作解析部54は、タッチパネル13,操作ボタン14A−14E,及びアナログスティック15がユーザによって操作された場合に、タッチパネル13,操作ボタン14A−14E,アナログスティック15の押下信号から操作内容を解析する。操作内容の解析結果は、制御部55に出力される。
【0079】
制御部55は、ゲーム進行を管理する。具体的には、制御部55は、以下の処理を実行する。(1)制御部55は、位置関係取得部53から入力された、プレイヤーカード3のマーカーとボード2上のマスのマーカーとの位置関係の変化内容と、変化後の位置関係との少なくとも何れか一方が、記憶部58の条件情報584のいずれかに合致するか否かを判定する。条件情報584のいずれかに合致した場合には、制御部55は、該条件情報584に含まれるアクションを実行する。
【0080】
(2)制御部55は、操作解析部54から入力されたタッチパネル13又は操作ボタン14A−14Eの操作内容に応じた処理を実行する。操作解析部54からの操作内容に応じてよって実行される処理は、例えば、ユーザ操作内容にしたがって、使用アイテムを選
ぶ,プレイヤーの状態を表示する等の仮想空間で進行するゲームに関する処理である。
【0081】
(3)制御部55は、ゲーム進行状況を記録部58のゲーム進行状況情報585に記録する。制御部55は、ボード2上の仮想空間に変更があった際に、ゲーム進行状況情報585を更新する。ボード2上の仮想空間の変更には、例えば、ボード2上の各マーカー上の仮想オブジェクト又はプレイヤーカード3上の仮想オブジェクトの形態の変更等の表示に係わる変更や、プレイヤーの経験値,保持アイテム等の属性情報の変更等の内的な変更(仮想空間内における効果の変更)である。
【0082】
(4)制御部55は、撮像画像にボード2の一部のみが含まれる場合には、撮像画像に含まれるボード2上の一部のマーカー間の配置からボード上のどの部分の撮像画像かを推定する。また、撮像画像内にマーカーの一部のみが含まれる場合には、撮像画像に含まれる他のマーカーとの位置関係から、一部のみが含まれるマーカーの欠けている部分を補完して、対応するオブジェクトを表示させる補完処理を行う。制御部55は、記憶部58のボード情報581に含まれるマーカー配置情報に基づいて、撮像画像に含まれるボード2の一部がどの部分であるかを推定する。
【0083】
(5)制御部55は、ゲーム開始前に、ボード2の情報を取得し、ボード2を認識する。ボードの認識処理の詳細は、図8において説明される。
【0084】
制御部55による上記(1),(2),及び(4)の処理によって、仮想空間の仮想オブジェクトの表示形態の変更が必要となる場合には、制御部55は、オブジェクト表示設定部56に表示変更の指示を出力する。
【0085】
オブジェクト表示設定部56は、マーカー処理部52からマーカーの検出結果が入力されると、該マーカーのマーカー情報582とゲーム進行状況情報585とを参照し、該マーカーに対応して表示される仮想オブジェクトの表示設定を行う。仮想オブジェクトの表示設定は、例えば、マーカーに対する仮想オブジェクトの表示位置,仮想オブジェクトの表示サイズ,仮想オブジェクトの形態(表情等)である。また、オブジェクト表示設定部56は、制御部55から仮想オブジェクトの表示変更の指示を受けると、変更指示に合わせて仮想オブジェクトの表示設定を変更する。オブジェクト表示設定部56は、仮想オブジェクトの表示設定を表示処理部57に出力する。
【0086】
表示処理部57は、オブジェクト表示設定部56による仮想オブジェクトの表示設定に従って、撮像画像に仮想オブジェクトを重畳し、描画処理を実行する。描画処理によって生成された画像(重畳画像)は、上側LCD22に出力され表示される。表示処理部57は、撮像画像に複数のマーカーが含まれる場合には、各マーカーについて、対応する仮想オブジェクトの描画処理を実行する。表示処理部57の描画処理は、例えば、GPU312によって実行される。
【0087】
(初期設定処理)
図7は、ボード2及びプレイヤーカード3の仮想空間における初期状態を示す図である。ゲーム開始前に、まず、ボード2を認識し、仮想空間の初期設定を行う初期設定処理が行われる。初期設定処理が実行後、ボード2全体をゲーム装置1で撮像すると、ゲーム装置1の表示画面内のボード2上には、ツリーオブジェクト5−1〜5−9,第1の敵キャラクタオブジェクト6−1,6−2,6−3,第2の敵キャラクタオブジェクト7−1〜7−3,家オブジェクト8等が、それぞれ対応するマーカーに対応する位置に出現する(表示される)。また、仮想空間内のプレイヤーカード3上には、プレイヤーオブジェクトが出現する(表示される)。
【0088】
図7に示されるボード2は、横に5個(行が5つ)、縦に4個(列が4つ)のフィールドを有する。ボード2の各フィールドは、行番号iと列番号jとで、フィールドijと識別番号が付される。図7に示されるボード2のボード情報581のマス配置情報は、フィールド11,12,13,15,21,23,24,25,31,33,35,41,42,43,44,45となる。また、マーカー配置情報は、フィールド11に敵オブジェクト6−1,・・・(省略)となる。以降、このような各フィールドの識別番号を用いて、マスijと表記する。
【0089】
図8は、初期設定処理のフローチャートの例である。図8に示される初期設定処理は、例えば、ユーザのゲーム装置1の操作によって、初期設定処理の開始が選択されると、開始される。
【0090】
OP1では、ゲーム装置1は、ボードを認識するボード認識処理を実行する。第1実施形態において、ボードを認識する目的は、ボード情報581を生成するためである。または、ボードを認識する目的は、複数あるボード情報581の中から一つを特定するためである。そこで、ボード認識処理として以下の処理が例示される。
【0091】
(1)ゲーム装置1は、記憶部58に予め複数のボード情報581を保持している。ゲーム装置1は、外側撮像部23によってボード2の全体を撮像し、マーカー処理部52の画像認識処理によって撮像画像からボード2上に含まれる全てのマーカーの配置を取得する。制御部55は、取得されたボード2上の全てのマーカーの配置と、記憶部58に保持される各ボード情報581に含まれるマーカー配置情報とを比較する。制御部55は、比較の結果、最も類似性が高いマーカー配置情報を含むボード情報581を、ボード2に対応するボード情報581として特定すればよい。又は、各ボード情報581にボード全体の画像データを含めておき、ボード2の全体を含む撮像画像と各ボードの画像データとを比較して、ボード情報581を特定してもよい。
【0092】
(2)上記(1)の処理において、ボードの全体画像に代わり、各ボードに特有の識別画像を用いる。この場合には、識別画像はボード2に印刷されており、さらに、ボード情報581にも識別画像データが含められて記憶部58に保持される。ゲーム装置1は、ボード2を含む撮像画像から識別画像を検出し、検出した識別画像に対応するボード情報581を特定する。識別画像は、例えば、ボードIDの画像である。
【0093】
(3)ボード2には、例えばQRコードのような2次元コードが付されており、ゲーム装置1の制御部55は、外側撮像部23によって撮像された撮像画像から該2次元コードを検出して解析し、得られた情報からボード2のボード情報581を生成する。ボード2に印刷される2次元コードには、例えば、マス配置情報,マーカー配置情報が含まれる。また、例えば、ステージ名や制限時間等のゲームに関する付加情報が含まれていてもよい。この場合には、ゲーム装置1は2次元コードを認識するソフトウェアを備えなければならないが、ゲームシステム100の販売、配布とは別に、後から新たなボードを追加したり、既存のボードを拡張したりすることができる。
【0094】
(4)ゲーム装置1は、外側撮像部23によって四辺を沿うようにしてボード2の部分画像を複数取得する。ゲーム装置1は、マーカー処理部52による画像認識処理によって、複数のボード2の部分画像からマーカーを検出し、マーカーの配置等を取得する。これによって、ゲーム装置1は、ボード2のボード情報581を生成する。この場合には、ボード2の部分画像を撮像するために、ユーザはゲーム装置1をボード2の四辺に沿うようにして動かす必要がある。また、ゲーム装置1は、ボード2上の全体画像から複数の部分画像を抽出してもよい。
【0095】
(5)ゲーム開始時には、ゲーム装置1は、ボード2上のプレイヤーのゲーム開始地点のマス及びマーカーを認識している。ただし、ゲーム装置1は、ボード2全体は認識していない。この場合には、ボード情報581は未完成のままでゲームが開始され、ゲーム装置1は、新たにマス及びマーカーを認識すると、その情報をボード情報581に追加していく。
【0096】
ゲームシステム100で実行されるゲームに応じて、ゲーム装置1がOP1のボード認識処理として、上記(1)〜(5)の何れの処理を行うか選択するようにしてもよい。また、ゲームシステム100が提供するゲームに応じて、上記(1)〜(5)のいずれかの処理に固定してボード認識処理を実行するようにしてもよい。
【0097】
OP2では、制御部55は、特定された、又は、生成されたボード情報581に基づいて、仮想空間内の初期状態を作成する。例えば、OP1において(1)〜(4)の処理が行われた場合には、ボード2に含まれる全マーカーに対して仮想オブジェクトの表示設定がオブジェクト表示設定部56によって行われる。OP1において(5)の処理が行われた場合には、認識されているマーカーのみについて、仮想オブジェクトの表示設定がオブジェクト表示設定部56によって行われる。仮想空間の初期状態の作成が完了すると、図8に示される処理が終了する。
【0098】
図8に示される処理が終了すると、ゲームシステム100は、ゲーム開始可能な状態になる。
【0099】
(第1のゲーム進行処理)
第1のゲーム進行処理は、プレイヤーカード上のマーカーと、ボード2上の各マーカーとの位置関係に基づき実行されるゲーム進行に係る処理である。ゲーム装置1は、第1のゲーム進行処理を記憶部58に保持される条件情報584の設定内容に応じて実行する。
【0100】
図9は、第1のゲーム進行処理が行われた場合のボード2上の状態を示す図である。図9では、図7において示されたボード2と同じボードが示されている。
【0101】
図10は、第1のゲーム進行処理の進行条件を定義する条件情報584の例である。条件情報584は、「条件」と、「条件」に対する「アクション」とを定義する。条件情報584は、条件の数だけ記憶部58に保持されており、各条件情報584は、条件IDで識別される(図5参照)。
【0102】
第1のゲーム進行処理の条件情報584の「条件」は、プレイヤーカード3のマーカーとボード2上のマーカーとの位置関係に基づいて設定される。また、第1のゲーム進行処理の条件情報584の「アクション」には、実空間に情報を重畳する処理が設定される。実空間に情報を重畳する処理は、例えば、実空間のプレイヤーカード3のマーカーの対応する位置にプレイヤーオブジェクト4を所定の形態で重畳表示すること,実空間のボード2上のマーカーに対応づけられた位置に仮想オブジェクトを所定の形態で重畳表示すること、仮想空間におけるプレイヤーの属性(保有ポイント、アイテム等)を変化させること、ゲーム内(仮想空間)の時間を経過させたり等の仮想空間内に効果をもたらす処理である。
【0103】
第1のゲーム進行処理の条件情報584の「条件」には、プレイヤーカード3のマーカーとボード2上のマーカーとの位置関係として、各マーカーの位置から検出可能な情報が用いられる。マーカーの位置は、例えば、マーカー処理部52によって取得される基準座標系におけるマーカーの基準点の座標である。または、マーカーの位置は、ボード2のマスであってもよい。マーカーの位置がボード2上のマスで判定される場合には、マーカー
処理部52からの各マーカーの検出結果とボード情報581とに基づいて制御部55がマーカーの位置するマスを判定する。マーカーの基準点は、例えば、マーカーの特徴点や中心点である。また、マーカーの位置は、例えば、マスであってもよい。マーカーの位置がマスである場合には、ボード2上のマーカーが配置されるマスが予め設定されており、プレイヤーカード3のマーカーの位置するマスを特定すればよいので、位置関係の判別が容易となる。
【0104】
各マーカーの位置から検出可能な情報としては、例えば、(a)プレイヤーカード3のマーカーとボード2のマーカーとの間の距離、(b)プレイヤーカード3のマーカー及びボード2のマーカーの向き、(c)プレイヤーカード3のマーカー及びボード2のマーカーのうち、一方の位置を基準とした場合のもう一方の位置する方向、及び(a)〜(c)の組み合わせ等がある。
【0105】
(a)プレイヤーカード3のマーカーとボード2上のマーカーとの間の距離は、位置関係取得部53によって取得される、基準座標系における各マーカーの座標間の距離であってもよい。又は、プレイヤーカード3のマーカーが位置するマスと、ボード2上のマーカーが配置されるマスとの間に存在するマスの数であってもよい。
【0106】
(b)プレイヤーカード3のマーカー及びボード2のマーカーの向きは、例えば、ボード2上のマーカーに対するプレイヤーカード3の向きであってもよいし、各マーカーの向きの関係であってもよい。各マーカーの向きの関係は、同じ向きを向いている、反対の方向を向いている、向き合っている等である。これらのマーカーの向きは、マーカー処理部52によって取得される各マーカー座標系に基づいて位置関係取得部53によって取得される。
【0107】
(c)プレイヤーカード3のマーカー及びボード2のマーカーのうち、一方の位置を基準とした場合のもう一方の位置する方向は、例えば、プレイヤーカード3のマーカーがボード2上のマーカーの前後左右(又は東西南北)の何れの方向に位置するか等である。一方のマーカーの位置を基準とした場合のもう一方のマーカー位置する方向は、マーカー処理部52によって取得される各マーカー座標系に基づいて位置関係取得部53によって取得される。
【0108】
また、第1のゲーム進行処理の条件情報584の「条件」は、プレイヤーカード3の配置変更による位置関係の変化によっても定義される。位置関係の変化は、例えば、上記(a)〜(c)の変化及び(a)〜(c)の変化の組み合わせである。
【0109】
(a)プレイヤーカード3のマーカーとボード2上のマーカーとの距離の変化には、例えば、該距離の短縮,伸長がある。(b)プレイヤーカード3のマーカーとボード2上のマーカーとの向きの変化には、例えば、プレイヤーカード3の配置変更によるプレイヤーカード3のマーカーの向きの変化がある。(c)一方のマーカーの位置を基準とした場合のもう一方のマーカーの位置する方向の変化には、例えば、プレイヤーカード3の配置変更による、ボード2上の第2のマーカーを基準とするプレイヤーカード3のマーカーが位置する方向の変化等がある。
【0110】
図10に示される第1のゲーム進行処理の条件情報581は、上記(a)〜(c)及び(a)〜(c)の組み合わせの位置関係及び位置関係の変化によって設定される「条件」と、「条件」に対する「アクション」の具体例である。なお、第1のゲーム進行処理の条件情報581は、位置関係と位置関係の変化との組み合わせによって設定されてもよい。
【0111】
条件ID「1」の条件情報では、「条件」に、プレイヤーカード3のマーカーが敵キャ
ラクタオブジェクトのマーカーに重なること、「アクション」に、該敵キャラクタオブジェクトとの対戦が開始されることが設定されている。制御部55は、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーに重なることを、例えば、該2つのマーカーの位置関係の変化内容が距離の短縮であり、且つ、変化後の位置関係が該2つのマーカーの座標値が同じマスに位置していると見なされる所定範囲にあること、によって判定する。図9は、図10の条件ID「1」の条件情報の「条件」に合致した場合のゲーム進行を例示する。図9では、プレイヤーカード3−1がマス11から敵キャラクタ6−3のマーカーが配置されるマス13(図7)に移動したことによって、プレイヤーカード3−1のマーカーがマス13のマーカーに重なった様子が示されている。この後、ボード2上では、マス13のマーカーに対応する敵キャラクタオブジェクトとの対戦の処理が実行される。
【0112】
条件ID「2」の条件情報では、「条件」に、プレイヤーカード3のマーカーが倒した敵キャラクタオブジェクトのマーカーから離れること、「アクション」に、該敵キャラクタオブジェクトの仮想オブジェクトが倒れた状態で表示されることが設定されている。制御部55は、プレイヤーカード3のマーカーが倒した敵キャラクタオブジェクトのマーカーから離れることを、例えば、該2つのマーカーの位置関係の変化内容が距離の伸長であることによって判定する。図9は、図10の条件ID「2」の条件情報の「条件」に合致した場合のゲーム進行を例示する。図9では、プレイヤーがマス11の敵キャラクタオブジェクトを倒した後、プレイヤーカード3−1がマス11からマス13に移動した様子が示されている。したがって、図9のボード2上では、マス11の敵キャラクタオブジェクト6−1は、倒れた状態で表示されている。
【0113】
条件ID「3」の条件情報では、「条件」に、家オブジェクトのマーカーに隣接するマスにプレイヤーカード3のマーカーが位置すること、「アクション」に、該家オブジェクトからキャラクタが出てくることが設定されている。制御部55は、家オブジェクトのマーカーに隣接するマスにプレイヤーカード3のマーカーが位置することを、例えば、該2つのマーカーの位置関係の変化内容が距離の縮小であること、且つ、変化後の位置関係がプレイヤーカード3のマーカーが家オブジェクトのマーカーの隣接マスに位置すること、によって判定する。ただし、プレイヤーカード3のマーカーと家オブジェクトのマーカーとの間の距離を算出し、算出した距離がマス1つの寸法以下か否かを判定することで、隣接マスに位置することを判定してもよい。図9は、図10の条件ID「3」の条件情報の「条件」に合致した場合のゲーム進行を例示する。図9では、プレイヤーカード3−2が家オブジェクト8−1のマス45の隣接マスであるマス44に移動したことにより、家オブジェクト8−1からキャラクタオブジェクト8−2が出てきた様子が示されている。
【0114】
条件ID「4」の条件情報では、「条件」に、家オブジェクトのマーカーにプレイヤーカード3のマーカーが重なること、「アクション」に、プレイヤーの体力回復が設定されている。制御部55は、該条件が満たされると、ゲーム進行状況情報585のプレイヤーの状態を、体力ポイントをアップさせて更新する。
【0115】
条件ID「5」の条件情報では、「条件」に、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーから2マス以内の範囲に進入すること、「アクション」に、該敵キャラクタオブジェクトが動き出すことが設定されている。制御部55は、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーから2マス以内の範囲に進入することを、例えば、該2つのマーカーの位置関係の変化内容が距離の2マス以上から2マス以下への短縮であること、変化後の位置関係が該2つのマーカーが重なっていないこと、によって判定する。
【0116】
条件ID「6」の条件情報では、「条件」に、プレイヤーカード3のマーカーが敵キャ
ラクタオブジェクトのマーカーから2マス以内の範囲から出ること、「アクション」に、該敵キャラクタオブジェクトの動きが止まることが設定されている。制御部55は、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーから2マス以内の範囲から出ることを、例えば、該2つのマーカーの位置関係の変化内容が距離の2マス未満から2マス以上への伸長であること、によって判定する。
【0117】
図9は、条件ID「5」の条件情報の「条件」に合致した場合のゲーム進行の例示である。図9では、プレイヤーカード3−1がマス13に移動したことにより、敵キャラクタオブジェクト7−2から2マス以内の範囲に進入し、敵キャラクタオブジェクト7−2が動き出した様子が示されている。さらに、図9では、この後、プレイヤーカード3−1が、例えば、マス13からマス12に移動することにより、敵キャラクタオブジェクト7−2の2マス以内の範囲から出て、条件ID「6」の条件情報の「条件」に合致し、敵キャラクタオブジェクト7−2の動きが止まる。
【0118】
条件ID「7」の条件情報では、「条件」に、プレイヤーカード3のマーカーが種をまいたマスのマーカーから離れること、「アクション」に、プレイヤーカード3のマーカーが1マス離れるごとに、時間が経過し、種をまいたマーカーに対応するオブジェクトが、発芽→開花→実がなるというように成長することが設定されている。図10では、発芽→開花→実がなることが、条件ID「7」の条件情報の「条件」に対応する「アクション」に設定されている。この「アクション」の定義に代えて、発芽→開花→実がなるという一連の進行を複数の条件情報の「アクション」に設定してもよい。
【0119】
また、条件ID「8」の条件情報では、「条件」に、プレイヤーカード3のマーカーの周辺に複数のマーカーが存在すること、「アクション」に、プレイヤーカード3のマーカーに最も近いものを処理対象として選択することが設定されている。制御部55は、プレイヤーカード3の周辺に存在する複数のマーカーのうち、プレイヤーカード3に最も近いマーカーを選択し、処理対象として選択する。制御部55は、選択した処理対象のマーカーとプレイヤーカード3のマーカーとの位置関係及び/又は位置関係の変化に基づいて、合致する条件情報584があるか否かを判定し、合致する条件情報584がある場合には、対応するアクションを実行する。なお、プレイヤーカード3のマーカーの周辺に存在するマーカーには、他のプレイヤーカードのマーカーが含まれていてもよい。この場合には、ゲーム装置1の位置関係取得手段53は、プレイヤーカード3のマーカーと、プレイヤーカード3に最も近いボード2上のマーカーとの位置関係を取得するだけでよいので、処理負荷が軽くなる。
【0120】
図10に示される条件情報584のうち、条件ID「1」−「3」、「5」−「7」の「アクション」は、仮想オブジェクトの形態又は状態を変更させる処理の具体例である。仮想オブジェクトの形態又は状態を変更させる処理によって、ゲーム装置1に表示される仮想空間の表示状態が変化する。ゲーム装置1に表示される仮想空間の表示状態が変化すると、ゲーム装置1は、再度、撮像画像に含まれる実空間の各マーカーに対応する位置に仮想オブジェクトを重畳して表示画面を描画する。したがって、仮想オブジェクトの形態又は状態を変更させる処理は、実空間に情報を重畳する処理の一つである。
【0121】
図10に示される条件情報584のうち、条件ID「4」、「8」は、ゲーム装置1の表示される仮想空間の表示状態の変化を伴わない、内的な処理の例である。しかしながら、ゲーム装置1は、実空間のボード2やプレイヤーカード3と対応する仮想オブジェクトの情報として、内的な処理により変更された情報も保持する。したがって、ゲーム装置1の表示される仮想空間の表示状態の変化を伴わない、内的な処理も、実空間に情報を重畳する処理の一つであると言える。
【0122】
なお、図10は、条件情報584の例の一部を示しているだけであって、1つのゲーム内で図10に示される全条件情報が採用されることを示すものではない。また、ゲームシステム100の条件情報584が図10の例に限定されるわけではない。また、第1実施形態では、ゲームシステム100の説明をしているが、ゲームシステム以外のシステムでもシステムの用途に応じて、「条件」に対して「アクション」を設定することによって、情報を重畳することによって拡張される実空間の有用性を高めることができる。
【0123】
図11は、第1のゲーム進行処理のフローチャートの例である。図11に示される処理は、ゲームの開始とともに開始される。また、図11に示される処理は、所定の周期で、ゲーム終了まで繰り返し実行される。また、図11に示される処理は、撮像画像内のプレイヤーカード3のマーカーとボード2上の各マーカーとの2つのマーカーの組み合わせ毎に実行される。
【0124】
OP11では、位置関係取得部53は、撮像画像に2つ以上のマーカーが含まれるか否かを判定する。位置関係取得部53は、マーカー検出部52から入力されるマーカーの検出結果によって、該判定を行う。撮像画像に2つ以上のマーカーが含まれる場合には(OP11:Yes)、処理がOP12に進む。撮像画像に2つ以上のマーカーが含まれない場合には(OP11:No)、図11に示される処理が終了する。
【0125】
OP12では、位置関係取得部53は、検出されたマーカーのうち、2つのマーカーの位置関係の変化を監視する。OP13では、位置関係取得部53は、2つのマーカーの位置関係の変化が検出されたか否かを判定する。2つのマーカーの位置関係の変化が検出された場合には(OP13:Yes)、位置関係取得部53は、2つのマーカーの位置関係の変化内容及び変化後の位置関係を制御部55に出力し、処理がOP14に進む。2つのマーカーの位置関係の変化が検出されない場合には(OP13:No)、図11に示される処理が終了する。
【0126】
OP14では、制御部55は、位置関係取得部53から入力された2つのマーカーの位置関係の変化内容及び変化後の位置関係に基づいて、記憶部58内の条件情報584のうち、「条件」が満たされる条件情報584があるか否かを判定する。「条件」が満たされる条件情報584がある場合には(OP14:Yes)、処理がOP15に進む。「条件」が満たされる条件情報584が無い場合には、図11に示される処理が終了する。
【0127】
OP15では、制御部55は、「条件」が満たされた条件情報584に設定される「アクション」を実行する。その後、図11に示される処理が終了する。
【0128】
(第2のゲーム進行処理)
第2のゲーム進行処理は、プレイヤーカード3上のマーカーと、ボード2上のマーカーのうちの一つとが所定の条件を満たした時に、ボード2上の他のマーカーに対して実行される、ゲーム進行に係る処理である。第2のゲーム進行処理も、第1のゲーム進行処理と同じく、記憶部58に保持される条件情報584によって定義される。
【0129】
図12A及び図12Bは、第2のゲーム進行処理の一例を説明するための図である。図12A及び図12Bには、横に5個、縦に4個のフィールドを有する、同一のボードの仮想空間が示されている。
【0130】
図12Aでは、プレイヤーオブジェクト4−1がマス43に位置し、お助けキャラクタオブジェクト4−3がマス44に位置する。お助けキャラクタは、プレイヤーにヒントを与えたり,アイテムを与えたり等して、プレイヤーをサポートするキャラクタである。また、図12Aでは、マス43〜マス45のマス以外には、敵キャラクタオブジェクト又は
雷オブジェクト9が存在する。雷オブジェクト9は、プレイヤーにとって不利に作用するオブジェクトである。例えば、プレイヤーオブジェクト4−1が、雷オブジェクト9のマスに進入すると、プレイヤーが保持するポイントから1点引かれる等のアクションが実行される。
【0131】
図12Aに示される仮想空間において、例えば、プレイヤーオブジェクト4−1がお助けキャラクタオブジェクト4−3に話しかける等して接触すると、図12Bに示されるような状態に仮想空間が変化する。なお、話しかけるというアクションは、ゲーム装置1の操作ボタン14又はタッチパネル13の操作によって選択可能な、仮想空間内のプレイヤーの動作を指示するコマンドによって実行されるアクションの一つである。
【0132】
図12Bでは、図12Aにおいて敵キャラクタオブジェクト6−1,7−1,7−4が表示されていたマーカー上にリンゴオブジェクト11が、雷オブジェクト9が表示されていたマーカー上にハートオブジェクト12が表示される。リンゴオブジェクト11およびハードオブジェクト12は、体力回復アイテムである。
【0133】
図12A及び図12Bでは、プレイヤーに対して不利に作用するオブジェクトが、プレイヤーに対して有利に働くオブジェクトへ変化する例が示されている。プレイヤーオブジェクト4−1がお助けキャラクタに話しかけるというアクションが実行されるという条件が満たされた場合に、敵キャラクタオブジェクト6−1,7−1,7−4と、雷オブジェクト9等が、リンゴオブジェクト11及びハートオブジェクト12等に変化する。
【0134】
以上のように、第2のゲーム進行処理では、所定の条件が満たされた場合に、該条件を満たす2つの仮想オブジェクト以外の仮想オブジェクトに対して所定の処理が実行される。
【0135】
図13は、第2のゲーム進行処理を定義する条件情報584の例である。第2のゲーム進行処理の条件情報584の「条件」は、プレイヤーカード3のマーカーとボード2上のマーカーとの位置関係,ゲーム装置1からプレイヤーに対して指示されるアクションの内容,又はそれらの組み合わせによって設定される。第2のゲーム進行処理の条件情報584の「アクション」は仮想空間内、特に条件情報584の「条件」を満たす2つの仮想オブジェクト以外の仮想オブジェクトに対して作用する処理が設定される。仮想空間内に作用する処理は、例えば、ゲーム装置1の画面の表示の変更を伴う、条件情報584の「条件」を満たす2つの仮想オブジェクト以外の仮想オブジェクトの形態又は状態の変更処理である。また、仮想空間内に作用する処理は、これに限られず、ゲーム装置1の画面の表示の変更を伴わない処理も含まれる。ゲーム装置1の画面の表示の変更を伴わない処理は、例えば、条件情報584の「条件」を満たす2つの仮想オブジェクト以外の仮想オブジェクトのポイント等の属性情報の変更処理であり、これらは、該仮想オブジェクトに対して与えられる効果を変更する処理である。すなわち、条件情報584の「アクション」には、撮像画像上に情報を重畳する処理が実行される。
【0136】
図13に示される第2のゲーム進行処理の各条件情報584の「アクション」は、実空間に情報を重畳する処理の具体例である。
【0137】
条件ID「11」の条件情報は、図12Aおよび図12Bにおいて説明された処理を定義する条件情報であるため、説明を省略する。
【0138】
条件ID「12」の条件情報は、「条件」に、プレイヤーがツリーオブジェクトを伐採するアクションを実行すること、「アクション」に、伐採されたツリーオブジェクトの所定範囲内にあるツリーオブジェクトも倒れることが設定されている。なお、ツリーオブジ
ェクトを伐採することは、ゲーム装置1からプレイヤーに対して、例えば、ゲーム装置1の操作ボタン14,タッチパネル13,又はアナログスティック15において選択されたコマンドによって指示されるアクションの一つである。ゲーム装置1では、制御部55が操作解析部54からの操作信号によって、ツリーオブジェクトを伐採するアクションの実行を判定する。
【0139】
条件ID「13」の条件情報は、「条件」に、プレイヤーが敵キャラクタオブジェクトと戦って勝利すること、「アクション」に、該敵キャラクタオブジェクトと同じ種類の敵キャラクタオブジェクトも倒れること、が設定されている。例えば、プレイヤーと敵キャラクタとの対戦は、専用のプログラムの実行によって処理され、該プログラムの実行結果によって、制御部55は、プレイヤーの勝利を判定する。
【0140】
条件ID「14」の条件情報は、「条件」に、プレイヤーオブジェクト4が敵キャラクタオブジェクトと向き合うこと、「アクション」にプレイヤーオブジェクトと向き合っている敵キャラクタオブジェクト以外の敵キャラクタオブジェクトがプレイヤーオブジェクト4に注目する(プレイヤーオブジェクト4の方を向く)こと、が設定されている。プレイヤーオブジェクト4が敵キャラクタオブジェクトと向き合うことは、敵キャラクタオブジェクト4の前方方向の隣接マスに、プレイヤーカード3のマーカーが位置しており、且つ、プレイヤーカード3のマーカーの向きが該敵オブジェクト4方向であることによって制御部55によって判定される。
【0141】
また、図13に示される条件情報の他にも以下のような条件情報があってもよい。例えば、図12Aにおいて、「条件」にプレイヤーキャラクタ4−1が敵キャラクタ7−4を倒すこと、「アクション」にお助けキャラクタ4−3がプレイヤーキャラクタ4−1の体力を回復可能な状態になることが設定されてもよい。この場合には、その後、プレイヤーカード3がマス23からマス44に移動してお助けキャラクタ4−3のマスに重なると、プレイヤーキャラクタ4−1の体力が回復する。
【0142】
図14は、第2のゲーム進行処理のフローチャートの例である。図14に示される処理は、ゲームの開始とともに開始される。また、図14に示される処理は、所定周期でゲーム終了まで繰り返し実行される。
【0143】
OP21では、制御部55は、プレイヤーに対する操作があるか否かを判定する。制御部55は、操作解析部54からの入力によって、該判定を行う。プレイヤーに対する操作がある場合には(OP21:Yes)、処理がOP23に進む。プレイヤーに対する操作がない場合には(OP21:No)、処理がOP22に進む。
【0144】
OP22では、制御部55は、撮像画像に含まれる2つのマーカーの位置関係の変化が検出されたか否かを判定する。制御部55は、位置関係取得部53からの入力によって該判定を行う。2つのマーカーの位置関係の変化が検出された場合には(OP22:Yes)、処理がOP23に進む。2つのマーカーの位置関係の変化が検出されない場合には(OP22:No)、プレイヤーに対する操作もなく、撮像画像内の2つのマーカーの位置関係にも変化が無いので、図14に示される処理が終了する。
【0145】
OP23では、制御部55は、操作解析部14からの操作入力,位置関係取得部53から入力された2つのマーカーの位置関係の変化内容,及び変化後の位置関係に基づいて、記憶部58内の条件情報584のうち、「条件」が満たされる条件情報584があるか否かを判定する。「条件」が満たされる条件情報584がある場合には(OP23:Yes)、処理がOP24に進む。「条件」が満たされる条件情報584がない場合には、図14に示される処理が終了する。
【0146】
OP24では、制御部55は、「条件」が満たされた条件情報584に定義されるアクションを実行する。その後、図14に示される処理が終了する。
【0147】
(第1実施形態の作用効果)
第1実施形態では、ボード2上のマーカー間の位置関係や、プレイヤーに対する操作等に基づいて、所定の条件が満たされた場合には、実空間に情報を重畳する処理が実行される。これによって、マーカーに対応する仮想オブジェクトを表示するだけの処理に比べて、処理を多様化することができる、また、仮想空間内に様々な変化及び効果をもたらすことができ、ゲームの興趣性を高めることができる。
【0148】
また、第1実施形態では、ボード2が複数のマーカーを有することによって、ボード2の一部分のみがズームアップされて撮像された場合でも、撮像画像にボード2上のマーカーが1つでも含まれていれば、ゲーム装置1は、該マーカーのマーカー座標系を取得することができ、該マーカーに対応する位置に仮想オブジェクトを表示することができる。また、撮像画像内で、ボード2上のマーカーの一部分が欠けていても、ゲーム装置1は、全体が撮像されている他のマーカーとの位置関係から、該マーカーの全体を推定することができ、この推定に基づいて該マーカーに対応する位置に仮想オブジェクトを表示することができる。これによって、仮想空間と実空間との融合性を高めることができる。
【0149】
(第1実施形態の変形例)
第1実施形態では、ゲームシステム100はプレイヤーカード3を含み、ユーザによって実空間内でプレイヤーカード3が移動され、ボード2上の配置が変更されることによって、ゲームが進行した。一方、変形例では、ゲームシステム100は、プレイヤーカード3を含まず、代わりにマーカーを有する補助カード3Aを含む。補助カード3Aは、プレイヤーに対して有利に作用し、プレイヤーを補助する為のカードである。ユーザは、補助カード3Aをボード2上に追加,移動,及び除去することができる。変形例のゲームシステム100では、プレイヤーはユーザによるゲーム装置1の操作ボタン14やタッチパネル13等の入力装置の操作によって移動し、プレイヤーの移動によってゲームが進行する。
【0150】
変形例においては、マーカー処理部52及び位置関係取得部53は、第1実施形態におけるプレイヤーカード3のマーカーに対する処理と同様の処理を補助カード3Aのマーカーに対して実行する。すなわち、マーカー処理部52は、撮像画像に含まれるボード2上のマーカー及び補助カード3Aのマーカーを検出する。また、位置関係取得部53は、補助カード3Aとボード2上のマーカーとの位置関係を監視し、該位置関係の変化内容と変化後の位置関係とを取得する。制御部55は、補助カード3Aとプレイヤーオブジェクトとの位置関係を求め、補助カード3Aとプレイヤーオブジェクトとの位置関係,補助カード3Aとボード2上のマーカーとの位置関係の変化内容,変化後の位置関係,又はそれらの組み合わせに基づいて条件情報584の条件が満たされたか否かを判定し、条件が満たされた場合には、該当するアクションを実行する。
【0151】
図15は、変形例のゲームシステムの仮想空間の例を示す図である。図15に示される例において、補助カード3Aのマーカーに対応する仮想オブジェクトは、壁オブジェクトである。この補助カード3Aが敵キャラクタオブジェクトの隣接マスに配置されることによって(条件情報584の「条件」)、該敵キャラクタオブジェクトからの補助カード3A方向への攻撃を防ぐことができる(条件情報584の「アクション」)。なお、補助カード3Aには様々種類があり、種類毎にマーカー及びマーカーに対応付けられる仮想オブジェクトも異なる。
【0152】
図16は、変形例における第1のゲーム進行処理の条件情報584の例を示す図である。変形例における第1のゲーム進行処理の条件情報584の「条件」は、第1実施形態の第1のゲーム進行処理と同様に、補助カード3Aとボード2上のマーカーとの位置関係,補助カード3Aとプレイヤーオブジェクト4との位置関係,又は、それらの組み合わせによって設定される。また、条件情報584の「アクション」は、第1実施形態の第1のゲーム進行処理と同様に、実空間に情報を重畳する処理が設定される。
【0153】
条件ID「21」の条件情報584は、「条件」に、補助カード3Aのマーカーが家オブジェクトのマーカーと重なること、「アクション」に、プレイヤーの体力回復が定義される。
【0154】
条件ID「22」の条件情報584は、「条件」に、補助カード3Aのマーカーがプレイヤーの位置するマスに位置する(重なる)こと、「アクション」に、プレイヤーのレベルが向上することが定義される。
【0155】
条件ID「23」の条件情報584は、「条件」に、補助カード3Aのマーカーが敵キャラクタオブジェクトのマーカーの隣接マスに位置すること、「アクション」に、該敵キャラクタオブジェクトの攻撃を防御すること、が定義される。
【0156】
図17は、変形例における第1のゲーム進行処理のフローチャートの例である。図17に示される処理は、ゲームの開始とともに開始される。また、図17に示される処理は、所定周期でゲーム終了まで繰り返し実行される。
【0157】
OP41〜OP43の処理は、図11のOP11〜OP13の処理と同様である。すなわち、位置関係取得部53は補助カード3Aとボード2上のマーカーとの位置関係の変化を検出する処理である。
【0158】
OP44では、制御部55は、プレイヤーオブジェクトの移動があるか否かを判定する。制御部55は、操作解析部54からの入力内容に基づいて、該判定を行う。プレイヤーオブジェクトの移動がある場合には(OP44:Yes)、処理がOP45に進む。プレイヤーオブジェクトの移動が無い場合には(OP44:No)、図17に示される処理が終了する。
【0159】
OP45では、制御部55は、プレイヤーオブジェクトの移動内容,変更後の補助カード3Aのマーカーとプレイヤーオブジェクトとの位置関係を解析する。制御部55は、プレイヤーオブジェクトの移動内容を操作解析部54からの入力に基づいて解析する。制御部55は、変更後の補助カード3Aのマーカーとプレイヤーオブジェクトとの位置関係を、マーカー検出部52から入力される補助カード3Aのマーカーと、プレイヤーオブジェクトの移動内容とから解析する。
【0160】
OP46では、制御部55は、補助カード3Aのマーカーとボード2上のマーカーとの位置関係,補助カード3Aのマーカーとプレイヤーオブジェクトとの位置関係,又は、それらの組み合わせに基づいて、「条件」が満たされる条件情報584があるか否かを判定する。「条件」が満たされる条件情報584がある場合には(OP46:Yes)、処理がOP47に進む。「条件」が満たされる条件情報584がない場合には、図17に示される処理が終了する。
【0161】
OP47では、制御部55は、条件が満たされた条件情報584に定義されるアクションを実行する。その後、図17に示される処理が終了する。
【0162】
変形例において、第2のゲーム進行処理は、第1実施形態における第2のゲーム進行処理と同様の処理を適用することができる。すなわち、第1実施形態における第2のゲーム進行処理は、仮想空間内のプレイヤーオブジェクトの移動が、ユーザによるプレイヤーカード3の移動によって行われる場合でも、ゲーム装置1の操作ボタン14やタッチパネル13等の入力装置からの操作信号によって行われる場合でも、適用することができる。また、変形例における第2のゲーム進行処理では、条件情報584の「条件」の設定に補助カード3Aとプレイヤーオブジェクト4又はボード2上のマーカーとの位置関係又は位置関係の変化を用いることもできる。
【0163】
変形例におけるゲーム装置1では、操作ボタン14やタッチパネル13等の入力装置からの操作によって、実空間では存在しないプレイヤーオブジェクト4が表示画面内のボード2上で移動する。これによって、実空間には存在しないプレイヤーオブジェクト4が実空間に存在するボード2上で移動するようにユーザに認識させることができる。さらに、実空間に存在するボード2上に補助カード3Aを配置することによって、仮想空間内に存在する仮想オブジェクトに作用又は効果を及ぼすことができる。これらによって、ゲーム装置1は、実空間と仮想空間とがよりよく融合した拡張現実の世界をユーザに提供することができる。
【0164】
<第2実施形態>
第2実施形態では、第1実施形態で説明されたゲームシステムに、複数のゲーム装置1が含まれる場合のゲーム進行処理について説明する。複数のゲーム装置1でゲームシステムによって提供される仮想空間を共有する場合には、該複数のゲーム装置1間で情報の整合性を保つ必要がある。第2実施形態では、複数のゲーム装置1間で情報の整合性を保つために、無線通信を用いる。なお、第2実施形態では、仮想空間内におけるプレイヤーオブジェクト4の移動は、それぞれのゲーム装置1のユーザによるプレイヤーカード3の配置変更によって行われてもよいし、それぞれのゲーム装置1の操作ボタン14やタッチパネル13等の入力装置からの操作信号によって行われてもよい。
【0165】
第2実施形態では、ゲーム装置1は、無線通信モジュール36を用いて、例えばIEEE802.11.b/gのアドホックモードで、所定範囲内に存在する他のゲーム装置1とサーバやアクセスポイント等の中継装置の中継を介さずに直接通信を行う。
【0166】
第2実施形態では、制御部55は、自装置1の撮像画像内(撮像範囲内)で仮想空間に変化があった場合には、更新情報として該変化の内容を他のゲーム装置1に無線通信モジュール36を介して送信する。更新情報は、更新対象の仮想オブジェクトとマスの情報,及び更新内容とが含まれる。例えば、ゲーム進行状況情報585の更新による変更差分である。また、ゲーム装置1の制御部55は、無線通信モジュール36を通じて、他のゲーム装置1からの更新情報を受信する。
【0167】
他のゲーム装置1から受信した更新情報の内容と、自装置の撮像画像に含まれるマーカーとによって、ゲーム装置1において実行される更新情報を受信した際の情報整合処理は、以下に示す(A)−(C)の処理に分けられる。
【0168】
(A)受信した更新情報に、自装置の撮像画像(撮像範囲)に含まれるマーカーと同じマーカーの情報が含まれている場合には、制御部55は、該マーカーについて受信した更新情報と自装置が保持する情報(ゲーム進行状況情報585)とで整合性を確認する。整合性を確認するとは、例えば、複数のゲーム装置1間で、相互に、各ゲーム装置1が保持する情報の変化を更新情報として他のゲーム装置1に通知し、通知を受けたゲーム装置1は通知された更新情報を自装置の情報に反映することをいう。
【0169】
(B)受信した更新情報に、自装置の撮像画像(撮像範囲)に含まれるマーカーと同じマーカーの情報は含まれておらず、且つ、自装置の撮像画像に含まれるマーカーに関連する情報も含まれていない場合には、制御部55は、受信した更新情報に含まれる変更内容でゲーム進行状況情報585を更新する。
【0170】
図18は、更新情報の受信処理の一例を説明するための図である。図18は、上記(B)の受信処理が行われる場合について説明される。図18に示される例では、ゲーム装置1A及びゲーム装置1Bの2台のゲーム装置でゲームが実行されている。ボード2上のプレイヤーカード3A,3Bは、それぞれゲーム装置1A,1Bのユーザが使用するプレイヤーカードである。ゲーム装置1Aは撮像範囲50Aを撮像している。ゲーム装置1Bは、撮像範囲50Bを撮像している。
【0171】
図18に示される例において、ゲーム装置1Bが操作するキャラクタオブジェクト4Bは敵キャラクタオブジェクト7−2と対戦し勝利し、敵キャラクタオブジェクト7−2が倒れた状態になったとする。この場合、ゲーム装置1Bでは、自装置の撮像範囲50Bにおいて仮想空間内に起こった変化であるので、該変化を認識している。すなわち、ゲーム装置1Bでは、該変化がゲーム進行状況情報585に更新され、且つ、敵キャラクタオブジェクト7−2が倒れた状態で表示される。
【0172】
一方、ゲーム装置1Aでは、撮像範囲50Bにおいて発生した変化(敵キャラクタオブジェクト7−2が倒れた状態となる)について、ゲーム装置1Aの撮像範囲外で発生した変化であるため、認識していない。すなわち、ゲーム装置1Aの撮像範囲が撮像範囲50Aから撮像範囲50Bに移動した場合に、ゲーム装置1Aは敵キャラクタオブジェクト7−2が倒れた状態となることを認識していないため、ゲーム装置1Aは敵キャラクタオブジェクトを立った状態で表示する。この場合、ゲーム装置1Aに表示される仮想空間とゲーム装置1Bに表示される仮想空間とで整合性が取れていない状態となる。
【0173】
そこで、ゲーム装置1Bが、敵キャラクタオブジェクト7−2の状態が変化したことを更新情報としてゲーム装置1Aに送信する。これによってゲーム装置1Aは、敵キャラクタオブジェクト7−2の倒れた状態に変化したことを認識することができる。ゲーム装置1Aが撮像範囲を撮像範囲50Bに映した際には、敵キャラクタオブジェクト7−2は、倒れた状態でゲーム装置1Aに表示される。
【0174】
図19Aは、図18に示される例において、情報整合処理が実行された後のゲーム装置1Bの画面表示を示す図である。図19Bは、図18に示される例において、情報整合処理が実行された後のゲーム装置1Aの画面表示を示す図である。図18に示される例において、ゲーム装置1Aの撮像方向は、矢印Aで示される方向であるとする。また、ゲーム装置1Bの撮像方向は、矢印Bで示される方向であるとする。また、図18に示される例において、例えば、全ての仮想オブジェクトは矢印B方向を向いている、すなわち、ゲーム装置1A側を前面側、ゲーム装置1B側を背面側とする方向を向いている、とする。
【0175】
図19Aにおいて示されるゲーム装置1Bの画面では、敵キャラクタオブジェクト7−2が倒れた状態で表示される。また、ゲーム装置1Bの画面には、各仮想オブジェクトの背面が表示される。
【0176】
図19Bにおいて示されるゲーム装置1Aの画面においても、ゲーム装置1Bから更新情報を受信することによって、敵キャラクタオブジェクト7−2が倒れた状態で表示される。また、ゲーム装置1Aの画面には、各仮想オブジェクトの前面が表示される。つまり、ゲーム装置1A及びゲーム装置1B間で仮想オブジェクトの形態、向き等の情報の整合性が取れている。ただし、仮想オブジェクトの向きは一例であり、ゲームの進行に従い、
さまざまな方向を向くことになる。
【0177】
(C)受信した更新情報に、自装置の撮像画像(撮像範囲)に含まれるマーカーと同じマーカーの情報は含まれておらず、且つ、自装置の撮像画像に含まれるマーカーに関連する情報が含まれている場合には、制御部55は、受信した更新情報に含まれる変更内容に従い、仮想空間に所定の効果を生じさせる処理を実行する。自装置の撮像画像に含まれるマーカーに関連する情報とは、例えば、更新対象の仮想オブジェクトの形態又は状態の変更に連動して形態又は状態の変更が指示される仮想オブジェクトとして自装置の撮像画像に含まれるマーカーに対応する仮想オブジェクトが指定される更新情報の更新内容である。
【0178】
図20は、更新情報の受信処理の一例を説明するための図である。図20は、上記(C)の受信処理が行われる場合について説明される。図20では、図18で示される例と同じ仮想空間が示される。
【0179】
図20に示される例において、ゲーム装置1Bが操作するキャラクタオブジェクト4Bは敵キャラクタオブジェクト7−2と対戦し勝利すると、敵キャラクタオブジェクト7−2に加え同種の敵キャラクタオブジェクトが7−1,7−3も共に爆発するとする。この場合、キャラクタオブジェクト4Bが敵キャラクタオブジェクト7−1に勝利することはゲーム装置1Bの撮像範囲50Bにおいて起こったことであるので、ゲーム装置1Bはこれを検知可能である。すなわち、撮像範囲50Bを撮像するゲーム装置1Bの画面では、キャラクタオブジェクト7−2が爆発する様子が表示される。
【0180】
一方、ゲーム装置1Aでは、撮像範囲50Bにおいて発生した変化(敵キャラクタオブジェクト7−2が爆発する)について、ゲーム装置1Aの撮像範囲外で発生した変化であるため、認識していない。したがって、ゲーム装置1Aの撮像範囲50Aに含まれる爆発すべき敵キャラクタオブジェクト7−1は、ゲーム装置1Aの画面上では爆発しない。この場合、ゲーム装置1Aに表示される仮想空間とゲーム装置1Bに表示される仮想空間とで整合性が取れていない状態となる。
【0181】
そこで、ゲーム装置1Bが、敵キャラクタオブジェクト7−2の状態が変化したことを更新情報としてゲーム装置1Aに送信する。これによってゲーム装置1Aは、敵キャラクタオブジェクト7−2が爆発するとともに、敵キャラクタオブジェクト7−1も爆発することを認識することができる。したがって、撮像範囲50Aを撮像するゲーム装置1Aの画面内でも、敵キャラクタオブジェクト7−1が爆発する。
【0182】
図21Aは、図20に示される例において、情報整合処理が実行された後の撮像範囲50Bを撮像したゲーム装置1Bの画面表示を示す図である。図21Bは、図20に示される例において、情報整合処理が実行された後の撮像範囲50Aを撮像したゲーム装置1Aの画面表示を示す図である。図20に示される例において、ゲーム装置1Aの撮像方向は、矢印Aで示される方向であるとする。また、ゲーム装置1Bの撮像方向は、矢印Bで示される方向であるとする。また、図20に示される例において、例えば、全ての仮想オブジェクトは矢印B方向を向いているとする。
【0183】
図21Aにおいて示される、撮像範囲50Bを撮像したゲーム装置1Bの画面では、敵キャラクタオブジェクト7−2が爆発した状態で表示される。また、ゲーム装置1Bの画面には、各仮想オブジェクトの背面が表示される。
【0184】
図21Bにおいて示される、撮像範囲50Aを撮像したゲーム装置1Aの画面においても、ゲーム装置1Bから更新情報を受信することによって、敵キャラクタオブジェクト7
−1が爆発した状態で表示される。また、ゲーム装置1Aの画面には、各仮想オブジェクトの前面が表示される。つまり、ゲーム装置1A及びゲーム装置1B間で仮想オブジェクトの形態、向き等の情報の整合性が取れている。
【0185】
図22は、更新情報を受信した場合の情報整合処理のフローチャートの例である。図22に示される処理は、ゲームの開始とともに開始される。また、図22に示される処理は、所定周期で、ゲーム終了まで繰り返し実行される。
【0186】
OP31では、制御部55は、更新情報を受信したか否かを判定する。更新情報が受信された場合には(OP31:Yes)、処理がOP32に進む。更新情報が受信されない場合には(OP31:No)、図22に示される処理が終了する。
【0187】
OP32では、制御部55は、受信した更新情報に含まれる更新対象の仮想オブジェクトが撮像画像に含まれているか否かを判定する。更新対象の仮想オブジェクトが撮像画像に含まれている場合には(OP32:Yes)、上記(A)の処理が実行されるため、処理がOP33に進む。更新対象の仮想オブジェクトが撮像画像に含まれていない場合には、処理がOP34に進む。
【0188】
OP33では、制御部55は、受信した更新情報と保持するゲーム進行状況情報とが整合性があるか否かを判定する。整合性がある場合には(OP33:Yes)、処理がOP35に進む。整合性が無い場合には(OP33:No)、図22に示される処理が終了する。この場合には、制御部55は、更新情報に合わせてゲーム進行状況情報を更新してもよいし、更新情報の送信元のゲーム装置1に不整合の通知を送信してもよい。不整合の通知を受信したゲーム装置1では、ユーザに対してボード2全体を撮像するように指示したり、他のゲーム装置1からゲーム進行状況情報を送信してもらうよう要求して、該ゲーム装置1自身で新たにゲーム進行状況情報855を生成し直すようにしてもよい。
【0189】
OP34では、制御部55は、更新情報に含まれる変更内容は、撮像画像に含まれる仮想オブジェクトに関連のあるものか否かを判定する。更新情報に含まれる変更内容が、撮像画像に含まれる仮想オブジェクトに関連のあるものである場合には(OP34:Yes)、上記(C)の処理が実行されるため、処理がOP35に進む。更新情報に含まれる変更内容が、撮像画像に含まれる仮想オブジェクトに関連が無い場合には(OP34:No)、上記(B)の処理が実行されるため、処理がOP36に進む。
【0190】
OP35では、制御部55は、更新情報にしたがって処理を行う。OP36では、制御部55は、更新情報に従ってゲーム進行状況を更新する。その後、図22に示される処理が終了する。
【0191】
なお、OP32において、更新対象の仮想オブジェクトが撮像画像に含まれている場合には(OP32:Yes)、OP33の処理を実行することなく、OP35に処理を進めてもよい。例えば、2つのゲーム装置1間で更新情報を授受する場合に、相手側のゲーム装置1内で発生した情報の変化をそのまま受け入れる方式のゲーム進行もあり得るからである。
【0192】
(第2実施形態の作用効果)
第2実施形態では、複数のゲーム装置1で仮想空間を共有する際に、撮像範囲内の仮想空間で変化を検知すると、他のゲーム装置に対して更新情報を送信する。これによって、ゲーム装置1は、自身の撮像範囲外の仮想空間内で発生した変化を認識することができる。したがって、仮想空間を共有する複数のゲーム装置1間で、情報の整合性を保つことができる。また、上記(C)のように自身の撮像範囲外で発生した変化に連動して、撮影範
囲内のオブジェクトの状態も変わることによって、複数のゲーム装置1で共有する仮想空間の興趣性を高めることができる。
【0193】
(第2実施形態の変形例)
第2実施形態では、複数のゲーム装置1のそれぞれが、同一のボード2を撮像し、共通の仮想空間を生成してゲームが実行される例が示された。これに代えて、例えば、各ゲーム装置1が別々の場所に位置し、それぞれの位置で同種のボード2を撮像して、共通の仮想空間を生成してゲームを実行してもよい。この場合、各ゲーム装置1の撮像対象物である各ボード2では、印刷される複数のマスが、各ボード2間で同じ配置に同じ形状のマスが配置されていなければならない。その他、例えば、ボード2上の背景の色が異なっていたり、マス配置の周辺に配されるデザインが異なっていてたりしても構わない。また、このような場合には、ユーザは、同種のボード2を準備し、ゲーム装置1の無線通信機能を用いてアクセスポイントやサーバを介して通信を行うことによって、互いに遠く離れた場所にいるゲーム装置1のユーザと、同じ仮想空間を共有してゲームを楽しむことができる。
【0194】
(その他)
第1実施形態及び第2実施形態では、携帯型のゲーム装置1を用いて説明したが、撮像装置及び表示装置とは独立した装置である据置型のゲーム装置、あるいは、一般的なパーソナルコンピュータ等の情報処理装置で本発明の画像処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話端末、パーソナルコンピュータ、カメラ等であってもよい。
【0195】
また、上述した説明では、ゲーム進行処理をゲーム装置1で行う例を用いたが、上記ゲーム進行処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置1が他の装置(例えば、サーバや他のゲーム装置)と通信を行う場合、上記ゲーム進行処理における処理ステップは、ゲーム装置1および当該他の装置が協働することによって実行してもよい。一例として、他の装置がマーカー検出部52,位置関係取得部53,制御部55の処理を実行してもよい。このように、ゲーム進行処理の処理ステップの少なくとも一部を他の装置で行うことによって、上述したゲーム進行処理と同様の処理が可能となる。このように、上述したゲーム進行処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置1の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置1が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0196】
また、上述したゲーム装置1の形状や、それに設けられている各種操作ボタン14,アナログスティック15,タッチパネル13の形状,数,および設置位置等は、単なる一例に過ぎず他の形状,数,および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した画像処理で用いられる処理順序,設定値,判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
【0197】
また、上記ゲームプログラムは、外部メモリ45やデータ保存用外部メモリ46等の外部記憶媒体を通じてゲーム装置1に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置1に供給されてもよい。また、上記プログラムは、ゲーム装置1内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM,DVD,あるいはそれらに類す
る光学式ディスク状記憶媒体,フレキシブルディスク,ハードディスク,光磁気ディスク,磁気テープ,などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。このような外部記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0198】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用されるすべての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【符号の説明】
【0199】
51 撮像処理部
52 マーカー処理部
53 位置関係取得部
54 操作解析部
55 制御部
56 オブジェクト表示設定部
57 表示処理部
58 記憶部
【技術分野】
【0001】
本発明は、現実世界の空間に、情報、映像等を、重畳して発現させる情報処理システム,情報処理方法,情報処理装置,及び情報処理プログラムに関する。
【背景技術】
【0002】
実空間に何らかの情報を追加して提示することによって、現実世界を拡張することを拡張現実(AR:Augmented Reality)という。ARの技術の一つとして、例えば、カード
に印刷された2次元バーコードを用いる技術が知られている。この技術は、2次元バーコードをカメラで撮像し、撮像画像から該2次元バーコードを識別して、該2次元バーコードに対応付けられた3次元画像データを2次元バーコードの位置に重畳して表示装置に表示する。この技術では撮像画像に重畳表示される3次元画像データにより、実空間と仮想空間とが融合した視覚効果を表現できるようにする(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−322602号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来からの技術では、撮像画像内でカードに印刷された2次元バーコードが認識されると、撮像画像を表示する画面内で、その2次元バーコードの位置に3次元画像データが重畳表示されるだけであり、複数の2次元バーコードが撮像画像内で認識される場合については、考慮されていなかった。
【0005】
本発明は、実空間に対応する仮想空間に所定の効果をもたらす処理の多様性を高める情報処理システム、情報処理方法、情報処理装置、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の態様の一つは、情報処理プログラムである。この情報処理プログラムは、撮像装置で撮像を行う情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、コンピュータを、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像に基づいて仮想空間を設定する仮想空間設定手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段として機能させる、情報処理プログラムである。
【0007】
本発明の態様の一つによれば、撮像画像に基づいて設定された仮想空間内の第1のマーカーと第2のマーカーとの状態に基づいて、該仮想空間内の第3のマーカーの状態に変化を与えることができ、仮想空間に所定の効果をもたらす処理の多様性を高めることができる。また、所定の条件とそれに対応する処理との組み合わせによって、仮想空間内の少なくとも第3のマーカーの状態にさまざまな変化を与えることができ、興趣性が高まる。
【0008】
本発明の態様の一つである情報処理プログラムは、処理手段は、第3のマーカーに対応
付けられる情報を変更してもよい。第3のマーカーに対応付けられる情報が変更されることによって、仮想空間内に変化をもたらすことができる。
【0009】
本発明の態様の一つである情報処理プログラムでは、処理手段では、所定の期間、第3のマーカーに対応付けられる情報を変更するようにしてもよい。これによって、所定の期間が経過するまで、仮想空間内は第3のマーカーに対応付けられる情報が変更されたことによって変化された状態となる。したがって、所定の期間が経過するまでは仮想空間の状態が変化することにより、興趣性が高まる。
【0010】
本発明の態様の一つである情報処理プログラムでは、処理手段は、第3のマーカーに対応付けられる2次元又は3次元の画像データを、変更するようにしてもよい。これによって、表示される第3のマーカーに対応付けられる画像データが別の画像データに変更になるので、視覚的にユーザの興味を喚起することができ、興趣性が高まる。
【0011】
本発明の態様の一つである情報処理プログラムでは、処理手段は、第3のマーカーに対応付けられる仮想空間内に対して与える効果を変更するようにしてもよい。これによって、第1のマーカーと第2のマーカーとが所定の条件を満たしたことを契機に、画像データを変更する処理のように可視的に仮想空間に変化を生じさせる処理のみならず、例えば、ゲームの進行に係るような不可視の情報処理装置の内的な処理を実行することもできる。
【0012】
本発明の態様の一つである情報処理プログラムでは、第1のマーカーと第2のマーカーのうち少なくとも一方は、配置変更可能な部品に備えられており、検出手段は、第1のマーカーと第2のマーカーとの位置関係が所定の条件を満たすことを検出するようにしてもよい。第1のマーカーと第2のマーカーのうち少なくとも一方は、配置変更可能な部品に備えられることによって、第1のマーカーと第2のマーカーとの位置関係が変化するので、位置関係が変化する度に所定の条件が満たされるような場合には、仮想空間の状態が次々と変化するので、興趣性を高めることができる。
【0013】
本発明の態様の一つである情報処理プログラムでは、処理手段は、第3のマーカーに対応付けられる仮想空間内に対して与える効果を変更可能な状態に設定し、第1のマーカーまたは第2のマーカーが第3のマーカーに近づいた時に前記与える効果を変更するようにしてもよい。このようにすることによって、所定の条件が第1のマーカーと第2のマーカーとの状態によって満たされた時点では、仮想空間の与えられる効果は変更されないが、その後に、第1のマーカーまたは第2のマーカーが第3のマーカーに近づいた時に仮想空間に与える効果を変更するというように、時間差で仮想空間の状態に変更を与えることができる。
【0014】
本発明の態様の一つである情報処理プログラムでは、第1のマーカー及び第2のマーカーのそれぞれは、マーカーの位置とこの位置における姿勢とを検出可能な形状を有してもよい。この場合には、撮像処理手段によって生成された第1のマーカーと第2のマーカーとを含む撮像画像から、第1のマーカーの形状と第2のマーカーの形状とに基づいて位置関係を判別する位置関係判別手段をさらに備えてもよい。位置関係判別手段では、第1のマーカーと第2のマーカーとの位置関係として、第1のマーカーと第2のマーカーとの距離、第1のマーカーの第2のマーカーに対する向き、及び第1のマーカーの第2のマーカーに対する位置の方向のうちの一つ又は組み合わせを判別する。これによって、例えば、第1のマーカーの配置が変更されたことによる第1のマーカーと第2のマーカーとの位置関係の変化に応じて、仮想空間内の第3のマーカーに作用する処理が行われ、仮想空間の状態も変化することができ、興趣性が高まる。
【0015】
本発明の態様の一つである情報処理プログラムでは、検出ステップは、撮像装置によっ
て撮像された画像に第1のマーカーを含む複数のマーカーが含まれている場合に、第1のマーカーに最も近いマーカーと第1のマーカーとの状態が所定の条件を満たすことを検出するようにしてもよい。これによって、情報処理装置は、第1のマーカーの周囲に複数のマーカーが存在する場合でも、最も近い第2のマーカーとの状態が所定の条件を満たすことを検出するだけでよく、処理負荷を軽くすることができる。
【0016】
本発明の態様の一つである情報処理プログラムでは、少なくとも第1のマーカー,第2のマーカー,及び第3のマーカーのそれぞれは、それぞれに対応する2次元又は3次元の画像データの表示位置の指標であってもよい。また、撮像処理手段によって生成された撮像画像に、少なくとも第1のマーカー,第2のマーカー,及び第3のマーカーのうちの少なくとも一つのマーカーが含まれている場合には、撮像画像内の少なくとも一つのマーカーに対応する位置に、対応する画像データを重畳し、表示装置に表示させる表示処理手段として情報処理装置を機能させてもよい。各マーカーに対応する位置に各マーカーに対応する画像データを撮像画像に重畳表示することで、実空間が拡張されたことをユーザに認識させることができる。また、視覚的にユーザの興味を引いたり、興奮や感動を与えたりすることができる。
【0017】
更に、本発明は、方法,システム,情報処理装置又はプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的,磁気的,光学的,機械的,または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【0018】
例えば、本発明の他の態様の一つは、撮像装置で撮像を行う情報処理装置のコンピュータが実行する情報処理方法である。この情報処理方法は、コンピュータが、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理ステップと、撮像処理ステップにおいて生成された撮像画像に基づいて仮想空間を設定する仮想空間設定ステップと、撮像処理ステップにおいて生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出ステップと、検出ステップにおいて所定の条件が満たされたと検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理ステップと、を実行する情報処理方法である。
【0019】
例えば、本発明の他の態様の一つは、情報処理装置である。この情報処理装置は、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、を含む情報処理装置である。
【0020】
例えば、本発明の他の態様の一つは、情報処理システムである。この情報処理システムは、複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、検出手段によって所定の条件が満たされたことが検出された場合、仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、を含む情報処理システムである。
【発明の効果】
【0021】
本発明によれば、仮想空間に所定の効果をもたらす処理の多様性を高めることができる。
【図面の簡単な説明】
【0022】
【図1】ゲームシステムの構成例を示す図である。
【図2】ゲームシステム100において扱われるマーカー座標系(Xm,Ym,Zm)の例を示す図である。
【図3】ゲーム装置の外観図の例である。
【図4】ゲーム装置の内部構成の一例を示すブロック図である。
【図5】ゲーム装置が保持する情報の例を示す図である。
【図6】ゲーム装置の機能ブロック図の一例である。
【図7】ボード及びプレイヤーカードの仮想空間における初期状態を示す図である。
【図8】初期設定処理のフローチャートの例である。
【図9】第1のゲーム進行処理が行われた場合のボード2上の状態を示す図である。
【図10】第1のゲーム進行処理を定義する条件情報の例である。
【図11】第1のゲーム進行処理のフローチャートの例である。
【図12A】第2のゲーム進行処理の一例を説明するための図である。
【図12B】第2のゲーム進行処理の一例を説明するための図である。
【図13】第2のゲーム進行処理を定義する条件情報の例である。
【図14】第2のゲーム進行処理のフローチャートの例である。
【図15】変形例のゲームシステムの仮想空間の例を示す図である。
【図16】変形例における条件情報の例を示す図である。
【図17】変形例におけるゲーム進行処理のフローチャートの例である。
【図18】更新情報の受信処理の一例を説明するための図である。
【図19A】情報整合処理が実行された後のゲーム装置1Bの画面表示を示す図である。
【図19B】情報整合処理が実行された後のゲーム装置1Aの画面表示を示す図である。
【図20】更新情報の受信処理の一例を説明するため
【図21A】情報整合処理が実行された後の撮像範囲50Bを撮像したゲーム装置1Bの画面表示を示す図である。
【図21B】情報整合処理が実行された後の撮像範囲50Aを撮像したゲーム装置1Aの画面表示を示す図である。
【図22】更新情報を受信した場合の情報整合処理のフローチャートの例である。
【発明を実施するための形態】
【0023】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【0024】
<第1実施形態>
(ゲームシステムの概要)
図1は、ゲームシステムの構成例を示す図である。ゲームシステム100には、撮像装置と表示装置とを備えるゲーム装置1,ボード2,及びプレイヤーカード3が含まれる。ゲームシステム100は、ボード2上でプレイヤーカード3が移動,追加,及び除去されることで進行するゲームを提供する。ゲームシステム100が提供するゲームには、2次元又は3次元空間上で物を配置して進行するゲーム一般が含まれる。例えば、ゲームシステム100が提供するゲームには、双六,将棋,チェス,囲碁等がある。
【0025】
ゲーム装置1は、撮像装置で撮像した実空間に、実空間には存在しないオブジェクトを重畳して実空間を拡張し、表示装置に拡張された実空間を表示する。第1実施形態では、情報が重畳されて拡張される実空間を、仮想空間と定義する。ゲーム装置1は、実空間内の状況の変化を撮像すると、実空間内の変化に応じて仮想空間内の状況も変化させる。こ
のようにして、ゲームシステム100では、ゲーム装置1によって生成され、表示装置に表示される仮想空間内でゲームが進行する。
【0026】
図1に示されるゲームシステム100では、ゲーム装置1でボード2及びプレイヤーカード3を撮像すると、ゲーム装置1の画面上に、実空間には存在しないプレイヤーオブジェクト4やツリーオブジェクト5等が存在する仮想空間が表示される。ユーザが、ボード2上でプレイヤーカード3を操作(移動,追加,除去等)し、ゲーム装置1でボード上の変化を撮像すると、ゲーム装置1の画面上に表示されるプレイヤーオブジェクト4又はツリーオブジェクト5等のいずれかの状態が変化し、ゲームが進行する。実空間に存在しないが、ゲーム装置1の画面に表示される仮想空間内に存在するオブジェクトを、以降、仮想オブジェクトと称する。仮想オブジェクトは、ゲームのキャラクタ,アイテム,背景等の物体を示す3次元の画像データ又は動画像データである。また、仮想オブジェクトは、2次元の画像データ又は動画像データであってもよい。
【0027】
ボード2は、プレイヤーカード3に配置領域を提供する配置領域提供物の一つであって、プレイヤーカード3の配置領域である複数のマスを有する。マスは、プレイヤーカード3の配置可能範囲を示す。配置領域提供物は、例えば、紙や布等のシートでもよいし、板等でもよく、地面でもよい。プレイヤーカード3は、ゲームシステム100における部品の一つであり、配置領域提供部上で移動する配置物部品の一つであって、ゲームのプレイヤーの位置を示すためのカードである。配置物には、カードの他に、直方体,円柱、等様々な物を適用可能である。プレイヤーカード3は、ユーザによって、ボード2上の複数のマスのうちのいずれかに配される。
【0028】
ボード2上の各マス及びプレイヤーカード3には、記号が印刷されている。この記号は、仮想オブジェクトと対応付けられている。これらの記号はそれぞれの記号に対応付けられた仮想オブジェクトの表示位置の基準を示す指標となる。以降、仮想オブジェクトの表示位置の基準を示す記号をマーカーと称する。なお、ボード2上の全てのマスにマーカーが印刷されていなくてもよい。
【0029】
仮想オブジェクトは、ゲーム装置1の画面内において、対応付けられたマーカーに対して撮像画像内の所定位置に重畳表示される。また、仮想オブジェクトは、上下,前後,及び左右の複数の方向を有する。そのため、マーカーの形状は、複数の方向のうち、少なくとも一つの方向、例えば、前方方向(正面)を検出可能な記号,文字,図形,絵,及びそれらの組み合わせ等となる。言い換えると、複数の方向のうちの一つの方向も検出不可能な記号,文字,図形,絵及びそれらの組み合わせは、マーカーとして採用されない。例えば、円や長方形等の点対称図形は、マーカーとして採用されない形状である。また、マーカーの向きは、複数の方向のうちの少なくとも一つによって定義される。例えば、マーカーが前方方向を検出可能な形状である場合には、マーカーの向きは、マーカーの形状で検出される前方方向を基準として定義される。以降、第1実施形態では、マーカーはオブジェクトの前方を指示するものとする。ただし、マーカーの指示方向がオブジェクトの前方に限定されるわけではない。
【0030】
なお、図1に示されるゲームシステム100では、便宜上、ゲーム装置1及びプレイヤーカード3が各1つずつ示されているが、これに限られず、ゲーム装置1及びプレイヤーカード3は複数あってもよい。また、ボード2は、ゲームの種類ごとに用意されていてもよいし、複数のゲームで共通するボードが使用されてもよい。
【0031】
図2は、ゲームシステム100において扱われるマーカー座標系(Xm,Ym,Zm)の例を示す図である。マーカー座標系は、マーカー3(プレイヤーカード3上のマーカー、以降「マーカー3」と表記)の中心点を原点とし、互いに直交する3軸によって定義される直交座標系である。マーカー座標系のX軸とY軸とは、マーカー3が付されている平面上に定義され、Z軸は該平面の垂直方向(上下方向)に定義される。また、マーカー3には前後および左右が定義されており、例えば、左右方向にX軸が定義され、前後方向にY軸が定義されている。このようにして、実空間に配置されたマーカー3を基準として仮想空間の座標系が定義されることにより、実空間と仮想空間とを対応付けることができる。
【0032】
また、マーカー座標系は、各マーカー3に対して定義される。ただし、複数のマーカー3間で、1つのマーカー座標系を共有して用いることも可能である。なお、マーカー座標系の原点は、マーカー3の中心点でなくてもよい。例えば、マーカー3における何れかの特徴点を、マーカー座標系の原点として用いることが出来る。また、X軸、Y軸、Z軸の定義方法は、本実施形態において示される一例であり、X軸、Y軸、Z軸は、その他の基準に従って定義されてもよい。
【0033】
ゲーム装置1は、外側左撮像部23aまたは外側右撮像部23b(以下、単に「外側撮像部23」と称する)によって撮像された画像に対して、例えばパターンマッチング等の画像処理を行うことによって、当該画像に含まれるマーカー3を検出することができる。ゲーム装置1は、検出されたマーカー3に基づいて、当該マーカー3と外側撮像部23との相対的な位置および姿勢を算出する。
【0034】
第1実施形態において、仮想空間に配置される仮想オブジェクトは、当該仮想オブジェクトが対応づけられたマーカー3のマーカー座標系に配置される。仮想オブジェクトは、仮想空間に配置された仮想カメラによって撮像されることで描画(レンダリング)され、ゲーム装置1のディスプレイ22に表示される。ここで、仮想カメラは、ユーザに視認させる仮想空間の画像を撮像するためのものである。仮想カメラのマーカー座標系における位置および姿勢は、実空間の外側撮像部23の位置および姿勢と一致される。このため、マーカー3に基づいて仮想空間が定義され、当該仮想空間において、外側撮像部23の位置や撮像方向を変化させると、上側LCD22に表示される仮想空間の画像も変化する。
【0035】
(ゲーム装置の構成)
図3は、ゲーム装置1の外観図の例である。ゲーム装置1は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、ヒンジ構造により開閉可能(折り畳み可能)に連結されている。
【0036】
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12,タッチパネル13,各操作ボタン14A〜14E,アナログスティック15,挿入口11D、および挿入口17が設けられる。
【0037】
下側LCD12は、画像を(立体視可能ではなく)平面的に表示する表示装置である。タッチパネル13はゲーム装置1の入力装置の一つである。タッチパネル13への入力に用いるタッチペン28は、挿入口17(図3において点線で示される)から挿入されて収容される。なお、タッチペン28の代わりにユーザの指を用いることもできる。
【0038】
各操作ボタン14A〜14Eは、所定の入力を行うための入力装置である。ボタン14A〜14Eには、ゲーム装置1によって実行されるプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは、選択操作やゲーム中のキャラクタの移動操作等に用いられる。例えば、各操作ボタン14B〜14Eは、決定操作やキャンセル操作等に用いられる。アナログスティック15は、方向を指示するデバイスである。
【0039】
挿入口11D(図3において点線で示される)は、ゲームプログラムを記録した外部メ
モリ45を挿入するための挿入口11Dが設けられる。
【0040】
上側ハウジング21には、上側LCD22,外側左撮像部23a,外側右撮像部23b,内側撮像部24,および3D調整スイッチ25が設けられる。
【0041】
上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、3D調整スイッチ25によって行われる。
【0042】
内側撮像部24は、上側ハウジング21の内側面21Bの内向きの法線方向を撮像方向とする撮像部である。外側左撮像部23a及び外側右撮像部23bは、いずれも内側面21Bとは反対の外側面の外向きの法線方向を撮像方向とする撮像部である。以降、外側左撮像部23a及び外側右撮像部23bをまとめて、外側撮像部23と称する。
【0043】
内側撮像部24、又は、外側撮像部23によって撮像された撮像画像は、上側LCD22に表示される。したがって、上側LCD22の画面を含む平面は、撮像平面に相当する。
【0044】
図4は、ゲーム装置1の内部構成の一例を示すブロック図である。ゲーム装置1は、上述した各部に加えて、情報処理部31,メインメモリ32,外部メモリインターフェイス(外部メモリI/F)33,データ保存用外部メモリI/F34,データ保存用内部メモリ35,無線通信モジュール36,ローカル通信モジュール37,リアルタイムクロック(RTC)38,加速度センサ39,角速度センサ40,電源回路41,およびインターフェイス回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0045】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311,画像処理を行うGPU(Graphics Processing Unit)312,VRAM(Video RAM)313等を含む。CPU311は、ゲーム装置1内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている当該所定のプログラムを実行することによって、所定の処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。VRAM313に描画された画像は、上側LCD22および/または下側LCD12に出力されて表示される。
【0046】
情報処理部31には、メインメモリ32,外部メモリI/F33,データ保存用外部メモリI/F34,およびデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェイスである。
【0047】
メインメモリ32は、情報処理部31(CPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。第1実施形態では、メインメモリ32として例えばPSRAM(Pseudo-SRAM)を用いる。
【0048】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶媒体である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。
【0049】
データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)であり、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46は、SDカードである。データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46及びデータ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0050】
情報処理部31には、無線通信モジュール36およびローカル通信モジュール37が接続される。無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、IEEE802.11.b/gのアドホックモードにおいて、他のゲーム装置1と直接無線通信を行ったりすることが可能である。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0051】
情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。なお、加速度センサ39は、静電容量式の加速度センサであっても、他の方式の加速度センサであってもよい。また、加速度センサ39は1軸または2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置1の姿勢や動きを算出する。
【0052】
情報処理部31には、角速度センサ40が接続される。角速度センサ40は、ゲーム装置1の3軸周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置1の姿勢や動きを算出する。
【0053】
情報処理部31には、RTC38および電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻を計算する。電源回路41は、ゲーム装置1が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置1の各部品に電力を供給する。
【0054】
情報処理部31には、I/F回路42が接続される。I/F回路42には、マイク43,スピーカ44,およびタッチパネル13が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。スピーカ44は、I/F回路42からの音声信号をアンプ(図示せず)により増幅し、音声を出力する。I/F回路42は、マイク43およびスピーカ44の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。第1実施形態では、タッチパネル13は、抵抗膜方式のタッチパネルが用いられる。ただし、タッチ
パネル13は、抵抗膜方式に限らず、例えば、静電容量方式等、任意の押圧式のタッチパネルを用いることができる。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチパネル13のタッチ位置座標を生成して情報処理部31に出力する。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を知ることができる。
【0055】
操作ボタン14およびアナログスティック15は、情報処理部31に接続され、各操作ボタン14A〜14Eおよびアナログスティック15に対する入力状況を示す操作データを情報処理部31に出力する。情報処理部31は、操作ボタン14およびアナログスティック15から操作データを取得することによって、操作ボタン14およびアナログスティック15に対する入力に応じた処理を実行する。
【0056】
下側LCD12および上側LCD22は、情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(GPU312)の指示にしたがって画像を表示する。下側LCD12は、画像を(立体視可能ではなく)平面的に表示する表示装置である。下側LCD12の画素数は、一例として、320dot×240dot(横×縦)である。なお、第1実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の表示装置を利用してもよい。また、下側LCD12として、所望の解像度を有する表示装置を利用することができる。
【0057】
上側LCD22は、裸眼立体視可能な表示装置である。上側LCD22は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。上側LCD22の画素数は、一例として800dot×240dot(横×縦)である。第1実施形態では、上側LCD22は液晶表示装置であるとして説明される。ただし、これに限らず、例えば、ELを利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0058】
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示にしたがって画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0059】
内側撮像部24は、所定の解像度を有する撮像素子と、レンズとを含む。撮像素子は、例えば、CCDイメージセンサやCMOSイメージセンサ等である。レンズは、ズーム機構を有するものでもよい。
【0060】
外側左撮像部23a及び外側右撮像部23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。外側左撮像部23aと外側右撮像部23bとは、ゲーム装置1が実行するプログラムによって、2つの外側撮像部(外側左撮像部23aおよび外側右撮像部23b)のいずれか一方を単独で使用可能である。第1実施形態では、何れか一方の外側撮像部23を使用することとして説明する。
【0061】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に送信する。
【0062】
図5は、ゲーム装置1が扱う情報の例を示す図である。ゲーム装置1は、ボード情報581,マーカー情報582,オブジェクト情報583,条件情報584,及びゲーム進行状況情報585を扱う。これらの情報は、後述の記憶部58に保持されている。
【0063】
ボード情報581は、ゲームシステム100によって提供されるゲームで用いられるボードに関する情報である。ボード情報581には、例えば、ボードを識別するためのボードID,マス配置情報,及びマーカーの配置情報が含まれる。マス配置情報は、ボード上のマスの配置を示す情報である。また、マーカー配置情報は、マーカーの配置を示す情報であり、マーカーを有するマスと、該マスに配されるマーカーの種類との情報が含まれる。ボード情報581は、ゲームシステム100で提供されるゲームが複数あり、ゲームシステム100で用いられるボードも複数ある場合には、各ボードに対して存在する。
【0064】
例えば、ボード2が横にM個、縦にN個の所定サイズの四角形のフィールドに分割されている場合のマス配置情報及びマーカー配置情報の例を説明する。フィールドは、単にボード2を分割した範囲である。また、1つのフィールドには、1つのマスを配置可能であるとする。ただし、全てのフィールドにマスが配置されることに限られず、一部のフィールドにはマスが配置されない場合もある。各フィールドには、行番号i(0≦i≦M)と列番号j(0≦j≦N)とで識別番号ijが付される。このような場合、マス配置情報は、マスが配置されるフィールドの識別番号となる。また、マーカー配置情報は、マーカーが存在するフィールドの識別番号と、該フィールドに印刷されたマーカーの識別情報であるマーカーIDとの対応付けとなる。なお、マーカーは、マスが配置されているフィールドに配置されるので、マス配置情報に含まれるフィールドの識別番号と、マーカー配置情報に含まれるフィールドの識別情報とは、一部重複する。また、この場合には、ボード情報581に、フィールドのサイズ(縦横の寸法)が含まれるようにしてもよい。
【0065】
マーカー情報582は、マーカーに関する情報である。マーカー情報582には、例えば、マーカーを識別するためのマーカーID,マーカー画像データ,マーカーサイズ,対応オブジェクトID,仮想オブジェクトの表示位置,オブジェクトの表示サイズ等が含まれる。マーカーサイズは、マーカーの縦横の寸法である。マーカー画像データは、ボード2に印刷されるマーカーの画像データである。ゲーム装置1は、マーカー画像データを用いて、撮像画像からマーカーを検出する。また、ゲーム装置1は、マーカー画像データとマーカーサイズに基づいて、撮像画像に含まれるマーカーの見え方から、撮像装置とマーカーとの位置及び姿勢等、すなわち、マーカー座標系を取得することができる。対応オブジェクトIDは、マーカーに対応する位置に表示される仮想オブジェクトの識別番号である。なお、1つのマーカーに対して複数の仮想オブジェクトが対応付けられていてもよく、この場合には、複数の対応オブジェクトIDがマーカー情報582に含まれる。仮想オブジェクトの表示位置は、例えば、仮想オブジェクトの基準点を配置する位置である。仮想オブジェクトの基準点の位置は、例えば、マーカー座標系における座標で示されてもよい。また、仮想オブジェクトの表示位置には、マーカーに対する仮想オブジェクトの傾きの角度等が含まれてもよい。オブジェクトの表示サイズは、仮想オブジェクトの縦横の寸法である。この仮想オブジェクトの寸法は、例えば、マーカーの等倍率のサイズに対する寸法であるので、仮想オブジェクトが上側LCD22に表示される場合には、撮像画像内のマーカーのサイズに応じて仮想オブジェクトのサイズも調整されて表示される。マーカー情報582は、ゲームシステム100において複数のマーカーが使用される場合には、使用される各マーカーに対して存在する。
【0066】
オブジェクト情報583は、マーカーに対応する位置に表示される仮想オブジェクトに関する情報である。オブジェクト情報583には、例えば、仮想オブジェクトを識別するためのオブジェクトID及び3次元描画用のオブジェクトのデータが含まれる。オブジェクトのデータには、仮想オブジェクトに複数の形態が存在する場合には、仮想オブジェクトの各形態のデータも含まれる。仮想オブジェクトの形態とは、仮想オブジェクトの外観を指し、仮想オブジェクトの形態が変化することは、仮想オブジェクトの外観が変化することを指す。仮想オブジェクトの外観は、例えば、仮想オブジェクト内のローカルな座標
系における点,線,面等の集合でも定義できる。例えば、仮想オブジェクトが人物のオブジェクトである場合には、仮想オブジェクトの形態が変化するとは、顔の表情,服装,ポーズの種類等が変わることであり、表情、服装、ポーズ毎のデータがオブジェクトのデータに含まれる。オブジェクト情報583は、ゲームシステム100において使用される仮想オブジェクトが複数ある場合には、各仮想オブジェクトに対して存在する。
【0067】
条件情報584は、ゲーム進行に関する分岐条件に関する情報である。条件情報584には、例えば、条件を識別するための条件ID,条件内容,及び条件内容を満たした場合に実行されるアクションが含まれる。ゲーム装置1は、複数の条件情報584を保持する。詳細は、後述される。
【0068】
ゲーム進行状況情報585は、ゲームの進行状況が記録された情報である。ゲーム進行状況情報585には、例えば、プレイヤーの状態,使用中のボードの各フィールドの状態,各仮想オブジェクトの各マーカー座標系における座標値等が含まれる。プレイヤーの状態及び各フィールド(特にマーカーを有するフィールド)の状態には、例えば、表示される仮想オブジェクトの形態のような表示に係る情報,ゲーム内で使用する蓄積されたポイント数のような各フィールド、仮想オブジェクト、プレイヤー等の属性情報等が含まれる。
【0069】
図6は、ゲーム装置1の機能ブロック図の一例である。図6に示される各機能ブロックは、例えば、外部メモリ45に格納されるゲームプログラムを情報処理部31(CPU311及びGPU312)が読み出して実行することによって実現される機能の一つである。
【0070】
ゲーム装置1の情報処理部31は、ゲームプログラムを実行することによって、撮像処理部51,マーカー処理部52,位置関係取得部53,操作解析部54,制御部55,オブジェクト表示設定部56,及び表示処理部57として動作する。記憶部58は、ゲームプログラムの実行によるメモリ割り当てにより動的に又は静的に、メインメモリ32,データ保存用外部メモリ46,又はデータ保存用内部メモリの記憶領域に作成される。
【0071】
撮像処理部51は、外側撮像部23及び内側撮像部24によって撮像して2次元の撮像画像を生成する。撮像処理部51は、外側撮像部23又は内側撮像部24に、撮像を行う所定間隔を指示することもできる。所定間隔は、例えば、1/60秒である。すなわち、外側撮像部23及び内側撮像部24は所定間隔で撮像し、撮像処理部51は所定間隔で2次元の画素配列である撮像画像を生成する。生成された撮像画像は、マーカー処理部52及び表示処理部57に出力される。
【0072】
マーカー処理部52は、撮像処理部51から入力される撮像画像に対してパターンマッチング等の画像認識処理を実行し、記憶部58のマーカー情報582に含まれるマーカー画像データに該当するマーカーを検出する。このようなマーカーの検出は、例えば、画像認識エンジンを用いて行われる。
【0073】
マーカー処理部52は、検出されたマーカーに対応するマーカー情報582を記憶部58から読み出し、該マーカーの外側撮像部23からの距離,傾きの角度,及びマーカーの向き、すなわち、マーカー座標系を検出する。このような処理は、例えば、ARToolKit等の専用のソフトウェアライブラリを用いて行うことができる。マーカー座標系を含むマーカーの検出結果は、位置関係取得部53とオブジェクト表示設定部56とに出力される。
【0074】
さらに、マーカー処理部52は、撮像画像から検出されたマーカーの基準座標系におけ
る座標を求める。撮像処理部51からは、所定間隔で逐次撮像画像が入力されるので、マーカー処理部52は、逐次入力される各撮像画像について検出された該マーカーの基準座標系における座標を求める。求められたマーカーの座標は、位置関係取得部53に出力される。基準座標系は、例えば、撮像画像内に含まれるいずれかのマーカーのマーカー座標系,撮像画像平面における座標系,撮像平面に平行な面上のXY軸と該平行な面に直行するZ軸で定義されるカメラ座標系,又は、実空間内における所定位置を原点として互いに直行するXYZ軸で定義される座標系のいずれであってもよい。実空間内の座標系は、例えば、原点となる位置をゲーム開始前に決定し、ゲーム装置1に備えられる加速度センサ39や角速度センサ40から得られる情報によって、ゲーム装置1や各マーカーの実空間内の座標系における位置は取得することができる。なお、マーカーの座標は、マーカーの中心点を含む特徴点の何れかについて求められればよい。
【0075】
なお、撮像画像に複数のマーカーが含まれる場合には、マーカー処理部52は、それぞれのマーカーについて上記処理を行う。
【0076】
位置関係取得部53は、マーカー処理部52から入力される、マーカー座標系と基準座標系におけるマーカーの座標とから、撮像画像に含まれる2つ以上のマーカーのうち、2つのマーカーの組み合わせ毎に、該2つのマーカー間の位置関係を取得する。2つのマーカーの位置関係には、例えば、2つのマーカー間の距離,2つのマーカーの向き,一方のマーカーに対するもう一方のマーカーの位置する方向等、及び、それらの組み合わせが含まれる。2つのマーカーの位置関係は、マーカー処理部52から入力される各撮像画像について、すなわち、撮像画像が生成される所定間隔で行われる。
【0077】
位置関係取得部53は、求めた2つのマーカーの位置関係を所定時間分バッファしておき、該位置関係の変化を監視する。第1実施形態では、ボード2上のマーカーはボード2に固定されているため、2つのマーカーの位置関係の変化は、プレイヤーカード3の移動があったことを示す。2つのマーカーの位置関係の変化を検出すると、位置関係取得部53は、変化内容と変化後の2つのマーカーの位置関係とを制御部55に出力する。位置関係の変化には、例えば、2つのマーカー間の距離の変化,一方のマーカーに対するもう一方のマーカーが位置する方向の変化,一方のマーカーに対するもう一方のマーカーの向きの変化等,及びそれらの組み合わせが含まれる。なお、2つマーカーの位置関係の変化には、例えば、プレイヤーカード3がボード2上に追加されて配置されたことによる新たな2つのマーカーの位置関係の出現や、プレイヤーカード3がボード2上から取り除かれることによる2つのマーカーの位置関係の消滅等も含まれる。
【0078】
操作解析部54は、タッチパネル13,操作ボタン14A−14E,及びアナログスティック15がユーザによって操作された場合に、タッチパネル13,操作ボタン14A−14E,アナログスティック15の押下信号から操作内容を解析する。操作内容の解析結果は、制御部55に出力される。
【0079】
制御部55は、ゲーム進行を管理する。具体的には、制御部55は、以下の処理を実行する。(1)制御部55は、位置関係取得部53から入力された、プレイヤーカード3のマーカーとボード2上のマスのマーカーとの位置関係の変化内容と、変化後の位置関係との少なくとも何れか一方が、記憶部58の条件情報584のいずれかに合致するか否かを判定する。条件情報584のいずれかに合致した場合には、制御部55は、該条件情報584に含まれるアクションを実行する。
【0080】
(2)制御部55は、操作解析部54から入力されたタッチパネル13又は操作ボタン14A−14Eの操作内容に応じた処理を実行する。操作解析部54からの操作内容に応じてよって実行される処理は、例えば、ユーザ操作内容にしたがって、使用アイテムを選
ぶ,プレイヤーの状態を表示する等の仮想空間で進行するゲームに関する処理である。
【0081】
(3)制御部55は、ゲーム進行状況を記録部58のゲーム進行状況情報585に記録する。制御部55は、ボード2上の仮想空間に変更があった際に、ゲーム進行状況情報585を更新する。ボード2上の仮想空間の変更には、例えば、ボード2上の各マーカー上の仮想オブジェクト又はプレイヤーカード3上の仮想オブジェクトの形態の変更等の表示に係わる変更や、プレイヤーの経験値,保持アイテム等の属性情報の変更等の内的な変更(仮想空間内における効果の変更)である。
【0082】
(4)制御部55は、撮像画像にボード2の一部のみが含まれる場合には、撮像画像に含まれるボード2上の一部のマーカー間の配置からボード上のどの部分の撮像画像かを推定する。また、撮像画像内にマーカーの一部のみが含まれる場合には、撮像画像に含まれる他のマーカーとの位置関係から、一部のみが含まれるマーカーの欠けている部分を補完して、対応するオブジェクトを表示させる補完処理を行う。制御部55は、記憶部58のボード情報581に含まれるマーカー配置情報に基づいて、撮像画像に含まれるボード2の一部がどの部分であるかを推定する。
【0083】
(5)制御部55は、ゲーム開始前に、ボード2の情報を取得し、ボード2を認識する。ボードの認識処理の詳細は、図8において説明される。
【0084】
制御部55による上記(1),(2),及び(4)の処理によって、仮想空間の仮想オブジェクトの表示形態の変更が必要となる場合には、制御部55は、オブジェクト表示設定部56に表示変更の指示を出力する。
【0085】
オブジェクト表示設定部56は、マーカー処理部52からマーカーの検出結果が入力されると、該マーカーのマーカー情報582とゲーム進行状況情報585とを参照し、該マーカーに対応して表示される仮想オブジェクトの表示設定を行う。仮想オブジェクトの表示設定は、例えば、マーカーに対する仮想オブジェクトの表示位置,仮想オブジェクトの表示サイズ,仮想オブジェクトの形態(表情等)である。また、オブジェクト表示設定部56は、制御部55から仮想オブジェクトの表示変更の指示を受けると、変更指示に合わせて仮想オブジェクトの表示設定を変更する。オブジェクト表示設定部56は、仮想オブジェクトの表示設定を表示処理部57に出力する。
【0086】
表示処理部57は、オブジェクト表示設定部56による仮想オブジェクトの表示設定に従って、撮像画像に仮想オブジェクトを重畳し、描画処理を実行する。描画処理によって生成された画像(重畳画像)は、上側LCD22に出力され表示される。表示処理部57は、撮像画像に複数のマーカーが含まれる場合には、各マーカーについて、対応する仮想オブジェクトの描画処理を実行する。表示処理部57の描画処理は、例えば、GPU312によって実行される。
【0087】
(初期設定処理)
図7は、ボード2及びプレイヤーカード3の仮想空間における初期状態を示す図である。ゲーム開始前に、まず、ボード2を認識し、仮想空間の初期設定を行う初期設定処理が行われる。初期設定処理が実行後、ボード2全体をゲーム装置1で撮像すると、ゲーム装置1の表示画面内のボード2上には、ツリーオブジェクト5−1〜5−9,第1の敵キャラクタオブジェクト6−1,6−2,6−3,第2の敵キャラクタオブジェクト7−1〜7−3,家オブジェクト8等が、それぞれ対応するマーカーに対応する位置に出現する(表示される)。また、仮想空間内のプレイヤーカード3上には、プレイヤーオブジェクトが出現する(表示される)。
【0088】
図7に示されるボード2は、横に5個(行が5つ)、縦に4個(列が4つ)のフィールドを有する。ボード2の各フィールドは、行番号iと列番号jとで、フィールドijと識別番号が付される。図7に示されるボード2のボード情報581のマス配置情報は、フィールド11,12,13,15,21,23,24,25,31,33,35,41,42,43,44,45となる。また、マーカー配置情報は、フィールド11に敵オブジェクト6−1,・・・(省略)となる。以降、このような各フィールドの識別番号を用いて、マスijと表記する。
【0089】
図8は、初期設定処理のフローチャートの例である。図8に示される初期設定処理は、例えば、ユーザのゲーム装置1の操作によって、初期設定処理の開始が選択されると、開始される。
【0090】
OP1では、ゲーム装置1は、ボードを認識するボード認識処理を実行する。第1実施形態において、ボードを認識する目的は、ボード情報581を生成するためである。または、ボードを認識する目的は、複数あるボード情報581の中から一つを特定するためである。そこで、ボード認識処理として以下の処理が例示される。
【0091】
(1)ゲーム装置1は、記憶部58に予め複数のボード情報581を保持している。ゲーム装置1は、外側撮像部23によってボード2の全体を撮像し、マーカー処理部52の画像認識処理によって撮像画像からボード2上に含まれる全てのマーカーの配置を取得する。制御部55は、取得されたボード2上の全てのマーカーの配置と、記憶部58に保持される各ボード情報581に含まれるマーカー配置情報とを比較する。制御部55は、比較の結果、最も類似性が高いマーカー配置情報を含むボード情報581を、ボード2に対応するボード情報581として特定すればよい。又は、各ボード情報581にボード全体の画像データを含めておき、ボード2の全体を含む撮像画像と各ボードの画像データとを比較して、ボード情報581を特定してもよい。
【0092】
(2)上記(1)の処理において、ボードの全体画像に代わり、各ボードに特有の識別画像を用いる。この場合には、識別画像はボード2に印刷されており、さらに、ボード情報581にも識別画像データが含められて記憶部58に保持される。ゲーム装置1は、ボード2を含む撮像画像から識別画像を検出し、検出した識別画像に対応するボード情報581を特定する。識別画像は、例えば、ボードIDの画像である。
【0093】
(3)ボード2には、例えばQRコードのような2次元コードが付されており、ゲーム装置1の制御部55は、外側撮像部23によって撮像された撮像画像から該2次元コードを検出して解析し、得られた情報からボード2のボード情報581を生成する。ボード2に印刷される2次元コードには、例えば、マス配置情報,マーカー配置情報が含まれる。また、例えば、ステージ名や制限時間等のゲームに関する付加情報が含まれていてもよい。この場合には、ゲーム装置1は2次元コードを認識するソフトウェアを備えなければならないが、ゲームシステム100の販売、配布とは別に、後から新たなボードを追加したり、既存のボードを拡張したりすることができる。
【0094】
(4)ゲーム装置1は、外側撮像部23によって四辺を沿うようにしてボード2の部分画像を複数取得する。ゲーム装置1は、マーカー処理部52による画像認識処理によって、複数のボード2の部分画像からマーカーを検出し、マーカーの配置等を取得する。これによって、ゲーム装置1は、ボード2のボード情報581を生成する。この場合には、ボード2の部分画像を撮像するために、ユーザはゲーム装置1をボード2の四辺に沿うようにして動かす必要がある。また、ゲーム装置1は、ボード2上の全体画像から複数の部分画像を抽出してもよい。
【0095】
(5)ゲーム開始時には、ゲーム装置1は、ボード2上のプレイヤーのゲーム開始地点のマス及びマーカーを認識している。ただし、ゲーム装置1は、ボード2全体は認識していない。この場合には、ボード情報581は未完成のままでゲームが開始され、ゲーム装置1は、新たにマス及びマーカーを認識すると、その情報をボード情報581に追加していく。
【0096】
ゲームシステム100で実行されるゲームに応じて、ゲーム装置1がOP1のボード認識処理として、上記(1)〜(5)の何れの処理を行うか選択するようにしてもよい。また、ゲームシステム100が提供するゲームに応じて、上記(1)〜(5)のいずれかの処理に固定してボード認識処理を実行するようにしてもよい。
【0097】
OP2では、制御部55は、特定された、又は、生成されたボード情報581に基づいて、仮想空間内の初期状態を作成する。例えば、OP1において(1)〜(4)の処理が行われた場合には、ボード2に含まれる全マーカーに対して仮想オブジェクトの表示設定がオブジェクト表示設定部56によって行われる。OP1において(5)の処理が行われた場合には、認識されているマーカーのみについて、仮想オブジェクトの表示設定がオブジェクト表示設定部56によって行われる。仮想空間の初期状態の作成が完了すると、図8に示される処理が終了する。
【0098】
図8に示される処理が終了すると、ゲームシステム100は、ゲーム開始可能な状態になる。
【0099】
(第1のゲーム進行処理)
第1のゲーム進行処理は、プレイヤーカード上のマーカーと、ボード2上の各マーカーとの位置関係に基づき実行されるゲーム進行に係る処理である。ゲーム装置1は、第1のゲーム進行処理を記憶部58に保持される条件情報584の設定内容に応じて実行する。
【0100】
図9は、第1のゲーム進行処理が行われた場合のボード2上の状態を示す図である。図9では、図7において示されたボード2と同じボードが示されている。
【0101】
図10は、第1のゲーム進行処理の進行条件を定義する条件情報584の例である。条件情報584は、「条件」と、「条件」に対する「アクション」とを定義する。条件情報584は、条件の数だけ記憶部58に保持されており、各条件情報584は、条件IDで識別される(図5参照)。
【0102】
第1のゲーム進行処理の条件情報584の「条件」は、プレイヤーカード3のマーカーとボード2上のマーカーとの位置関係に基づいて設定される。また、第1のゲーム進行処理の条件情報584の「アクション」には、実空間に情報を重畳する処理が設定される。実空間に情報を重畳する処理は、例えば、実空間のプレイヤーカード3のマーカーの対応する位置にプレイヤーオブジェクト4を所定の形態で重畳表示すること,実空間のボード2上のマーカーに対応づけられた位置に仮想オブジェクトを所定の形態で重畳表示すること、仮想空間におけるプレイヤーの属性(保有ポイント、アイテム等)を変化させること、ゲーム内(仮想空間)の時間を経過させたり等の仮想空間内に効果をもたらす処理である。
【0103】
第1のゲーム進行処理の条件情報584の「条件」には、プレイヤーカード3のマーカーとボード2上のマーカーとの位置関係として、各マーカーの位置から検出可能な情報が用いられる。マーカーの位置は、例えば、マーカー処理部52によって取得される基準座標系におけるマーカーの基準点の座標である。または、マーカーの位置は、ボード2のマスであってもよい。マーカーの位置がボード2上のマスで判定される場合には、マーカー
処理部52からの各マーカーの検出結果とボード情報581とに基づいて制御部55がマーカーの位置するマスを判定する。マーカーの基準点は、例えば、マーカーの特徴点や中心点である。また、マーカーの位置は、例えば、マスであってもよい。マーカーの位置がマスである場合には、ボード2上のマーカーが配置されるマスが予め設定されており、プレイヤーカード3のマーカーの位置するマスを特定すればよいので、位置関係の判別が容易となる。
【0104】
各マーカーの位置から検出可能な情報としては、例えば、(a)プレイヤーカード3のマーカーとボード2のマーカーとの間の距離、(b)プレイヤーカード3のマーカー及びボード2のマーカーの向き、(c)プレイヤーカード3のマーカー及びボード2のマーカーのうち、一方の位置を基準とした場合のもう一方の位置する方向、及び(a)〜(c)の組み合わせ等がある。
【0105】
(a)プレイヤーカード3のマーカーとボード2上のマーカーとの間の距離は、位置関係取得部53によって取得される、基準座標系における各マーカーの座標間の距離であってもよい。又は、プレイヤーカード3のマーカーが位置するマスと、ボード2上のマーカーが配置されるマスとの間に存在するマスの数であってもよい。
【0106】
(b)プレイヤーカード3のマーカー及びボード2のマーカーの向きは、例えば、ボード2上のマーカーに対するプレイヤーカード3の向きであってもよいし、各マーカーの向きの関係であってもよい。各マーカーの向きの関係は、同じ向きを向いている、反対の方向を向いている、向き合っている等である。これらのマーカーの向きは、マーカー処理部52によって取得される各マーカー座標系に基づいて位置関係取得部53によって取得される。
【0107】
(c)プレイヤーカード3のマーカー及びボード2のマーカーのうち、一方の位置を基準とした場合のもう一方の位置する方向は、例えば、プレイヤーカード3のマーカーがボード2上のマーカーの前後左右(又は東西南北)の何れの方向に位置するか等である。一方のマーカーの位置を基準とした場合のもう一方のマーカー位置する方向は、マーカー処理部52によって取得される各マーカー座標系に基づいて位置関係取得部53によって取得される。
【0108】
また、第1のゲーム進行処理の条件情報584の「条件」は、プレイヤーカード3の配置変更による位置関係の変化によっても定義される。位置関係の変化は、例えば、上記(a)〜(c)の変化及び(a)〜(c)の変化の組み合わせである。
【0109】
(a)プレイヤーカード3のマーカーとボード2上のマーカーとの距離の変化には、例えば、該距離の短縮,伸長がある。(b)プレイヤーカード3のマーカーとボード2上のマーカーとの向きの変化には、例えば、プレイヤーカード3の配置変更によるプレイヤーカード3のマーカーの向きの変化がある。(c)一方のマーカーの位置を基準とした場合のもう一方のマーカーの位置する方向の変化には、例えば、プレイヤーカード3の配置変更による、ボード2上の第2のマーカーを基準とするプレイヤーカード3のマーカーが位置する方向の変化等がある。
【0110】
図10に示される第1のゲーム進行処理の条件情報581は、上記(a)〜(c)及び(a)〜(c)の組み合わせの位置関係及び位置関係の変化によって設定される「条件」と、「条件」に対する「アクション」の具体例である。なお、第1のゲーム進行処理の条件情報581は、位置関係と位置関係の変化との組み合わせによって設定されてもよい。
【0111】
条件ID「1」の条件情報では、「条件」に、プレイヤーカード3のマーカーが敵キャ
ラクタオブジェクトのマーカーに重なること、「アクション」に、該敵キャラクタオブジェクトとの対戦が開始されることが設定されている。制御部55は、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーに重なることを、例えば、該2つのマーカーの位置関係の変化内容が距離の短縮であり、且つ、変化後の位置関係が該2つのマーカーの座標値が同じマスに位置していると見なされる所定範囲にあること、によって判定する。図9は、図10の条件ID「1」の条件情報の「条件」に合致した場合のゲーム進行を例示する。図9では、プレイヤーカード3−1がマス11から敵キャラクタ6−3のマーカーが配置されるマス13(図7)に移動したことによって、プレイヤーカード3−1のマーカーがマス13のマーカーに重なった様子が示されている。この後、ボード2上では、マス13のマーカーに対応する敵キャラクタオブジェクトとの対戦の処理が実行される。
【0112】
条件ID「2」の条件情報では、「条件」に、プレイヤーカード3のマーカーが倒した敵キャラクタオブジェクトのマーカーから離れること、「アクション」に、該敵キャラクタオブジェクトの仮想オブジェクトが倒れた状態で表示されることが設定されている。制御部55は、プレイヤーカード3のマーカーが倒した敵キャラクタオブジェクトのマーカーから離れることを、例えば、該2つのマーカーの位置関係の変化内容が距離の伸長であることによって判定する。図9は、図10の条件ID「2」の条件情報の「条件」に合致した場合のゲーム進行を例示する。図9では、プレイヤーがマス11の敵キャラクタオブジェクトを倒した後、プレイヤーカード3−1がマス11からマス13に移動した様子が示されている。したがって、図9のボード2上では、マス11の敵キャラクタオブジェクト6−1は、倒れた状態で表示されている。
【0113】
条件ID「3」の条件情報では、「条件」に、家オブジェクトのマーカーに隣接するマスにプレイヤーカード3のマーカーが位置すること、「アクション」に、該家オブジェクトからキャラクタが出てくることが設定されている。制御部55は、家オブジェクトのマーカーに隣接するマスにプレイヤーカード3のマーカーが位置することを、例えば、該2つのマーカーの位置関係の変化内容が距離の縮小であること、且つ、変化後の位置関係がプレイヤーカード3のマーカーが家オブジェクトのマーカーの隣接マスに位置すること、によって判定する。ただし、プレイヤーカード3のマーカーと家オブジェクトのマーカーとの間の距離を算出し、算出した距離がマス1つの寸法以下か否かを判定することで、隣接マスに位置することを判定してもよい。図9は、図10の条件ID「3」の条件情報の「条件」に合致した場合のゲーム進行を例示する。図9では、プレイヤーカード3−2が家オブジェクト8−1のマス45の隣接マスであるマス44に移動したことにより、家オブジェクト8−1からキャラクタオブジェクト8−2が出てきた様子が示されている。
【0114】
条件ID「4」の条件情報では、「条件」に、家オブジェクトのマーカーにプレイヤーカード3のマーカーが重なること、「アクション」に、プレイヤーの体力回復が設定されている。制御部55は、該条件が満たされると、ゲーム進行状況情報585のプレイヤーの状態を、体力ポイントをアップさせて更新する。
【0115】
条件ID「5」の条件情報では、「条件」に、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーから2マス以内の範囲に進入すること、「アクション」に、該敵キャラクタオブジェクトが動き出すことが設定されている。制御部55は、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーから2マス以内の範囲に進入することを、例えば、該2つのマーカーの位置関係の変化内容が距離の2マス以上から2マス以下への短縮であること、変化後の位置関係が該2つのマーカーが重なっていないこと、によって判定する。
【0116】
条件ID「6」の条件情報では、「条件」に、プレイヤーカード3のマーカーが敵キャ
ラクタオブジェクトのマーカーから2マス以内の範囲から出ること、「アクション」に、該敵キャラクタオブジェクトの動きが止まることが設定されている。制御部55は、プレイヤーカード3のマーカーが敵キャラクタオブジェクトのマーカーから2マス以内の範囲から出ることを、例えば、該2つのマーカーの位置関係の変化内容が距離の2マス未満から2マス以上への伸長であること、によって判定する。
【0117】
図9は、条件ID「5」の条件情報の「条件」に合致した場合のゲーム進行の例示である。図9では、プレイヤーカード3−1がマス13に移動したことにより、敵キャラクタオブジェクト7−2から2マス以内の範囲に進入し、敵キャラクタオブジェクト7−2が動き出した様子が示されている。さらに、図9では、この後、プレイヤーカード3−1が、例えば、マス13からマス12に移動することにより、敵キャラクタオブジェクト7−2の2マス以内の範囲から出て、条件ID「6」の条件情報の「条件」に合致し、敵キャラクタオブジェクト7−2の動きが止まる。
【0118】
条件ID「7」の条件情報では、「条件」に、プレイヤーカード3のマーカーが種をまいたマスのマーカーから離れること、「アクション」に、プレイヤーカード3のマーカーが1マス離れるごとに、時間が経過し、種をまいたマーカーに対応するオブジェクトが、発芽→開花→実がなるというように成長することが設定されている。図10では、発芽→開花→実がなることが、条件ID「7」の条件情報の「条件」に対応する「アクション」に設定されている。この「アクション」の定義に代えて、発芽→開花→実がなるという一連の進行を複数の条件情報の「アクション」に設定してもよい。
【0119】
また、条件ID「8」の条件情報では、「条件」に、プレイヤーカード3のマーカーの周辺に複数のマーカーが存在すること、「アクション」に、プレイヤーカード3のマーカーに最も近いものを処理対象として選択することが設定されている。制御部55は、プレイヤーカード3の周辺に存在する複数のマーカーのうち、プレイヤーカード3に最も近いマーカーを選択し、処理対象として選択する。制御部55は、選択した処理対象のマーカーとプレイヤーカード3のマーカーとの位置関係及び/又は位置関係の変化に基づいて、合致する条件情報584があるか否かを判定し、合致する条件情報584がある場合には、対応するアクションを実行する。なお、プレイヤーカード3のマーカーの周辺に存在するマーカーには、他のプレイヤーカードのマーカーが含まれていてもよい。この場合には、ゲーム装置1の位置関係取得手段53は、プレイヤーカード3のマーカーと、プレイヤーカード3に最も近いボード2上のマーカーとの位置関係を取得するだけでよいので、処理負荷が軽くなる。
【0120】
図10に示される条件情報584のうち、条件ID「1」−「3」、「5」−「7」の「アクション」は、仮想オブジェクトの形態又は状態を変更させる処理の具体例である。仮想オブジェクトの形態又は状態を変更させる処理によって、ゲーム装置1に表示される仮想空間の表示状態が変化する。ゲーム装置1に表示される仮想空間の表示状態が変化すると、ゲーム装置1は、再度、撮像画像に含まれる実空間の各マーカーに対応する位置に仮想オブジェクトを重畳して表示画面を描画する。したがって、仮想オブジェクトの形態又は状態を変更させる処理は、実空間に情報を重畳する処理の一つである。
【0121】
図10に示される条件情報584のうち、条件ID「4」、「8」は、ゲーム装置1の表示される仮想空間の表示状態の変化を伴わない、内的な処理の例である。しかしながら、ゲーム装置1は、実空間のボード2やプレイヤーカード3と対応する仮想オブジェクトの情報として、内的な処理により変更された情報も保持する。したがって、ゲーム装置1の表示される仮想空間の表示状態の変化を伴わない、内的な処理も、実空間に情報を重畳する処理の一つであると言える。
【0122】
なお、図10は、条件情報584の例の一部を示しているだけであって、1つのゲーム内で図10に示される全条件情報が採用されることを示すものではない。また、ゲームシステム100の条件情報584が図10の例に限定されるわけではない。また、第1実施形態では、ゲームシステム100の説明をしているが、ゲームシステム以外のシステムでもシステムの用途に応じて、「条件」に対して「アクション」を設定することによって、情報を重畳することによって拡張される実空間の有用性を高めることができる。
【0123】
図11は、第1のゲーム進行処理のフローチャートの例である。図11に示される処理は、ゲームの開始とともに開始される。また、図11に示される処理は、所定の周期で、ゲーム終了まで繰り返し実行される。また、図11に示される処理は、撮像画像内のプレイヤーカード3のマーカーとボード2上の各マーカーとの2つのマーカーの組み合わせ毎に実行される。
【0124】
OP11では、位置関係取得部53は、撮像画像に2つ以上のマーカーが含まれるか否かを判定する。位置関係取得部53は、マーカー検出部52から入力されるマーカーの検出結果によって、該判定を行う。撮像画像に2つ以上のマーカーが含まれる場合には(OP11:Yes)、処理がOP12に進む。撮像画像に2つ以上のマーカーが含まれない場合には(OP11:No)、図11に示される処理が終了する。
【0125】
OP12では、位置関係取得部53は、検出されたマーカーのうち、2つのマーカーの位置関係の変化を監視する。OP13では、位置関係取得部53は、2つのマーカーの位置関係の変化が検出されたか否かを判定する。2つのマーカーの位置関係の変化が検出された場合には(OP13:Yes)、位置関係取得部53は、2つのマーカーの位置関係の変化内容及び変化後の位置関係を制御部55に出力し、処理がOP14に進む。2つのマーカーの位置関係の変化が検出されない場合には(OP13:No)、図11に示される処理が終了する。
【0126】
OP14では、制御部55は、位置関係取得部53から入力された2つのマーカーの位置関係の変化内容及び変化後の位置関係に基づいて、記憶部58内の条件情報584のうち、「条件」が満たされる条件情報584があるか否かを判定する。「条件」が満たされる条件情報584がある場合には(OP14:Yes)、処理がOP15に進む。「条件」が満たされる条件情報584が無い場合には、図11に示される処理が終了する。
【0127】
OP15では、制御部55は、「条件」が満たされた条件情報584に設定される「アクション」を実行する。その後、図11に示される処理が終了する。
【0128】
(第2のゲーム進行処理)
第2のゲーム進行処理は、プレイヤーカード3上のマーカーと、ボード2上のマーカーのうちの一つとが所定の条件を満たした時に、ボード2上の他のマーカーに対して実行される、ゲーム進行に係る処理である。第2のゲーム進行処理も、第1のゲーム進行処理と同じく、記憶部58に保持される条件情報584によって定義される。
【0129】
図12A及び図12Bは、第2のゲーム進行処理の一例を説明するための図である。図12A及び図12Bには、横に5個、縦に4個のフィールドを有する、同一のボードの仮想空間が示されている。
【0130】
図12Aでは、プレイヤーオブジェクト4−1がマス43に位置し、お助けキャラクタオブジェクト4−3がマス44に位置する。お助けキャラクタは、プレイヤーにヒントを与えたり,アイテムを与えたり等して、プレイヤーをサポートするキャラクタである。また、図12Aでは、マス43〜マス45のマス以外には、敵キャラクタオブジェクト又は
雷オブジェクト9が存在する。雷オブジェクト9は、プレイヤーにとって不利に作用するオブジェクトである。例えば、プレイヤーオブジェクト4−1が、雷オブジェクト9のマスに進入すると、プレイヤーが保持するポイントから1点引かれる等のアクションが実行される。
【0131】
図12Aに示される仮想空間において、例えば、プレイヤーオブジェクト4−1がお助けキャラクタオブジェクト4−3に話しかける等して接触すると、図12Bに示されるような状態に仮想空間が変化する。なお、話しかけるというアクションは、ゲーム装置1の操作ボタン14又はタッチパネル13の操作によって選択可能な、仮想空間内のプレイヤーの動作を指示するコマンドによって実行されるアクションの一つである。
【0132】
図12Bでは、図12Aにおいて敵キャラクタオブジェクト6−1,7−1,7−4が表示されていたマーカー上にリンゴオブジェクト11が、雷オブジェクト9が表示されていたマーカー上にハートオブジェクト12が表示される。リンゴオブジェクト11およびハードオブジェクト12は、体力回復アイテムである。
【0133】
図12A及び図12Bでは、プレイヤーに対して不利に作用するオブジェクトが、プレイヤーに対して有利に働くオブジェクトへ変化する例が示されている。プレイヤーオブジェクト4−1がお助けキャラクタに話しかけるというアクションが実行されるという条件が満たされた場合に、敵キャラクタオブジェクト6−1,7−1,7−4と、雷オブジェクト9等が、リンゴオブジェクト11及びハートオブジェクト12等に変化する。
【0134】
以上のように、第2のゲーム進行処理では、所定の条件が満たされた場合に、該条件を満たす2つの仮想オブジェクト以外の仮想オブジェクトに対して所定の処理が実行される。
【0135】
図13は、第2のゲーム進行処理を定義する条件情報584の例である。第2のゲーム進行処理の条件情報584の「条件」は、プレイヤーカード3のマーカーとボード2上のマーカーとの位置関係,ゲーム装置1からプレイヤーに対して指示されるアクションの内容,又はそれらの組み合わせによって設定される。第2のゲーム進行処理の条件情報584の「アクション」は仮想空間内、特に条件情報584の「条件」を満たす2つの仮想オブジェクト以外の仮想オブジェクトに対して作用する処理が設定される。仮想空間内に作用する処理は、例えば、ゲーム装置1の画面の表示の変更を伴う、条件情報584の「条件」を満たす2つの仮想オブジェクト以外の仮想オブジェクトの形態又は状態の変更処理である。また、仮想空間内に作用する処理は、これに限られず、ゲーム装置1の画面の表示の変更を伴わない処理も含まれる。ゲーム装置1の画面の表示の変更を伴わない処理は、例えば、条件情報584の「条件」を満たす2つの仮想オブジェクト以外の仮想オブジェクトのポイント等の属性情報の変更処理であり、これらは、該仮想オブジェクトに対して与えられる効果を変更する処理である。すなわち、条件情報584の「アクション」には、撮像画像上に情報を重畳する処理が実行される。
【0136】
図13に示される第2のゲーム進行処理の各条件情報584の「アクション」は、実空間に情報を重畳する処理の具体例である。
【0137】
条件ID「11」の条件情報は、図12Aおよび図12Bにおいて説明された処理を定義する条件情報であるため、説明を省略する。
【0138】
条件ID「12」の条件情報は、「条件」に、プレイヤーがツリーオブジェクトを伐採するアクションを実行すること、「アクション」に、伐採されたツリーオブジェクトの所定範囲内にあるツリーオブジェクトも倒れることが設定されている。なお、ツリーオブジ
ェクトを伐採することは、ゲーム装置1からプレイヤーに対して、例えば、ゲーム装置1の操作ボタン14,タッチパネル13,又はアナログスティック15において選択されたコマンドによって指示されるアクションの一つである。ゲーム装置1では、制御部55が操作解析部54からの操作信号によって、ツリーオブジェクトを伐採するアクションの実行を判定する。
【0139】
条件ID「13」の条件情報は、「条件」に、プレイヤーが敵キャラクタオブジェクトと戦って勝利すること、「アクション」に、該敵キャラクタオブジェクトと同じ種類の敵キャラクタオブジェクトも倒れること、が設定されている。例えば、プレイヤーと敵キャラクタとの対戦は、専用のプログラムの実行によって処理され、該プログラムの実行結果によって、制御部55は、プレイヤーの勝利を判定する。
【0140】
条件ID「14」の条件情報は、「条件」に、プレイヤーオブジェクト4が敵キャラクタオブジェクトと向き合うこと、「アクション」にプレイヤーオブジェクトと向き合っている敵キャラクタオブジェクト以外の敵キャラクタオブジェクトがプレイヤーオブジェクト4に注目する(プレイヤーオブジェクト4の方を向く)こと、が設定されている。プレイヤーオブジェクト4が敵キャラクタオブジェクトと向き合うことは、敵キャラクタオブジェクト4の前方方向の隣接マスに、プレイヤーカード3のマーカーが位置しており、且つ、プレイヤーカード3のマーカーの向きが該敵オブジェクト4方向であることによって制御部55によって判定される。
【0141】
また、図13に示される条件情報の他にも以下のような条件情報があってもよい。例えば、図12Aにおいて、「条件」にプレイヤーキャラクタ4−1が敵キャラクタ7−4を倒すこと、「アクション」にお助けキャラクタ4−3がプレイヤーキャラクタ4−1の体力を回復可能な状態になることが設定されてもよい。この場合には、その後、プレイヤーカード3がマス23からマス44に移動してお助けキャラクタ4−3のマスに重なると、プレイヤーキャラクタ4−1の体力が回復する。
【0142】
図14は、第2のゲーム進行処理のフローチャートの例である。図14に示される処理は、ゲームの開始とともに開始される。また、図14に示される処理は、所定周期でゲーム終了まで繰り返し実行される。
【0143】
OP21では、制御部55は、プレイヤーに対する操作があるか否かを判定する。制御部55は、操作解析部54からの入力によって、該判定を行う。プレイヤーに対する操作がある場合には(OP21:Yes)、処理がOP23に進む。プレイヤーに対する操作がない場合には(OP21:No)、処理がOP22に進む。
【0144】
OP22では、制御部55は、撮像画像に含まれる2つのマーカーの位置関係の変化が検出されたか否かを判定する。制御部55は、位置関係取得部53からの入力によって該判定を行う。2つのマーカーの位置関係の変化が検出された場合には(OP22:Yes)、処理がOP23に進む。2つのマーカーの位置関係の変化が検出されない場合には(OP22:No)、プレイヤーに対する操作もなく、撮像画像内の2つのマーカーの位置関係にも変化が無いので、図14に示される処理が終了する。
【0145】
OP23では、制御部55は、操作解析部14からの操作入力,位置関係取得部53から入力された2つのマーカーの位置関係の変化内容,及び変化後の位置関係に基づいて、記憶部58内の条件情報584のうち、「条件」が満たされる条件情報584があるか否かを判定する。「条件」が満たされる条件情報584がある場合には(OP23:Yes)、処理がOP24に進む。「条件」が満たされる条件情報584がない場合には、図14に示される処理が終了する。
【0146】
OP24では、制御部55は、「条件」が満たされた条件情報584に定義されるアクションを実行する。その後、図14に示される処理が終了する。
【0147】
(第1実施形態の作用効果)
第1実施形態では、ボード2上のマーカー間の位置関係や、プレイヤーに対する操作等に基づいて、所定の条件が満たされた場合には、実空間に情報を重畳する処理が実行される。これによって、マーカーに対応する仮想オブジェクトを表示するだけの処理に比べて、処理を多様化することができる、また、仮想空間内に様々な変化及び効果をもたらすことができ、ゲームの興趣性を高めることができる。
【0148】
また、第1実施形態では、ボード2が複数のマーカーを有することによって、ボード2の一部分のみがズームアップされて撮像された場合でも、撮像画像にボード2上のマーカーが1つでも含まれていれば、ゲーム装置1は、該マーカーのマーカー座標系を取得することができ、該マーカーに対応する位置に仮想オブジェクトを表示することができる。また、撮像画像内で、ボード2上のマーカーの一部分が欠けていても、ゲーム装置1は、全体が撮像されている他のマーカーとの位置関係から、該マーカーの全体を推定することができ、この推定に基づいて該マーカーに対応する位置に仮想オブジェクトを表示することができる。これによって、仮想空間と実空間との融合性を高めることができる。
【0149】
(第1実施形態の変形例)
第1実施形態では、ゲームシステム100はプレイヤーカード3を含み、ユーザによって実空間内でプレイヤーカード3が移動され、ボード2上の配置が変更されることによって、ゲームが進行した。一方、変形例では、ゲームシステム100は、プレイヤーカード3を含まず、代わりにマーカーを有する補助カード3Aを含む。補助カード3Aは、プレイヤーに対して有利に作用し、プレイヤーを補助する為のカードである。ユーザは、補助カード3Aをボード2上に追加,移動,及び除去することができる。変形例のゲームシステム100では、プレイヤーはユーザによるゲーム装置1の操作ボタン14やタッチパネル13等の入力装置の操作によって移動し、プレイヤーの移動によってゲームが進行する。
【0150】
変形例においては、マーカー処理部52及び位置関係取得部53は、第1実施形態におけるプレイヤーカード3のマーカーに対する処理と同様の処理を補助カード3Aのマーカーに対して実行する。すなわち、マーカー処理部52は、撮像画像に含まれるボード2上のマーカー及び補助カード3Aのマーカーを検出する。また、位置関係取得部53は、補助カード3Aとボード2上のマーカーとの位置関係を監視し、該位置関係の変化内容と変化後の位置関係とを取得する。制御部55は、補助カード3Aとプレイヤーオブジェクトとの位置関係を求め、補助カード3Aとプレイヤーオブジェクトとの位置関係,補助カード3Aとボード2上のマーカーとの位置関係の変化内容,変化後の位置関係,又はそれらの組み合わせに基づいて条件情報584の条件が満たされたか否かを判定し、条件が満たされた場合には、該当するアクションを実行する。
【0151】
図15は、変形例のゲームシステムの仮想空間の例を示す図である。図15に示される例において、補助カード3Aのマーカーに対応する仮想オブジェクトは、壁オブジェクトである。この補助カード3Aが敵キャラクタオブジェクトの隣接マスに配置されることによって(条件情報584の「条件」)、該敵キャラクタオブジェクトからの補助カード3A方向への攻撃を防ぐことができる(条件情報584の「アクション」)。なお、補助カード3Aには様々種類があり、種類毎にマーカー及びマーカーに対応付けられる仮想オブジェクトも異なる。
【0152】
図16は、変形例における第1のゲーム進行処理の条件情報584の例を示す図である。変形例における第1のゲーム進行処理の条件情報584の「条件」は、第1実施形態の第1のゲーム進行処理と同様に、補助カード3Aとボード2上のマーカーとの位置関係,補助カード3Aとプレイヤーオブジェクト4との位置関係,又は、それらの組み合わせによって設定される。また、条件情報584の「アクション」は、第1実施形態の第1のゲーム進行処理と同様に、実空間に情報を重畳する処理が設定される。
【0153】
条件ID「21」の条件情報584は、「条件」に、補助カード3Aのマーカーが家オブジェクトのマーカーと重なること、「アクション」に、プレイヤーの体力回復が定義される。
【0154】
条件ID「22」の条件情報584は、「条件」に、補助カード3Aのマーカーがプレイヤーの位置するマスに位置する(重なる)こと、「アクション」に、プレイヤーのレベルが向上することが定義される。
【0155】
条件ID「23」の条件情報584は、「条件」に、補助カード3Aのマーカーが敵キャラクタオブジェクトのマーカーの隣接マスに位置すること、「アクション」に、該敵キャラクタオブジェクトの攻撃を防御すること、が定義される。
【0156】
図17は、変形例における第1のゲーム進行処理のフローチャートの例である。図17に示される処理は、ゲームの開始とともに開始される。また、図17に示される処理は、所定周期でゲーム終了まで繰り返し実行される。
【0157】
OP41〜OP43の処理は、図11のOP11〜OP13の処理と同様である。すなわち、位置関係取得部53は補助カード3Aとボード2上のマーカーとの位置関係の変化を検出する処理である。
【0158】
OP44では、制御部55は、プレイヤーオブジェクトの移動があるか否かを判定する。制御部55は、操作解析部54からの入力内容に基づいて、該判定を行う。プレイヤーオブジェクトの移動がある場合には(OP44:Yes)、処理がOP45に進む。プレイヤーオブジェクトの移動が無い場合には(OP44:No)、図17に示される処理が終了する。
【0159】
OP45では、制御部55は、プレイヤーオブジェクトの移動内容,変更後の補助カード3Aのマーカーとプレイヤーオブジェクトとの位置関係を解析する。制御部55は、プレイヤーオブジェクトの移動内容を操作解析部54からの入力に基づいて解析する。制御部55は、変更後の補助カード3Aのマーカーとプレイヤーオブジェクトとの位置関係を、マーカー検出部52から入力される補助カード3Aのマーカーと、プレイヤーオブジェクトの移動内容とから解析する。
【0160】
OP46では、制御部55は、補助カード3Aのマーカーとボード2上のマーカーとの位置関係,補助カード3Aのマーカーとプレイヤーオブジェクトとの位置関係,又は、それらの組み合わせに基づいて、「条件」が満たされる条件情報584があるか否かを判定する。「条件」が満たされる条件情報584がある場合には(OP46:Yes)、処理がOP47に進む。「条件」が満たされる条件情報584がない場合には、図17に示される処理が終了する。
【0161】
OP47では、制御部55は、条件が満たされた条件情報584に定義されるアクションを実行する。その後、図17に示される処理が終了する。
【0162】
変形例において、第2のゲーム進行処理は、第1実施形態における第2のゲーム進行処理と同様の処理を適用することができる。すなわち、第1実施形態における第2のゲーム進行処理は、仮想空間内のプレイヤーオブジェクトの移動が、ユーザによるプレイヤーカード3の移動によって行われる場合でも、ゲーム装置1の操作ボタン14やタッチパネル13等の入力装置からの操作信号によって行われる場合でも、適用することができる。また、変形例における第2のゲーム進行処理では、条件情報584の「条件」の設定に補助カード3Aとプレイヤーオブジェクト4又はボード2上のマーカーとの位置関係又は位置関係の変化を用いることもできる。
【0163】
変形例におけるゲーム装置1では、操作ボタン14やタッチパネル13等の入力装置からの操作によって、実空間では存在しないプレイヤーオブジェクト4が表示画面内のボード2上で移動する。これによって、実空間には存在しないプレイヤーオブジェクト4が実空間に存在するボード2上で移動するようにユーザに認識させることができる。さらに、実空間に存在するボード2上に補助カード3Aを配置することによって、仮想空間内に存在する仮想オブジェクトに作用又は効果を及ぼすことができる。これらによって、ゲーム装置1は、実空間と仮想空間とがよりよく融合した拡張現実の世界をユーザに提供することができる。
【0164】
<第2実施形態>
第2実施形態では、第1実施形態で説明されたゲームシステムに、複数のゲーム装置1が含まれる場合のゲーム進行処理について説明する。複数のゲーム装置1でゲームシステムによって提供される仮想空間を共有する場合には、該複数のゲーム装置1間で情報の整合性を保つ必要がある。第2実施形態では、複数のゲーム装置1間で情報の整合性を保つために、無線通信を用いる。なお、第2実施形態では、仮想空間内におけるプレイヤーオブジェクト4の移動は、それぞれのゲーム装置1のユーザによるプレイヤーカード3の配置変更によって行われてもよいし、それぞれのゲーム装置1の操作ボタン14やタッチパネル13等の入力装置からの操作信号によって行われてもよい。
【0165】
第2実施形態では、ゲーム装置1は、無線通信モジュール36を用いて、例えばIEEE802.11.b/gのアドホックモードで、所定範囲内に存在する他のゲーム装置1とサーバやアクセスポイント等の中継装置の中継を介さずに直接通信を行う。
【0166】
第2実施形態では、制御部55は、自装置1の撮像画像内(撮像範囲内)で仮想空間に変化があった場合には、更新情報として該変化の内容を他のゲーム装置1に無線通信モジュール36を介して送信する。更新情報は、更新対象の仮想オブジェクトとマスの情報,及び更新内容とが含まれる。例えば、ゲーム進行状況情報585の更新による変更差分である。また、ゲーム装置1の制御部55は、無線通信モジュール36を通じて、他のゲーム装置1からの更新情報を受信する。
【0167】
他のゲーム装置1から受信した更新情報の内容と、自装置の撮像画像に含まれるマーカーとによって、ゲーム装置1において実行される更新情報を受信した際の情報整合処理は、以下に示す(A)−(C)の処理に分けられる。
【0168】
(A)受信した更新情報に、自装置の撮像画像(撮像範囲)に含まれるマーカーと同じマーカーの情報が含まれている場合には、制御部55は、該マーカーについて受信した更新情報と自装置が保持する情報(ゲーム進行状況情報585)とで整合性を確認する。整合性を確認するとは、例えば、複数のゲーム装置1間で、相互に、各ゲーム装置1が保持する情報の変化を更新情報として他のゲーム装置1に通知し、通知を受けたゲーム装置1は通知された更新情報を自装置の情報に反映することをいう。
【0169】
(B)受信した更新情報に、自装置の撮像画像(撮像範囲)に含まれるマーカーと同じマーカーの情報は含まれておらず、且つ、自装置の撮像画像に含まれるマーカーに関連する情報も含まれていない場合には、制御部55は、受信した更新情報に含まれる変更内容でゲーム進行状況情報585を更新する。
【0170】
図18は、更新情報の受信処理の一例を説明するための図である。図18は、上記(B)の受信処理が行われる場合について説明される。図18に示される例では、ゲーム装置1A及びゲーム装置1Bの2台のゲーム装置でゲームが実行されている。ボード2上のプレイヤーカード3A,3Bは、それぞれゲーム装置1A,1Bのユーザが使用するプレイヤーカードである。ゲーム装置1Aは撮像範囲50Aを撮像している。ゲーム装置1Bは、撮像範囲50Bを撮像している。
【0171】
図18に示される例において、ゲーム装置1Bが操作するキャラクタオブジェクト4Bは敵キャラクタオブジェクト7−2と対戦し勝利し、敵キャラクタオブジェクト7−2が倒れた状態になったとする。この場合、ゲーム装置1Bでは、自装置の撮像範囲50Bにおいて仮想空間内に起こった変化であるので、該変化を認識している。すなわち、ゲーム装置1Bでは、該変化がゲーム進行状況情報585に更新され、且つ、敵キャラクタオブジェクト7−2が倒れた状態で表示される。
【0172】
一方、ゲーム装置1Aでは、撮像範囲50Bにおいて発生した変化(敵キャラクタオブジェクト7−2が倒れた状態となる)について、ゲーム装置1Aの撮像範囲外で発生した変化であるため、認識していない。すなわち、ゲーム装置1Aの撮像範囲が撮像範囲50Aから撮像範囲50Bに移動した場合に、ゲーム装置1Aは敵キャラクタオブジェクト7−2が倒れた状態となることを認識していないため、ゲーム装置1Aは敵キャラクタオブジェクトを立った状態で表示する。この場合、ゲーム装置1Aに表示される仮想空間とゲーム装置1Bに表示される仮想空間とで整合性が取れていない状態となる。
【0173】
そこで、ゲーム装置1Bが、敵キャラクタオブジェクト7−2の状態が変化したことを更新情報としてゲーム装置1Aに送信する。これによってゲーム装置1Aは、敵キャラクタオブジェクト7−2の倒れた状態に変化したことを認識することができる。ゲーム装置1Aが撮像範囲を撮像範囲50Bに映した際には、敵キャラクタオブジェクト7−2は、倒れた状態でゲーム装置1Aに表示される。
【0174】
図19Aは、図18に示される例において、情報整合処理が実行された後のゲーム装置1Bの画面表示を示す図である。図19Bは、図18に示される例において、情報整合処理が実行された後のゲーム装置1Aの画面表示を示す図である。図18に示される例において、ゲーム装置1Aの撮像方向は、矢印Aで示される方向であるとする。また、ゲーム装置1Bの撮像方向は、矢印Bで示される方向であるとする。また、図18に示される例において、例えば、全ての仮想オブジェクトは矢印B方向を向いている、すなわち、ゲーム装置1A側を前面側、ゲーム装置1B側を背面側とする方向を向いている、とする。
【0175】
図19Aにおいて示されるゲーム装置1Bの画面では、敵キャラクタオブジェクト7−2が倒れた状態で表示される。また、ゲーム装置1Bの画面には、各仮想オブジェクトの背面が表示される。
【0176】
図19Bにおいて示されるゲーム装置1Aの画面においても、ゲーム装置1Bから更新情報を受信することによって、敵キャラクタオブジェクト7−2が倒れた状態で表示される。また、ゲーム装置1Aの画面には、各仮想オブジェクトの前面が表示される。つまり、ゲーム装置1A及びゲーム装置1B間で仮想オブジェクトの形態、向き等の情報の整合性が取れている。ただし、仮想オブジェクトの向きは一例であり、ゲームの進行に従い、
さまざまな方向を向くことになる。
【0177】
(C)受信した更新情報に、自装置の撮像画像(撮像範囲)に含まれるマーカーと同じマーカーの情報は含まれておらず、且つ、自装置の撮像画像に含まれるマーカーに関連する情報が含まれている場合には、制御部55は、受信した更新情報に含まれる変更内容に従い、仮想空間に所定の効果を生じさせる処理を実行する。自装置の撮像画像に含まれるマーカーに関連する情報とは、例えば、更新対象の仮想オブジェクトの形態又は状態の変更に連動して形態又は状態の変更が指示される仮想オブジェクトとして自装置の撮像画像に含まれるマーカーに対応する仮想オブジェクトが指定される更新情報の更新内容である。
【0178】
図20は、更新情報の受信処理の一例を説明するための図である。図20は、上記(C)の受信処理が行われる場合について説明される。図20では、図18で示される例と同じ仮想空間が示される。
【0179】
図20に示される例において、ゲーム装置1Bが操作するキャラクタオブジェクト4Bは敵キャラクタオブジェクト7−2と対戦し勝利すると、敵キャラクタオブジェクト7−2に加え同種の敵キャラクタオブジェクトが7−1,7−3も共に爆発するとする。この場合、キャラクタオブジェクト4Bが敵キャラクタオブジェクト7−1に勝利することはゲーム装置1Bの撮像範囲50Bにおいて起こったことであるので、ゲーム装置1Bはこれを検知可能である。すなわち、撮像範囲50Bを撮像するゲーム装置1Bの画面では、キャラクタオブジェクト7−2が爆発する様子が表示される。
【0180】
一方、ゲーム装置1Aでは、撮像範囲50Bにおいて発生した変化(敵キャラクタオブジェクト7−2が爆発する)について、ゲーム装置1Aの撮像範囲外で発生した変化であるため、認識していない。したがって、ゲーム装置1Aの撮像範囲50Aに含まれる爆発すべき敵キャラクタオブジェクト7−1は、ゲーム装置1Aの画面上では爆発しない。この場合、ゲーム装置1Aに表示される仮想空間とゲーム装置1Bに表示される仮想空間とで整合性が取れていない状態となる。
【0181】
そこで、ゲーム装置1Bが、敵キャラクタオブジェクト7−2の状態が変化したことを更新情報としてゲーム装置1Aに送信する。これによってゲーム装置1Aは、敵キャラクタオブジェクト7−2が爆発するとともに、敵キャラクタオブジェクト7−1も爆発することを認識することができる。したがって、撮像範囲50Aを撮像するゲーム装置1Aの画面内でも、敵キャラクタオブジェクト7−1が爆発する。
【0182】
図21Aは、図20に示される例において、情報整合処理が実行された後の撮像範囲50Bを撮像したゲーム装置1Bの画面表示を示す図である。図21Bは、図20に示される例において、情報整合処理が実行された後の撮像範囲50Aを撮像したゲーム装置1Aの画面表示を示す図である。図20に示される例において、ゲーム装置1Aの撮像方向は、矢印Aで示される方向であるとする。また、ゲーム装置1Bの撮像方向は、矢印Bで示される方向であるとする。また、図20に示される例において、例えば、全ての仮想オブジェクトは矢印B方向を向いているとする。
【0183】
図21Aにおいて示される、撮像範囲50Bを撮像したゲーム装置1Bの画面では、敵キャラクタオブジェクト7−2が爆発した状態で表示される。また、ゲーム装置1Bの画面には、各仮想オブジェクトの背面が表示される。
【0184】
図21Bにおいて示される、撮像範囲50Aを撮像したゲーム装置1Aの画面においても、ゲーム装置1Bから更新情報を受信することによって、敵キャラクタオブジェクト7
−1が爆発した状態で表示される。また、ゲーム装置1Aの画面には、各仮想オブジェクトの前面が表示される。つまり、ゲーム装置1A及びゲーム装置1B間で仮想オブジェクトの形態、向き等の情報の整合性が取れている。
【0185】
図22は、更新情報を受信した場合の情報整合処理のフローチャートの例である。図22に示される処理は、ゲームの開始とともに開始される。また、図22に示される処理は、所定周期で、ゲーム終了まで繰り返し実行される。
【0186】
OP31では、制御部55は、更新情報を受信したか否かを判定する。更新情報が受信された場合には(OP31:Yes)、処理がOP32に進む。更新情報が受信されない場合には(OP31:No)、図22に示される処理が終了する。
【0187】
OP32では、制御部55は、受信した更新情報に含まれる更新対象の仮想オブジェクトが撮像画像に含まれているか否かを判定する。更新対象の仮想オブジェクトが撮像画像に含まれている場合には(OP32:Yes)、上記(A)の処理が実行されるため、処理がOP33に進む。更新対象の仮想オブジェクトが撮像画像に含まれていない場合には、処理がOP34に進む。
【0188】
OP33では、制御部55は、受信した更新情報と保持するゲーム進行状況情報とが整合性があるか否かを判定する。整合性がある場合には(OP33:Yes)、処理がOP35に進む。整合性が無い場合には(OP33:No)、図22に示される処理が終了する。この場合には、制御部55は、更新情報に合わせてゲーム進行状況情報を更新してもよいし、更新情報の送信元のゲーム装置1に不整合の通知を送信してもよい。不整合の通知を受信したゲーム装置1では、ユーザに対してボード2全体を撮像するように指示したり、他のゲーム装置1からゲーム進行状況情報を送信してもらうよう要求して、該ゲーム装置1自身で新たにゲーム進行状況情報855を生成し直すようにしてもよい。
【0189】
OP34では、制御部55は、更新情報に含まれる変更内容は、撮像画像に含まれる仮想オブジェクトに関連のあるものか否かを判定する。更新情報に含まれる変更内容が、撮像画像に含まれる仮想オブジェクトに関連のあるものである場合には(OP34:Yes)、上記(C)の処理が実行されるため、処理がOP35に進む。更新情報に含まれる変更内容が、撮像画像に含まれる仮想オブジェクトに関連が無い場合には(OP34:No)、上記(B)の処理が実行されるため、処理がOP36に進む。
【0190】
OP35では、制御部55は、更新情報にしたがって処理を行う。OP36では、制御部55は、更新情報に従ってゲーム進行状況を更新する。その後、図22に示される処理が終了する。
【0191】
なお、OP32において、更新対象の仮想オブジェクトが撮像画像に含まれている場合には(OP32:Yes)、OP33の処理を実行することなく、OP35に処理を進めてもよい。例えば、2つのゲーム装置1間で更新情報を授受する場合に、相手側のゲーム装置1内で発生した情報の変化をそのまま受け入れる方式のゲーム進行もあり得るからである。
【0192】
(第2実施形態の作用効果)
第2実施形態では、複数のゲーム装置1で仮想空間を共有する際に、撮像範囲内の仮想空間で変化を検知すると、他のゲーム装置に対して更新情報を送信する。これによって、ゲーム装置1は、自身の撮像範囲外の仮想空間内で発生した変化を認識することができる。したがって、仮想空間を共有する複数のゲーム装置1間で、情報の整合性を保つことができる。また、上記(C)のように自身の撮像範囲外で発生した変化に連動して、撮影範
囲内のオブジェクトの状態も変わることによって、複数のゲーム装置1で共有する仮想空間の興趣性を高めることができる。
【0193】
(第2実施形態の変形例)
第2実施形態では、複数のゲーム装置1のそれぞれが、同一のボード2を撮像し、共通の仮想空間を生成してゲームが実行される例が示された。これに代えて、例えば、各ゲーム装置1が別々の場所に位置し、それぞれの位置で同種のボード2を撮像して、共通の仮想空間を生成してゲームを実行してもよい。この場合、各ゲーム装置1の撮像対象物である各ボード2では、印刷される複数のマスが、各ボード2間で同じ配置に同じ形状のマスが配置されていなければならない。その他、例えば、ボード2上の背景の色が異なっていたり、マス配置の周辺に配されるデザインが異なっていてたりしても構わない。また、このような場合には、ユーザは、同種のボード2を準備し、ゲーム装置1の無線通信機能を用いてアクセスポイントやサーバを介して通信を行うことによって、互いに遠く離れた場所にいるゲーム装置1のユーザと、同じ仮想空間を共有してゲームを楽しむことができる。
【0194】
(その他)
第1実施形態及び第2実施形態では、携帯型のゲーム装置1を用いて説明したが、撮像装置及び表示装置とは独立した装置である据置型のゲーム装置、あるいは、一般的なパーソナルコンピュータ等の情報処理装置で本発明の画像処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話端末、パーソナルコンピュータ、カメラ等であってもよい。
【0195】
また、上述した説明では、ゲーム進行処理をゲーム装置1で行う例を用いたが、上記ゲーム進行処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置1が他の装置(例えば、サーバや他のゲーム装置)と通信を行う場合、上記ゲーム進行処理における処理ステップは、ゲーム装置1および当該他の装置が協働することによって実行してもよい。一例として、他の装置がマーカー検出部52,位置関係取得部53,制御部55の処理を実行してもよい。このように、ゲーム進行処理の処理ステップの少なくとも一部を他の装置で行うことによって、上述したゲーム進行処理と同様の処理が可能となる。このように、上述したゲーム進行処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置1の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置1が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0196】
また、上述したゲーム装置1の形状や、それに設けられている各種操作ボタン14,アナログスティック15,タッチパネル13の形状,数,および設置位置等は、単なる一例に過ぎず他の形状,数,および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した画像処理で用いられる処理順序,設定値,判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
【0197】
また、上記ゲームプログラムは、外部メモリ45やデータ保存用外部メモリ46等の外部記憶媒体を通じてゲーム装置1に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置1に供給されてもよい。また、上記プログラムは、ゲーム装置1内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM,DVD,あるいはそれらに類す
る光学式ディスク状記憶媒体,フレキシブルディスク,ハードディスク,光磁気ディスク,磁気テープ,などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。このような外部記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0198】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用されるすべての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【符号の説明】
【0199】
51 撮像処理部
52 マーカー処理部
53 位置関係取得部
54 操作解析部
55 制御部
56 オブジェクト表示設定部
57 表示処理部
58 記憶部
【特許請求の範囲】
【請求項1】
撮像装置で撮像を行う情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記コンピュータを、
複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理手段と、
前記撮像処理手段によって生成された撮像画像に基づいて仮想空間を設定する仮想空間設定手段と、
前記撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、
前記検出手段によって所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段として機能させる、情報処理プログラム。
【請求項2】
前記処理手段は、前記第3のマーカーに対応付けられる情報を変更する
請求項1に記載の情報処理プログラム。
【請求項3】
前記処理手段は、所定の期間、前記第3のマーカーに対応付けられる情報を変更する
請求項2に記載の情報処理プログラム。
【請求項4】
前記処理手段は、前記第3のマーカーに対応付けられる2次元又は3次元の画像データを変更する
請求項1から3のいずれか一項に記載の情報処理プログラム。
【請求項5】
前記処理手段は、前記第3のマーカーに対応付けられる前記仮想空間内に対して与える効果を変更する
請求項1から3のいずれか一項に記載の情報処理プログラム。
【請求項6】
前記第1のマーカーと前記第2のマーカーのうち少なくとも一方は、配置変更可能な部品に備えられており、
前記検出手段は、前記第1のマーカーと前記第2のマーカーとの位置関係が前記所定の条件を満たすことを検出する、
請求項1から5のいずれか一項に記載の情報処理プログラム。
【請求項7】
前記処理手段は、前記第3のマーカーに対応付けられる前記仮想空間内に対して与える効果を変更可能な状態に設定し、前記第1のマーカーまたは前記第2のマーカーが前記第3のマーカーに近づいた時に前記与える効果を変更する
請求項6に記載の情報処理プログラム。
【請求項8】
前記第1のマーカー及び前記第2のマーカーのそれぞれは、マーカーの位置と前記位置における姿勢とを検出可能な形状を有しており、
前記コンピュータを、
前記撮像処理手段によって生成された前記第1のマーカーと前記第2のマーカーとを含む撮像画像から、前記第1のマーカーの形状と前記第2のマーカーの形状とに基づいて、前記第1のマーカーと前記第2のマーカーとの位置関係として、前記第1のマーカーと前記第2のマーカーとの距離、前記第1のマーカーの前記第2のマーカーに対する向き、及び前記第1のマーカーの前記第2のマーカーに対する位置の方向のうちの一つ又は組み合わせを判別する位置関係判別手段としてさらに機能させる、
請求項6又は7に記載の情報処理プログラム。
【請求項9】
前記検出手段は、前記撮像装置によって生成された撮像画像に前記第1のマーカーを含む複数のマーカーが含まれている場合に、前記第1のマーカーに最も近いマーカーと前記第1のマーカーとの状態が前記所定の条件を満たすことを検出する
請求項1から8のいずれか一項に記載の情報処理プログラム。
【請求項10】
少なくとも前記第1のマーカー,前記第2のマーカー,及び前記第3のマーカーのそれぞれは、それぞれに対応する2次元又は3次元の画像データの表示位置の指標であり、
前記コンピュータを、
前記撮像装置によって生成された撮像画像に、前記第1のマーカー,前記第2のマーカー,及び前記第3のマーカーのうちの少なくとも一つのマーカーが含まれている場合には、前記撮像画像内の前記少なくとも一つのマーカーに対応する位置に対応する前記画像データを重畳し、表示装置に表示させる表示処理手段としてさらに機能させる
請求項1から9のいずれか一項に記載の情報処理プログラム。
【請求項11】
撮像装置で撮像を行う情報処理装置のコンピュータが、
複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理ステップと、
前記撮像処理ステップにおいて生成された撮像画像に基づいて仮想空間を設定する仮想空間設定ステップと、
前記撮像処理ステップにおいて生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出ステップと、
前記検出ステップにおいて所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理ステップと、
を実行する情報処理方法。
【請求項12】
複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理手段と、
前記撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、
前記検出手段によって所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、
を含む情報処理装置。
【請求項13】
複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、
前記撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、
前記検出手段によって所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、
を含む情報処理システム。
【請求項1】
撮像装置で撮像を行う情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記コンピュータを、
複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理手段と、
前記撮像処理手段によって生成された撮像画像に基づいて仮想空間を設定する仮想空間設定手段と、
前記撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、
前記検出手段によって所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段として機能させる、情報処理プログラム。
【請求項2】
前記処理手段は、前記第3のマーカーに対応付けられる情報を変更する
請求項1に記載の情報処理プログラム。
【請求項3】
前記処理手段は、所定の期間、前記第3のマーカーに対応付けられる情報を変更する
請求項2に記載の情報処理プログラム。
【請求項4】
前記処理手段は、前記第3のマーカーに対応付けられる2次元又は3次元の画像データを変更する
請求項1から3のいずれか一項に記載の情報処理プログラム。
【請求項5】
前記処理手段は、前記第3のマーカーに対応付けられる前記仮想空間内に対して与える効果を変更する
請求項1から3のいずれか一項に記載の情報処理プログラム。
【請求項6】
前記第1のマーカーと前記第2のマーカーのうち少なくとも一方は、配置変更可能な部品に備えられており、
前記検出手段は、前記第1のマーカーと前記第2のマーカーとの位置関係が前記所定の条件を満たすことを検出する、
請求項1から5のいずれか一項に記載の情報処理プログラム。
【請求項7】
前記処理手段は、前記第3のマーカーに対応付けられる前記仮想空間内に対して与える効果を変更可能な状態に設定し、前記第1のマーカーまたは前記第2のマーカーが前記第3のマーカーに近づいた時に前記与える効果を変更する
請求項6に記載の情報処理プログラム。
【請求項8】
前記第1のマーカー及び前記第2のマーカーのそれぞれは、マーカーの位置と前記位置における姿勢とを検出可能な形状を有しており、
前記コンピュータを、
前記撮像処理手段によって生成された前記第1のマーカーと前記第2のマーカーとを含む撮像画像から、前記第1のマーカーの形状と前記第2のマーカーの形状とに基づいて、前記第1のマーカーと前記第2のマーカーとの位置関係として、前記第1のマーカーと前記第2のマーカーとの距離、前記第1のマーカーの前記第2のマーカーに対する向き、及び前記第1のマーカーの前記第2のマーカーに対する位置の方向のうちの一つ又は組み合わせを判別する位置関係判別手段としてさらに機能させる、
請求項6又は7に記載の情報処理プログラム。
【請求項9】
前記検出手段は、前記撮像装置によって生成された撮像画像に前記第1のマーカーを含む複数のマーカーが含まれている場合に、前記第1のマーカーに最も近いマーカーと前記第1のマーカーとの状態が前記所定の条件を満たすことを検出する
請求項1から8のいずれか一項に記載の情報処理プログラム。
【請求項10】
少なくとも前記第1のマーカー,前記第2のマーカー,及び前記第3のマーカーのそれぞれは、それぞれに対応する2次元又は3次元の画像データの表示位置の指標であり、
前記コンピュータを、
前記撮像装置によって生成された撮像画像に、前記第1のマーカー,前記第2のマーカー,及び前記第3のマーカーのうちの少なくとも一つのマーカーが含まれている場合には、前記撮像画像内の前記少なくとも一つのマーカーに対応する位置に対応する前記画像データを重畳し、表示装置に表示させる表示処理手段としてさらに機能させる
請求項1から9のいずれか一項に記載の情報処理プログラム。
【請求項11】
撮像装置で撮像を行う情報処理装置のコンピュータが、
複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理ステップと、
前記撮像処理ステップにおいて生成された撮像画像に基づいて仮想空間を設定する仮想空間設定ステップと、
前記撮像処理ステップにおいて生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出ステップと、
前記検出ステップにおいて所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理ステップと、
を実行する情報処理方法。
【請求項12】
複数のマーカーが存在する実空間を前記撮像装置で撮像して撮像画像を生成する撮像処理手段と、
前記撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、
前記検出手段によって所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、
を含む情報処理装置。
【請求項13】
複数のマーカーが存在する実空間を撮像装置で撮像して撮像画像を生成する撮像処理手段と、
前記撮像処理手段によって生成された撮像画像内の少なくとも第1のマーカーと第2のマーカーとの状態が所定の条件を満たすことを検出する検出手段と、
前記検出手段によって所定の条件が満たされたことが検出された場合、前記仮想空間内の少なくとも第3のマーカーの状態に作用する処理を実行する処理手段と、
を含む情報処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19A】
【図19B】
【図20】
【図21A】
【図21B】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19A】
【図19B】
【図20】
【図21A】
【図21B】
【図22】
【公開番号】特開2012−178069(P2012−178069A)
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願番号】特願2011−40982(P2011−40982)
【出願日】平成23年2月25日(2011.2.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願日】平成23年2月25日(2011.2.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]