JP2013061870A - Program, information storage medium, and electronic device - Google Patents
Program, information storage medium, and electronic device Download PDFInfo
- Publication number
- JP2013061870A JP2013061870A JP2011200842A JP2011200842A JP2013061870A JP 2013061870 A JP2013061870 A JP 2013061870A JP 2011200842 A JP2011200842 A JP 2011200842A JP 2011200842 A JP2011200842 A JP 2011200842A JP 2013061870 A JP2013061870 A JP 2013061870A
- Authority
- JP
- Japan
- Prior art keywords
- marker
- game
- unit
- calculation
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は、コンピュータに拡張現実技術を利用したゲームを実行させるためのプログラム等に関する。 The present invention relates to a program for causing a computer to execute a game using augmented reality technology.
拡張現実(AR:Augmented Reality)技術の一つとして、ビデオカメラで撮影した画像を解析して現実空間とCG空間との座標合わせを行い、ビデオ撮影した画像(いわゆるライブビュー)上にCGを合成表示することでAR空間を表示する技術が知られるところである。 As one of augmented reality (AR) technologies, an image taken with a video camera is analyzed, the coordinates of the real space and the CG space are aligned, and CG is synthesized on the video shot image (so-called live view). A technique for displaying the AR space by displaying is known.
近年では、ビデオゲームにおいてもAR技術を用いたものが登場するようになってきている。こうしたAR技術を利用したゲームでは、ゲームキャラクタのオブジェクトを配置するCG空間(コンピュータグラフィックス空間)を、如何にカメラで撮影されている現実空間とマッチさせるかが鍵となる。これに関連する公知技術としては、固定位置のカメラで撮影した拡張現実マーカ(ARマーカ)の画像を解析し、当該拡張現実マーカが配置されている現実の平面とマッチするように仮想マップを生成する技術が知られている(例えば、特許文献1参照)。 In recent years, video games using AR technology have also appeared. In a game using such AR technology, the key is how to match the CG space (computer graphics space) where the game character object is placed with the real space captured by the camera. As a known technique related to this, an image of an augmented reality marker (AR marker) captured by a camera at a fixed position is analyzed, and a virtual map is generated so as to match the actual plane on which the augmented reality marker is arranged. The technique to do is known (for example, refer patent document 1).
さて、特許文献1で示されるように、ARマーカを撮影するカメラ(すなわちプレーヤ視点位置)が固定であればカメラで撮影した画像も安定となる。しかし、CCDカメラを搭載した携帯型ゲーム装置などは手に持ってプレイされるため、手振れなどが発生するおそれがある。手振れが生じると、現実空間とCG空間との座標合わせも安定せず、時にCGが小刻みに震える事象、いわゆるジッターが生じる場合がある。マルチプレイの場合では、ゲーム参加機の何れかにNPC(ノンプレーヤキャラクタ)の制御を行わせて、制御結果を配信する形態が多く見られるが、こうしたマルチプレイの場合に、NPCを制御する機体でジッターを起こすと、他の機体でのゲーム画面でも、その機体では手振れを起こしていないにもかかわらず、NPCが震えて見えるといった不具合が生じる。
As shown in
本発明は、こうした事情を鑑みて考えられたものであり、拡張現実空間を利用したマルチプレイ型のゲームの品質向上を目的とする。より具体的には、手振れなどのプレーヤ視点の不安定性に対する耐性を上げることを目指すものである。 The present invention has been conceived in view of such circumstances, and an object thereof is to improve the quality of a multiplayer game using an augmented reality space. More specifically, the aim is to increase resistance to player viewpoint instability such as camera shake.
上述の課題を解決するための第1の形態は、撮影手段及び表示手段を備えたコンピュータに、基準方向が表されたマーカが写るように前記撮影手段により撮影されたライブビューにオブジェクトを合成表示させてゲームを実行させるためのプログラムであって、
前記ライブビュー内における前記マーカの位置を基準とした仮想3次元空間における前記コンピュータの位置を周期的に算出する位置算出手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12の自機情報算出部206、相対位置算出部207、図19のステップS68)、
現在から遡って所与の時間分、或いは、所与の回数分の前記位置算出手段により算出された複数の算出位置を用いて、前記コンピュータの現在位置を決定する現在位置決定手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12の現在位置決定部209、図19のステップS80)、
前記仮想3次元空間中の所与の位置にオブジェクトを配置するオブジェクト配置手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12のキャラクタ表示制御部230、図21のステップS222)、
前記現在位置決定手段により決定された現在位置から前記オブジェクトを見た画像を、前記ライブビューに合成する合成手段(例えば、図1の制御基板1550、図11の処理部200、画像生成部260、CG合成部264、図17のステップS312〜S314)、として前記コンピュータを機能させるためのプログラムである。
In a first mode for solving the above-described problem, an object is synthesized and displayed on a live view photographed by the photographing unit so that a marker having a reference direction is reflected on a computer having a photographing unit and a display unit. A program for running the game,
Position calculation means for periodically calculating the position of the computer in the virtual three-dimensional space with reference to the position of the marker in the live view (for example, the
Current position determining means for determining the current position of the computer by using a plurality of calculated positions calculated by the position calculating means for a given time or a given number of times retroactively from the present (for example, FIG. 1
Object placement means for placing an object at a given position in the virtual three-dimensional space (for example, the
Combining means (for example, the
また、別形態として、撮影手段及び表示手段を備え、基準方向が表されたマーカが写るように前記撮影手段により撮影されたライブビューにオブジェクトを合成表示する電子機器であって、前記ライブビュー内における前記マーカの位置を基準とした仮想3次元空間における前記コンピュータの位置を周期的に算出する位置算出手段と、現在から遡って所与の時間分、或いは、所与の回数分の前記位置算出手段により算出された複数の算出位置を用いて、前記コンピュータの現在位置を決定する現在位置決定手段と、前記仮想3次元空間中の所与の位置にオブジェクトを配置するオブジェクト配置手段と、前記現在位置決定手段により決定された現在位置から前記オブジェクトを見た画像を、前記ライブビューに合成する合成手段と、を備えた電子機器を構成することができる。 In another embodiment, the electronic device includes a photographing unit and a display unit, and displays an object in a live view photographed by the photographing unit so that a marker indicating a reference direction is captured. Position calculation means for periodically calculating the position of the computer in the virtual three-dimensional space with reference to the position of the marker in the above, and the position calculation for a given time or a given number of times retroactively from the present Current position determining means for determining a current position of the computer using a plurality of calculated positions calculated by the means; object placement means for placing an object at a given position in the virtual three-dimensional space; and Synthesizing means for synthesizing an image of the object viewed from the current position determined by the position determining means with the live view. It is possible to configure the electronic devices.
第1の形態によれば、マーカに対するコンピュータの位置を周期的に算出しつつ、最新の位置から所与の時間分或いは所与の回数分の過去の位置を元にして、コンピュータの現在位置を算出できる。そして、この現在位置から仮想3次元空間に配置されたオブジェクトの画像(CG:コンピュータグラフィックス)を生成することができる。つまり、手ブレや急激な撮影方向の変化があったとしても、AR空間で表示されるオブジェクトの移動は実際の変化よりも抑制される。よって、安定した見やすいゲーム画面となる。 According to the first aspect, while periodically calculating the position of the computer with respect to the marker, the current position of the computer is calculated based on the past position for a given time or a given number of times from the latest position. It can be calculated. Then, an image (CG: computer graphics) of the object arranged in the virtual three-dimensional space can be generated from the current position. That is, even if there is a camera shake or a sudden change in the shooting direction, the movement of the object displayed in the AR space is suppressed more than the actual change. Therefore, the game screen is stable and easy to see.
第2の形態は、前記現在位置決定手段が、前記複数の算出位置を加重平均することで前記コンピュータの現在位置を決定する手段である第1の形態のプログラムである。 The second form is the program according to the first form, wherein the current position determining means is means for determining the current position of the computer by weighted averaging the plurality of calculated positions.
第2の形態によれば、第1の形態と同様の効果が得られるとともに、複数の算出位置を加重平均することで、マーカに対するコンピュータの位置の変化をどの程度実際のオブジェクトの動きに影響させるかを重み付けの調整により最適化することが可能となる。 According to the second embodiment, the same effect as the first embodiment can be obtained, and how much the change in the computer position with respect to the marker affects the actual movement of the object by weighted averaging of a plurality of calculated positions. This can be optimized by adjusting the weight.
第3の形態は、前記現在位置決定手段が、前記加重平均に用いる前記算出位置それぞれの重みを、前記位置算出手段による算出時期に応じて変更する第1の重み変更手段(例えば、図12の現在位置決定部209、図19のステップS78)を有する、第2の形態のプログラムである。
A third form is a first weight changing means (for example, in FIG. 12) in which the current position determining means changes the weight of each of the calculation positions used for the weighted average according to the calculation time by the position calculating means. It is a program of the 2nd form which has the present
第3の形態によれば、第2の形態と同様の効果が得られるとともに、算出時期別に重み付けを行うことができる。 According to the 3rd form, while the same effect as a 2nd form is acquired, weighting can be performed according to calculation time.
第4の形態は、前記現在位置決定手段が、前記加重平均に用いる前記算出位置それぞれの重みを、当該算出位置と前記マーカ間の距離に応じて変更する第2の重み変更手段(例えば、図12の現在位置決定部209、図19のステップS78)を有する第2又は第3の形態のプログラムである。
According to a fourth mode, second weight changing means (for example, FIG. 5) changes the weight of each of the calculated positions used for the weighted average according to the distance between the calculated position and the marker. This is a program in the second or third form having twelve current
第4の形態によれば、第3の形態と同様の効果が得られるとともに、算出位置とマーカとの距離に応じて重み付けを調整することができる。 According to the 4th form, while being able to acquire the effect similar to a 3rd form, weighting can be adjusted according to the distance of a calculation position and a marker.
第5の形態は、前記コンピュータの位置及び/又は姿勢の所与の単位時間当たりの変化量を計測する変化量計測手段(例えば、図1の制御基板1550、3軸ジャイロ1556、3軸加速度センサ1557、図25のゲーム演算部202、変化量算出部213F、図26のステップS26F)、
前記変化量計測手段の計測結果を用いて、前記位置算出手段の算出間隔を変更する算出間隔変更手段(例えば、図1の制御基板1550、図25のゲーム演算部202、算出間隔設定部214F、図26のステップS27F)、として前記コンピュータを更に機能させるための第1〜第4の何れか一の形態のプログラムである。
The fifth form is a change amount measuring means for measuring a change amount per unit time of the position and / or posture of the computer (for example,
Calculation interval changing means for changing the calculation interval of the position calculating means using the measurement result of the change amount measuring means (for example, the
第5の形態によれば、第1〜第4の形態の何れかと同様の効果が得られるとともに、更に算出間隔を調整し、より効果を高めることができる。
この場合、第6の形態として、前記算出間隔変更手段が、更に、前記位置算出手段により算出された算出位置と前記マーカ間の距離に応じて前記算出間隔の変更量を変更する、第5の形態のプログラムを構成してもよい。
According to the fifth aspect, the same effect as in any of the first to fourth aspects can be obtained, and the calculation interval can be further adjusted to further enhance the effect.
In this case, as a sixth aspect, the calculation interval changing unit further changes the amount of change of the calculation interval according to the calculated position calculated by the position calculating unit and the distance between the markers. A program of a form may be configured.
第7の形態は、前記ライブビューから前記マーカを認識できない認識不能状態であることを検出する認識不能状態検出手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12の認識状態判定部222、図19のステップS60〜S64)、
前記認識不能状態が検出されている間、前記コンピュータの姿勢変化に応じて前記オブジェクトの表示向きを制御する認識不能時向き制御手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12の位置変化抑制制御部208、図19のステップS72)、
として前記コンピュータを更に機能させるための第1〜第6の何れかの形態のプログラムである。
In the seventh embodiment, the unrecognizable state detecting means for detecting that the marker cannot be recognized from the live view (for example, the
While the unrecognizable state is detected, the unrecognized direction control means (for example, the
As a program in any one of the first to sixth modes for further functioning the computer.
第7の形態によれば、第1〜第6の形態と同様の効果が得られるとともに、マーカが認識不能であるので現実空間とCG空間との座標合わせを正確に行えなくなっているが、コンピュータの姿勢変化に応じて暫定的にオブジェクトの表示向きを制御することで、見かけ上、マーカが認識不能であることが分かり難くなる。マーカが認識不能になったら即ゲーム中断といったことを回避できる。 According to the seventh embodiment, the same effects as in the first to sixth embodiments can be obtained, and since the marker cannot be recognized, the coordinate alignment between the real space and the CG space cannot be performed accurately. By temporarily controlling the display direction of the object according to the posture change, it becomes difficult to understand that the marker cannot be recognized apparently. If the marker becomes unrecognizable, it is possible to avoid a game interruption immediately.
第8の形態は、前記ライブビューから前記マーカを認識できない認識不能状態であることを検出する認識不能状態検出手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12の認識状態判定部222、図19のステップS60〜S64)、
前記認識不能状態から前記マーカが再び認識できるようになった認識復帰状態を検出する認識復帰状態検出手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12の認識状態判定部222、図19のステップS60〜S64)、
前記認識不能状態が検出されている間、前記ライブビュー内における前記オブジェクトの表示位置の変化を抑制するオブジェクト位置変化抑制制御手段(例えば、図1の制御基板1550、図12の位置変化抑制制御部208、図19のステップS72)、
として前記コンピュータを更に機能させるための第1〜第6の形態の何れかのプログラムである。
The eighth form is an unrecognizable state detecting means for detecting that the marker cannot be recognized from the live view (for example, the
Recognition return state detection means (for example,
While the unrecognizable state is detected, object position change suppression control means (for example,
As a program according to any one of the first to sixth embodiments for further functioning the computer.
第8の形態によれば、第1〜第6の形態の何れかと同様の効果が得られるとともに、マーカが認識不能になっている間、オブジェクトの表示位置変化を抑制することができる。 According to the 8th form, while the same effect as any of the 1st-6th form is acquired, while the marker is unrecognizable, the display position change of an object can be suppressed.
第8の形態は、前記認識不能状態が検出されている間、前記コンピュータの姿勢変化に応じて前記オブジェクトの表示向きを制御する認識不能時向き制御手段(例えば、図1の制御基板1550、図11の処理部200、ゲーム演算部202、図12の位置変化抑制制御部208、図19のステップS72)として前記コンピュータを更に機能させるための第7の形態のプログラムである。
In the eighth embodiment, the unrecognized direction control means (for example, the
第8の形態によれば、第7の形態と同様の効果が得られるとともに、マーカが認識不能であるので現実空間とCG空間との座標合わせを正確に行えなくなっているが、コンピュータの姿勢変化に応じて暫定的にオブジェクトの表示向きを制御することで、見かけ上、マーカが認識不能であることが分かり難くなる。マーカが認識不能になったら即ゲーム中断といったことを回避できる。 According to the eighth embodiment, the same effect as that of the seventh embodiment can be obtained, and since the marker cannot be recognized, the coordinate alignment between the real space and the CG space cannot be accurately performed. By tentatively controlling the display direction of the object according to, it becomes difficult to understand that the marker is unrecognizable in appearance. If the marker becomes unrecognizable, it is possible to avoid a game interruption immediately.
第9の形態は、第1〜第8の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。 The ninth form is a computer-readable information storage medium storing the program of any one of the first to eighth forms.
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第9の形態によれば、第1〜第8の形態の何れかのプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第8の形態の何れかと同様の効果を発揮させることができる。 The “information storage medium” mentioned here includes, for example, a magnetic disk, an optical disk, an IC memory, and the like. According to the ninth aspect, by causing a computer to read and execute the program of any of the first to eighth aspects, causing the computer to exert the same effect as any of the first to eighth aspects. Can do.
〔第1実施形態〕
本発明を適用した実施形態として、マーカ方式ARを用いて実現される拡張現実空間内でマルチプレイ型シューティングゲームを実行する例を挙げて説明する。
[First Embodiment]
As an embodiment to which the present invention is applied, an example in which a multiplayer shooting game is executed in an augmented reality space realized using a marker method AR will be described.
図1は、本実施形態においてゲームプレイのために使用されるコンピュータであり、電子機器の一種であるゲーム装置1500の構成例を示す図であって、(1)正面外観図、(2)背面外観図である。ゲーム装置1500は、方向入力キー1502と、ホームキー1504と、タッチパネル1506と、スピーカ1510と、マイク1512と、GPS(Global Positioning System)アンテナ1514と、CCDカメラモジュール1516と、制御基板1550と、コンピュータ読み出し可能な情報記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
FIG. 1 is a diagram showing a configuration example of a
CCDカメラモジュール1516は、オートフォーカス機構と、CCDイメージセンサと、イメージ信号生成チップとを搭載したモジュールであって、ゲーム装置1500の背面方向を撮影できるように配置されている。尚、イメージセンサ素子はCCDに限らず、CMOSなどその他の方式の素子でも良い。
The
制御基板1550は、CPU(Central Processing Unit))1551やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、VRAMやRAM,ROM等の各種ICメモリ1552を適宜搭載する。
The
そして、制御基板1550には、携帯電話や無線LANなどの無線基地局と無線接続するための無線通信モジュール1553と、GPSモジュール1554と、電子コンパス1555と、3軸ジャイロ1556と、3軸加速度センサ1557とが搭載されている。
その他、タッチパネル1506のドライバ回路、方向入力キー1502及びホームキー1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512から入力された音声の信号を生成する入力信号生成回路、メモリカード読取装置1542への信号入出力回路といった所謂I/F回路(インターフェース回路)、が搭載されている。これら制御基板1550に搭載されている各要素は、それぞれバス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
The
In addition, a driver circuit of the
GPSモジュール1554は、GPSアンテナ1514とともにGPSを利用した位置情報を取得する手段を構成する。GPSモジュール1554は、GPSアンテナ1514で受信したGPS衛星3からの信号に基づいて、所定時間毎(例えば、1秒毎)に、位置情報(例えば、緯度・経度)及びその他の情報(絶対時間)を、制御基板1550で演算処理可能なデータとして出力する。尚、測位に利用するシステムはGPSに限らない。その他の衛星測位システムでも良いし、衛星を用いない測位システムを用いることもできる。後者の例としては、例えば、無線通信モジュール1553が無線接続できる無線基地局から当該基地局に予め設定されている位置情報を取得したり、3つの無線基地局からの信号到達時間差を利用した三角測量方式により位置情報を算出するとしても良い。
The
制御基板1550は、ゲーム実行に必要なゲームプログラムやデータをメモリカード1540から読み出してICメモリ1552に一時記憶する。そして、ゲームプログラムを実行して演算処理を実行し、方向入力キー1502やホームキー1504、タッチパネル1506からの操作入力、3軸ジャイロ1556や3軸加速度センサ1557で検出される姿勢変化や加速度変化に応じてゲーム装置1500の各部を制御してビデオゲームを実行する。尚、本実施形態では、ゲーム装置1500は必要なプログラムや各種設定データをメモリカード1540から読み出す構成としているが、サーバ装置等から通信回線1を介してダウンロードする構成としても良い。
尚、ゲーム装置1500はコンピュータであるから本明細書で言う「自機」は「自コンピュータ」と読み替えることができる。同様に「他機」は「他コンピュータ」と読み替えることができる。
The
Since
[ゲームの概要]
次に、本実施形態におけるゲームの概要を説明する。
図2は、本実施形態におけるプレイスタイルを説明するための概念図であって、(1)現実空間における様子を示す斜視図、(2)ゲーム装置1500のCCDカメラモジュール1516と、ARマーカ10との関係を示す図、(3)ゲームに登場するオブジェクトを配置する仮想3次元空間における様子を示す斜視図である。
[Game Overview]
Next, an outline of the game in the present embodiment will be described.
FIG. 2 is a conceptual diagram for explaining the play style in the present embodiment, (1) a perspective view showing a situation in a real space, (2) a
本実施形態におけるビデオゲームは、ARマーカ10を利用して実現されるAR空間を舞台としたゲーム、いわゆるARゲームに属するマルチプレイシューティングゲームに属する。図2(1)に示すように、プレーヤPL1〜PL3は、それぞれゲーム装置1500を手に持って、テーブル9等に置かれたARマーカ10をCCDカメラモジュール1516で撮影しながらプレイする。図中のプレーヤPL1のゲーム装置1500が当初のホスト機であって、ゲームに参加するクライアント機の受付処理を行ったり、敵キャラクタ7などのNPCの制御を受け持つ。プレーヤPL2,PL3のゲーム装置1500がゲスト機であり、NPCの制御データをホスト機から取得して利用する。尚、プレーヤの数は図に示すような3名に限らないのは勿論である。
The video game in the present embodiment belongs to a multi-play shooting game belonging to a game set in an AR space realized by using the
本実施形態におけるARマーカ10は、少なくとも一面に基準方向が表されるとともに、当該マーカの種類を識別するためのデザインが施された規定形状のカードであり、複数種類存在する。
本実施形態のゲーム装置1500では、CCDカメラモジュール1516は装置本体の背面方向を撮影するように、装置本体の背面側に固定されている。よって、本実施形態では、プレーヤの視点位置は、ゲーム装置1500の位置であり、CCDカメラモジュール1516の視点位置と同じに扱うことができる。同様に、プレーヤの視点姿勢は、ゲーム装置1500の姿勢であり、CCDカメラモジュール1516の姿勢と同じ扱いとなる。
The
In the
図2(2)に示すように、ゲーム装置1500は、CCDカメラモジュール1516で撮影した画像からARマーカ10を検出するとともにその種類を認識する。また、認識したARマーカ10までの3次元の相対位置(Xc,Yc,Zc)や相対姿勢(ωp,ωy,ωr)を計測する。例えば、ARマーカ10(カード)の実サイズが規定されているので、CCDカメラモジュール1516の撮影画像中のARマーカ10が占める画素サイズから現実空間における尺度を基準とした相対位置を求めることができる。
As shown in FIG. 2 (2), the
そして、計測した相対位置や相対姿勢に基づいて、ARマーカ10を配置した面(例えば、テーブル面)が仮想3次元空間内の基準面(例えば、ゲーム世界における地面、仮想マップなどとも呼ぶ)と一致するように、ゲーム空間を形成する。ゲーム空間は仮想3次元空間の座標系(Xw,Yw,Zw)で表され、ARマーカ10を基準とした実空間の座標系(Xm,Ym,Zm)に合致させる。
Then, based on the measured relative position and relative orientation, a surface (for example, a table surface) on which the
図2(3)に示すように、仮想3次元空間は所謂CG空間である。仮想3次元空間には、標的となる敵キャラクタ7や背景物などのオブジェクトが配置されてゲーム空間が形成される。そして、仮想3次元空間には、プレーヤPL1〜PL3それぞれのプレーヤキャラクタPC1〜PC3の他、敵キャラクタ7や、各キャラクタから発射される飛翔体6(図2では非図示;図3にて図示)などのオブジェクトも配置される。
As shown in FIG. 2 (3), the virtual three-dimensional space is a so-called CG space. In the virtual three-dimensional space,
各ゲーム装置1500における仮想3次元空間は、ARマーカ10が基準とされるため、原則として共通の座標軸として定義される。仮想3次元空間には、各ゲーム装置1500の仮想カメラCM1〜CM3が設定される。各ゲーム装置1500に対応するプレーヤキャラクタPC1〜PC3は、対応するゲーム装置の仮想カメラCM1〜CM3に対して、所定の相対位置(Xp,Yp,Zp)に配置される。具体的には、本実施形態では、三人称視点に相当するように、プレーヤキャラクタPC1〜PC3は仮想カメラCM1〜CM3の斜め下前方に配置される。尚、プレーヤキャラクタと仮想カメラとの相対位置関係は、予め決定されているとは言っても絶対的な固定値を意味するものでは無く、適当なズレや揺らぎを含むことができる。
The virtual three-dimensional space in each
図3は、本実施形態におけるゲーム画面及びライブビューの一例を示す図であって、(1)プレーヤPL1が所持するゲーム装置1500におけるゲーム画面の例、(2)CCDカメラモジュール1516により撮影されるライブビューの例である。
FIG. 3 is a diagram showing an example of the game screen and live view in the present embodiment. (1) An example of a game screen in the
各ゲーム装置1500では、それぞれが対応する仮想カメラCM1〜CM3から見たCG(コンピュータグラフィックス)画像を生成し、それをCCDカメラモジュール1516で撮影したライブビューに合成表示する。
ちなみに、図3(1)の例では、プレーヤPL1のプレーヤキャラクタPC1と、ARマーカ10の周りにいる敵キャラクタ7と、テーブル9脇の他のプレーヤPL2と、対応するプレーヤキャラクタPC2とが画面に映っている。また、画面中央には、プレーヤPL1がゲーム中に使用する射撃用の照準8が表示されている。このように現実空間の映像にゲームキャラクタ等のCGが合成されてプレーヤに認識される仮想世界が、ゲームの舞台となる「拡張現実空間」である。
Each
Incidentally, in the example of FIG. 3A, the player character PC1 of the player PL1, the
本実施形態では、CCDカメラモジュール1516の撮影画角と仮想カメラCM1〜CM3の画と角は異なる。
CCDカメラモジュール1516は、撮影範囲が広い事に意味があるので、撮影画角は広角に設定されている。例えば、35mmフィルム用レンズ換算で焦点距離15mm〜24mm、公称対角画角90°前後などとする。一方、仮想カメラCM1〜CM3の撮影画角は、ゲーム装置1500のタッチパネル1506越しに現実空間を透かし見るようにしながらARゲームをプレイすることを考えて、CCDカメラモジュール1516の画角の概ね50%程度となるように狭く設定されている。プレイスタイルを考慮して、プレーヤが軽くひじを曲げた状態でゲーム装置1500を前方にかざした時に、あたかもタッチパネル1506の表示部分から現実世界を透かし見ているように錯覚させる撮影画角とすると好適である。例えば、35mmフィルム用レンズ換算で40mm〜55mm、公称対角画角45°前後などとする。
従って、図3(1)で示したゲーム画面の背景は、図3(2)で示すCCDカメラモジュール1516で撮影したライブビューそのままではなく、仮想カメラCM1〜CM3の撮影画角に合致するようにクロップ(画像の端をカットして使用)されて得られたものである。
In this embodiment, the angle of view of the
Since the
Therefore, the background of the game screen shown in FIG. 3A is not the same as the live view taken by the
[敵キャラクタの配置について]
さて、前述のように本実施形態のゲームはマーカ方式のARゲームであるので、現実空間と仮想3次元空間の座標系を適切にマッチングさせるためには、ARマーカ10を常にCCDカメラモジュール1516の撮影範囲に含まれるようにプレイするのが望ましい。
[Regarding the placement of enemy characters]
As described above, since the game according to the present embodiment is a marker-type AR game, in order to appropriately match the coordinate system of the real space and the virtual three-dimensional space, the
シューティングゲームとしての特性上、プレーヤは照準8を敵キャラクタ7に合わせるようにゲーム装置1500の位置や姿勢を変化させながらプレイすることになる。よって、敵キャラクタ7がARマーカ10からあまり離れると、敵キャラクタ7を狙う行為自体がARマーカ10のロスト(撮影範囲に写らなくなる状態)を誘発することになる。しかし、プレーヤは照準8が敵キャラクタ7から外れないようにゲーム装置1500の位置や姿勢を保とうとする。そのため、上手く敵キャラクタ7の位置をコントロールするならば、ARマーカ10が撮影範囲内に含まれるように(換言するとARマーカ10が撮影範囲外とならないように)仕向けることもできる。
Due to the characteristics of the shooting game, the player plays while changing the position and posture of the
そこで本実施形態では、図4に示すように、ゲームに参加するゲーム装置の位置や姿勢に応じてARマーカ10をロストし難いように敵キャラクタ7を配置できる配置領域12(図中、網掛け表示された範囲)を設定し、敵キャラクタ7をこの配置領域12内に留まるように配置制御する。この配置領域12は、本実施形態では基本領域13と、ゲーム参加機毎(つまりはプレーヤ視点毎)に求められる要素領域14との重合領域として設定される。尚、図の例では、理解を容易にするためにゲーム装置1500を二つのみ表示している。
Therefore, in the present embodiment, as shown in FIG. 4, an
図5は、基本領域13の設定方法を示す概念図である。
基本領域13は、ARマーカ10を中心とし、基本長さLbで規定される所定形状の範囲である。そして、基本長さLbは、ゲーム参加機のARマーカ10からの相対距離Lc(図2(2)参照)を変数とした関数f(Lc)で記述される。
FIG. 5 is a conceptual diagram showing a method for setting the
The
基本領域13の形状は、ARマーカ10の種類によって予め設定されている。図5の例では、基本長さLbが半径の球形を例示しているが、例えば、立方体形状の範囲として、基本長さLbを立方体中心から8つの頂点までの距離としても良い。形状と基準長Lbを形状のどこの寸法に割り当てるかは適宜変更できる。
The shape of the
関数f(Lc)の変数となる相対距離Lcは、ゲーム参加機それぞれのARマーカ10に対する個別の相対距離Lcの内、最小の相対距離Lcを採用する。但し、関数f(Lc)の大きさに最小値が設定されている。この最小値は、敵キャラクタ7の行動範囲が小さくなり過ぎないように考慮して予め設定されている。尚、関数f(Lc)の変数として採用される相対距離Lcは、ゲーム参加機別の相対距離Lcのうちの最小値に限らず、最大値や平均値、中央値などとしても良い。
As the relative distance Lc serving as a variable of the function f (Lc), the smallest relative distance Lc is adopted among the individual relative distances Lc with respect to the
図6は、要素領域14の設定方法を示す概念図である。要素領域14は、ゲーム装置1500(つまりプレーヤ視点)を基準として、ARマーカ10がCCDカメラモジュール1516の撮影範囲から外れない程度の姿勢変化を許容できる撮影範囲として定められる。
FIG. 6 is a conceptual diagram showing a method for setting the
具体的には、今現在、CCDカメラモジュール1516によるライブビューに、図6(1)に示すようにARマーカ10が写っていると仮定する。尚、外側矩形枠が撮影枠でありライブビューの輪郭を示している。対する内側の矩形枠が、クロップされてゲーム画面の背景として使用される輪郭を示している。
Specifically, it is assumed that the
「ARマーカ10がCCDカメラモジュール1516の撮影範囲から外れない程度の姿勢変化を許容できる撮影範囲」を求めるために、本実施形態では先ずゲーム装置1500の位置が固定されている前提で、どこまでCCDカメラモジュール1516の撮影方向の変化を許容できるかを考える。
In order to obtain the “shooting range in which the
具体的には、図6(2)に示すように、現在の写っているARマーカ10のサイズをそのままに、ARマーカ10の右端と撮影枠の右端が所定条件を満たして近接し、且つARマーカ10の下端と撮影枠の下端とが近接する条件を満たす「第1姿勢」を求めるとともに、当該姿勢におけるCCDカメラモジュール1516の光軸AL1を求める。そして、第1姿勢から対角方向に撮影方向を振ったと仮定し、ARマーカ10の左端が撮影枠の左端とが近接し、且つARマーカ10の上端と撮影枠の上端とが近接する「第2姿勢」を求めるとともに、当該姿勢におけるCCDカメラモジュール1516の光軸AL2を求める。
Specifically, as shown in FIG. 6 (2), the right end of the
次いで、図6(3)に示すように、ARマーカ10の左端と撮影枠の左端が所定条件を満たして近接し、且つARマーカ10の下端と撮影枠の下端とが近接する条件を満たす「第3姿勢」を求めるとともに、当該姿勢におけるCCDカメラモジュール1516の光軸AL3を求める。そして、第3姿勢から対角方向に撮影方向を振ったと仮定し、ARマーカ10の右端が撮影枠の右端とが近接し、且つARマーカ10の上端と撮影枠の上端とが近接する「第4姿勢」を求めるとともに、当該姿勢におけるCCDカメラモジュール1516の光軸AL4を求める。
Next, as shown in FIG. 6 (3), the left end of the
そして、図6(4)に示すように、要素領域14をCCDカメラモジュール1516の視点位置から4本の光軸AL1〜AL4に囲まれた四角錐形領域とする。
Then, as shown in FIG. 6 (4), the
この四角錐形領域の高さに相当する要素領域14の奥行Dbは、プレーヤ視点から見たARマーカ10の平面方向に対する俯角θcに基づいて設定される(図7参照)。
The depth Db of the
図7は、要素領域14の奥行の考え方を示す概念図である。
図7(1)に示すように、要素領域14の奥行Dbを、ARマーカ10を適正に認識できる視点からの最大距離と考える。図7(2)に示すように、ARマーカ10の認識性能はCCDカメラモジュール1516がARマーカ10を真正面から撮影する状態(俯角θc=π(90°))が最も高くなり、奥行Dbが最大となる(Db1)。そして、ARマーカ10の平面(デザイン面)に対して俯角θcが浅くなる(小さくなる)につれて認識性能は低下し(Db2)、やがて認識性能が実用的でないレベルに達する(θmin)と考える事ができる。
FIG. 7 is a conceptual diagram showing the concept of the depth of the
As shown in FIG. 7A, the depth Db of the
俯角θcと奥行Dbとの関係は、CCDカメラモジュール1516の撮像素子や光学系の仕様に基づく解像力や、ARマーカ10の大きさなどにより決まる。また、本実施形態では、大きさの異なるARマーカ10を利用可能になっていて、マーカのサイズにより予めカテゴリ分けされている。どのカテゴリに属するかはARマーカ10のデザイン認識により識別できるようになっている。そこで、図7(3)に示すように、俯角θcを変数として奥行Dbを算出する関数g(θc)を、ARマーカ10のカテゴリ毎に設定しておいて、認識されたARマーカ10のカテゴリに応じた関数g(θc)を選択し、そのときの俯角θcを用いて奥行Dbを求める。
The relationship between the depression angle θc and the depth Db is determined by the resolving power based on the specifications of the imaging device and optical system of the
CCDカメラモジュール1516の撮影画角よりも仮想カメラCM1〜MC3の撮影画角が狭いこと、そして照準8がゲーム画面中央に表示されることを考慮すると、要素領域14で示される撮影範囲内であればプレーヤがゲーム装置1500の位置や姿勢を多少変化させたとしても、照準8で敵キャラクタ7を狙っているのであれば、CCDカメラモジュール1516の撮影範囲内にARマーカ10が写るようにすることができる。
Considering that the shooting angle of view of the virtual cameras CM1 to MC3 is narrower than the shooting angle of view of the
さて、図4に示すように、配置領域12は、基本領域13とゲーム装置毎(つまりはプレーヤ視点毎)に求めた各要素領域14(14a,14b)との4つの領域の重合部分として設定される。
Now, as shown in FIG. 4, the
前述のように、本実施形態ではCCDカメラモジュール1516の撮影画角に対する仮想カメラCM1〜CM3の撮影画角との関係、及び照準8がゲーム画面中央に表示されることを合わせると、配置領域12の中に敵キャラクタ7が配置される限りにおいては、ARマーカ10が常に正しく認識され、ゲームキャラクタの表示位置が現実空間とずれるなどの不自然な表示は起こらない。
As described above, in this embodiment, when the relationship between the shooting angle of view of the virtual camera CM1 to CM3 with respect to the shooting angle of view of the
また、タッチパネル1506に表示されるゲーム画面上には、ARマーカ10の姿が映っていなくとも、CCDカメラモジュール1516としてはちゃんとARマーカ10を撮影し続けることができる。つまり、ゲーム画面内に常にARマーカ10が写っていない状態でもARゲームは正常に継続され続け、例えば、敵キャラクタ7はARマーカ10を置いていたテーブル面に沿って歩行するように見える。
プレイ中にARマーカ10がゲーム画面内に写っていない状態でも、実空間との齟齬のない敵キャラクタ7が表示されることで、プレーヤにとってみればARマーカ10から離れた場所ではプレイできないのではないかという閉塞感が低減され、今自分が居るその広い空間全てを使ってゲームが行われてしているかのような開放的な感覚が得られることとなり、ARゲームとしての興趣が高まる。
Even if the
Even if the
また、こうして設定された配置領域12は、その時々に応じて変形する複数の要素領域14の影響により基本領域13とは異なる形状をなすことになるので、敵キャラクタ7の行動範囲が不規則となりゲームの興趣を高める効果が得られる。
Further, the
加えて、配置領域12の設定に基本領域13を含めることで、全てのゲーム装置1500でARマーカ10を認識できない状態となり要素領域14が得られない事態となっても、敵キャラクタ7の配置位置を適切に保つことができる。
In addition, by including the
[ARマーカのロストを想定した補助機能:その1]
これまで述べたようにして配置領域12を設定したとしても、必ずしも常にARマーカ10を撮影し続けることができるとは限らない。例えば、プレイに興奮してゲーム装置1500を敵キャラクタ7に向ける動作が過大となり、意図せずにARマーカ10がCCDカメラモジュール1516の撮影範囲から外れることも想定される。そこで本実施形態では、ARマーカ10をロストした場合でもゲーム進行に不都合が起きないように二つの補助機能を設けている。
[Auxiliary function assuming loss of AR marker: Part 1]
Even if the
先ず、第1の補助機能について説明する。
図8は、第1の補助機能の前提となるARマーカ10に対するプレーヤ視点の相対位置と相対姿勢の利用形態について説明するための概念図である。
本実施形態におけるゲーム装置1500は、所定サイクルで時刻t1,t2,…,tm(mは自然数:算出タイミングの識別数)におけるARマーカ10に対する自身(CCDカメラモジュール1516)の相対位置(Xcn,Ycn,Zcn)及び相対姿勢(ωpn,ωyn,ωrn)を算出する。そして、算出した相対位置及び相対姿勢をキュー(queue:待ち行列)に先入れ先出し方式で所定数だけ格納・管理する。キューに格納されている相対位置及び相対姿勢はそれぞれ加重平均され、加重平均された値が現在の位置であり現在の姿勢とみなされ、CG空間における仮想カメラCMの位置及び姿勢として用いられる。図8の例では、キューに4セットの相対位置及び相対姿勢が格納されているように例示しているが、格納数は適宜設定することができる。
First, the first auxiliary function will be described.
FIG. 8 is a conceptual diagram for explaining how to use the relative position and relative posture of the player viewpoint with respect to the
The
加重平均における重み付けwn(nは自然数:算出タイミングの識別数)は、算出順nと、ARマーカ10からプレーヤ視点までの相対距離Lを変数とする重み付け関数h(n,Lc)によって決定される。
The weighting wn in the weighted average (n is a natural number: the identification number of the calculation timing) is determined by the calculation order n and the weighting function h (n, Lc) having the relative distance L from the
重み付け関数h(n,Lc)は適宜設定可能であるが、本実施形態では、算出順nについては、最も新しい相対位置及び相対姿勢に付与される重み付けwnが最も大きく、それ以外が相対的に小さくなるように設定されている。また、相対距離Lcについては、相対距離Lcが大きくなるほど算出順n違いによる重み付けwnの差が小さくなり、過去の相対位置及び相対姿勢にも重きがおかれるように設定されている。 Although the weighting function h (n, Lc) can be set as appropriate, in the present embodiment, with respect to the calculation order n, the weighting wn given to the newest relative position and relative posture is the largest, and the others are relatively It is set to be smaller. Further, the relative distance Lc is set so that the larger the relative distance Lc, the smaller the difference in weighting wn due to the difference in calculation order n, and the past relative position and relative posture are also emphasized.
ARの表示制御に関わる仮想カメラCMの制御に、相対位置及び相対姿勢を均した値(現在位置、現在姿勢と呼ぶ)を用いることによって、ゲーム装置1500をかざす手の揺れによる所謂手ブレによるジッター(ゲームキャラクタなどのAR表示体の細かな不快な振動)や、ゲーム装置1500を急激に移動させたり姿勢変化させた場合であって、プレーヤキャラクタ等が瞬間移動すると言った不自然表示を抑制することができる。
By using values obtained by averaging the relative position and relative posture (referred to as current position and current posture) for control of the virtual camera CM related to AR display control, so-called jitter due to hand shake caused by hand shaking over the game device 1500 (Small and unpleasant vibration of an AR display body such as a game character) and a case where the
また、ゲーム装置1500がARマーカ10を遠くから撮影しているほど手ブレ等の影響は大きくなるところであるが、重み付け関数h(n,Lc)の相対距離Lcについての特性は、相対距離Lcが大きいほど過去値に対する重み付けwnが相対的に大きくなるように設定されているので、その影響を軽減できる。加えて、重み付け関数h(n,Lc)の相対距離Lcの特性によれば、ARマーカ10を近くから撮影している場合には、過去値への重み付けwnが相対的に小さくなる。相対的に手ブレの影響が大きくなることになるが、この場合のブレは近接戦闘の緊迫感や臨場感を演出する視覚効果を生み出すので有益となる。
In addition, the influence of camera shake or the like increases as the
そして、本実施形態ではこうした加重平均を用いた制御を前提として、ARマーカ10をロストした場合には、ロストしている間、ARマーカ10に対する相対位置を固定と仮想し、姿勢変化のみ起きるものと見なして制御する。
In the present embodiment, assuming that control using such a weighted average is performed, when the
図9は、ARマーカ10をロストした場合における相対位置と相対姿勢の利用形態を説明する原理図である。
本実施形態では、ARマーカ10をロストした場合、相対位置はARマーカ10をロストしてから認識が再開されるまでの間、ロストする直前の値に固定される。図9の例では、t4まではARマーカ10がCCDカメラモジュール1516の撮影範囲にあって、正しく認識されて正しくマーカ基準の相対位置が求められていたが、t5のタイミングでARマーカ10はカメラで写されない「ロスト」した状態になっている。そこで、キューに格納されたタイミングt5〜t7の間の相対位置の値は、ロスト直前のt4のタイミングにおける値に固定する。一方、姿勢については加重平均を行う。つまり、タイミングt5〜t7の間ゲーム装置1500は位置移動せずに姿勢変化していると見なす。
FIG. 9 is a principle diagram for explaining how to use the relative position and the relative posture when the
In the present embodiment, when the
実際のゲーム装置1500はロスト中でも位置移動しているかもしれないが、一時的に相対位置を固定扱いにして処理を継続することで、ゲーム画面の表示が変わる状態を維持できる。相対位置が正しく算出できていない可能性があったとしてもゲームを中断させずに継続させることができる。
Although the
また、「プレーヤ視点の移動が無い前提」の制御に切り換わったとしても、相対位置(仮想カメラの位置)が固定とされてAR表示の制御が継続されるので、プレーヤキャラクタ等の不自然な瞬間移動や、ギクシャクした動きなどを効果的に抑制できる。 Even if the control is switched to “premise that there is no movement of the player viewpoint”, the relative position (virtual camera position) is fixed and the AR display control is continued. Instantaneous movement and jerky movements can be effectively suppressed.
[ARマーカのロストを想定した補助機能:その2]
また、本実施形態では、ARマーカ10をロストした場合を想定した第2の補助機能として、ゲスト機がホスト機能を代行することができる。換言すると、ホスト機能をマーカの認識状態に応じてゲーム参加機内で継承させることができる。
[Auxiliary function assuming loss of AR marker: Part 2]
Moreover, in this embodiment, a guest machine can substitute for a host function as a 2nd auxiliary | assistance function supposing the case where the
図10は、ホスト機能発現機の切り換えの仕組みを説明するための概念図であって、ゲームに参加するゲーム装置1500が3台と仮定した場合の、各ゲーム装置のARマーカ10の認識状態の組み合わせと、その組み合わせにおいてどのゲーム装置1500がホスト機能を発現するかの例を示している。尚、マーカ認識状態の欄の「In Sight」はARマーカ10を認識できている状態を意味し、「LOST」はARマーカ10が撮影範囲から外れて認識できない状態(認識不能状態)にあることを意味している。
FIG. 10 is a conceptual diagram for explaining the switching mechanism of the host function developing machine, and shows the recognition state of the
本実施形態では、当初からのホスト機であるゲーム装置1500aは、ゲームへの参加の受付処理を行う。受付されたゲーム装置1500b,1500cはゲスト機となる。
ホスト機であるゲーム装置1500aは、受付処理に伴って、自身を発現優先順位第1位に設定するとともに、ゲスト機に対しては発現優先順位第2位以降を受付順に付与する。図中では、ゲーム装置のイラストに付与された白数字がそれぞれの発現優先順位を表している。
In the present embodiment, the
The
また、本実施形態のゲーム装置1500a,1500b,1500cは、ARマーカ10をロストした場合に所定の認識不能信号を他機に送信することができる。つまり、各ゲーム装置は、他機からの認識不能信号を受信したか否かによって他機のマーカ認識状態を知ることができる。
In addition, the
図10(1)の組み合わせで示すように、ゲームに参加している全てのゲーム装置がARマーカ10を認識できている間は、当初からのホスト機であるゲーム装置1500aが、ホスト機としての機能を発現する。
すなわち、自プレーヤのプレーヤキャラクタPC1に加えて、敵キャラクタ7などのNPC(ノンプレーヤキャラクタ)、背景物などのオブジェクトの制御、飛び交う銃弾などのエフェクトオブジェクトの制御を行い、それらの配置位置情報等をゲスト機へ配信する。勿論、敵キャラクタ7に係る制御には、配置領域12の設定処理が含まれる。
As shown in the combination of FIG. 10 (1), while all the game devices participating in the game can recognize the
That is, in addition to the player character PC1 of the player, the NPC (non-player character) such as the
一方、ゲスト機であるゲーム装置1500b,1500cでは、操作入力や装置の移動によって各々のプレーヤのプレーヤキャラクタPC2,PC3の動作や仮想3次元空間内における位置が制御されるが、敵キャラクタ7等についてはホスト機から得た情報に基づいて仮想3次元空間内での配置を制御する。つまり、オブジェクトの制御に関しては、ホスト機とゲスト機は、クライアント/サーバ型の関係を成している。
On the other hand, in the
ここで、もし当初からのホスト機であるゲーム装置1500aがARマーカ10を認識できない状態が発生すると、実空間と仮想3次元空間との位置合わせにズレが発生し、敵キャラクタ7が傾いて配置されるなどの不具合が生じる可能性が高くなる。ホスト機から敵キャラクタ7の配置位置情報を取得しているゲスト機では、ARマーカ10をロストしていないにも係わらず敵キャラクタ7が不自然に表示されることになってしまう。
Here, if a state occurs in which the
そこで、本実施形態のゲーム装置1500は、ARマーカ10のロストした状態を検出して所定の「認識不能信号」を他機へ発信する。もし、ホスト機がARマーカ10をロストした場合には、認識不能信号の送信とともにホスト機能を停止する。
一方で、それまでゲスト機であったゲーム装置は、それぞれ、受信した認識不能信号に基づいて自身に付与された発現優先順位より上位の他機全てが認識不能信号を出している場合には、ホスト機能を発現させるべきと判断して、ホスト機能を発現させる。
Therefore, the
On the other hand, each game device that has been a guest machine until then, when all the other machines higher than the expression priority given to itself based on the received unrecognizable signal are issuing unrecognizable signals, It is determined that the host function should be developed, and the host function is developed.
具体的には、図10(2)の組み合わせで示すように、当初からのホスト機(ゲーム装置1500a)が認識不能状態となった場合、認識不能信号を発信して、ゲーム装置1500aはホスト機としての機能を停止しゲスト機として機能し始める。即ち、敵キャラクタ7に係る制御及び制御結果の配信は中断する。
Specifically, as shown in the combination of FIG. 10 (2), when the original host device (
一方、発現優先順位第2位のゲスト機(ゲーム装置1500b)は、自身より発現優先順位が上位の機体全てから認識不能信号を受信したのでホスト機能を発現させ、敵キャラクタ7等の制御と制御結果の配信を開始する。つまり、ホスト機能が継承されたことになる。尚、発現優先順位が第3位のゲスト機(ゲーム装置1500c)はそのままゲスト機として機能する。
On the other hand, the guest machine (
図10(3)の組み合わせで示すように、ホスト機能を発現しているゲーム装置1500bもまたARマーカ10をロストした場合、発現優先順位第2位のゲスト機(ゲーム装置1500b)は、ホスト機能を停止しゲスト機として機能し始める。それに代わって、発現優先順位第3位のゲスト機(ゲーム装置1500c)は、自身より上位の機体全てから認識不能信号を受信したことになるので、ホスト機能を発現すべきと判断してホスト機能を発現させる。
As shown in the combination of FIG. 10 (3), when the
図10(3)の組み合わせ状態から、当初のホスト機であるゲーム装置1500aにてARマーカ10の認識が再開されると、ゲーム装置1500aは、ホスト機能を再開させるとともに認識不能通知の発信を停止する。ホスト機能を代行してきたゲーム装置1500cは、ゲーム装置1500aからの認識不能信号を受信しなくなるので、ホスト機能を停止し、再びゲスト機としての機能のみ発現するようになる。
When the recognition of the
このように、本実施形態によれば、ARマーカ10を認識している何れかの機体が、常にARマーカ10を基準としたオブジェクトの位置決め処理を担うように構成できる。よって、もしホスト機であるゲーム装置がARマーカを認識できない状態になると現実空間と仮想3次元空間(CG空間)との位置合わせにズレが発生し、敵キャラクタ7が傾いて配置されるなどの不具合が生じる可能性が高くなるが、本実施形態ではゲスト機によるホスト代行機能によってそうした事態を防ぐことができる。
Thus, according to the present embodiment, any aircraft that recognizes the
[機能ブロックの説明]
次に、本実施形態を実現するための機能構成について説明する。
図11は、本実施形態におけるゲーム装置1500の機能構成の一例を示す機能ブロック図である。ゲーム装置1500は、操作入力部100と、撮像部104と、姿勢検出部108と、加速度検出部110と、処理部200と、音出力部350と、画像表示部360と、通信部370と、測位信号受信部380と、記憶部500とを備える。
[Description of functional block]
Next, a functional configuration for realizing the present embodiment will be described.
FIG. 11 is a functional block diagram illustrating an example of a functional configuration of the
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボールといった直接プレーヤが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサなど、運動や姿勢を検知する素子などによっても実現できる。図1の方向入力キー1502、ホームキー1504がこれに該当する。3軸ジャイロ1556、3軸加速度センサ1557の検出値を操作入力に利用する場合には、それらも該当することとなる。また、本実施形態の操作入力部100はタッチ操作入力部102を備え、表示画面へ指などで触れることによる操作入力を可能としている。図1のタッチパネル1506がこれに該当する。
The
撮像部104は、撮影対象からの光を受光して電気信号に変換し、デジタル画像データを生成し、処理部200へ出力する。例えば、レンズ、メカシャッター、シャッタードライバ、CCDイメージセンサモジュールやCMOSイメージセンサモジュールといった光電変換素子、光電変換素子から電荷量を読み出し画像データを生成するデジタルシグナルプロセッサ(DSP)、ICメモリなどで実現される。図1ではCCDカメラモジュール1516がこれに該当する。
The imaging unit 104 receives light from the imaging target, converts it into an electrical signal, generates digital image data, and outputs the digital image data to the
姿勢検出部108は、ゲーム装置1500の姿勢変化を検出し検出信号を処理部200へ出力する。電子コンパスやジャイロスコープなどで実現できる。図1の電子コンパス1555や3軸ジャイロ1556がこれに該当する。姿勢検出は、直交3軸とし、そのうち何れかの軸を撮像部104が撮影する光軸方向に合わせてロール、ピッチ、ヨーの3成分について算出すると好適である。尚、本実施形態では、ゲーム装置1500にCCDカメラモジュール1516が固定されているので、姿勢検出部108は、プレーヤ視点の姿勢変化を検出しているとも言える。
Posture detection unit 108 detects a change in posture of
加速度検出部110は、ゲーム装置1500に作用している加速度を検出することができる。図1の3軸加速度センサ1557がこれに該当する。尚、本実施形態では、ゲーム装置1500にCCDカメラモジュール1516が固定されているので、加速度検出部110は、プレーヤ視点の移動に伴う加速度を検出しているとも言える。
The
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品の適当な組み合わせによって実現される。処理部200は、各機能部との間でデータの入出力制御を行い、所定のプログラムやデータ、操作入力部100からの操作入力信号等に基づいて各種の演算処理を実行して、ゲーム装置1500の動作を制御する。図1では制御基板1550がこれに該当する。
そして、処理部200は、ゲーム演算部202と、音生成部250と、画像生成部260と、通信制御部270と、測位制御部280とを備える。
The
The
ゲーム演算部202は、本実施形態のゲームを実行するために必要な各種制御を実行する。また、システムクロックを用いた制限時間などの計時処理、フラグ管理処理、などを適宜実行することができる。
The
図12は、本実施形態におけるゲーム演算部202の構成例を示す部分機能ブロック図である。本実施形態のゲーム演算部202は、ゲーム参加管理制御部204と、自機情報算出部206と、自機情報送信制御部220と、他機情報受信制御部221と、認識状態判定部222と、認識不能信号送信制御部223と、ホスト機能発現判断部224と、キャラクタ表示制御部230と、NPC情報送信制御部240と、を含む。
FIG. 12 is a partial functional block diagram illustrating a configuration example of the
ゲーム参加管理制御部204は、マルチプレイのためのゲーム参加関連の処理を実行する。例えば、自機をホスト機/ゲスト機とするかをプレーヤに選択させる処理を実行する。そして、この選択処理にてホスト機に選択された場合には、他機をゲーム参加機として受付・登録する処理と、ゲーム参加機の登録情報の配信に関する処理を実行する。また、ホスト機/ゲスト機に係わらず、自プレーヤにプレーヤキャラクタの種類を選択させるなどのプレーヤキャラクタ設定処理をする。そして、プレーヤキャラクタの設定情報を他機に配信する処理を行う。
The game participation
また、本実施形態のゲーム参加管理制御部204は、発現優先順位設定部205を備える。発現優先順設定部205は、自機がホスト機能を発現している場合に、参加受付に伴って発現優先順位を設定し他機へ配信制御する。
In addition, the game participation
自機情報算出部206は、ARマーカ10に対する自機のプレーヤ視点の位置関係に関する情報を算出する。本実施形態では、相対位置算出部207と、現在位置決定部209と、相対姿勢算出部210と、現在姿勢決定部211と、重み付け設定部212とを含む。
The own device
相対位置算出部207は、ARマーカ10の撮影画像を用いて、当該マーカに対する自機の相対的な位置関係を示す情報を周期的に算出する。つまり、その時点におけるプレーヤ視点の最新の相対位置を計測・算出する。
算出される相対位置の情報の内容は適宜設定可能であるが、例えばARマーカ10の所定位置(例えば、カードの中心や隅の何れか)を基準点とし、ARマーカ10の示す基準方向に基づく3軸直交座標(Xm,Ym,Zm)を求める。そして、当該座標系における相対位置(Xc,Yc,Zc)及び相対距離Lcを算出する。具体的には、撮像部104で撮影した画像を解析してARマーカ10を検出し、当該ARマーカ10の種類と向きとを判定して、マーカ基準の相対位置を算出する。これらの処理は、公知のAR技術を適宜流用することにより実現できる。また、ARマーカ10の種類に対応して予め設定されているカードサイズ(実寸;例えば5cm×7cmなど)と、撮影画像内におけるARマーカ10のドット数とに基づいて相対距離Lcを実寸単位で算出する。
The relative
Although the content of the calculated relative position information can be set as appropriate, for example, a predetermined position of the AR marker 10 (for example, one of the center or corner of the card) is used as a reference point and is based on the reference direction indicated by the
そして、本実施形態では、相対位置算出部207は、位置変化抑制制御部208としての機能を有する。
位置変化抑制制御部208は、ARマーカ10を認識できない認識不能状態のときに、ゲーム空間のオブジェクトの位置移動を抑制する処理を行う。具体的には、認識不能となってから認識状態に復帰するまでの間、ゲーム装置の位置の移動を無し(プレーヤ視点の位置移動を無し)と仮定して相対位置を決定する。より具体的には、認識不能以降に新たに算出する相対位置を認識不能になる直前に算出した相対位置に固定し、認識復帰とともにその固定を解除する(図9参照)。換言すると、認識不能状態が検出されている間、コンピュータの姿勢変化に応じてオブジェクトの表示向きを制御する認識不能時向き制御部として機能する。
In the present embodiment, the relative
The position change
現在位置決定部209は、相対位置算出部207により算出された所定分過去の相対位置情報から最新の相対位置までを、重み付け設定部212によって設定された重み付けWnを用いた加重平均によって、仮想カメラCMの制御に適用される位置情報を算出する(図8参照)。
The current
相対姿勢算出部210は、姿勢検出部108による検出結果に基づいて、自機の姿勢情報を周期的に算出する。例えば、撮像部104による光軸方向を基準として、ピッチ、ヨー、ロールの各成分を、ARマーカ10の所定位置(例えば、カードの中心や隅の何れか)を基準点とマーカの示す基準方向に基づく3軸直交座標(Xm,Ym,Zm)に対する相対姿勢(ωp,ωy,ωr)を算出する。
The relative
現在姿勢決定部211は、所定分過去の姿勢情報から最新の姿勢情報までを重み付け設定部212によって設定された重み付けを用いた加重平均によって、仮想カメラCMの制御に適用される姿勢情報を算出する(図8参照)。
The current
重み付け設定部212は、加重平均に処せられる算出時期が異なる情報毎の重み付けWn(図8参照)を、最新の相対距離Lcと対応づけられる算出時期に応じて所定関数又は所定のテーブルデータを参照して決定する。換言すると、加重平均に処せられる自機位置情報や自機姿勢の算出時期に応じて重み付けする第1の重み付け変更機能と、自機位置情報や自機姿勢の算出時におけるARマーカ10との距離Lとに応じて重み付けする第2の重み付け変更機能とを実現する。
The
自機情報送信制御部220は、自機に係る各種情報をゲームに参加する他機へ送信させる処理を行う。例えば、操作入力部100による操作入力情報、現在位置、現在姿勢、相対距離Lc、要素領域14の定義情報などがこれに含まれる。
これに対して、他機情報受信制御部221は、他機に係る情報(他機における操作入力部100による操作入力情報、現在位置、現在姿勢、相対距離Lc、要素領域14の定義情報など)を受信制御する。
The own device information
On the other hand, the other device information
認識状態判定部222は、ARマーカ10の認識状態を検出することができる。具体的には、撮像部104で撮影した画像内にARマーカ10が検出できない場合や、当該マーカのデザインを認識できなかった場合に認識不能状態を検出し、再び認識できるようになると認識復帰状態を検出する。
尚、認識不能状態は、例えばARマーカ10が遠くに有って撮像部104の解像能力との関係からデザイン識別に十分な情報が得られないケースや、ARマーカ10のカード面に対してCCDカメラモジュール1516の光軸方向が浅いために同じくデザイン識別に十分な情報が得られないケース、ARマーカ10の一部が撮影範囲外に残ってデザイン識別に十分な情報が得られないケースなどが考えられる。
The recognition
In the unrecognizable state, for example, a case where the
認識不能信号送信制御部223は、認識状態判定部222により認識不能状態が検出された場合に、他のゲーム参加機へ所定の「認識不能信号」を送信させるための処理を実行する。他機に対してホスト機能の発現を要求する継承信号を送信する継承信号送信制御部として機能するとも言える。
The unrecognizable signal
ホスト機能発現判断部224は、ゲームの参加機それぞれの認識不能状態の有無に基づいて自機がホスト機として機能すべきか否かを判断する。本実施形態では、自機に設定された発現優先順位と、自機及び他機の認識不能状態の監視結果とに基づいて、自機の発現優先順位よりも上位にある全ての他機が認識不能状態のとき、ホスト機として機能すべきと判断する。
The host function
キャラクタ表示制御部230は、ゲーム参加機のARマーカ10に対する位置関係に基づいて仮想3次元空間(CG空間)中のキャラクタ等のオブジェクトの配置を制御する。換言すると、プレーヤキャラクPC1〜PC3や敵キャラクタ7といったキャラクタの拡張現実空間内における表示位置を制御する。そして、本実施形態のキャラクタ表示制御部230は、領域設定部231と、NPC制御部235とを有する。
The character
領域設定部231は、所定オブジェクト(本実施形態では敵キャラクタ7)を表示させる拡張現実空間中の領域を設定する。具体的には、基本領域設定部232と、要素領域設定部233と、配置領域設定部234とを有する。
The
基本領域設定部232は、ARマーカ10から各プレーヤ視点までの相対距離Lcに基づいて基本領域13を設定する。つまり、配置領域12の基本となるサイズを設定する。具体的には、ゲーム参加機別の相対位置Lcのうち最小値を変数として所定の関数f(Lc)で基本領域13の基本長さLbを求める。そして、ARマーカ10の種類に応じて予め設定されている基本形状を、所定寸法が基本長さLbとなるように拡大/縮小してサイズを変更して基本領域13を設定する。
The basic
要素領域設定部233は、各プレーヤの視点位置でARマーカ10を撮影した場合の自機撮影範囲及び他機撮影範囲を用いて、各プレーヤの視点から見てARマーカ10がロストし難いようにしながら敵キャラクタ7を配置できる要素領域14を設定する。また、プレーヤ視点から見たARマーカの平面方向に対する俯角θcを用いて自機撮影範囲及び他機撮影範囲の奥行を変更する奥行変更部としての機能を果たす。
The element
配置領域設定部234は、基本領域13と要素領域14とを用いて、何れのゲーム参加機についてもARマーカ10がロストし難いようにしながら敵キャラクタ7を配置できる配置領域12を設定する。本実施形態では、基本領域13及び各要素領域14の重合部分を求め、これを配置領域12とする。
The arrangement
NPC制御部235は、敵キャラクタ7などのNPC(ノンプレーヤキャラクタ)や、飛翔体6などのエフェクトオブジェクト、ゲーム空間の背景を形成する背景オブジェクトの配置制御を行う。いわゆる「AI制御」を行う。NPC等のオブジェクトの制御情報(位置座標、姿勢、モーション制御データなど)は、オブジェクト毎に対応づけて所定期間分(例えば、ゲーム画像の数フレーム分)の履歴情報が、記憶部500のプレイデータ541の敵キャラクタ配置情報キュー544に格納される(図11参照)。そして、本実施形態におけるNPC制御部235は、制御開始時特殊制御部236と、移動方向制御部237とを有する。
The
制御開始時特殊制御部236は、制御開始から所定期間(例えば、ゲーム画像の数フレーム分)、制御対象とするオブジェクトの移動速度及び/又は動作速度を低減させるように制御する。具体的には、敵キャラクタ配置情報キュー544に格納されている分の過去の制御情報と新たに算出した制御情報とを均して実際の制御情報とする。
例えば、ホスト機能を担うゲーム装置が切り換ったタイミングでは、切り換り前後で制御情報値のジャンプが生じる場合があるが、過去値と最新値との均し値を実際の制御に用いることで、切り換えタイミングにおけるオブジェクトの瞬間移動やズレ・ブレなどの不自然な表示を抑制することができる。特に、オブジェクトの表示位置の変化(ズレ・ブレ)に対して効果的である。
The control start
For example, at the timing when the game device responsible for the host function is switched, a jump of the control information value may occur before and after switching, but the average value of the past value and the latest value should be used for actual control. Therefore, it is possible to suppress unnatural display such as instantaneous movement or shift / blur of the object at the switching timing. In particular, this is effective against a change (shift / blur) of the display position of the object.
移動方向制御部237は、制御対象とするオブジェクトの移動方向を撮像部104による撮影画像(ライブビュー)中のARマーカ10の画像位置に基づいて決定する処理と、配置領域12内におけるオブジェクトの相対位置に基づいて移動方向を決定する処理とを行う。
The movement
前者の処理では、ホスト機能発現機のライブビュー中のARマーカ10の画像位置が、画像中心から離れている程、敵キャラクタ7のオブジェクトがARマーカ10の画像位置に高確率で近づくように移動制御する。換言すると、ホスト機能発現機のプレーヤ視点方向(CCDカメラモジュール1516の光軸方向、仮想カメラの視線方向に同じ)がARマーカ10から離れているほど、敵キャラクタ7がよりARマーカ10に近づくように動作制御する。具体的には、プレーヤ(ゲーム装置)からARマーカ10への方向とプレーヤ視点方向とのなす角度が大きいほど、敵キャラクタ7がARマーカ10に近づくように、敵キャラクタ7の移動方向を決定する。移動方向や移動目標地点を抽選処理で決定する場合、抽選確率を一時的に変更したり、抽選結果がARマーカ10に近づかない場合に再抽選を実行するなどにより実現できる。
In the former process, the object position of the
例えば、敵キャラクタ7が最新の配置領域12内に有れば、領域外に出ないように移動方向を選択する処理、または、配置領域12の輪郭との距離を算出して所定の接近条件を満たす状態を検出した場合には次の移動量を一時的に低減させる処理を行う。また、もし敵キャラクタ7が領域外に有るのであれば、領域内に戻るように移動方向を選択する処理や、できるだけ速やかに戻れるように移動量を一時的に増加させる処理なども適用可能である。
For example, if the
NPC情報送信制御部240は、NPC制御部235により求められたNPCの制御情報を他機へ送信制御する。
The NPC information
尚、領域設定部231と、NPC制御部235と、NPC情報送信制御部240は、自機がホスト機として機能すべきときにのみ発現する機能部であって、これらはホスト機能実行制御部249を構成する。
The
図11に戻り、音生成部250は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部202による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
Returning to FIG. 11, the
音出力部350は、音生成部250から入力される音信号に基づいてゲームに関する効果音やBGM、電話通信音声等を音出力する装置によって実現される。図1ではスピーカ1510がこれに該当する。
The
画像生成部260は、例えば、GPU、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ、テクスチャデータの展開用に使用されるICメモリ等によって実現される。画像生成部260は、ゲーム演算部202による処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部360に出力する。
The
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、図1のタッチパネル1506がこれに該当する。
The
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
これに関連する通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1の無線通信モジュール1553がこれに該当する。
The
A
測位制御部280は、測位信号受信部380を介して測位システムから得られた信号から位置情報を算出するための制御、つまり測位計算とその結果の管理を行う。例えば、図1のGPSモジュール1554がこれに該当する。測位計算に携帯電話基地局の既知の位置情報を利用する場合には、基地局と無線通信するための無線通信モジュール1553も該当することになる。
The
記憶部500は、処理部200にゲーム装置1500を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図1では制御基板1550が搭載するICメモリ1552やメモリカード1540がこれに該当する。
The
本実施形態の記憶部500は、ゲーム装置1500をシステムプログラム502と、ゲームプログラム504とを記憶している。
システムプログラム502は、ゲーム装置1500のコンピュータとしての基本機能を実現するためのプログラムである。
The
A
ゲームクログラム504は、処理部200にゲーム演算部202としての機能を実現させせるためのプログラムである。メモリカード1540に予め記憶されているものとするが、本実施形態では、ゲーム開始前に所定のサーバからダウンロードする構成であっても良い。
The
また、記憶部500には、予めゲーム空間初期設定データ510と、キャラクタ初期設定データ511と、ARマーカ登録データ512と、奥行関数設定データ514とが記憶されている。これらもメモリカード1540に予め記憶されているものとするが、ゲーム開始前に所定のサーバからダウンロードする構成であっても良い。
また、記憶部500には、ゲーム進行に応じて生成され随時更新されるデータとして、ゲーム参加機登録データ520と、自機情報キュー530と、現在位置537と、現在姿勢538と、プレイデータ541と、仮想3次元空間データ560と、ホスト機能継承タイミング562と、が記憶される。その他、各種処理を実行するにあたり必要となるデータ(例えば、圧縮解凍されたテクスチャデータ、経過時間、各種タイマー値、カウンタ、フラグ)なども適宜記憶されるものとする。
The
In addition, in the
ゲーム空間初期設定データ510は、ゲームの舞台を作るための背景オブジェクトを定義する初期設定データである。背景オブジェクトのモデルデータ、テクスチャデータ、配置位置データなどが含まれる。
The game space
キャラクタ初期設定データ511は、プレーヤキャラクタPC1〜PC3や、敵キャラクタ7などのゲームキャラクタの初期設定データを格納する。各キャラクタ毎に、モデルデータ、テクスチャデータ、モーションデータ、能力パラメータ(攻撃力、防御力、HPなど)の初期値をキャラクタ毎に格納している。
The character
ARマーカ登録データ512は、ゲームで使用できるARマーカを登録するデータであって使用できる種類毎に記憶されている。そして、図13に示すように、マーカ種類と、対応マーカカテゴリと、デザインパターンデータと、カード寸法と、基本領域13の雛形となる基本領域モデルと、基本長さLbとする寸法を指定する基本長さ適用寸法と、を格納する。
The AR
奥行関数設定データ514は、要素領域14の奥行Dbを算出するための関数を設定するデータであって、ARマーカ10のマーカカテゴリ別に用意されている(図7参照)。
The depth
ゲーム参加機登録データ520は、ゲームに参加するゲーム装置の登録に関するデータ群であって参加処理により生成される。例えば図14に示すように、ゲーム機ID521と対応づけて、通信接続で相手先を特定するためのアドレス情報522と、発現優先順位523と、プレーヤキャラクタ種類524と、マーカ認識状態525と、ホスト機能を発現する機体であるかを示すホスト機能発現フラグ526とを格納する。
ゲーム参加機登録データ520は、ゲームの参加処理に関連してホスト機にてオリジナルが生成されたのちに各ゲスト機へ配信される。
The game
The game
自機情報キュー530は、ARマーカ10を基準とした自機の位置や姿勢等の情報を所定算出回数分格納する。例えば図15に示すように、算出時刻532と対応づけて、相対位置533、相対姿勢534、相対距離535を格納する。
The own
現在位置537及び現在姿勢538は、それぞれ自機情報キュー530に格納されている相対位置533の加重平均値、相対姿勢534の加重平均値が格納される。
The
プレイデータ541は、ホスト機能の実行により生成・管理されるデータ群であって、ゲーム進行状況を記述する各種データを格納する。本実施形態では、プレーヤキャラクタ状態データ542と、敵キャラクタ状態データ543と、敵キャラクタ配置情報キュー544と、飛翔体配置データ545と、基本領域設定データ550と、要素領域設定データ552と、配置領域設定データ554と、を含む。
The
プレーヤキャラクタ状態データ542は、プレーヤキャラクタPC1〜PC3それぞれの状態を記述するデータ、例えばHP(ヒットポイント)などの能力値の現在値、適用されているモーションデータの識別情報やモーション制御データなど、を格納する。
The player
敵キャラクタ状態データ543は、敵キャラクタ7の状態を記述するデータが格納される。例えば、敵キャラクタのHPなどの能力値の現在値、適用されるモーションデータの識別情報やモーション制御データなどを格納する。
敵キャラクタ配置情報キュー544は、算出時刻と対応づけられた敵キャラクタ7のCG空間における位置や姿勢を、所定算出回数分だけ格納する。
飛翔体配置データ545は、発射された飛翔体6毎の位置や姿勢、速度、加速度など飛翔の状態を記述する情報を格納する。
The enemy
The enemy character
The flying
基本領域設定データ550は、基本領域13の最新の定義データを格納する。
要素領域設定データ552は、ゲーム参加機毎つまりはプレーヤ視点位置毎に求めた要素領域14の最新の定義データを格納する。
配置領域設定データ554は、配置領域12の最新情報を格納する。
The basic
The element
The arrangement
仮想3次元空間データ560は、仮想3次元空間に配置されるプレーヤキャラクタPC1〜PC3、敵キャラクタ7、飛翔体6、背景物などの各種オブジェクトの配置情報を格納する。
The virtual three-
ホスト機能継承タイミング562は、ホスト機能を発現する機体が変化したタイミング情報(例えば、システム時刻)を格納する。換言すると、ホスト機能の実行役が別の機体に継承されたタイミングを格納する。
The host
[処理の流れの説明]
次に図17〜図24を参照しながら、本実施形態における各種処理の流れについて説明する。ここで説明する一連の処理は、ゲーム装置1500が、システムプログラム502及びゲームプログラム504や各種設定データを読み出し実行することにより実現される。尚、テーブル9などの上に予めARマーカ10が配置されていて、プレーヤは各ゲーム装置1500を手に持ってCCDカメラモジュール1516でARマーカ10を撮影する姿勢にあるものとする。
[Description of process flow]
Next, the flow of various processes in this embodiment will be described with reference to FIGS. A series of processing described here is realized by the
図17は、本実施形態における主たる処理の流れを説明するためのフローチャートである。ゲーム装置1500の処理部200は、先ず他のゲーム装置とのアドホックモードによる通信接続を確立する(ステップS2)。以降、ゲーム装置同士の間ではピア・ツー・ピア(P2P)のローカルネットワークが形成された状態となる。
FIG. 17 is a flowchart for explaining the main processing flow in the present embodiment. The
次に、処理部200は、ゲーム前準備処理を実行する(ステップS4)。
図18は、本実施形態におけるゲーム前準備処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ず、自機をホスト機とするかゲスト機とするかの選択画面を表示してプレーヤに何れかを選択させるホスト/ゲスト選択処理を実行する(ステップS6)。
Next, the
FIG. 18 is a flowchart for explaining the flow of the pre-game preparation process in the present embodiment. In this process, the
もし、ホスト機が選択された場合には(ステップS8の「ホスト」)、ゲーム参加機登録データ520を生成して自機を登録する(ステップS10)。すなわち、最初のゲーム機ID521を発行するとともに、先に確立したローカルエリアネットワークにおけるアドレス情報522を格納する。発現優先順位523は第1順位に設定し、マーカ認識状態525は認識状態を示す情報(図14の例では「1」)に初期化する。
If the host machine is selected (“host” in step S8), game participation
そして、ホスト機の処理部200は、自プレーヤキャラクタの選択処理(ステップS12)と、ゲーム空間の初期化処理を実行する(ステップS14)。
自プレーヤキャラクタの選択結果は、ゲーム参加機登録データ520のプレーヤキャラクタ種類524に格納される。
ゲーム空間の初期化処理では、ゲーム空間初期設定データ510及びキャラクタ初期設定データ511を参照して、仮想3次元空間に背景オブジェクトを配置してゲーム空間を配置するとともに、自プレーヤキャラクタPC1と敵キャラクタ7とを配置する。ゲーム空間にキャラクタが配置されるのに伴って、プレーヤキャラクタ状態データ542と、敵キャラクタ状態データ543とが生成・初期化される。そして、ゲーム空間の初期化処理を実行したならば、ホスト機の処理部200はホスト機としての参加処理を時限実行する(ステップS16)。
Then, the
The selection result of the player character is stored in the
In the game space initialization process, with reference to the game space
一方、ホスト/ゲストの選択処理にてゲストが選択された場合には(ステップS6の「ゲスト」)、ゲスト機とされたゲーム装置1500の処理部200は、自プレーヤキャラクタの選択処理を実行し(ステップS18)、ホスト機へゲーム参加リクエスト信号を送信してゲスト機としての参加処理を行う(ステップS22)。
On the other hand, when the guest is selected in the host / guest selection process (“Guest” in step S6), the
参加処理において、ホスト機の処理部200は、ゲーム参加リクエストしたゲスト機と適宜情報の送受を行って参加機として登録する。即ち、ゲーム参加機登録データ520に新たに付与したゲーム機ID521を設定し、これに対応付けて当該ゲスト機のアドレス情報522を登録し、発現優先順位523をゲスト機の登録順+1(よって、最初のゲスト機の発現優先順位は2位となる)を設定する。プレーヤキャラクタ種類524は当該ゲスト機から取得し、マーカ認識状態525は認識状態を示す値とする。そして、参加処理開始から所定受付時間が終了すると、ホスト機からゲーム参加機登録データ520がゲスト機に配信される。ゲスト機では、受信したゲーム参加機登録データ520を記憶部500に記憶させる。
In the participation process, the
参加処理を終了したならば、図17のフローチャートに戻る。
ゲームを開始させたならば(ステップS24)、処理部200はステップS32〜S320をゲーム終了条件が満たされるまで所定サイクルで繰り返し実行する。
When the participation process is completed, the process returns to the flowchart of FIG.
If the game is started (step S24), the
一回の制御サイクル内において、処理部200は、先ず自動情報算出処理を実行する(ステップS32)。
図19は、自機情報算出処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ず撮像部104による撮影映像をキャプチャし(ステップS60)、キャプチャした画像に写っているARマーカ10を検出する(ステップS62)。
In one control cycle, the
FIG. 19 is a flowchart for explaining the flow of the device information calculation process. In this process, the
もし、ARマーカ10を検出できたならば(ステップS64のYES)、処理部200はARマーカ10の認識と種類の判別をする(ステップS66)。すなわち、公知のマーカ方式AR技術と同様にして、ARマーカが写っている部分を検出して、当該部分をARマーカ登録データ512(図13参照)に登録されているデザインパターンと照合することで、ARマーカ10を認識するとともにマーカの向きやマーカの種類、マーカのカテゴリを判定する。
If the
次いで、処理部200は、ARマーカ10に対する相対位置(Xc,Yc,Zc)と相対姿勢(ωp,ωy,ωr)と相対距離Lとを計測・算出する(ステップS68)。これらの算出結果は、自機情報キュー530に格納される。
Next, the
もし、ARマーカ10が検出されなかった場合には(ステップS64のNO)、処理部200は相対位置及び相対姿勢等の算出は行わず、自機情報キュー530の直近過去の相対位置533及び相対距離535を参照する。
If the
もし、自機情報キュー530に直近過去のそれらの値が格納されていれば(ステップS70のYES)、それらをコピーして、そのまま今回の相対位置、相対距離として新たに自機情報キュー530に格納する(ステップS72)。もし、直近過去のそれらの値が格納されていなければ(ステップS70のNO)、所定の初期値を今回の相対位置及び相対距離として自機情報キュー530に格納する(ステップS74)。
相対姿勢については、自機情報キュー530に直近過去のそれらの値が格納されているか否かに関わらず、姿勢検出部108の検出結果に基づいて計測した結果を、新たに自機情報キュー530に格納する(ステップS76)。
If those values in the past are stored in the own device information queue 530 (YES in step S70), they are copied and directly stored in the own
Regarding the relative posture, regardless of whether or not those values in the latest past are stored in the own
今回分の相対位置及び相対姿勢を決定したならば、処理部200は次に、重み付けwn(n:自機情報キュー530に記憶されているデータの記憶順番)を算出し(ステップS78)、算出した重み付けwnを用いて自機情報キュー530に記憶されている分の相対位置533を加重平均して現在位置537を求める(ステップS80)。
更に、自機情報キュー530に記憶されている分の相対姿勢534を加重平均して現在姿勢538を求める(ステップS82)。尚、加重平均に係る重み付けwnは、所定の関数h(n,Lc)に最新の自機の相対距離Lcを用いて算出する。そして、重み付けwnの算出を実行したならば、自機情報算出処理を終了する。
If the relative position and the relative posture for this time are determined, the
Further, the
図17のフローチャートに戻って、処理部200は次にホスト機能発現機設定処理を実行する(ステップS110)。
Returning to the flowchart of FIG. 17, the
図20は、本実施形態におけるホスト機能発現機設定処理の流れを説明するためのフローチャートである。
同処理において、処理部200は先ず各ゲーム装置におけるARマーカ10の認識状態の監視処理を行う(ステップS112〜S122)。
具体的には、処理部200は、自機情報算出処理にてARマーカ10の認識ができなかった場合(ステップS112のYES)、ゲーム参加機登録データ520の自機のマーカ認識状態525(図14参照)を「認識不能(LOST)」に変更し(ステップS114)、所定の認識不能信号を他機へ送信する(ステップS116)。ARマーカ10が認識できているならば(ステップS112のNO)、自機のマーカ認識状態525を「識別中(In Sight)」に設定する(ステップS118)。
FIG. 20 is a flowchart for explaining the flow of host function developing machine setting processing in the present embodiment.
In the process, the
Specifically, when the
他機からの認識不能信号については、処理部200は認識不能信号の送信元である他機のマーカ認識状態525を「認識不能(LOST)」に変更する(ステップS120)。認識不能信号を受信しなかった他機については「識別中(In Sight)」に設定(ステップS122)する。これでゲーム参加機それぞれにおけるマーカの識別状態が更新されたことになる。
For the unrecognizable signal from the other device, the
次に、処理部200は、マーカ認識状態の監視結果に基づいてホスト機能を発現するゲーム装置すなわち「ホスト機能発現機」を選出する(ステップS140)。
具体的には、ゲーム参加機登録データ520のマーカ認識状態525を参照し、発現優先順位が当該ゲーム装置よりも上位にあたる全他機のマーカ認識状態が「認識不能(LOST)」になっているゲーム参加機を、ホスト機能を発現するべき機体として選出する。
Next, the
Specifically, referring to the
そして、処理部200は、当該選出機のホスト機能発現フラグ526を参照する。同フラグが「0」であれば(ステップS142の「0」)、それ以外のゲーム機の同フラグを「0」に設定し(ステップS144)、ホスト機能継承タイミング562に現在のシステム時刻を格納し更新して(ステップS146)、ホスト機能発現機設定処理を終了する。もし、選出機のホスト機能発現フラグ526がすでに「1」の場合には(ステップS142の「1」)、フラグ操作やホスト機能継承タイミング562の更新は行わずに、ホスト機能発現機設定処理を終了する。
Then, the
図17のフローチャートに戻って、自機がホスト機能発現機に設定されている場合(ステップS150のYES)、処理部200は自機がホスト機能を発現するべきであると判断してホスト機能実行処理を行う(ステップS152)。
Returning to the flowchart of FIG. 17, when the own device is set as the host function developing device (YES in step S150), the
図21は、本実施形態におけるホスト機能実行処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ず、全他機からそれぞれの他機情報として、現在位置537と、現在姿勢538と操作入力データ(本実施形態では射撃操作入力の有無)を取得する(ステップS160)。そして、基本領域設定処理を実行する(ステップS162)。
FIG. 21 is a flowchart for explaining the flow of host function execution processing in the present embodiment. In this process, the
図22は、本実施形態における基本領域設定処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ずゲーム参加機毎つまりはプレーヤ視点毎にARマーカ10までの相対距離Lcを算出又は他機から送信してもらって取得し(ステップS170)、算出又は取得した相対距離Lcに基づいて基本長さLbを算出する(ステップS172)。本実施形態では、ゲーム参加機別に算出した相対距離Lcのうち最小値を用いて所定関数f(Lc)を用いて基本長さLbを求める。
FIG. 22 is a flowchart for explaining the flow of the basic area setting process in the present embodiment. In this process, the
次で、処理部200は、算出した基本長さLbを所定の最小値と比較し、最小値を下回っていれば(ステップS174のYES)、基本長さLbをこの最小値で置き換える(ステップS176)。そして、認識されたARマーカの種類・カテゴリ(図19のステップS66参照)に対応するARマーカ登録カード512(図13参照)から基本領域モデルを読み出し、先に設定した基本長さLbを基本長さ適用寸法に割り当てた基本領域13を設定する(ステップS178)。求めた基本領域13を定義する情報(例えば、頂点座標、輪郭線を記述する関数など)は、プレイデータ541に基本領域設定データ550として格納される。そして、基本領域設定処理を終了する。
Next, the
図21のフローチャートに戻って、処理部200は次に、ゲーム参加機毎に要素領域設定処理を実行して、プレーヤ視点毎の要素領域14を設定する(ステップS180)。
Returning to the flowchart of FIG. 21, the
図23は、要素領域設定処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ず、キャプチャした画像に写っているARマーカ10の四隅の頂点位置を求め(ステップS190)、ゲーム装置1500の位置及びロール、即ちCCDカメラモジュール1516の位置及びロール(光軸周りの回転)を固定と見なして、ARマーカ10の四隅のうち右端が、CCDカメラモジュール1516の撮影範囲の右端に近接し、且つARマーカ10の四隅のうち下端が同撮影範囲の下端に近接する第1姿勢を求めるとともに、当該姿勢におけるCCDカメラモジュール1516の光軸AL1を求める(ステップS192;図6参照)。
FIG. 23 is a flowchart for explaining the flow of the element region setting process. In this process, the
同様にして、処理部200はARマーカ10と撮影範囲とで左端同士・上端同士が近接する第2姿勢を求めて光軸AL2を求め(ステップS194)、ARマーカ10と撮影範囲とで左端同士・下端同士が近接する第3姿勢を求めて光軸AL3を求め(ステップS196)、ARマーカ10と撮影範囲とで右端同士・上端同士が近接する第4姿勢を求めて光軸AL4を求める(ステップS198)。
Similarly, the
次に、処理部200はARマーカ10のデザイン面(マーカ平面)に対するCCDカメラモジュール1516の光軸角度つまり俯角θcを算出し、ARマーカ10のカテゴリに応じた奥行関数設定データ514を選択・参照して、算出した俯角θcに基づく奥行Dbを算出する(ステップS200)。
Next, the
そして、CCDカメラモジュール1516のカメラ視点位置から現在の光軸方向に奥行Dbだけ離れたクリップ面と、先に求めた光軸AL1〜AL4それぞれとの交点を求め、求めた4つの交点とカメラ視点位置とを頂点として囲まれるボリュームを、対象としているゲーム装置1500(対象としているプレーヤ視点)における要素領域14として設定する(ステップS202)。求めた要素領域14を定義する情報(例えば、頂点座標、輪郭線を記述する関数など)は、プレイデータ541に要素領域設定データ552として格納される。そして、要素領域設定処理を終了する。
Then, the intersections of the clip plane separated from the camera viewpoint position of the
図21のフローチャートに戻って、処理部200は次に、基本領域13及び要素領域14の重合領域を求めこれを配置領域12とする(ステップS220)。求めた重合領域を定義する情報(例えば、頂点座標、輪郭線を記述する関数など)は、プレイデータ541に配置領域設定データ554として格納される。
Returning to the flowchart of FIG. 21, the
次に、処理部200は敵キャラクタ7を最新の配置領域12の範囲内に存在するよう動作制御する(ステップS222)。
Next, the
ここでの動作制御には、移動と攻撃の二つの動作が含まれる。
移動の制御については、例えば、敵キャラクタ7が最新の配置領域12内に有れば、領域外に出ないように移動方向を選択する処理や、領域の輪郭との距離を算出して所定の接近条件を満たす状態を検出した場合には次の移動量を一時的に低減させる処理などを実行して、新たな配置位置を決定する。また、もし敵キャラクタ7が領域外に有るのであれば、領域内に戻るように移動方向を選択する処理や、できるだけ速やかに戻れるように移動量(移動速度)を一時的に増加させる処理などを実行して新たな配置位置を決定する。
The operation control here includes two operations of movement and attack.
With regard to the movement control, for example, if the
更には、撮像部104による撮影画像(ライブビュー)中のARマーカ10の画像位置が、画像中心から離れている程、敵キャラクタ7がARマーカ10の画像位置に高確率で近づくように移動制御する。換言すると、プレーヤ視点方向(CCDカメラモジュール1516の光軸方向、仮想カメラの視線方向に同じ)がARマーカ10から離れているほど、敵キャラクタ7がよりARマーカ10に近づくように動作制御する。
Furthermore, the movement control is performed so that the
具体的には、例えば敵キャラクタ7の移動方向を抽選処理で決定する場合、現在のARマーカ10向きの移動方向がより高確率で選出されるように抽選確率を一時的に変更したり、抽選結果が視線方向に沿わない場合に再抽選を実行するなどにより実現できる。
尚、新たに決定された敵キャラクタ7の位置及び姿勢は敵キャラクタ配置情報キュー544に格納される。移動制御に伴い、仮想3次元空間データ560のうち、敵キャラクタ7に係るオブジェクトの制御データが適宜書き換えられる。
攻撃の制御については、所定のアルゴリズム(いわゆるAI制御)によって、適当なタイミングで適当なプレーヤキャラクタPC1〜PC3に向けて、射撃するように制御する。
Specifically, for example, when the moving direction of the
The newly determined position and posture of the
The attack is controlled by a predetermined algorithm (so-called AI control) so as to shoot at the appropriate player characters PC1 to PC3 at an appropriate timing.
ここで、処理部200は、現在のシステム時刻とホスト機能継承タイミング562に格納されているシステム時刻(すなわちホスト機能の制御開始タイミング)とを比較して、ホスト機能の制御開始タイミングから所定時間が経過したかを判定する。
Here, the
そして、もし経過していない場合には(ステップS224のNO)、処理部200は敵キャラクタ7の移動量及び/又は移動速度が低減されるように調整する制御開始時特殊制御を行う(ステップS226)。
具体的には、例えば敵キャラクタ配置情報キュー544に格納されている位置及び姿勢の各加重平均値(重み付けは過去値ほど低い)を求め、敵キャラクタ配置情報キュー544の最新値を加重平均された位置及び姿勢に更新する。これにより、ホスト機能を担う機体が代わったことに起因する敵キャラクタ7の位置や姿勢が大きく変化したとしてもその影響を低減できる。敵キャラクタ7の見かけの移動量や移動速度が低減され、瞬時的に移動量や移動速度が増したような不自然な動きとならないようにできる。
尚、ホスト機能の制御開始タイミングから所定時間が経過していなければ(ステップS224のYES)、こうした制御開始時特殊制御はスキップされる。
If it has not elapsed (NO in step S224), the
Specifically, for example, weighted average values of the positions and postures stored in the enemy character arrangement information queue 544 (weighting is lower as the past value) is obtained, and the latest values of the enemy character
If the predetermined time has not elapsed from the control start timing of the host function (YES in step S224), such special control at the start of control is skipped.
次に、処理部200は各プレーヤキャラクタPC1〜PC3の配置位置を更新する(ステップS228)。これに伴い、仮想3次元空間データ560のうち、プレーヤキャラクタPC1〜PC3に係るオブジェクトの制御データが適宜書き換えられる。
Next, the
次に、処理部200は飛翔体6の管理をする(ステップS240)。例えば、敵キャラクタ7による攻撃動作が行われた場合や、各ゲーム装置にて攻撃操作入力が検出された場合に、対応するプレーヤキャラクタから発射される新たな飛翔体6を仮想3次元空間に配置する。また、配置済の飛翔体6については移動をさせる。これに伴い、プレイデータ541の飛翔体配置データ545が適宜書き換えられ、また仮想3次元空間データ560のうち飛翔体6に係るオブジェクトの制御データが適宜書き換えられる。
Next, the
次に、処理部200は、飛翔体6の移動後の位置と、更新されたプレーヤキャラクPC1〜PC3の位置、及び敵キャラクタ7の位置とに基づいて攻撃のヒット判定と、攻撃ヒットにともなうダメージ判定及びダメージ反映処理を行う(ステップS242)。もし、飛翔体6がヒットしたと判定された場合には、当該飛翔体6は仮想3次元空間から消去するのは勿論である。ダメージ反映処理により、プレイデータ541のプレーヤキャラクタ状態データ542及び敵キャラクタ状態データ543が更新される。
Next, the
ホスト機能実行処理によるこれまでの処理により、1制御サイクルでのゲームが進行したことになるので、処理部200は最新のプレイデータ541を他機へ配信し(ステップS244)、ホスト機能実行処理を終了する。
Since the game in one control cycle has progressed through the processing by the host function execution processing so far, the
図17のフローチャートに戻って、自機がホスト機能を発現するべきと判断されなかった場合(ステップS150のNO)、処理部200はゲスト機として振る舞うように制御することとなる。つまり、ゲスト機の処理部200は、全ての他機から現在位置537と、現在姿勢538と操作入力情報とを取得し(ステップS300)、ホスト機からプレイデータを取得する(ステップS302)。そして、取得した他機の現在位置537および現在姿勢538と、自機の現在位置537および現在姿勢538と、取得したプレイデータとに基づいて仮想3次元空間内のオブジェクトの配置位置を更新する(ステップS304)。
Returning to the flowchart of FIG. 17, when it is not determined that the own device should exhibit the host function (NO in step S150), the
ここまでの流れによって、ゲーム進行制御とその結果に応じた仮想3次元空間(CG空間)内のオブジェクトの再配置が完了したことになる。
そこで、処理部200は次に、ゲーム画面の生成及び表示に関する処理を実行する。すなわち、キャプチャされた撮像部104で撮影した画像をクロップ処理して背景画像を生成し(ステップS310)、自機の現在位置537および現在姿勢538に基づいて仮想カメラCMを仮想3次元空間内に配置して、当該仮想カメラで撮影した仮想3次元空間の様子をレンダリングする(ステップS312)。そして、背景画像の上にレンダリングされたCGを合成し、さらにその上に画面中央に照準8などの情報表示体を合成してゲーム画面を完成させ(ステップS314)、これを画像表示部360で表示させる(ステップS316;図3参照)。
By the flow so far, the game progress control and the rearrangement of objects in the virtual three-dimensional space (CG space) according to the result are completed.
Therefore, the
次に、処理部200はゲーム終了条件を満たすか否かを判定する(ステップS320)。もしゲーム終了条件を満たしていなければ(ステップS320のNO)、次の制御サイクルに移行する。もし満たしていれば(ステップS320のYES)、エンディング画面を表示させるなどのゲーム終了処理を実行して(ステップS322)、一連の処理を終了する。
Next, the
以上、本実施形態によれば、ARマーカ10に対するプレーヤ視点別の相対位置(本実施形態で言うところのARマーカ10の基準点に対するCCDカメラモジュール1516の視点の相対位置で代表されるゲーム参加機の相対位置)を用いて、拡張現実空間中のキャラクタの表示位置をマルチプレイに都合良く適切に制御できる。
具体的には、注目キャラクタ(敵キャラクタ7)を追跡するように、それぞれのゲーム装置1500の視点位置、視線方向が変えられたとしても、ARマーカ10がCCDカメラモジュール1516の撮影範囲外にならないように、この注目キャラクタの配置を調整することができる。すなわち、拡張現実空間を利用したマルチプレイ型のゲームの品質を向上させ、キャラクタの配置制御に伴うさまざまな不都合を回避・低減することができる。
As described above, according to the present embodiment, the relative position for each player viewpoint with respect to the AR marker 10 (the game participant represented by the relative position of the viewpoint of the
Specifically, even if the viewpoint position and the line-of-sight direction of each
また、本実施形態では、現在から遡って所与の時間分(或いは所与の回数分)の相対位置を用いて、実際に仮想カメラを制御するための現在位置を決定することができるので、手ブレを抑制することができる。更には、ARマーカ10が認識不能な間、一時的に位置座標をマーカロスト直前値に固定する一方で、姿勢については現在置を算出し続ける。これにより、ARマーカ10が認識できているときよりも、現実空間とCG空間との座標合わせの精度が低下するが、ゲームを中断しなければならないほどのキャラクタ等の表示ズレを抑制できる。つまり、ARマーカのロストに起因するゲームの中断への耐性を高める事ができる。
In the present embodiment, since the current position for actually controlling the virtual camera can be determined using the relative position for a given time (or given number of times) retroactively from the present, Camera shake can be suppressed. Furthermore, while the
また、敵キャラクタ7などのNPCの制御などホスト機能を担っていたゲーム参加機において、ARマーカ10を認識できない状態に陥ったとしても、別のゲーム参加機がホスト機能を代行することで、マーカのロストに起因するNPCなどの表示位置ズレなどを抑制し、ゲームを継続させることができる。
In addition, even if a game participant having a host function such as NPC control of the
尚、本実施形態では、構成要素を適宜変更・追加・省略することができる。
例えば、ホスト機能発現機の切り換えに関連して、ARマーカ10を認識できなくなった時に「認識不能信号」を発信し、認識不能信号の有無によってマーカ認識状態を管理する構成であったが、反対にARマーカ10を認識できている時に「認識信号」を送信する構成としても良い。そして「認識信号」が受信されている間は、送信元のマーカ認識状態525を「In Sight(認識中)」とし、「認識信号」が送信されていない機体のマーカ認識状態525を「LOST(認識不能)」に設定すると良い。
In the present embodiment, the components can be changed, added, or omitted as appropriate.
For example, in relation to the switching of the host function developing machine, when the
また、発現優先順位は、ゲーム前準備処理で設定した初期値をゲームプレイ中に適宜変更することも可能である。例えば図24に示すように、ホスト機能実行処理にて、処理部200は、他機全てから最新のARマーカ10に対する相対距離Lcを取得し(ステップS250)、取得した相対距離Lcに自機の最新の相対距離Lcを含めて、距離の大きい順にソートして、ソートされた順番に発現優先順位523を再設定し配信する(ステップS254)。尚、ホスト機能を発現していないゲーム装置1500の処理部200は、例えば、図17のステップS304に次いで、新しい発現優先順位523を受信した場合には、自機の記憶部500に記憶されているゲーム参加機登録データ520の発現優先順位523を更新することとする(図17参照)。
Further, the expression priority order can be changed as appropriate during the game play from the initial value set in the pre-game preparation process. For example, as shown in FIG. 24, in the host function execution process, the
ARマーカ10から離れているゲーム装置1500ほど、より広い範囲を撮影できるのでARマーカ10がロストし難くなる効果が期待される。よって、相対距離Lcの大きい順に発現優先順位523を再設定することで、ホスト機能の発現する機体の切り換え頻度を下げることができる。
Since the
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。本実施形態は、基本的には第1実施形態と同様に実現されるが、現在位置537の算出タイミングを調整可能にした点が異なる。尚、第1実施形態と同様の構成要素については同じ符号を付与して説明は省略し、第1実施形態との差異について主に述べることとする。
[Second Embodiment]
Next, a second embodiment to which the present invention is applied will be described. The present embodiment is basically realized in the same manner as the first embodiment, except that the calculation timing of the
図25は、本実施形態におけるゲーム演算部202の機能構成例を示す部分機能ブロック図である。本実施形態の自機情報算出部206は、変化量算出部213F、算出間隔設定部214Fを含む。
FIG. 25 is a partial functional block diagram illustrating a functional configuration example of the
変化量算出部213Fは、姿勢検出部108や加速度検出部110、測位制御部280で算出される位置情報などを用いて、プレーヤ視点の位置や姿勢(即ち、ゲーム装置1500、CCDカメラモジュール1516の視点位置のARマーカ10に対する位置や姿勢)の所与の単位時間当たりの変化量を算出する。位置と姿勢両方の変化量を求めるとしても良いし、何れか一方でも良い。尚、変化量は撮像部104で撮影した画像中から特徴点を抽出し、抽出された特徴点の単位時間当たりの移動量を用いるとしても良い。
The change
算出間隔設定部214Fは、変化量算出部213Fによる算出結果を用いて、最新の自機位置情報及び自機姿勢の算出間隔を新たに設定・変更することができる。算出間隔の設定値は適宜記憶部500に記憶させるものとする。
The calculation
図26は、本実施形態における主たる処理の流れを説明するためのフローチャートである。基本的には第1実施形態と同様であるが、処理部200は、制御サイクルの最初において、姿勢変化・加速度・測位結果の何れかの所定時間当たりの変化量を算出する(ステップS26F)。
FIG. 26 is a flowchart for explaining the main processing flow in the present embodiment. Although it is basically the same as in the first embodiment, the
次いで、算出された変化量と、前回の算出タイミングで算出された相対距離Lcとに応じて算出間隔を設定する(ステップS27F)。具体的には、算出された変化量が所定の変化量基準値を超えて急激に変化したと判断される場合には算出間隔を標準値より短くする。また、直近過去の相対距離Lcが所定の距離基準値を超えて遠いと判断される場合にも算出間隔を標準値より短くする。 Next, a calculation interval is set according to the calculated change amount and the relative distance Lc calculated at the previous calculation timing (step S27F). Specifically, when it is determined that the calculated change amount has rapidly changed beyond a predetermined change amount reference value, the calculation interval is made shorter than the standard value. The calculation interval is also made shorter than the standard value when it is determined that the latest past relative distance Lc exceeds a predetermined distance reference value.
そして、前回の算出タイミングから、ステップS27Fで設定された算出間隔が経過していれば(ステップS28FのYES)、自機情報算出処理を実行する(ステップS32)。 If the calculation interval set in step S27F has elapsed since the previous calculation timing (YES in step S28F), the device information calculation process is executed (step S32).
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の形態がこれらに限定されるものではなく、適宜構成要素の追加・省略・変更などを施すことができる。
[Modification]
As described above, the embodiments to which the present invention is applied have been described. However, the embodiments of the present invention are not limited to these, and additions, omissions, and changes of components can be appropriately made.
例えば、第1実施形態においてゲーム装置1500としたコンピュータは、プレーヤ視点となる撮像素子と、姿勢変化を検出するジャイロや加速度センサとを搭載し、ゲームプログラムを実行可能であれば、携帯型ゲーム装置などの他、例えばスマートフォンやパソコン、携帯電話機などの電子機器を「ゲーム装置」としても良い。
For example, if the computer used as the
また、ゲームのジャンルはシューティングゲームに限らず、適宜設定することができるのは勿論である。 Of course, the genre of the game is not limited to the shooting game, and can be set as appropriate.
また、上記実施形態では、仮想カメラCMとプレーヤキャラクタPCとの仮想3次元空間における相対位置関係はほぼ固定として説明したがこれに限らない。例えば、図27に示すように、仮想カメラCM1〜CM3は、対応するゲーム装置1500a〜1500cのARマーカ10に対する相対位置(つまりはプレーヤ視点の相対位置)に基づいて配置されるが、プレーヤキャラクタPC1〜PC3は別途ゲーム装置1500の方向入力キー1502などによる操作入力によって移動制御されることとし、結果として仮想カメラとプレーヤキャラクタとの相対位置関係が可変であっても良い。この場合、プレーヤはゲーム装置1500を動かすことで仮想カメラの位置を変える一方で、プレーヤキャラクタを別途の操作入力で制御することとなる。従って、ゲーム空間を箱庭的にイメージし、ゲーム空間内の様子をゲーム装置を通じて好きな角度から見ながら、プレーヤキャラクタを自在に操作してゲームプレイすることが可能となる。
In the above embodiment, the relative positional relationship between the virtual camera CM and the player character PC in the virtual three-dimensional space is described as being substantially fixed, but the present invention is not limited to this. For example, as shown in FIG. 27, the virtual cameras CM1 to CM3 are arranged based on the relative positions of the
また、ゲーム装置1500の画像表示部360を裸眼立体視可能な表示装置(例えばパララックスバリア方式やレンチキュラ方式など)で構成し、ARマーカ10に対するゲーム装置1500の相対位置・相対姿勢に応じて、立体的な画像を表示制御することとしてもよい。その場合、CCDカメラモジュール1516で撮影されたライブビューの画像を最遠景に設定し、ゲーム空間(仮想三次元空間)の座標系上に配置されるキャラクタ等(オブジェクト)を立体的に表示制御するとしてもよい。このようにすることで、例えば、ARマーカ10に対して回り込むようにゲーム装置を移動させると、ARマーカ10を基準に出現するオブジェクト(上記実施形態の場合は敵キャラクタ)を、回り込んで立体視し、奥行き感を得ることが可能となる。
In addition, the
10…ARマーカ
12…配置領域
13…基本領域
14…要素領域
104…撮像部
108…姿勢検出部
110…加速度検出部
200…処理部
202…ゲーム演算部
204…ゲーム参加管理制御部
205…発現優先順設定部
206…自機情報算出部
206B…位置関係算出部
207…相対位置算出部
208…位置変化抑制制御部
209…現在位置決定部
210…相対姿勢算出部
211…現在姿勢決定部
212…重み付け設定部
220…自機情報送信制御部
221…他機情報受信制御部
222…認識状態判定部
223…認識不能信号送信制御部
224…ホスト機能発現判断部
230…キャラクタ表示制御部
231…領域設定部
232…基本領域設定部
233…要素領域設定部
234…配置領域設定部
235…NPC制御部
236…制御開始時特殊制御部
237…移動方向制御部
249…ホスト機能実行制御部
500…記憶部
504…ゲームクログラム
512…ARマーカ登録データ
514…奥行関数設定データ
520…ゲーム参加機登録データ
523…発現優先順位
524…プレーヤキャラクタ種類
525…マーカ認識状態
526…ホスト機能発現フラグ
530…自機情報キュー
533…相対位置
534…相対姿勢
535…相対距離
537…現在位置
538…現在姿勢
541…プレイデータ
544…敵キャラクタ配置情報キュー
550…基本領域設定データ
552…要素領域設定データ
554…配置領域設定データ
560…仮想3次元空間データ
562…ホスト機能継承タイミング
1500…ゲーム装置
1506…タッチパネル
1516…CCDカメラモジュール
1550…制御基板
1556…3軸ジャイロ
1557…3軸加速度センサ
CM、CM1〜CM3…仮想カメラ
Db…奥行
PL、PL1〜PL3…プレーヤPL
PC、PC1〜PC2…プレーヤキャラクタ
AL1〜AL4…光軸
DESCRIPTION OF
PC, PC1 to PC2 ... Player characters AL1 to AL4 ... Optical axis
Claims (10)
前記ライブビュー内における前記マーカの位置を基準とした仮想3次元空間における前記コンピュータの位置を周期的に算出する位置算出手段、
現在から遡って所与の時間分、或いは、所与の回数分の前記位置算出手段により算出された複数の算出位置を用いて、前記コンピュータの現在位置を決定する現在位置決定手段、
前記仮想3次元空間中の所与の位置にオブジェクトを配置するオブジェクト配置手段、
前記現在位置決定手段により決定された現在位置から前記オブジェクトを見た画像を、前記ライブビューに合成する合成手段、
として前記コンピュータを機能させるためのプログラム。 A program for executing a game by combining and displaying an object on a live view photographed by the photographing means so that a marker indicating a reference direction is reflected on a computer including a photographing means and a display means,
Position calculating means for periodically calculating the position of the computer in a virtual three-dimensional space with reference to the position of the marker in the live view;
Current position determination means for determining the current position of the computer by using a plurality of calculated positions calculated by the position calculation means for a given time or a given number of times retroactively from the present,
Object placement means for placing an object at a given position in the virtual three-dimensional space;
Combining means for combining the live view with an image of the object viewed from the current position determined by the current position determining means;
A program for causing the computer to function as
請求項1に記載のプログラム。 The current position determining means is means for determining the current position of the computer by weighted averaging the plurality of calculated positions.
The program according to claim 1.
請求項2に記載のプログラム。 The current position determining means includes first weight changing means for changing a weight of each of the calculation positions used for the weighted average according to a calculation time by the position calculation means.
The program according to claim 2.
請求項2又は3に記載のプログラム。 The current position determining means includes second weight changing means for changing the weight of each of the calculation positions used for the weighted average according to the distance between the calculation position and the marker.
The program according to claim 2 or 3.
前記変化量計測手段の計測結果を用いて、前記位置算出手段の算出間隔を変更する算出間隔変更手段、
として前記コンピュータを更に機能させるための請求項1〜4の何れか一項に記載のプログラム。 A change amount measuring means for measuring a change amount per unit time of the position and / or posture of the computer;
A calculation interval changing unit that changes a calculation interval of the position calculating unit using a measurement result of the change amount measuring unit;
The program as described in any one of Claims 1-4 for making the said computer further function as.
請求項5に記載のプログラム。 The calculation interval changing unit further changes a change amount of the calculation interval according to a distance between the calculation position calculated by the position calculating unit and the marker.
The program according to claim 5.
前記認識不能状態が検出されている間、前記コンピュータの姿勢変化に応じて前記オブジェクトの表示向きを制御する認識不能時向き制御手段、
として前記コンピュータを更に機能させるための請求項1〜6の何れか一項に記載のプログラム。 Unrecognizable state detection means for detecting that the marker cannot be recognized from the live view.
An unrecognizable direction control means for controlling the display direction of the object in accordance with a change in the posture of the computer while the unrecognizable state is detected,
The program as described in any one of Claims 1-6 for making the said computer further function as.
前記認識不能状態から前記マーカが再び認識できるようになった認識復帰状態を検出する認識復帰状態検出手段、
前記認識不能状態が検出されている間、前記ライブビュー内における前記オブジェクトの表示位置の変化を抑制するオブジェクト位置変化抑制制御手段、
として前記コンピュータを更に機能させるための請求項1〜6の何れか一項に記載のプログラム。 Unrecognizable state detection means for detecting that the marker cannot be recognized from the live view.
A recognition return state detection means for detecting a recognition return state in which the marker can be recognized again from the unrecognizable state;
Object position change suppression control means for suppressing a change in the display position of the object in the live view while the unrecognizable state is detected;
The program as described in any one of Claims 1-6 for making the said computer further function as.
前記ライブビュー内における前記マーカの位置を基準とした仮想3次元空間における前記コンピュータの位置を周期的に算出する位置算出手段と、
現在から遡って所与の時間分、或いは、所与の回数分の前記位置算出手段により算出された複数の算出位置を用いて、前記コンピュータの現在位置を決定する現在位置決定手段と、
前記仮想3次元空間中の所与の位置にオブジェクトを配置するオブジェクト配置手段と、
前記現在位置決定手段により決定された現在位置から前記オブジェクトを見た画像を、前記ライブビューに合成する合成手段と、
を備えた電子機器。 An electronic device that includes a photographing unit and a display unit, and displays an object on a live view photographed by the photographing unit so that a marker representing a reference direction is captured,
Position calculating means for periodically calculating the position of the computer in a virtual three-dimensional space with reference to the position of the marker in the live view;
Current position determination means for determining the current position of the computer using a plurality of calculated positions calculated by the position calculation means for a given time or a given number of times retroactively from the present time;
Object placement means for placing an object at a given position in the virtual three-dimensional space;
Combining means for combining the live view with an image of the object viewed from the current position determined by the current position determining means;
With electronic equipment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011200842A JP5819686B2 (en) | 2011-09-14 | 2011-09-14 | Programs and electronic devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011200842A JP5819686B2 (en) | 2011-09-14 | 2011-09-14 | Programs and electronic devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013061870A true JP2013061870A (en) | 2013-04-04 |
JP5819686B2 JP5819686B2 (en) | 2015-11-24 |
Family
ID=48186472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011200842A Expired - Fee Related JP5819686B2 (en) | 2011-09-14 | 2011-09-14 | Programs and electronic devices |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5819686B2 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015082314A (en) * | 2013-10-24 | 2015-04-27 | 富士通株式会社 | Display control method, display control program and information processing device |
JP2016021096A (en) * | 2014-07-11 | 2016-02-04 | Kddi株式会社 | Image processing device, image processing method, and program |
JP2016046731A (en) * | 2014-08-25 | 2016-04-04 | 日本放送協会 | Video presentation device and program |
JP2016139368A (en) * | 2015-01-29 | 2016-08-04 | コニカミノルタ株式会社 | AR device, AR implementation method, and computer program |
JP2017134775A (en) * | 2016-01-29 | 2017-08-03 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
WO2018037645A1 (en) * | 2016-08-24 | 2018-03-01 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2019220032A (en) * | 2018-06-21 | 2019-12-26 | Kddi株式会社 | Program, apparatus and method that generate display image which is transformed from original image on the basis of target image |
JP2020508822A (en) * | 2017-12-20 | 2020-03-26 | 王子南WANG Zinan | Simulated miniature garden system |
KR20210013655A (en) * | 2018-06-27 | 2021-02-04 | 나이앤틱, 인크. | Multiple synchronization integrated model for device position measurement |
WO2021152906A1 (en) * | 2020-01-28 | 2021-08-05 | 任天堂株式会社 | Image processing system, image processing program, and image processing method |
KR20230061812A (en) * | 2021-10-29 | 2023-05-09 | 주식회사 엘지유플러스 | Device and method of photographing both AR/MR object and AR/MR user at 3rd party System |
US11960635B2 (en) | 2019-02-01 | 2024-04-16 | Maxell, Ltd. | Virtual object display device and virtual object display method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003103052A (en) * | 2001-09-28 | 2003-04-08 | Canon Inc | Video experiencing system, image processing method and program |
JP2007004714A (en) * | 2005-06-27 | 2007-01-11 | Canon Inc | Information processing method and information processing unit |
JP2008002980A (en) * | 2006-06-23 | 2008-01-10 | Canon Inc | Information processing method and device |
JP2011076589A (en) * | 2010-05-14 | 2011-04-14 | Nintendo Co Ltd | Image display program, image display, image display system, and image display method |
JP2011159300A (en) * | 2011-02-24 | 2011-08-18 | Nintendo Co Ltd | Image processing program, image processing device, image processing system, and image processing method |
-
2011
- 2011-09-14 JP JP2011200842A patent/JP5819686B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003103052A (en) * | 2001-09-28 | 2003-04-08 | Canon Inc | Video experiencing system, image processing method and program |
JP2007004714A (en) * | 2005-06-27 | 2007-01-11 | Canon Inc | Information processing method and information processing unit |
JP2008002980A (en) * | 2006-06-23 | 2008-01-10 | Canon Inc | Information processing method and device |
JP2011076589A (en) * | 2010-05-14 | 2011-04-14 | Nintendo Co Ltd | Image display program, image display, image display system, and image display method |
JP2011159300A (en) * | 2011-02-24 | 2011-08-18 | Nintendo Co Ltd | Image processing program, image processing device, image processing system, and image processing method |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015082314A (en) * | 2013-10-24 | 2015-04-27 | 富士通株式会社 | Display control method, display control program and information processing device |
JP2016021096A (en) * | 2014-07-11 | 2016-02-04 | Kddi株式会社 | Image processing device, image processing method, and program |
JP2016046731A (en) * | 2014-08-25 | 2016-04-04 | 日本放送協会 | Video presentation device and program |
JP2016139368A (en) * | 2015-01-29 | 2016-08-04 | コニカミノルタ株式会社 | AR device, AR implementation method, and computer program |
JP2017134775A (en) * | 2016-01-29 | 2017-08-03 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
US10218920B2 (en) | 2016-01-29 | 2019-02-26 | Canon Kabushiki Kaisha | Image processing apparatus and control method for generating an image by viewpoint information |
US11262894B2 (en) | 2016-08-24 | 2022-03-01 | Sony Corporation | Information processing device and information processing method |
WO2018037645A1 (en) * | 2016-08-24 | 2018-03-01 | ソニー株式会社 | Information processing device, information processing method, and program |
KR102463112B1 (en) * | 2017-12-20 | 2022-11-04 | 즈난 왕 | Simulation Sandbox System |
JP7009508B2 (en) | 2017-12-20 | 2022-01-25 | 王子南 | Simulated box garden system |
JP2020508822A (en) * | 2017-12-20 | 2020-03-26 | 王子南WANG Zinan | Simulated miniature garden system |
KR20200097637A (en) * | 2017-12-20 | 2020-08-19 | 즈난 왕 | Simulation sandbox system |
JP2019220032A (en) * | 2018-06-21 | 2019-12-26 | Kddi株式会社 | Program, apparatus and method that generate display image which is transformed from original image on the basis of target image |
KR102338560B1 (en) * | 2018-06-27 | 2021-12-15 | 나이앤틱, 인크. | Multiple Synchronization Integration Model for Device Position Measurement |
KR20210013655A (en) * | 2018-06-27 | 2021-02-04 | 나이앤틱, 인크. | Multiple synchronization integrated model for device position measurement |
US11540096B2 (en) | 2018-06-27 | 2022-12-27 | Niantic, Inc. | Multi-sync ensemble model for device localization |
US11960635B2 (en) | 2019-02-01 | 2024-04-16 | Maxell, Ltd. | Virtual object display device and virtual object display method |
JP7504253B2 (en) | 2019-02-01 | 2024-06-21 | マクセル株式会社 | Virtual Object Display Device |
WO2021152906A1 (en) * | 2020-01-28 | 2021-08-05 | 任天堂株式会社 | Image processing system, image processing program, and image processing method |
EP4082638A4 (en) * | 2020-01-28 | 2023-06-28 | Nintendo Co., Ltd. | Image processing system, image processing program, and image processing method |
JP7558985B2 (en) | 2020-01-28 | 2024-10-01 | 任天堂株式会社 | IMAGE PROCESSING SYSTEM, IMAGE PROCESSING PROGRAM, AND IMAGE PROCESSING METHOD |
KR20230061812A (en) * | 2021-10-29 | 2023-05-09 | 주식회사 엘지유플러스 | Device and method of photographing both AR/MR object and AR/MR user at 3rd party System |
KR102581380B1 (en) * | 2021-10-29 | 2023-09-21 | 주식회사 엘지유플러스 | Device and method of photographing both AR/MR object and AR/MR user at 3rd party System |
Also Published As
Publication number | Publication date |
---|---|
JP5819686B2 (en) | 2015-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5718197B2 (en) | Program and game device | |
JP5819686B2 (en) | Programs and electronic devices | |
JP5474899B2 (en) | PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE | |
JP5586545B2 (en) | GAME SYSTEM, PORTABLE GAME DEVICE, INFORMATION PROCESSOR CONTROL METHOD, AND INFORMATION PROCESSOR CONTROL PROGRAM | |
TWI449953B (en) | Methods for generating an interactive space viewable through at least a first and a second device, and portable device for sharing a virtual reality among portable devices | |
US9513700B2 (en) | Calibration of portable devices in a shared virtual space | |
CN105843396B (en) | The method of multiple view is maintained on shared stabilization Virtual Space | |
US8608563B2 (en) | Method for exchanging NPC data between computer devices | |
JP5122659B2 (en) | Information processing program, information processing method, information processing apparatus, and information processing system | |
US20160292924A1 (en) | System and method for augmented reality and virtual reality applications | |
CN109621413A (en) | Rendering indication method, device, terminal and the storage medium of game picture | |
US20150097719A1 (en) | System and method for active reference positioning in an augmented reality environment | |
US20110304611A1 (en) | Storage medium having stored thereon image processing program, image processing apparatus, image processing system, and image processing method | |
CN110755845B (en) | Virtual world picture display method, device, equipment and medium | |
JP5675260B2 (en) | Image processing program, image processing apparatus, image processing system, and image processing method | |
JP5939733B2 (en) | Image processing program, image processing apparatus, image processing system, and image processing method | |
JP5690135B2 (en) | Information processing program, information processing system, information processing apparatus, and information processing method | |
JP2009240498A (en) | Program, information memory media and game system | |
JP2011215886A (en) | Program, information storage medium, and image generation device | |
WO2015048890A1 (en) | System and method for augmented reality and virtual reality applications | |
JP2013081620A (en) | Game system, game processing method, game program and game device | |
JP2011251006A (en) | Game program, portable game device, game system, and game method | |
JP2023182760A (en) | Game program, information processing device and method | |
EP3015954A1 (en) | Information processing device, control method for information processing device, program, and information storage medium | |
JP5829090B2 (en) | GAME SYSTEM, GAME PROCESSING METHOD, GAME PROGRAM, AND GAME DEVICE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150821 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150908 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151001 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5819686 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |