〔第1実施形態〕
図1は、第1実施形態におけるゲームシステムの構成の一例を示す図である。本実施形態のゲームシステムは、仮想現実体験(VR体験)の一種である拡張現実体験(AR体験)をユーザに提供する拡張現実体験提供装置である。
本実施形態のARゲームは、スタンドアローンのコンピュータにより実現されるシングルプレイ用のゲームである。よって、本実施形態のゲームシステムは、単独のコンピュータシステムであるユーザ端末1500により実現される。
ユーザ端末1500は、プレーヤであるユーザがゲームプレイのために個別に使用する手に持つことができる携帯型のコンピュータシステムである。本実施形態のユーザ端末1500は、いわゆるスマートフォンと呼ばれる装置であるが、携帯型ゲーム装置や、タブレット型コンピュータ、ウェアラブルコンピュータなどでもよい。
ユーザ端末1500は、方向入力キー1502と、ボタンスイッチ1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、内蔵バッテリー1509と、スピーカ1510と、マイク1512と、背面カメラユニット1520と、制御基板1550と、コンピュータ読み出し可能な記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない電源ボタン、音量調節ボタン等が設けられている。また、ゲームプレイの対価の支払いが可能なICカード型のクレジットカードやプリペイドカードに対して非接触にデータの読み書きが行えるICカード読取装置などを設けるとしてもよい。
背面カメラユニット1520は、ユーザ端末1500の背面側(タッチパネル1506を正面として裏側)を撮影する手段であり、例えば、レンズやフィルターなどの光学系部品と、オートフォーカス機構と、カラーイメージセンサと、当該センサで撮影した画像の画像データを生成・出力する画像処理ICとを有する。すなわち、背面カメラユニット1520は、撮影した静止画像データや動画データを制御基板1550へ出力することができる。
制御基板1550は、CPU(Central Processing Unit)1551やGPU(Graphics Processing Unit,DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、通信回線9に接続する携帯電話基地局や無線LAN基地局などと無線通信するための無線通信モジュール1553、インターフェース回路1557(インターフェース回路)などを搭載する。
インターフェース回路1557には、タッチパネル1506のドライバ回路、方向入力キー1502及びボタンスイッチ1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512で集音した音声の信号を生成する入力信号生成回路、背面カメラユニット1520から静止画や動画のデータを取得するための回路、メモリカード読取装置1542への信号入出力回路、無線通信モジュール1553との信号入出力回路などが含まれている。
制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1550の一部または全部をASIC(Application Specific Integrated Circuit)やFPGA(field-programmable gate array)、SoC(System on a Chip)にて構成してもよい。そして、制御基板1550は、本実施形態のARゲームを実現させるためのプログラムや各種データをICメモリ1552に記憶する。それらのプログラムや各種設定データは、別途インターネットなどを介してサーバシステムからダウンロードするか、別途入手したメモリカード1540などの記憶媒体から読み出すものとする。
[ゲームの説明]
図2は、本実施形態におけるゲームの概要を説明するための図である。
本実施形態のゲームは、ARゲームである。すなわち、ARマーカ10を実空間に配置し、その様子をカメラ(本実施形態では背面カメラユニット1520)で撮影すると、撮影されているリアルタイムの画像にARマーカ10に対応するARオブジェクトの3DCG(3 Dimensions Computer Graphics)画像がリアルタイムに合成されたゲーム画面W2が表示される。
本実施形態のARゲームは、ARオブジェクトとしてプレーヤキャラクタ4と敵キャラクタ6とを登場させ、プレーヤキャラクタ4で敵キャラクタ6を討伐するシングルプレイのアクションゲームである。図示の例では、プレーヤは、所有するARマーカの中から、プレーヤキャラクタ4aのARマーカ10aと、敵キャラクタ6のARマーカ10eとをそれぞれ選択してテーブル7等の上に置き、ゲームプログラムを起動したユーザ端末1500でその様子を撮影してゲームプレイしている。
敵キャラクタ6は、ノンプレーヤキャラクタであって、プレーヤキャラクタ4を攻撃するようにコンピュータにより自動制御される。プレーヤは、ゲーム画面W2に表示されているプレーヤキャラクタ4をタッチして選択し、攻撃や防御、アイテムの使用などの行動を指示すると、プレーヤキャラクタ4は、選択された行動種類に応じて自動制御される。プレーヤキャラクタ4と敵キャラクタ6との相対位置や相対距離は、対応するARマーカ10の配置を変更することにより調整することができる。ARキャラクタ毎に、相手の攻撃がヒットするとダメージが蓄積される。そして、それぞれ所定の耐久値までダメージが至ると当該キャラクタは撃破されたこととなる。
図示の例では、プレーヤキャラクタ4に対応するARマーカ10aと、敵キャラクタ6に対応するARマーカ10eとをそれぞれ1つずつ配置しているが、プレーヤキャラクタ4に対応するARマーカ10を複数同時に配置してプレイすることも可能であり、むしろこれから述べるようにARマーカ10を同時に複数使うことで本実施形態の本領が発揮される。
図3〜図5は、本実施形態におけるARマーカと、それに設定される不可視の判定領域の設定について説明するための概念図である。図の左上にARマーカ10の上面図を、左下に正面図を示す。また、図の右上にARマーカ10及び対応するARキャラクタ(ARオブジェクト)の上面図を、右下に正面図を示す。
本実施形態のARマーカ10は、メダル型をしていて、それぞれ表面及び裏面に固有の画像パターンが付与されている。本実施形態では、固有の画像パターンを認識してARを実現する。なお、ARマーカの形状はメダル型に限らず、カード型や、立体型など適宜設定可能である。
本実施形態のARマーカ10には、正面の向きが設定されている。これを「正面方位」と呼ぶ。図3では、ARマーカ10aの正面方位Df1を矢印で表している。ARマーカ10の画像パターンで言うと、小黒丸が付いている側がARマーカ10の後側となる。
ARマーカ10に対応づけられるARキャラクタ(ARオブジェクト;図示の例では、プレーヤキャラクタ4(4a))は、ARマーカ10の直上に出現するように制御されるが、両者のサイズ関係や相対位置関係はこれに限らない。ARマーカ10よりも大きなARキャラクタでもよいし、初期配置位置はARマーカ10の外でもよい。ゲーム進行中は、ARキャラクタは当該初期配置位置から離れて所定範囲内で移動するとしても良い。
そして、1つのARマーカ10には、第1種コリジョンエリア11と、第2種コリジョンエリア12との2種類の不可視の判定領域が設定される。
第1種コリジョンエリア11は、ARマーカ10同士の実空間における位置関係を判定するのに使用される第1の立体判定領域である。第1種コリジョンエリア11には、設定向きがある。本実施形態では、ARマーカ10の正面方位に基づいて設定向きが決められる。具体的には、第1種コリジョンエリア11の設定向きはARマーカ10の正面方位に合わされる。
例えば図3の例の第1種コリジョンエリア11は、円筒形を有し、上円端面がARマーカ10の底面に密着し、当該上円端面の中心とARマーカ10の底円の中心とが一致する相対位置と相対姿勢が設定されている。勿論、第1種コリジョンエリア11の立体形状と、第1種コリジョンエリア11のARマーカ10に対する相対的なサイズは図示の例に限らず適宜設定可能である。詳細は後述するが、第1種コリジョンエリア11の形状や、相対位置関係、相対姿勢、相対的なサイズを適宜多様化させることでゲームプレイに複雑さをもたらし興趣を高める効果を生む。
第2種コリジョンエリア12は、ARキャラクタについてヒット判定するのに使用される第2の立体判定領域である。図3の例の第2種コリジョンエリア12は、四角柱であり、長手方向が上下を向けた相対姿勢で、下端面がARマーカ10の上面に密着し且つ四角柱の下端面の中心とARマーカ10の上面円の中心とが一致する相対位置に設定されている。勿論、第2種コリジョンエリア12の立体形状と、ARマーカ10或いは対応するARキャラクタに対する相対的なサイズは、当該対応するARキャラクタのデザインや大きさによって適宜設定可能である。
図4は、図3とは別種のARマーカの例と、それに対応づけられるARキャラクタの例を示す図である。
ARマーカ10(10b)には、ARキャラクタは、プレーヤキャラクタ4(4b)が対応づけられている。当該ARマーカ10(10b)の正面方位Df2は太矢印で表している。
ARマーカ10(10b)に設定されている第1種コリジョンエリア11(11b)は、四角柱であり、長手方向が上下を向けた相対姿勢で、その上端面がARマーカ10の下面に密着し、四角柱の右端がARマーカ10の下面円の中心付近となる相対位置が設定されている。換言すると、図4の第1種コリジョンエリア11(11b)は、ARマーカ10(10b)の上面視範囲を部分的に包含する。つまり、ARマーカ10(10b)については、当該ARマーカにとっての左側でしか、他のARマーカ10との相対位置関係がチェックされないことになる。
図5は、図3や図4とは別種のARマーカの例と、それに対応づけられるARキャラクタの例を示す図である。
ARマーカ10(10c)には、ARキャラクタとしてプレーヤキャラクタ4(4c)が対応づけられている。当該ARマーカ10(10c)の正面方位Df3は太矢印で表している。
ARマーカ10(10c)には、複数個の第1種コリジョンエリア11(11cr、11cf、11cl)が設定されている。それらは全て同サイズの球状体であり、ARマーカ10(10c)の底面の前方・左方・右方それぞれの外周に接触するように設定されている。つまり、ARマーカ10(10c)の第1種コリジョンエリア11は、当該ARマーカの上面視範囲の極一部しか包含せず、当該ARマーカにとっての前・左側・右側それぞれの極狭い位置でしか他のARマーカとの相対位置関係がチェックされないことになる。
[フォーメーションについての説明]
次に、ARマーカのフォーメーションについて説明する。
本実施形態のゲームでは、所定の組み合わせの複数のARマーカ10が実空間において所定の配置位置関係を為している場合、それらを1つの「フォーメーション形成ARマーカ群」と認識する。
「フォーメーションの種類」は、構成するARマーカ10の組み合わせと、それらの相対的な配置位置関係と、の2つの要素で識別される。そして、本実施形態では、フォーメーション形成ARマーカ群が認識されると、そのフォーメーションの種類に応じた特別制御として、特別ARキャラクタ(ARオブジェクト)が召喚・出現される。
図6は、ARマーカ10の相対的な配置位置関係の判定方法について説明するための図である。図の上側に上面図を、下側に正面図を示す。本実施形態では、異なるARマーカ間で相互の第1種コリジョンエリア11の衝突(ヒット)が検知されると、それらは所定の配置位置関係を為していると見なされる。
具体的には、図6では、図3で示したARマーカ10(10a)と、図4で示したARマーカ10(10b)とを近づけて配置した場合の一例を示している。
前者のARマーカ10(10a)には、当該ARマーカを内包するサイズの第1種コリジョンエリア11(11a)が設定されているので、全方位どこからでも衝突判定(干渉判定)され得る。しかし、後者のARマーカ10(10b)には、当該ARマーカにとっての左側にしか第1種コリジョンエリア11(11b)が設定されていないので、図示のように、ARマーカ10(10a)を、ARマーカ10(10b)の左側に寄せたときのみ、所定の配置位置関係をなしたと見なされる。前方や後方、右側から寄せても所定の配置位置関係をなしたとは見なされない。そして、所定の配置位置関係をなしたと見なされたことで、これら2つのARマーカ10a及びARマーカ10bは、1つのフォーメーション形成ARマーカ群20(20ab)として認識される。
図7は、フォーメーション形成ARマーカ群に対応する特別ARキャラクタの配置について説明するための図である。図の上側に上面図を、下側に正面図を示す。
本実施形態では、フォーメーション形成ARマーカ群20を構成するARマーカ10の組み合わせと相対位置関係とで決まる「フォーメーションの種類」に応じた種類の特別ARキャラクタ30がゲーム内に出現制御される。
特別ARキャラクタ30は、NPCタイプのプレーヤキャラクタ4の一種である。つまり、プレーヤは、プレーヤキャラクタ4のARマーカ10で所定のフォーメーションを形成すると、増援キャラクタとして特別ARキャラクタ30を出現させ、敵キャラクタ6との戦闘を有利に進めることができるようになる。図示の例では、ARマーカ10(10a)の右横にARマーカ10(10b)を配置することで、特別ARキャラクタ30(30a)を召喚・出現させている。
特別ARキャラクタ30の出現位置は、フォーメーション形成ARマーカ群20のフォーメーションの種類と、当該マーカ群を構成するARマーカ10の方位の組み合わせと、に応じて決定される。図7の例では、特別ARキャラクタ30(30a)は、2体のプレーヤキャラクタ4(4a,4b)とともにそれぞれが上面視正三角形の各頂点にあるかのような位置に出現される。
また、特別ARキャラクタ30の出現時の姿勢は、当該マーカ群を構成するARマーカ10の正面方位の組み合わせ、すなわち相対的な配置姿勢関係に決定される。図7の例では、2つのARマーカ10(10a、10b)の正面方位Df1,Df2が揃っており、対応する2体のプレーヤキャラクタ4(4a,4b)は同じ方向を向いている。そして、フォーメーション形成ARマーカ群20を構成するARマーカ10の正面方位が揃っている場合、特別ARキャラクタ30(30a)の正面方位Df4も、同じ方位を向くような姿勢で出現制御される。つまり、図7の例では、2体のプレーヤキャラクタ4(4a,4b)と、特別ARキャラクタ30(30a)とは、3体で同じ方向の敵キャラクタ6を連携して攻撃することとなる。
図8は、フォーメーション形成ARマーカ群における特別ARキャラクタの配置について説明するための図であるが、図7とはフォーメーション形成ARマーカ群20を構成するARマーカ10(10a、10b)の種類と相対位置関係は同じであるが、正面方位の組み合わせが異なる例を示している。図の上側に上面図を、下側に正面図を示す。
すなわち、図8の例では、ARマーカ10(10a)の正面方位Df1が、ARマーカ10(10b)の正面方位Df2を基準として、左90度を向いている。当該正面方位の組み合わせでは、特別ARキャラクタ30(30a)の出現位置は、ARマーカ10(10a)とARマーカ10(10b)とを底辺の2頂点とし、3つ目の頂点をARマーカ10(10a)にとっての右側方に向けた上面視直角三角形をなすように設定されている。そして、特別ARキャラクタ30(30a)の出現時の姿勢は、その正面方位Df4がARマーカ10(10b)の正面方位Df2と一致する姿勢となるように設定されている。よって、図8の例では、プレーヤは、プレーヤキャラクタ4(4a)で左側からの攻撃に対処しつつ、プレーヤキャラクタ4(4b)と特別ARキャラクタ30(30a)とで、正面の敵キャラクタ6に対処する戦術を展開することができる。
なお、特別ARキャラクタ30(30a)の正面方位Df4の向きは、図示の例に限らない。ARマーカ10(10a)の正面方位Df1と一致させるとしてもよい。或いは、正面方位Df1と正面方位Df2のどちらかをランダムに選択してそちらと一致させるとしてもよい。
図9は、所定の配置位置関係をなしたと認識されたフォーメーション形成ARマーカ群における特別ARキャラクタの配置について説明するための図である。図7と比較すると、マーカ群を構成するARマーカ10の種類の組合せが異なるが、それらの相対位置関係と、方位の組み合わせとは図7と同様である。なお、図の上側に上面図を、下側に正面図を示す。
本実施形態では、同じフォーメーションでも、組み合わせるプレーヤキャラクタ4の種類(マーカ群を構成するARマーカ10の組み合わせ)を変えると、異なる種類の特別ARキャラクタ30が召喚される。図示の例では、プレーヤキャラクタ4aに対応するARマーカ10aと、プレーヤキャラクタ4cに対応するARマーカ10cとを組み合わせ、両者の正面方位Df1,Df3を揃えて、前者を後者の左横に配置することでフォーメーション形成ARマーカ群20(20ac)を形成させている。そして、両ARマーカの正面中央に特別ARキャラクタ30cを出現させている。
つまり、プレーヤは、手持ちのARマーカ10を色々組み合わせてどのような特別ARキャラクタ30が出現するのかを楽しめる。配置したARマーカ10の中からフォーメーションを形成させるARマーカ10の組み合わせを代えることで、戦況に応じて特別ARキャラクタ30の種類を切り換え、使い分けするといった戦術的な楽しみが可能になる。
図10は、フォーメーション形成ARマーカ群における特別ARキャラクタの配置の別例について説明するための図である。図9と比較すると、フォーメーション形成ARマーカ群20(20ac)を構成するARマーカ10の組み合わせ及びそれらの正面方位Df1,Df3の関係は同じであるが、それらの相対位置関係が異なっている。
図10に示すように、フォーメーション形成ARマーカ群20(20ac)を構成するARマーカ10(10a,10c)の種類が同じで、それらの正面方位Df1,Df3の関係が図9の例と同じでも、それらの相対位置関係(図10の例では、ARマーカ10の正面を基準にして前後並び)が異なれば、出現する特別ARキャラクタ30の種類が異なる。
図10の例では、上面視すると、ARマーカ10(10a、10c)の正面方位Df1,Df3側に双子の特別ARキャラクタ30(30cr、30cl)がそれぞれ出現している。上面視“Y”の字のうちの下側の直線部分がARマーカ10(10a、10c)の位置となり、“Y”の字の上側の二股に分かれる先端位置に特別ARキャラクタ30(30cr、30cl)が位置するように、特別ARキャラクタ30(30cr、30cl)が出現する。
なお、特別ARキャラクタ30(30cr、30cl)の出現姿勢は、それらの正面方位Df4が、プレーヤキャラクタ4a、4cそれぞれの正面方位Df1、Df3と同じ方向又は略同じ方向を向くように設定されているが、特別ARキャラクタ30(30cr、30cl)が、それぞれ斜め45度前方を向くように設定するなど、適宜設定可能である。
図11は、ユーザ視点となる背面カメラユニット1520から、ARマーカ10までの撮影距離の違いによる第1種コリジョンエリア11の設定違いを説明するための図である。本実施形態では、ARマーカ10を撮影する距離に応じて、当該ARマーカに対応づける第1種コリジョンエリア11の設定を違えることができる。
具体的には、ARマーカ10の撮影距離は、背面カメラユニット1520で撮影された画像に写っているARマーカ10の大きさから求めることができる。そして、撮影距離が近距離と見なす所定の近距離条件を満たす場合では、ARマーカ10(10a)には図3で示した様な近距離用の第1種コリジョンエリア11(11a)が設定される。一方、撮影距離が近距離条件を満たさない場合、すなわち遠距離にあると見なされる場合には、図11に示すように、ARマーカ10(10a)には、当該ARマーカから離れた場所に遠距離用の第1種コリジョンエリア11(11R,11L)が設定される。
具体的には、図11の例では、ARマーカ10(10a)を頂点の1つとする上面視正三角形の残り2つの頂点位置をそれぞれ包含するように遠距離用の第1種コリジョンエリア11(11R,11L)が設定されている。
そして、遠距離用の第1種コリジョンエリア11(11R,11L)の2つともに他のARマーカが配置されると、大規模フォーメーションが形成されたと認定され、それら3つのARマーカで囲われる領域内に、小型の特別ARキャラクタ30(30f)を多数出現させて「プレーヤキャラクタ群」を形成させる。つまり、ARマーカ10を撮影する距離を変えることにより利用できる戦術が変化するので、よりゲームの興趣が高まる。
なお、近距離用の第1種コリジョンエリア11(11a)と遠距離用の第1種コリジョンエリア11(11R,11L)とは併存するとしてもよい。また、大規模フォーメーションの相対位置関係は上面視三角形に限らず、例えば、四角形以上の多角形や、十字型、鶴翼や方円などのいわゆる「陣形」であってもよい。また、そうした大規模フォーメーションを構成するARマーカの数も4以上でもよい。
[機能構成の説明]
図12は、本実施形態におけるユーザ端末1500の機能構成例を示す機能ブロック図である。本実施形態におけるユーザ端末1500は、操作入力部100と、撮影部102と、処理部200と、音出力部390と、画像表示部392と、通信部394と、記憶部500とを備える。
操作入力部100は、ユーザ端末1500の管理やゲームプレイのための各種操作を入力するための手段である。本実施形態では、図1の方向入力キー1502、ボタンスイッチ1504、タッチパネル1506は勿論のこと、背面カメラユニット1520も、ユーザ視点の位置と姿勢を入力する操作入力部100の1つということができる。
撮影部102は、ARマーカ10を撮影し、撮影画像のデータを処理部200へ出力する。本実施形態では、図1の背面カメラユニット1520がこれに該当する。
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む各機能部との間でデータの入出力制御を行う。図1の制御基板1550がこれに該当する。そして、処理部200は、所定のプログラムやデータ、操作入力部100からの操作入力信号、撮影部102で撮影された画像のデータ等に基づいて各種の演算処理を実行して、ユーザ端末1500の動作を統合的に制御する。
具体的には、本実施形態の処理部200は、ゲーム進行制御部210と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を含む。勿論、これら以外の機能部も適宜含めることができる。
ゲーム進行制御部210は、ゲームの実行管理に係る各種処理を行う。本実施形態のゲームは、プレーヤキャラクタ4が敵キャラクタ6を討伐するアクションゲームなので、
1)仮想3次元空間にプレーヤキャラクタ4や敵キャラクタ6を配置する制御、2)プレーヤキャラクタ4や敵キャラクタ6の自動動作制御、3)プレーヤキャラクタ4及び敵キャラクタ6相互の攻撃のヒット判定とダメージの蓄積処理、4)ダメージが蓄積したキャラクタの撃破処理、5)ゲーム成績の更新処理、などを実行することができる。
そして、本実施形態のゲーム進行制御部210は、ARマーカ認識部212と、オブジェクト登場制御部214と、特別制御実行部216と、第1種コリジョンエリア設定部218と、第1種コリジョンエリア表示制御部220と、を有する。
なお、本実施形態のゲームは、シングルプレイを前提としているが、もしPvP(Player versus Player)形式でゲームを実行する場合には、ゲーム進行制御部210に対戦者のマッチングに関する制御を実行させることとしてもよい。
ARマーカ認識部212は、撮影部102で撮影された画像に写っているARマーカ10を検出・認識する処理を行う。ARマーカ認識部212の機能自体は、公知の技術を適宜利用することで実現できる。
オブジェクト登場制御部214は、認識されたARマーカに対応付けられているARオブジェクトを撮影画像中に登場させる制御を行う。
特別制御実行部216は、認識されたARマーカが複数であり、且つ、当該認識されたマーカの配置構成が、ゲームの進行上の特別制御を実行する条件である所与の配置構成条件を満たした場合に、当該配置構成条件に対応付けられている特別制御を実行する。
本実施形態では、配置構成条件が満たされているかの判定を、認識されたARマーカの種類の組み合わせと、それらARマーカの第1種コリジョンエリア11の衝突判定による配置相対位置関係と、に基づいて行う。
そして、当該配置構成条件が満たされた場合には、特別制御実行部216は、それら認識された複数のARマーカ10を1つのフォーメーション形成ARマーカ群20として認識する。そして、新たなフォーメーション形成ARマーカ群20が認識されると、特別制御として、当該マーカ群のフォーメーションの種類に対応づけられる特別ARキャラクタ30を出現・登場制御する。
また、特別制御実行部216は、特別ARキャラクタ30を登場させる際には、特別ARキャラクタ30の登場位置、及び、動作制御方向(本実施形態における正面方位Df4;図8〜図9参照)のうちの少なくとも一方を、満たしたと判定された配置構成条件に係る配置構成に基づいて設定する。本実施形態では、フォーメーション形成ARマーカ群20のマーカ種類が配置構成条件に相当するので、当該マーカ群構成するARマーカ10の配置相対位置関係と配置相対姿勢関係とに基づいて特別ARキャラクタ30の登場位置、及び、動作制御方向が設定される。
第1種コリジョンエリア設定部218は、認識されているARマーカ別に第1種コリジョンエリア11を設定する。具体的には、撮影部102から各ARマーカまでの撮影距離又は当該ARマーカの撮影サイズ(撮影部102に写っている大きさ)に応じて、各々の第1種コリジョンエリア11の設定サイズ及び設定種類を変更設定する。
第1種コリジョンエリア表示制御部220は、第1種コリジョンエリア11を示す表示を撮影画像中(本実施形態ではゲーム画面中)に合成表示させる表示制御を行う。
計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
音生成部290は、音声データの生成や合成、デコードなどをする回路やIC、ソフトウェアの実行により実現され、ゲームプレイに係る音声データを生成或いはデコードする。そして、ゲームプレイに係る音声の信号を音出力部390へ出力する。
音出力部390は、音声信号から音声を再生して放音する。図1の例ではスピーカ1510がこれに該当する。
画像生成部292は、ゲームプレイに必要な画像等を生成し、画像表示部392へ出力することができる。
画像表示部392は、画像生成部292から入力される画像信号に基づいてゲームプレイに必要な画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1の例では、タッチパネル1506がこれに該当する。
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
通信部394は、通信回線9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では無線通信モジュール1553が該当する。
本実施形態をマルチプレイゲームとして実現する場合には、通信制御部294及び通信部394を利用してゲームサーバや他プレーヤのユーザ端末とデータ通信する。
記憶部500は、処理部200にユーザ端末1500を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例ではICメモリ1552がこれに該当する。
本実施形態の記憶部500は、システムプログラム502と、ゲームプログラム504と、ゲーム初期設定データ510と、ARマーカ定義データ520と、ARキャラクタ定義データ540と、フォーメーション形成ARマーカ群識別定義データ560と、特別ARキャラクタ出現定義データ570と、を予め記憶する。また、逐次生成・管理されるデータとして、プレイデータ700と、現在日時800と、を記憶する。その他、タイマや、カウンタ、各種フラグなどの情報を適宜記憶できる。
システムプログラム502は、処理部200が読み出して実行することでユーザ端末1500にコンピュータとして必要な基本的な入出力機能を実現するためのシステムプログラムである。
ゲームプログラム504は、処理部200が読み出して実行することで、ゲーム進行制御部210、計時部280などの機能を実現させるためのプログラムである。
ゲーム初期設定データ510は、ゲームに関する各種初期設定データを格納する。
ARマーカ定義データ520は、認識可能なARマーカ毎に用意され、当該ARマーカに対応付けられる各種データを格納する。例えば図13に示すように、1つのARマーカ定義データ520は、ARマーカ種類521と、マーカ識別基準データ522と、第1種コリジョンエリア定義データライブラリ524と、を含む。勿論、これら以外のデータも適宜含めることができる。
マーカ識別基準データ522は、ARマーカを画像認識するための辞書データである。本実施形態では、ARマーカ10はゲーム提供者が予め用意して提供する構成としているので、当該データもゲーム提供者が予め用意するが、ARマーカ10の画像パターンをプレーヤ自らが用意する場合には、別途当該データの登録を行うものとする。
第1種コリジョンエリア定義データライブラリ524は、ARマーカ10の実空間における配置相対位置関係を判定するための基準データ、すなわち第1種コリジョンエリア11を定義する。本実施形態では、ARマーカ10によっては、背面カメラユニット1520(図1参照)から当該ARマーカまでの撮影距離に応じて、複数の第1種コリジョンエリア11が定義されている。その場合、複数の第1種コリジョンエリア定義データライブラリ524は複数用意される。
1つの第1種コリジョンエリア定義データライブラリ524は、適用撮影距離条件525と、単数又は複数の第1種コリジョンエリア定義データ530と、を含む。
適用撮影距離条件525は、背面カメラユニット1520から当該ARマーカまでの距離の範囲を定義するデータである。例えば、撮影された画像内におけるARマーカ10の大きさや、表示画面全体に対する当該ARマーカ10の写っている部分の面積比などを用いて定義するとしてもよい。
第1種コリジョンエリア定義データ530は、ARマーカ10を基準点として設定される第1種コリジョンエリア11毎に用意される。そして、1つの第1種コリジョンエリア定義データ530は、固有の第1種コリジョンエリアID531と、相対配置位置座標532と、相対配置姿勢533と、第1種コリジョンエリアデータ534と、を含む。
相対配置位置座標532は、認識されたARマーカ10の代表点を基準として、当該第1種コリジョンエリア11の代表点との相対位置を定義する。
相対配置姿勢533は、当該第1種コリジョンエリア11を配置する際の姿勢を定義する。
第1種コリジョンエリアデータ534は、当該第1種コリジョンエリア11の形状種類とサイズを規定するデータである。コリジョンエリアのモデルデータとも言える。
図12に戻って、ARキャラクタ定義データ540は、ARマーカ10に対応して登場させるARキャラクタの種類毎に用意され、当該ARキャラクタについての各種定義データを格納する。
例えば図14に示すように、1つのARキャラクタ定義データ540は、固有のARマーカ種類541と、当該ARキャラクタがプレーヤキャラクタであるか敵キャラクタであるかを示す勢力属性543と、ARマーカ10に対応づけて登場するARキャラクタ毎のARキャラクタ初期設定データ550と、を含む。1つのARマーカに複数のARキャラクタが同時に対応付けられる場合には、ARキャラクタ初期設定データ550はそれら複数のARキャラクタそれぞれについて用意される(図10参照)。
そして、1つのARキャラクタ初期設定データ550は、ARキャラクタ種類551と、ARキャラクタモデルデータ552と、当該ARキャラクタをコンピュータで自動制御する際の行動を決定するための基礎データであるARキャラクタ行動パターンデータ553と、初期能力パラメータ値リスト554と、第2種コリジョンエリア定義データ555と、を含む。勿論、これら以外のデータも適宜含めることができる。
図12に戻って、フォーメーション形成ARマーカ群識別定義データ560は、所定の相対位置関係をなして配置されているARマーカ10を1つのマーカ群として認識するためのデータであって、フォーメーションの種類毎に用意される。
例えば図15に示すように、1つのフォーメーション形成ARマーカ群識別定義データ560は、フォーメーション形成要件561と、フォーメーション種類564とを含む。
フォーメーション形成要件561は、当該フォーメーションとして認定するための要件であり、当該フォーメーションに係る特別制御を実行するための複数のARマーカに係る第1の配置構成条件である。具体的には、フォーメーション形成要件561は、フォーメーションを構成するARマーカの種類に関する要件を示す構成ARマーカIDリスト562と、配置相対位置関係についての要件を示す衝突第1種コリジョンエリアID組み合わせ563と、を含む。つまり、フォーメーション形成要件561は、どの種類のARマーカが、それぞれのどの第1種コリジョンエリア11で衝突する(干渉する)相対位置関係をなすべきかを定義している。
図12に戻って、特別ARキャラクタ出現定義データ570は、特別ARキャラクタ30の種類毎に用意され、当該特別ARキャラクタ30を出現させるための各種定義データを格納する。
例えば図16に示すように、1つの特別ARキャラクタ出現定義データ570は、固有の特別ARキャラクタ種類571と、当該特別ARキャラクタの登場の要件とするフォーメーションの種類(第1の配置構成条件)を示す適用フォーメーション種類572と、特別ARキャラクタ初期設定データ580と、出現状態定義データ590と、を含む。勿論、これら以外のデータも適宜格納することができる。
特別ARキャラクタ初期設定データ580は、当該特別ARキャラクタがどのようなキャラクタであるかを定義する。例えば、特別ARキャラクタモデルデータ582や、特別ARキャラクタ行動パターンデータ583、能力パラメータ値リスト584、当該キャラクタに係る衝突判定に用いられる第2種コリジョンエリア定義データ585と、を含む。勿論、これら以外のデータも適宜含めることができる。
出現状態定義データ590は、当該特別ARキャラクタをどのような位置にどのような状態で出現させるかを定義するデータを格納する。本実施形態では、配置構成別に用意される。換言すると、同じ複数のARマーカ10で配置構成別に、異なる種類の異なる複数の配置構成条件を定義している。
1つの出現状態定義データ590は、構成ARマーカ正面方位組み合わせ条件591と、出現相対位置座標592と、出現時姿勢設定593と、を含む。勿論、これら以外のデータも適宜含めることができる。
構成ARマーカ正面方位組み合わせ条件591は、特別ARキャラクタ30の出現時の既存のARキャラクタ(又はARマーカ10)の配置状況を示す。換言すると、当該特別ARキャラクタに係り当該出現状態定義データ590で定義される特別制御を実行するための複数のARマーカに係る第2の配置構成条件を定義している。具体的には、フォーメーション形成ARマーカ群20を構成するARマーカ10の正面方位(図16の例ではDf1,Df2)の許容相対角範囲ΔDを定義する。構成するARマーカ10の正面方位差が許容相対角範囲ΔD内であれば、当該条件を満たしたと判定される。
出現相対位置座標592と、出現時姿勢設定593は、当該出現状態定義データ590で定義される本実施形態における特別制御の一例を定義する。
出現相対位置座標592は、適用フォーメーション種類572の示すフォーメーションのどこに当該特別ARキャラクタを出現させるかを定義する。例えば、当該フォーメーションを構成するARマーカ10の座標を基準にして相対位置座標Pを定義する。
出現時姿勢設定593は、当該特別ARキャラクタの出現時の状態を定義する。本実施形態では、特別ARキャラクタ30の出現時の正面方位Df4を定義する。特別ARキャラクタ30は正面方位Df4を中心に攻撃行動するので、出現時姿勢設定593は当該特別ARキャラクタの動作制御方向・動作制御基準情報を定義しているということができる。
出現時姿勢設定593が動作制御に係り設定する情報は正面方位Df4に限らない。例えば、特別ARキャラクタ30が飛行可能であれば、着地しているのか飛行状態か、飛行高度はどの程度かを設定することができる。また、特別ARキャラクタ30のモードの識別(例えば、通常モード/通常より攻撃能力が強化されたモードなど)を設定することができる。
図12に戻って、プレイデータ700は、ゲームプレイ毎に用意され、ゲーム進行状況を記述する各種データを格納する。例えば図17に示すように、プレイデータ700は、ARマーカ制御データ710と、ARキャラクタ制御データ730と、フォーメーション形成ARマーカ群認識データ740と、特別ARキャラクタ制御データ750と、第1種コリジョンエリア可視化制御データ752と、ARマーカ使用制限制御データ754と、を含む。勿論、これら以外のデータも適宜含めることができる。
ARマーカ制御データ710は、認識されたARマーカ10毎に用意され、当該ARマーカに関する各種データを格納する。
例えば図18に示すように、1つのARマーカ制御データ710は、認識される毎に自動付与される固有のARマーカID711と、ARマーカ種類712と、ARマーカ位置座標713と、当該ARマーカの認識されている相対姿勢を示すARマーカ正面方位714と、認識されたARマーカの撮影画像内における大きさから求められる背面カメラユニット1520(図1,図2参照)から当該ARマーカまでの距離である撮影距離715と、当該ARマーカに設定された第1種コリジョンエリア11を定義する適用第1種コリジョンエリアデータ716と、を含む。勿論、これら以外のデータも適宜含めることができる。
図17に戻って、ARキャラクタ制御データ730は、ARキャラクタ毎に用意され、当該ARキャラクタの最新の状態を記述する各種データを格納する。
例えば図19に示すように、1つのARキャラクタ制御データ730は、ARキャラクタの識別情報である固有のARキャラクタID731と、対応するARマーカ10を示す対応ARマーカID732と、当該ARキャラクタがプレーヤキャラクタ4であるか敵キャラクタ6であるかを示す勢力属性733と、動作制御データ734と、表示モデルの状態やモーションの制御データなどを含む表示制御データ735と、当該ARキャラクタに係る各種能力パラメータ値を含む能力パラメータ値リスト736と、当該ARキャラクタに設定された第2種コリジョンエリア12を定義する適用第2種コリジョンエリアデータ737と、を含む。勿論、これら以外のデータも適宜含めることができる。
図17に戻って、フォーメーション形成ARマーカ群認識データ740は、フォーメーションを形成しているARマーカ群毎に用意され各種関連データを格納する。
1つのフォーメーション形成ARマーカ群認識データ740は、当該ARマーカ群を構成するARマーカを示す構成ARマーカIDリスト741と、フォーメーション種類742と、当該フォーメーションの形成に対応して特別ARキャラクタ30が出現しているか否かを示す特別ARキャラクタ出現フラグ743と、を含む。勿論、これら以外のデータも適宜含めることができる。
特別ARキャラクタ制御データ750は、ゲーム空間に出現制御された特別ARキャラクタ30毎に用意され、当該特別ARキャラクタの最新の状態を記述する各種データを格納する。1つの特別ARキャラクタ制御データ750は、当該特別ARキャラクタの識別情報を兼ねる構成ARマーカIDリストと、ARキャラクタ制御データ730と同様の内容と、を含む。勿論、これら以外のデータも適宜含めることができる。
第1種コリジョンエリア可視化制御データ752は、所定のコリジョン表示操作されたARマーカの第1種コリジョンエリア11を一定時間ゲーム画面に表示させる為のデータである。1つの第1種コリジョンエリア可視化制御データ752は、対象ARマーカIDと、可視化モデル制御データと、可視化開始日時と、を格納する。勿論、これら以外のデータも適宜含めることができる。
可視化モデル制御データは、当該IDのARマーカ10のARマーカ制御データ710(図18参照)の適用第1種コリジョンエリアデータ716をゲーム画面に表示させるための主データである。可視化モデル制御データは、可視化の表現の仕方によって適宜設定可能である。例えば、第1種コリジョンエリア11の輪郭を表示する場合は、輪郭線のデータと表示色や透明度などとなる。エリアの頂点を表示する場合は、頂点毎の位置と表示色と透明度などとなる。
ARマーカ使用制限制御データ754は、ゲーム内で撃破されたARキャラクタのARマーカ10を一定時間ゲームで使用できないように使用制限するためのデータを格納する。本実施形態では、他勢力キャラクタにより受けた攻撃のダメージが所定の耐久値を超えると撃破認定されたARキャラクタのARマーカ10が使用不可認定される。1つのARマーカ使用制限制御データ754は、ARマーカIDと、制限開始日時と、を対応付けて格納する。
[動作の説明]
次に、ユーザ端末1500における処理の流れについて説明する。ここで説明する処理の流れは、処理部200がシステムプログラム502とゲームプログラム504とを実行することにより実装される(図12参照)。
図20〜図21は、ユーザ端末1500における処理の流れを説明するためのフローチャートである。処理部200は、先ず背面カメラユニット1520による撮影を開始するとともにARマーカ10の認識処理を開始する(ステップS2)。プレイデータ700には認識されたARマーカ毎にARマーカ制御データ710が作成され、逐次更新される(図17,図18参照)。そして、ゲーム進行制御を開始する(ステップS10)。
ゲーム進行を開始した後、プレイ中に撮影された画像内に新たなARマーカ10を検出すると(ステップS20のYES)、処理部200は当該新たなARマーカ10が使用制限されているかを判定する(ステップS22)。
具体的には、当該新たに検出したARマーカ10のARマーカ種類に対応するARマーカ使用制限制御データ754を検索し(図17参照)、もし該当するARマーカ使用制限制御データ754が無い場合は使用制限されていないと見なし、否定判定する。また、該当するARマーカ使用制限制御データ754は有るが、その制限開始日時から現在日時800が所定時間(例えば、24時間)経過していても使用制限されていないと見なして、否定判定する。
そして、新たなARマーカが使用制限されていない場合には(ステップS22のNO)、処理部200は、撮影画像内の当該新たなARマーカ10の像の上に、当該新たなARマーカ10に対応するARキャラクタを出現させ、当該ARキャラクタの第2種コリジョンエリア12を設定する(ステップS24)。
具体的には、処理部200は、ARキャラクタ定義データ540(図14参照)の中から、新たに検出されたARマーカ10が適合するARマーカ種類541を有するデータを検索し、当該ARキャラクタ定義データ540のARキャラクタ初期設定データ550毎に、新たなARキャラクタ制御データ730をプレイデータ700に作成する(図17参照)。より具体的には、新たに作成されたARキャラクタ制御データ730(図19参照)毎に、処理部200は、1)ARキャラクタID731を自動付与する。2)ARマーカ種類521を、対応ARマーカID732に設定する。3)勢力属性543を、勢力属性733にコピーする。4)初期能力パラメータ値リスト554を、能力パラメータ値リスト736にコピーする。5)第2種コリジョンエリア定義データ555を、適用第2種コリジョンエリアデータ737にコピーする。
次に、処理部200は、既に認識されているARマーカ10それぞれについて、当該ARマーカの撮影距離に応じて、第1種コリジョンエリア11を設定する(ステップS26)。具体的には、処理対象とするARマーカ10のARマーカ定義データ520(図13参照)を参照して、当該ARマーカの撮影距離715(図18参照)が適用撮影距離条件525(図13参照)に適合する第1種コリジョンエリア定義データライブラリ524を検索する。そして、その第1種コリジョンエリア定義データ530を、適用第1種コリジョンエリアデータ716(図18参照)にコピーする。
次に、処理部200は、第1種コリジョンエリア11が衝突している複数のARマーカ10を、1つのフォーメーション形成ARマーカ群20として設定する(ステップS30)。具体的には、第1種コリジョンエリア11が衝突しているARマーカ10が満たすフォーメーション形成要件561のフォーメーション形成ARマーカ群識別定義データ560を検索する(図15参照)。そして、検索された定義データを元に、プレイデータ700に新たなフォーメーション形成ARマーカ群認識データ740(図17参照)を生成する。なお、この時点では特別ARキャラクタ出現フラグ743は「0(未出現)」とする。
次に、処理部200は、構成するARマーカ10の数が多いフォーメーション形成ARマーカ群20に内包される、それよりは構成するARマーカ10の数が少ないフォーメーション形成ARマーカ群20の認識を解除する(ステップS32)。
つまり、例えば第1〜第3のARマーカの3つで第1のフォーメーション形成ARマーカ群が形成され、且つ第2と第3のARマーカとでより小規模な第2のフォーメーション形成ARマーカ群を形成している場合、後者の第2のフォーメーション形成ARマーカ群のフォーメーション形成ARマーカ群認識データ740を削除する。つまり、フォーメーション形成ARマーカ群の多重認識を解消する。勿論、ゲームルール上、多重認識を認める構成の場合には、当該ステップは省略できる。
また、処理部200は、既存のフォーメーション形成ARマーカ群20毎に、対応するフォーメーション形成要件561(図15参照)をチェックし、要件を満たさなくなったフォーメーション形成ARマーカ群20の認識を解除する(ステップS34)。つまり、該当するマーカ群のフォーメーション形成ARマーカ群認識データ740を削除する。
次に、処理部200は、特別ARキャラクタ30が未出現のフォーメーション形成ARマーカ群20毎にループAを実行する(ステップS50〜S58)。
ループAにおいて、処理部200は、先ず処理対象とするフォーメーション形成ARマーカ群認識データ740に対応づける特別ARキャラクタ30を決定する(ステップS52)。具体的には、処理対象とするフォーメーション形成ARマーカ群認識データ740のフォーメーション種類742(図17参照)に、適合する適用フォーメーション種類572を有する特別ARキャラクタ出現定義データ570を検索する(図16参照)。そして、検索された特別ARキャラクタ出現定義データ570を参照して、プレイデータ700に新たな特別ARキャラクタ制御データ750(図17参照)を生成する。
次いで、処理部200は、処理対象とするフォーメーション形成ARマーカ群20を構成するARマーカ10の正面方位の組み合わせ(置かれている向きの相対関係)に応じて、特別ARキャラクタ30の出現相対位置と出現時の姿勢とを決定する(ステップS54)。具体的には、処理対象とするフォーメーション形成ARマーカ群認識データ740の構成ARマーカIDリスト741が示すARマーカ10それぞれのARマーカ制御データ710(図18参照)のARマーカ正面方位714を参照する。そして、出現させる特別ARキャラクタ30の特別ARキャラクタ出現定義データ570(図16参照)の出現状態定義データ590のうち、参照したARマーカ正面方位714により満たされる構成ARマーカ正面方位組み合わせ条件591に適合する出現状態定義データ590を見つけ、その出現相対位置座標592及び出現時姿勢設定593に従う。
処理部200は、出現相対位置座標592と出現時姿勢設定593とに基づいてステップS52で選択した特別ARキャラクタ30をゲーム空間に出現させる(ステップS56)。この時、処理対象とするフォーメーション形成ARマーカ群認識データ740の特別ARキャラクタ出現フラグ743を「1(出現済)」に変更する(図17参照)。
特別ARキャラクタ30が未出現のフォーメーション形成ARマーカ群20の全てについてループAを実行したならば(ステップS58)、次に、処理部200は、所定のコリジョン表示操作されたARマーカ10の第1種コリジョンエリア11を一定時間画面に表示させる(ステップS70)。コリジョン表示操作は、適宜設定可能である。例えば、タッチパネル1506に表示されているARキャラクタ(本実施形態ではプレーヤキャラクタ4)をダブルタップ操作するとしてもよい。これにより、プレイデータ700には、コリジョン表示操作されたARマーカ10の第1種コリジョンエリア可視化制御データ752が作成される。なお、第1種コリジョンエリア可視化制御データ752は、可視化開始日時から所定時間(例えば、1分)が経過すると、自動的に削除される。
次いで、処理部200は、勢力属性733が「敵」のARキャラクタすなわち敵キャラクタ6がプレーヤキャラクタ4を攻撃するように自動制御する(ステップS72)。また、処理部200は、勢力属性733が「プレーヤ」のARキャラクタすなわちプレーヤキャラクタ4が、敵キャラクタ6を攻撃するように自動制御する(ステップS74)。
そして、処理部200は、攻撃のヒット判定と、攻撃がヒットしたARキャラクタへのダメージ反映とを実行し(ステップS76)、ダメージがそのARキャラクタの耐久値以上に蓄積したARキャラクタを撃破処理する(ステップS78)。
処理部200は、撃破処理されたARキャラクに対応するARマーカ10のARマーカ使用制限制御データ754(図17参照)を作成し、当該ARマーカを使用制限状態とする(ステップS80)。一方で、使用解除条件(例えば、制限の開始日時から24時間経過)を満たしたARマーカ使用制限制御データ754を削除して、使用制限を解除する(ステップS82)。
処理部200は、ステップS20〜S82を、ゲーム終了条件が満たされるまで繰り返す(ステップS90のNO)。ゲーム終了条件は適宜設定可能であるが、プレイ時間が制限時間に達した、敵キャラクタ6を全て撃破した、などである。そして、ゲーム終了条件が満たされれば(ステップS90のYES)、処理部200は一連の処理を終了する。
以上、本実施形態によれば、撮影画像中のARマーカ10の配置関係を変更して、新しいARキャラクタを登場させるといった今までに無い拡張現実体験を提供できるようになる。
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。本実施形態は、基本的には第1実施形態と同様に実現されるが、ARキャラクタが、対応するARマーカを基点とする所定のエリア内を移動するように制御される点が異なる。以降では、主に第1実施形態との差異について述べることとし、第1実施形態と同様の構成要素については同じ符号を付与して説明は省略するものとする。
図22は、本実施形態におけるARキャラクタの行動範囲について説明するための概念図であって、テーブル7に配置されたARマーカ10を上から見た図に相当する。
本実施形態のARマーカ10には、第3種コリジョンエリア13が設定されている。
第3種コリジョンエリア13は、当該ARマーカに対応づけられるARキャラクタ(図示の例では、プレーヤキャラクタ4a)の移動可能範囲を定義する。
図示の例の第3種コリジョンエリア13(13a)では、ARマーカ10の正面方位に沿って長い直方体領域を為している。勿論、第3種コリジョンエリア13の形状やサイズ、設定される個数は適宜設定可能である。それらは、当該ARマーカに対応づけられるARキャラクタの特性を表すこととなる。
そして、本実施形態では、第3種コリジョンエリア13に係る衝突判定(干渉判定)に基づいて、対応するARキャラクタの行動制御が行われる。
具体的には、第3種コリジョンエリア13と、第2種コリジョンエリア12が衝突すると、当該第2種コリジョンエリア12を有するARキャラクタは、第3種コリジョンエリア13内に侵入したと見なされる。そして、侵入したARキャラクタが敵キャラクタ6であれば、当該第3種コリジョンエリア13に対応するARキャラクタ(図22の例では、プレーヤキャラクタ4a)は、当該侵入したARキャラクタに接近して近接攻撃するように自動制御される。
対して、侵入したARキャラクタが無ければ、第3種コリジョンエリア13に対応するARキャラクタ(図22の例では、プレーヤキャラクタ4a)は、第3種コリジョンエリア13内を最寄りの敵キャラクタ6に可能な限り接近するように移動制御され、そこから遠距離攻撃をするように自動制御される。
また、図23に示すように、フォーメーション形成ARマーカ群20を構成するARマーカ10間では、第3種コリジョンエリア13を共用することができる。図示の例では、第1のARマーカ10aと、第2のARマーカ10bとでフォーメーション形成ARマーカ群20を形成している。第1のARマーカ10aには上面視矩形の第3種コリジョンエリア13aが設定されており、第2のARマーカ10bには上面視X型の第3種コリジョンエリア13bが設定されているものとする。
この場合、第1のARマーカ10aのプレーヤキャラクタ4a及び第2のARマーカ10bのプレーヤキャラクタ4bは、互いの第3種コリジョンエリア13も移動可能範囲に含めて自動行動制御される。図23の例では、敵キャラクタ6が第2のARマーカ10bの第3種コリジョンエリア13bに侵入しており、プレーヤキャラクタ4bが接近して近接攻撃を行っている。当該敵キャラクタ6は、第1のARマーカ10aの第3種コリジョンエリア13aには侵入していないので、本来であればプレーヤキャラクタ4aは、自身の第3種コリジョンエリア13a内から遠距離攻撃するところである。しかし、フォーメーション形成ARマーカ群20を構成しているので、第3種コリジョンエリア13bもプレーヤキャラクタ4aの行動可能エリアと見なされ、プレーヤキャラクタ4aが敵キャラクタ6に接近して近接攻撃をしている。
なお、第3種コリジョンエリア13に係る衝突判定に基づいたARキャラクタの行動制御の種類はこれらに限らない。1つのARマーカ10に、複数の第3種コリジョンエリア13を設ける場合は、どのエリアでも同じ行動を設定しても良いし、エリア別に異なる行動を設定するとしてもよい。
また、ゲームルールの設定によっては、第3種コリジョンエリア13は、第1種コリジョンエリア11を兼ねるとしてもよい。
図24は、本実施形態におけるARマーカ定義データ520のデータ構成例を示す図である。本実施形態のARマーカ定義データ520は、基本的には第1実施形態のそれと同様のデータ構成を有するが、新たに第3種コリジョンエリア定義データライブラリ900を含む。
第3種コリジョンエリア定義データライブラリ900は、当該ARマーカに設定される第3種コリジョンエリア13を、当該ARマーカの撮影距離条件別に用意される。
すなわち、1つの第3種コリジョンエリア定義データライブラリ900は、適用撮影距離条件901と、第3種コリジョンエリア定義データ902と、を含む。そして、1つの第3種コリジョンエリア定義データ902は、固有の第3種コリジョンエリアID903と、相対配置位置座標904と、相対配置姿勢905と、第3種コリジョンエリアデータ906と、を含む。
図25は、本実施形態におけるARキャラクタ定義データ540のデータ構成例を示す図である。基本的には第1実施形態のそれと同様であるが、ARキャラクタ行動パターンデータ553(図14参照)に代えて、第3種コリジョンエリア別行動パターンデータ910を含む。
第3種コリジョンエリア別行動パターンデータ910は、第3種コリジョンエリア13別の当該ARキャラクタの行動パターンを定義する。1つの第3種コリジョンエリア別行動パターンデータ910は、当該データが適用される先を示す適用第3種コリジョンエリアID911と、当該第3種コリジョンエリアと他ARマーカの第2種コリジョンエリア12とが衝突した場合の行動パターンを定義する衝突時行動パターンデータ912と、当該第3種コリジョンエリアと他ARマーカの第2種コリジョンエリア12とが衝突していない場合の行動パターンを定義する非衝突時行動パターンデータ913と、を格納する。
本実施形態の衝突時行動パターンデータ912には、敵キャラクタ6が当該第3種コリジョンエリア13へ侵入した場合の接近移動と近接攻撃とが定義される。
また、非衝突時行動パターンデータ913には、敵キャラクタ6が当該第3種コリジョンエリア13の外にいる場合のエリア内移動と遠距離攻撃とが定義される。
勿論、第3種コリジョンエリア別行動パターンデータ910には、これら以外のデータも適宜含めることができる。例えば、第3種コリジョンエリア13別に、異なる能力値を設定する場合には、例えば攻撃力の倍率値を含め、当該ARキャラクタが当該第3種コリジョンエリア13内で行動する場合の攻撃力にこの倍率値を乗算適用するとしてもよい。
図26は、本実施形態におけるARキャラクタ制御データ730のデータ構成例を示す図である。基本的には、第1実施形態と同様であるが、本実施形態では新たに適用第3種コリジョンエリアデータ738を含む。
適用第3種コリジョンエリアデータ738は、当該ARキャラクタが行動可能なエリアを定義している。当該ARキャラクタが対応するARマーカ10がフォーメーションを形成していない場合には、適用第3種コリジョンエリアデータ738には、撮影距離に応じた第3種コリジョンエリア定義データ902がコピーされる。フォーメーションを形成している場合には、更にフォーメーションを形成している他ARマーカの第3種コリジョンエリア定義データ902も加えられる。そして、フォーメーションの認識が解除されると、加えられた第3種コリジョンエリア定義データ902は自動的に削除される。
図27は、本実施形態におけるプレーヤキャラクタ自動制御処理の流れを説明するためのフローチャートである。同処理は、第1実施形態のステップS74(図21参照)に代えて、プレーヤキャラクタ4別に実行される。
同処理において、処理部200は先ず、処理対象とするプレーヤキャラクタ4のARマーカ10の撮影距離に応じて、当該対応するARマーカの第3種コリジョンエリア13を当該プレーヤキャラクタに適用設定する(ステップS200)。
具体的には、処理対象とするプレーヤキャラクタ4のARマーカ10のARマーカ定義データ520(図24参照)を参照して、撮影距離に適合する第3種コリジョンエリア定義データライブラリ900の第3種コリジョンエリア定義データ902を、処理対象とするプレーヤキャラクタ4の適用第3種コリジョンエリアデータ738(図26参照)にコピーする。
次に、処理部200は、第3種コリジョンエリア13の「共用許可設定」の有無を判定する(ステップS202)。
「共用許可設定」とは、フォーメーション形成ARマーカ群20のARキャラクタ間で、互いに適用設定されている第3種コリジョンエリア13を共用化することを許可する設定である。これに係り、本実施形態のプレイデータ700には、共用許可設定フラグが用意されている。プレーヤにより所与の共用許可設定操作が入力されると共用許可設定されて共用許可設定フラグは「1(設定有り)」とされる。所与の共有解除操作が入力されると、共用許可設定フラグは「0(設定無し)」に変更され、共用は解除されるものとする。
もし、共用許可設定が有りならば(ステップS202のYES)、処理部200は、処理対象とするプレーヤキャラクタ4に対応するARマーカ10がフォーメーションを形成しているかを判定する(ステップS204)。そして、形成しているならば(ステップS204のYES)、当該フォーメーションを構成する他ARマーカに適用設定されている第3種コリジョンエリア13を、処理対象とするプレーヤキャラクタ4に追加適用する(ステップS206)。すなわち、フォーメーションを形成している他ARマーカの第3種コリジョンエリア定義データ902を、処理対象とするプレーヤキャラクタ4の適用第3種コリジョンエリアデータ738にコピーする。
もし、第3種コリジョンエリア13の共用許可設定が無い場合(ステップS202のNO)、又は処理対象とするプレーヤキャラクタ4のARマーカ10がフォーメーションを形成していない場合は(ステップS204のNO)、他ARマーカの第3種コリジョンエリア13に該当する適用第3種コリジョンエリアデータ738を削除して、共用化を解除する(ステップS208)。
次に、処理部200は、処理対象とするプレーヤキャラクタ4の適用第3種コリジョンエリアデータ738の示す第3種コリジョンエリア13と、敵キャラクタ6の第2種コリジョンエリア12とが衝突している場合、当該敵キャラクタ6が適用第3種コリジョンエリア内に侵入したと見なし(ステップS210のYES)、処理部200は、現在居る第3種コリジョンエリア13に対応する第3種コリジョンエリア別行動パターンデータ556の衝突時行動パターンデータ912(図25参照)に従って、処理対象とするプレーヤキャラクタ4の行動を制御する(ステップS212)。本実施形態では、プレーヤキャラクタ4を当該敵キャラクタ6に接近させ近接攻撃させる。そして、プレーヤキャラクタ自動制御処理を終了する。
処理対象とするプレーヤキャラクタ4の適用第3種コリジョンエリアデータ738の示す第3種コリジョンエリア13と、敵キャラクタ6の第2種コリジョンエリア12とが衝突していなければ(ステップS210のNO)、処理部200は、処理対象とするプレーヤキャラクタ4に適用される第3種コリジョンエリアの外に敵キャラクタ6が居る場合(ステップS214のYES)、処理部200は、現在居る第3種コリジョンエリア13に対応する第3種コリジョンエリア別行動パターンデータ556の非衝突時行動パターンデータ913(図25参照)に従って、処理対象とするプレーヤキャラクタ4の行動を制御する(ステップS216)。本実施形態では、プレーヤキャラクタ4を当該敵キャラクタ6に最寄りの位置まで移動させ、遠距離攻撃させる。そして、プレーヤキャラクタ自動制御処理を終了する。
以上、本実施形態によれば、第1実施形態と同様の効果が得られるとともに、第3種コリジョンエリア13の衝突判定を利用してARキャラクタの行動パターンをより多様に設定し、ゲームの興趣をより高めることができる。
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
[その1]
例えば、上記実施形態では、スタンドアローンのユーザ端末1500によるシングルプレイのARゲームを例示したが、オンラインゲームによるシングルプレイ或いはマルチプレイのARゲームとしてもよい。その場合のゲームシステムは、サーバシステムと、これに通信接続するユーザ端末1500とで構成し、クライアント・サーバ型のシステムでシングルプレイ或いはマルチプレイARゲームを実現すればよい。
具体的には、例えば図12で示した処理部200の機能をサーバシステムにて実現する。ユーザ端末1500は、所定のクライアントプログラムを実行し、背面カメラユニット1520で撮影した画像データと操作入力データとを逐次サーバシステムへ送信する。サーバシステムは、受信したデータに基づいてゲーム空間内のARキャラクタの行動を制御し、ゲーム画面W2を生成するためのデータをユーザ端末1500へ送信する。そして、ユーザ端末1500は、受信したデータに基づいてゲーム画面W2を表示させる。
或いは、ゲームシステムを、P2P方式で通信接続した複数のユーザ端末1500で構成するとしてもよい。その場合は、例えば何れかのユーザ端末1500に敵キャラクタ6の行動制御を担当するホスト機能を実現させ、敵キャラクタ6や各プレーヤキャラクタ4の情報を相互に配信しあって端末間で共有する構成としてもよい。
[その2]
また、上記実施形態では、特別制御の例として、フォーメーション形成ARマーカ群20を構成したARマーカ10に対応するARキャラクタ(プレーヤキャラクタ4)とは別の新たな特別ARキャラクタを登場させる例を示したが、特別制御の内容はこれに限らない。例えば、フォーメーション形成ARマーカ群20を構成したARマーカ10に対応するキャラクタが合体して新たな特別ARキャラクタ30に変化したかのように制御してもよい。或いは、フォーメーション形成ARマーカ群20を構成したARマーカ10のARキャラクタが合体技・共同行為をするように特別制御するとしてもよい。
[その3]
また、上記実施形態では、ARマーカ10に設定する第1種コリジョンエリア11の種類を撮影距離に応じて変えたが、更に正面方位に応じて変える構成も可能である。
具体的には、図28に示すように、第1種コリジョンエリア定義データライブラリ524に、適用正面方位条件526を追加する。適用正面方位条件526は、当該ライブラリが適用されるための第2の要件であり、ARマーカ10の正面方位の範囲を定義する。そして、ステップS26(図20参照)では、撮影距離とともに正面方位に応じて第1種コリジョンエリア11を選択設定すればよい。
[その4]
また、上記実施形態では、第1種コリジョンエリア11を、ARマーカ10の下側に設定する例を説明したがこれに限らない。第1種コリジョンエリア11をARマーカ10の上側に設ける、或いは上下両方の側に跨がって設けるとしてもよい。