JP2013061870A - Program, information storage medium, and electronic device - Google Patents

Program, information storage medium, and electronic device Download PDF

Info

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
Application number
JP2011200842A
Other languages
Japanese (ja)
Other versions
JP5819686B2 (en
Inventor
Shinichiro Umetani
信一郎 梅谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bandai Namco Entertainment Inc
BB Studio Co Ltd
Original Assignee
Namco Bandai Games Inc
BB Studio Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Namco Bandai Games Inc, BB Studio Co Ltd filed Critical Namco Bandai Games Inc
Priority to JP2011200842A priority Critical patent/JP5819686B2/en
Publication of JP2013061870A publication Critical patent/JP2013061870A/en
Application granted granted Critical
Publication of JP5819686B2 publication Critical patent/JP5819686B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve resistance to instability of player viewpoint such as camera shake in a multi-play game using an augmented reality space.SOLUTION: From an image of an AR marker 10 taken by a CCD camera module 1516, a relative position and a relative attitude of a player viewpoint are calculated and stored in a queue a predetermined number of times. The weighted means of relative positions and relative attitudes from past to present stored in the queue are determined to calculate a current position and a current attitude. In accordance with the current position and the current attitude, a virtual camera is disposed in a virtual three-dimensional space. CG of the virtual three-dimensional space as captured by the virtual camera is superimposed on the image taken by the CCD camera module 1516 to generate a game screen.

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).

特開2010−49690号公報JP 2010-49690 A

さて、特許文献1で示されるように、ARマーカを撮影するカメラ(すなわちプレーヤ視点位置)が固定であればカメラで撮影した画像も安定となる。しかし、CCDカメラを搭載した携帯型ゲーム装置などは手に持ってプレイされるため、手振れなどが発生するおそれがある。手振れが生じると、現実空間とCG空間との座標合わせも安定せず、時にCGが小刻みに震える事象、いわゆるジッターが生じる場合がある。マルチプレイの場合では、ゲーム参加機の何れかにNPC(ノンプレーヤキャラクタ)の制御を行わせて、制御結果を配信する形態が多く見られるが、こうしたマルチプレイの場合に、NPCを制御する機体でジッターを起こすと、他の機体でのゲーム画面でも、その機体では手振れを起こしていないにもかかわらず、NPCが震えて見えるといった不具合が生じる。   As shown in Patent Document 1, if the camera that captures the AR marker (that is, the player viewpoint position) is fixed, the image captured by the camera is also stable. However, since a hand-held game apparatus equipped with a CCD camera is played with being held in hand, there is a possibility that camera shake or the like may occur. When camera shake occurs, the coordinate alignment between the real space and the CG space is not stable, and an event in which the CG sometimes shakes in small increments, so-called jitter may occur. In the case of multiplayer, there are many forms in which one of the game machines controls the NPC (non-player character) and distributes the control result. When the game screen is raised, the NPC appears to tremble even when the game screen of another aircraft is not shaken.

本発明は、こうした事情を鑑みて考えられたものであり、拡張現実空間を利用したマルチプレイ型のゲームの品質向上を目的とする。より具体的には、手振れなどのプレーヤ視点の不安定性に対する耐性を上げることを目指すものである。   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 control board 1550 in FIG. 1, the processing unit 200 in FIG. 11, game calculation) Unit 202, own device information calculation unit 206 in FIG. 12, relative position calculation unit 207, step S68 in FIG.
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 control board 1550, processing unit 200 in FIG. 11, game calculation unit 202, current position determination unit 209 in FIG. 12, step S80 in FIG.
Object placement means for placing an object at a given position in the virtual three-dimensional space (for example, the control board 1550 in FIG. 1, the processing unit 200 in FIG. 11, the game calculation unit 202, the character display control unit 230 in FIG. 12, Step S222 in FIG.
Combining means (for example, the control board 1550 in FIG. 1, the processing unit 200 in FIG. 11, the image generating unit 260, and the like) that synthesizes an image of the object viewed from the current position determined by the current position determining unit with the live view. This is a program for causing the computer to function as the CG synthesis unit 264, steps S312 to S314) of FIG.

また、別形態として、撮影手段及び表示手段を備え、基準方向が表されたマーカが写るように前記撮影手段により撮影されたライブビューにオブジェクトを合成表示する電子機器であって、前記ライブビュー内における前記マーカの位置を基準とした仮想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 position determination part 209 and step S78 of FIG.

第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 position determination units 209 and step S78 in FIG.

第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, control board 1550, 3-axis gyro 1556, 3-axis acceleration sensor in FIG. 1). 1557, game calculation unit 202 in FIG. 25, change amount calculation unit 213F, step S26F in FIG. 26),
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 control board 1550 in FIG. 1, the game calculation unit 202 in FIG. 25, the calculation interval setting unit 214F, As a step S27F) of FIG. 26, it is a program according to any one of the first to fourth modes for further functioning the computer.

第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 control board 1550 in FIG. 1, the processing unit 200 in FIG. 11, the game calculation unit 202). , Recognition state determination unit 222 in FIG. 12, steps S60 to S64 in FIG.
While the unrecognizable state is detected, the unrecognized direction control means (for example, the control board 1550 in FIG. 1, the processing unit 200 in FIG. 11) that controls the display direction of the object in accordance with a change in the posture of the computer. Game calculation unit 202, position change suppression control unit 208 in FIG. 12, step S72 in FIG.
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 control board 1550 in FIG. 1, the processing unit 200 in FIG. 11, the game calculation unit 202). , Recognition state determination unit 222 in FIG. 12, steps S60 to S64 in FIG.
Recognition return state detection means (for example, control board 1550 in FIG. 1, processing unit 200 in FIG. 11, game calculation unit 202, FIG. 12) that detects a recognition return state in which the marker can be recognized again from the unrecognizable state. Recognition state determination unit 222, steps S60 to S64 in FIG.
While the unrecognizable state is detected, object position change suppression control means (for example, control board 1550 in FIG. 1, position change suppression control unit in FIG. 12) that suppresses a change in the display position of the object in the live view. 208, step S72 of FIG. 19),
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 control board 1550 in FIG. 1, FIG. 1) that controls the display direction of the object according to the change in the attitude of the computer while the unrecognizable state is detected. 11 is a program of a seventh form for causing the computer to further function as the processing unit 200, the game calculation unit 202, the position change suppression control unit 208 in FIG. 12, and the step S72 in FIG.

第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実施形態においてゲームプレイために使用されるコンピュータに相当するゲーム装置の構成例を示す図。The figure which shows the structural example of the game device corresponded to the computer used in order to play a game in 1st Embodiment. 第1実施形態におけるプレイスタイルを説明するための概念図。The conceptual diagram for demonstrating the play style in 1st Embodiment. ゲーム画面及びライブビューの一例を示す図。The figure which shows an example of a game screen and a live view. 敵キャラクタを配置制御するために設定される領域の概念図。The conceptual diagram of the area | region set in order to carry out arrangement | positioning control of an enemy character. 基本領域の概念図。A conceptual diagram of a basic area. 要素領域の設定方法を示す概念図。The conceptual diagram which shows the setting method of an element area | region. 要素領域の奥行の考え方を示す概念図。The conceptual diagram which shows the way of thinking of the depth of an element area | region. ARマーカに対するプレーヤ視点の相対位置と相対姿勢の利用形態について説明するための概念図。The conceptual diagram for demonstrating the utilization form of the relative position and relative attitude | position of a player viewpoint with respect to AR marker. ARマーカをロストした場合における相対位置と相対姿勢の利用形態を説明する原理図。The principle figure explaining the utilization form of the relative position and relative attitude when the AR marker is lost. ホスト機能発現機の切り換えの仕組みを説明するための概念図。The conceptual diagram for demonstrating the mechanism of switching of a host function expression machine. 第1実施形態における機能構成例を示す機能ブロック図。The functional block diagram which shows the function structural example in 1st Embodiment. 第1実施形態におけるゲーム演算部の機能構例を示す機能ブロック図。The functional block diagram which shows the functional example of the game calculating part in 1st Embodiment. ARマーカ登録データのデータ構成例を示す図。The figure which shows the data structural example of AR marker registration data. ゲーム参加機登録データのデータ構成例を示す図。The figure which shows the data structural example of game participating machine registration data. 自機情報キューのデータ構成例を示す図。The figure which shows the data structural example of the own machine information queue. 敵キャラクタ配置情報キューのデータ構成例を示す図。The figure which shows the data structural example of an enemy character arrangement | positioning information cue | queue. 第1実施形態における主たる処理の流れを説明するためのフローチャート。The flowchart for demonstrating the flow of the main processes in 1st Embodiment. ゲーム前準備処理流れを説明するためのフローチャート。The flowchart for demonstrating the pre-game preparation process flow. 自機情報算出処理流れを説明するためのフローチャート。The flowchart for demonstrating the own apparatus information calculation process flow. ホスト機能発現機設定処理流れを説明するためのフローチャート。The flowchart for demonstrating a host function expression machine setting process flow. ホスト機能実行処理流れを説明するためのフローチャート。The flowchart for demonstrating the host function execution processing flow. 基本領域設定処理の流れを説明するためのフローチャート。The flowchart for demonstrating the flow of a basic area | region setting process. 要素領域設定処理流れを説明するためのフローチャート。The flowchart for demonstrating an element area | region setting process flow. ホスト機能実行処理流れを説明するためのフローチャート。The flowchart for demonstrating the host function execution processing flow. 第2実施形態におけるゲーム演算部の機能構成の一例を示す機能ブロック図。The functional block diagram which shows an example of a function structure of the game calculating part in 2nd Embodiment. 第2実施形態における主たる処理の流れを説明するためのフローチャート。The flowchart for demonstrating the flow of the main processes in 2nd Embodiment. 仮想カメラとプレーヤ視点とプレーヤキャラクタの相対位置関係のありようの変形例を示す概念図。The conceptual diagram which shows the modification which seems to have the relative positional relationship of a virtual camera, a player viewpoint, and a player character.

〔第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 game apparatus 1500 which is a computer used for game play in the present embodiment and is a kind of electronic equipment, and includes (1) a front external view and (2) a back surface. It is an external view. The game apparatus 1500 includes a direction input key 1502, a home key 1504, a touch panel 1506, a speaker 1510, a microphone 1512, a GPS (Global Positioning System) antenna 1514, a CCD camera module 1516, a control board 1550, and a computer. A memory card reader 1542 that can read and write data from a memory card 1540 that is a readable information storage medium. In addition, a built-in battery, a power button, a volume control button, etc., not shown, are provided.

CCDカメラモジュール1516は、オートフォーカス機構と、CCDイメージセンサと、イメージ信号生成チップとを搭載したモジュールであって、ゲーム装置1500の背面方向を撮影できるように配置されている。尚、イメージセンサ素子はCCDに限らず、CMOSなどその他の方式の素子でも良い。   The CCD camera module 1516 is a module on which an autofocus mechanism, a CCD image sensor, and an image signal generation chip are mounted, and is arranged so that the back direction of the game apparatus 1500 can be photographed. Note that the image sensor element is not limited to the CCD, but may be an element of another type such as a CMOS.

制御基板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 control board 1550 includes various microprocessors such as a CPU (Central Processing Unit) 1551, GPU (Graphics Processing Unit), and DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), and various ICs such as VRAM, RAM, and ROM. A memory 1552 is mounted as appropriate.

そして、制御基板1550には、携帯電話や無線LANなどの無線基地局と無線接続するための無線通信モジュール1553と、GPSモジュール1554と、電子コンパス1555と、3軸ジャイロ1556と、3軸加速度センサ1557とが搭載されている。
その他、タッチパネル1506のドライバ回路、方向入力キー1502及びホームキー1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512から入力された音声の信号を生成する入力信号生成回路、メモリカード読取装置1542への信号入出力回路といった所謂I/F回路(インターフェース回路)、が搭載されている。これら制御基板1550に搭載されている各要素は、それぞれバス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
The control board 1550 includes a wireless communication module 1553 for wireless connection with a wireless base station such as a mobile phone or a wireless LAN, a GPS module 1554, an electronic compass 1555, a 3-axis gyro 1556, and a 3-axis acceleration sensor. 1557 is mounted.
In addition, a driver circuit of the touch panel 1506, a circuit that receives signals from the direction input key 1502 and the home key 1504, an output amplifier circuit that outputs an audio signal to the speaker 1510, and an input signal that generates an audio signal input from the microphone 1512 A so-called I / F circuit (interface circuit) such as a generation circuit and a signal input / output circuit for the memory card reader 1542 is mounted. Each element mounted on the control board 1550 is electrically connected via a bus circuit or the like, and is connected so as to be able to read / write data and transmit / receive signals.

GPSモジュール1554は、GPSアンテナ1514とともにGPSを利用した位置情報を取得する手段を構成する。GPSモジュール1554は、GPSアンテナ1514で受信したGPS衛星3からの信号に基づいて、所定時間毎(例えば、1秒毎)に、位置情報(例えば、緯度・経度)及びその他の情報(絶対時間)を、制御基板1550で演算処理可能なデータとして出力する。尚、測位に利用するシステムはGPSに限らない。その他の衛星測位システムでも良いし、衛星を用いない測位システムを用いることもできる。後者の例としては、例えば、無線通信モジュール1553が無線接続できる無線基地局から当該基地局に予め設定されている位置情報を取得したり、3つの無線基地局からの信号到達時間差を利用した三角測量方式により位置情報を算出するとしても良い。   The GPS module 1554, together with the GPS antenna 1514, constitutes a means for acquiring position information using GPS. The GPS module 1554, based on the signal from the GPS satellite 3 received by the GPS antenna 1514, at predetermined time intervals (for example, every second) and positional information (for example, latitude / longitude) and other information (absolute time) Is output as data that can be processed by the control board 1550. The system used for positioning is not limited to GPS. Other satellite positioning systems may be used, and positioning systems that do not use satellites can also be used. Examples of the latter include, for example, acquiring position information preset in the base station from a radio base station to which the radio communication module 1553 can wirelessly connect, or using a signal arrival time difference from three radio base stations The position information may be calculated by a surveying method.

制御基板1550は、ゲーム実行に必要なゲームプログラムやデータをメモリカード1540から読み出してICメモリ1552に一時記憶する。そして、ゲームプログラムを実行して演算処理を実行し、方向入力キー1502やホームキー1504、タッチパネル1506からの操作入力、3軸ジャイロ1556や3軸加速度センサ1557で検出される姿勢変化や加速度変化に応じてゲーム装置1500の各部を制御してビデオゲームを実行する。尚、本実施形態では、ゲーム装置1500は必要なプログラムや各種設定データをメモリカード1540から読み出す構成としているが、サーバ装置等から通信回線1を介してダウンロードする構成としても良い。
尚、ゲーム装置1500はコンピュータであるから本明細書で言う「自機」は「自コンピュータ」と読み替えることができる。同様に「他機」は「他コンピュータ」と読み替えることができる。
The control board 1550 reads game programs and data necessary for game execution from the memory card 1540 and temporarily stores them in the IC memory 1552. Then, the game program is executed to execute arithmetic processing, and the direction change and acceleration change detected by the direction input key 1502, the home key 1504, the operation input from the touch panel 1506, the 3-axis gyro 1556, and the 3-axis acceleration sensor 1557 are detected. Accordingly, each part of the game apparatus 1500 is controlled to execute the video game. In the present embodiment, the game apparatus 1500 is configured to read out necessary programs and various setting data from the memory card 1540, but may be configured to download from the server apparatus or the like via the communication line 1.
Since game device 1500 is a computer, “own device” in this specification can be read as “own computer”. Similarly, “another machine” can be read as “another computer”.

[ゲームの概要]
次に、本実施形態におけるゲームの概要を説明する。
図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 CCD camera module 1516 of the game apparatus 1500, an AR marker 10, and FIG. 3 is a perspective view showing a state in a virtual three-dimensional space in which objects appearing in a game are arranged.

本実施形態におけるビデオゲームは、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 marker 10, that is, a so-called AR game. As shown in FIG. 2 (1), the players PL 1 to PL 3 each hold the game apparatus 1500 and play while shooting the AR marker 10 placed on the table 9 or the like with the CCD camera module 1516. The game apparatus 1500 of the player PL1 in the figure is the original host machine, and performs the reception process of the client machine participating in the game, and is responsible for the NPC control of the enemy character 7 and the like. The game apparatuses 1500 of the players PL2 and PL3 are guest machines, which acquire and use NPC control data from the host machine. Of course, the number of players is not limited to three as shown in the figure.

本実施形態におけるARマーカ10は、少なくとも一面に基準方向が表されるとともに、当該マーカの種類を識別するためのデザインが施された規定形状のカードであり、複数種類存在する。
本実施形態のゲーム装置1500では、CCDカメラモジュール1516は装置本体の背面方向を撮影するように、装置本体の背面側に固定されている。よって、本実施形態では、プレーヤの視点位置は、ゲーム装置1500の位置であり、CCDカメラモジュール1516の視点位置と同じに扱うことができる。同様に、プレーヤの視点姿勢は、ゲーム装置1500の姿勢であり、CCDカメラモジュール1516の姿勢と同じ扱いとなる。
The AR marker 10 in the present embodiment is a card having a prescribed shape in which a reference direction is represented on at least one surface and a design for identifying the type of the marker is provided, and there are a plurality of types.
In the game apparatus 1500 of this embodiment, the CCD camera module 1516 is fixed to the back side of the apparatus main body so as to photograph the back direction of the apparatus main body. Therefore, in this embodiment, the viewpoint position of the player is the position of the game apparatus 1500 and can be handled in the same way as the viewpoint position of the CCD camera module 1516. Similarly, the viewpoint posture of the player is the posture of the game apparatus 1500 and is handled in the same manner as the posture of the CCD camera module 1516.

図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 game apparatus 1500 detects the AR marker 10 from the image photographed by the CCD camera module 1516 and recognizes its type. Further, the three-dimensional relative position (Xc, Yc, Zc) and relative posture (ωp, ωy, ωr) up to the recognized AR marker 10 are measured. For example, since the actual size of the AR marker 10 (card) is defined, the relative position based on the scale in the real space can be obtained from the pixel size occupied by the AR marker 10 in the captured image of the CCD camera module 1516. .

そして、計測した相対位置や相対姿勢に基づいて、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 AR marker 10 is arranged is a reference surface in the virtual three-dimensional space (for example, also called a ground in the game world, a virtual map, or the like). A game space is formed so as to match. The game space is represented by a coordinate system (Xw, Yw, Zw) in a virtual three-dimensional space, and is matched with a coordinate system (Xm, Ym, Zm) in the real space with the AR marker 10 as a reference.

図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, target enemy characters 7 and objects such as background objects are arranged to form a game space. In addition, in the virtual three-dimensional space, in addition to the player characters PC1 to PC3 of the players PL1 to PL3, the enemy character 7 and the flying object 6 launched from each character (not shown in FIG. 2; shown in FIG. 3) Objects such as are also placed.

各ゲーム装置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 game device 1500 is defined as a common coordinate axis in principle because the AR marker 10 is used as a reference. Virtual cameras CM1 to CM3 of each game device 1500 are set in the virtual three-dimensional space. The player characters PC1 to PC3 corresponding to each game device 1500 are arranged at predetermined relative positions (Xp, Yp, Zp) with respect to the virtual cameras CM1 to CM3 of the corresponding game device. Specifically, in this embodiment, the player characters PC1 to PC3 are arranged obliquely below and forward of the virtual cameras CM1 to CM3 so as to correspond to a third person viewpoint. It should be noted that the relative positional relationship between the player character and the virtual camera does not mean an absolute fixed value, although it is determined in advance, and can include an appropriate shift or fluctuation.

図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 game device 1500 possessed by the player PL1, (2) Photographed by the CCD camera module 1516. It is an example of a live view.

各ゲーム装置1500では、それぞれが対応する仮想カメラCM1〜CM3から見たCG(コンピュータグラフィックス)画像を生成し、それをCCDカメラモジュール1516で撮影したライブビューに合成表示する。
ちなみに、図3(1)の例では、プレーヤPL1のプレーヤキャラクタPC1と、ARマーカ10の周りにいる敵キャラクタ7と、テーブル9脇の他のプレーヤPL2と、対応するプレーヤキャラクタPC2とが画面に映っている。また、画面中央には、プレーヤPL1がゲーム中に使用する射撃用の照準8が表示されている。このように現実空間の映像にゲームキャラクタ等のCGが合成されてプレーヤに認識される仮想世界が、ゲームの舞台となる「拡張現実空間」である。
Each game device 1500 generates a CG (computer graphics) image viewed from the corresponding virtual camera CM <b> 1 to CM <b> 3, and displays it on a live view photographed by the CCD camera module 1516.
Incidentally, in the example of FIG. 3A, the player character PC1 of the player PL1, the enemy character 7 around the AR marker 10, the other player PL2 beside the table 9, and the corresponding player character PC2 are displayed on the screen. It is reflected. In the center of the screen, a shooting sight 8 used by the player PL1 during the game is displayed. In this way, the virtual world recognized by the player by synthesizing CG such as a game character with the video of the real space is the “augmented reality space” that becomes the stage of the game.

本実施形態では、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 CCD camera module 1516 and the angle of the virtual cameras CM1 to CM3 are different.
Since the CCD camera module 1516 has a meaning that the photographing range is wide, the photographing field angle is set to a wide angle. For example, the focal length is 15 mm to 24 mm in terms of 35 mm film lens, and the nominal diagonal field angle is about 90 °. On the other hand, the shooting angle of view of the virtual cameras CM1 to CM3 is approximately 50% of the angle of view of the CCD camera module 1516 in consideration of playing the AR game while seeing through the real space through the touch panel 1506 of the game device 1500. It is set so narrow that it becomes about. Considering the play style, it is preferable that the angle of view is such that when the player holds the game device 1500 forward with the elbows slightly bent, the illusion of viewing the real world from the display portion of the touch panel 1506 is as if it is seen through. It is. For example, it is set to 40 mm to 55 mm in terms of a lens for 35 mm film and a nominal diagonal field angle of around 45 °.
Therefore, the background of the game screen shown in FIG. 3A is not the same as the live view taken by the CCD camera module 1516 shown in FIG. 3B, but matches the shooting angle of view of the virtual cameras CM1 to CM3. It is obtained by cropping (using the edges of the image).

[敵キャラクタの配置について]
さて、前述のように本実施形態のゲームはマーカ方式の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 AR marker 10 is always set to the CCD camera module 1516. It is desirable to play so as to be included in the shooting range.

シューティングゲームとしての特性上、プレーヤは照準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 game apparatus 1500 so that the aim 8 is aligned with the enemy character 7. Therefore, when the enemy character 7 is far away from the AR marker 10, the act of aiming at the enemy character 7 induces the lost AR AR (a state in which it does not appear in the shooting range). However, the player tries to keep the position and posture of the game apparatus 1500 so that the aim 8 does not come off the enemy character 7. Therefore, if the position of the enemy character 7 is controlled well, the AR marker 10 can be included in the shooting range (in other words, the AR marker 10 does not fall outside the shooting range).

そこで本実施形態では、図4に示すように、ゲームに参加するゲーム装置の位置や姿勢に応じてARマーカ10をロストし難いように敵キャラクタ7を配置できる配置領域12(図中、網掛け表示された範囲)を設定し、敵キャラクタ7をこの配置領域12内に留まるように配置制御する。この配置領域12は、本実施形態では基本領域13と、ゲーム参加機毎(つまりはプレーヤ視点毎)に求められる要素領域14との重合領域として設定される。尚、図の例では、理解を容易にするためにゲーム装置1500を二つのみ表示している。   Therefore, in the present embodiment, as shown in FIG. 4, an arrangement area 12 in which the enemy character 7 can be arranged so as to make it difficult to lose the AR marker 10 according to the position and posture of the game device participating in the game (shaded in the figure). The displayed range) is set, and the placement control is performed so that the enemy character 7 stays in the placement area 12. In the present embodiment, the arrangement area 12 is set as an overlap area between the basic area 13 and the element area 14 obtained for each game participant (that is, for each player viewpoint). In the example shown in the figure, only two game apparatuses 1500 are displayed for easy understanding.

図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 basic area 13.
The basic area 13 is a range of a predetermined shape centered on the AR marker 10 and defined by the basic length Lb. The basic length Lb is described by a function f (Lc) using a relative distance Lc (see FIG. 2B) from the AR marker 10 of the game participant as a variable.

基本領域13の形状は、ARマーカ10の種類によって予め設定されている。図5の例では、基本長さLbが半径の球形を例示しているが、例えば、立方体形状の範囲として、基本長さLbを立方体中心から8つの頂点までの距離としても良い。形状と基準長Lbを形状のどこの寸法に割り当てるかは適宜変更できる。   The shape of the basic region 13 is preset according to the type of the AR marker 10. In the example of FIG. 5, a spherical shape having a basic length Lb as an example is illustrated. However, for example, the basic length Lb may be a distance from the center of the cube to eight vertices as a cubic range. The dimension to which the shape and the reference length Lb are assigned can be appropriately changed.

関数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 AR marker 10 of each game participant. However, a minimum value is set for the size of the function f (Lc). This minimum value is set in advance so that the action range of the enemy character 7 does not become too small. Note that the relative distance Lc adopted as a variable of the function f (Lc) is not limited to the minimum value among the relative distances Lc for each game participant, and may be a maximum value, an average value, a median value, or the like.

図6は、要素領域14の設定方法を示す概念図である。要素領域14は、ゲーム装置1500(つまりプレーヤ視点)を基準として、ARマーカ10がCCDカメラモジュール1516の撮影範囲から外れない程度の姿勢変化を許容できる撮影範囲として定められる。   FIG. 6 is a conceptual diagram showing a method for setting the element region 14. The element region 14 is defined as a shooting range in which the posture change that allows the AR marker 10 not to deviate from the shooting range of the CCD camera module 1516 with the game device 1500 (that is, the player viewpoint) as a reference.

具体的には、今現在、CCDカメラモジュール1516によるライブビューに、図6(1)に示すようにARマーカ10が写っていると仮定する。尚、外側矩形枠が撮影枠でありライブビューの輪郭を示している。対する内側の矩形枠が、クロップされてゲーム画面の背景として使用される輪郭を示している。   Specifically, it is assumed that the AR marker 10 is currently shown in the live view by the CCD camera module 1516 as shown in FIG. The outer rectangular frame is a shooting frame and shows the outline of the live view. On the other hand, an inner rectangular frame indicates an outline that is cropped and used as the background of the game screen.

「ARマーカ10がCCDカメラモジュール1516の撮影範囲から外れない程度の姿勢変化を許容できる撮影範囲」を求めるために、本実施形態では先ずゲーム装置1500の位置が固定されている前提で、どこまでCCDカメラモジュール1516の撮影方向の変化を許容できるかを考える。   In order to obtain the “shooting range in which the AR marker 10 can tolerate a posture change that does not deviate from the shooting range of the CCD camera module 1516”, in the present embodiment, the position of the game apparatus 1500 is first fixed, and to what extent the CCD Consider whether the change in the shooting direction of the camera module 1516 can be allowed.

具体的には、図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 AR marker 10 and the right end of the imaging frame are close to each other while satisfying a predetermined condition, with the size of the AR marker 10 currently captured as it is, and the AR The “first posture” that satisfies the condition in which the lower end of the marker 10 and the lower end of the photographing frame are close to each other is obtained, and the optical axis AL1 of the CCD camera module 1516 in the posture is obtained. Then, assuming that the shooting direction is shifted diagonally from the first posture, the left end of the AR marker 10 is close to the left end of the shooting frame, and the upper end of the AR marker 10 and the upper end of the shooting frame are close to each other. 2 ”and the optical axis AL2 of the CCD camera module 1516 in that posture.

次いで、図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 AR marker 10 and the left end of the shooting frame meet in a predetermined condition and are close to each other, and the lower end of the AR marker 10 and the lower end of the shooting frame meet each other. The “third attitude” is obtained, and the optical axis AL3 of the CCD camera module 1516 in the attitude is obtained. Then, assuming that the shooting direction is shifted diagonally from the third posture, the right end of the AR marker 10 is close to the right end of the shooting frame, and the upper end of the AR marker 10 is close to the upper end of the shooting frame. 4 postures "and the optical axis AL4 of the CCD camera module 1516 in the posture are obtained.

そして、図6(4)に示すように、要素領域14をCCDカメラモジュール1516の視点位置から4本の光軸AL1〜AL4に囲まれた四角錐形領域とする。   Then, as shown in FIG. 6 (4), the element region 14 is a quadrangular pyramid region surrounded by the four optical axes AL 1 to AL 4 from the viewpoint position of the CCD camera module 1516.

この四角錐形領域の高さに相当する要素領域14の奥行Dbは、プレーヤ視点から見たARマーカ10の平面方向に対する俯角θcに基づいて設定される(図7参照)。   The depth Db of the element region 14 corresponding to the height of the quadrangular pyramid region is set based on the depression angle θc with respect to the planar direction of the AR marker 10 viewed from the player viewpoint (see FIG. 7).

図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 element region 14.
As shown in FIG. 7A, the depth Db of the element region 14 is considered as the maximum distance from the viewpoint at which the AR marker 10 can be properly recognized. As shown in FIG. 7B, the recognition performance of the AR marker 10 is highest when the CCD camera module 1516 captures the AR marker 10 from the front (the depression angle θc = π (90 °)), and the depth Db is maximum. (Db1). Then, as the depression angle θc becomes shallower (smaller) with respect to the plane (design surface) of the AR marker 10, the recognition performance decreases (Db2), and the recognition performance eventually reaches an impractical level (θmin). it can.

俯角θ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 camera module 1516, the size of the AR marker 10, and the like. In the present embodiment, AR markers 10 having different sizes can be used, and are categorized in advance according to the size of the marker. Which category it belongs to can be identified by design recognition of the AR marker 10. Therefore, as shown in FIG. 7 (3), a function g (θc) for calculating the depth Db using the depression angle θc as a variable is set for each category of the AR marker 10, and the category of the recognized AR marker 10 is set. The function g (θc) corresponding to is selected, and the depth Db is obtained using the depression angle θc at that time.

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 CCD camera module 1516 and that the aim 8 is displayed at the center of the game screen, it should be within the shooting range indicated by the element area 14. For example, even if the player slightly changes the position and orientation of the game apparatus 1500, the AR marker 10 is captured within the shooting range of the CCD camera module 1516 if the aiming target 8 is aimed at the enemy character 7. Can do.

さて、図4に示すように、配置領域12は、基本領域13とゲーム装置毎(つまりはプレーヤ視点毎)に求めた各要素領域14(14a,14b)との4つの領域の重合部分として設定される。   Now, as shown in FIG. 4, the arrangement area 12 is set as an overlapped portion of four areas of the basic area 13 and each element area 14 (14a, 14b) obtained for each game device (that is, for each player viewpoint). Is done.

前述のように、本実施形態では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 CCD camera module 1516 and the fact that the aim 8 is displayed at the center of the game screen are combined. As long as the enemy character 7 is placed in the AR, the AR marker 10 is always recognized correctly, and unnatural display such as the display position of the game character deviating from the real space does not occur.

また、タッチパネル1506に表示されるゲーム画面上には、ARマーカ10の姿が映っていなくとも、CCDカメラモジュール1516としてはちゃんとARマーカ10を撮影し続けることができる。つまり、ゲーム画面内に常にARマーカ10が写っていない状態でもARゲームは正常に継続され続け、例えば、敵キャラクタ7はARマーカ10を置いていたテーブル面に沿って歩行するように見える。
プレイ中にARマーカ10がゲーム画面内に写っていない状態でも、実空間との齟齬のない敵キャラクタ7が表示されることで、プレーヤにとってみればARマーカ10から離れた場所ではプレイできないのではないかという閉塞感が低減され、今自分が居るその広い空間全てを使ってゲームが行われてしているかのような開放的な感覚が得られることとなり、ARゲームとしての興趣が高まる。
Even if the AR marker 10 is not shown on the game screen displayed on the touch panel 1506, the CCD camera module 1516 can continue to capture the AR marker 10 properly. That is, even when the AR marker 10 is not always shown in the game screen, the AR game continues normally. For example, the enemy character 7 seems to walk along the table surface on which the AR marker 10 is placed.
Even if the AR marker 10 is not shown in the game screen during play, the enemy character 7 that is not inconsistent with the real space is displayed, so that it is impossible for the player to play at a place away from the AR marker 10. The sense of blockage is reduced, and an open feeling as if the game is being played using all the wide space where I am now is obtained, and the interest as an AR game is enhanced.

また、こうして設定された配置領域12は、その時々に応じて変形する複数の要素領域14の影響により基本領域13とは異なる形状をなすことになるので、敵キャラクタ7の行動範囲が不規則となりゲームの興趣を高める効果が得られる。   Further, the arrangement area 12 set in this way has a different shape from the basic area 13 due to the influence of the plurality of element areas 14 that change depending on the situation, so that the action range of the enemy character 7 becomes irregular. The effect which raises the interest of a game is acquired.

加えて、配置領域12の設定に基本領域13を含めることで、全てのゲーム装置1500でARマーカ10を認識できない状態となり要素領域14が得られない事態となっても、敵キャラクタ7の配置位置を適切に保つことができる。   In addition, by including the basic area 13 in the setting of the arrangement area 12, even if the AR marker 10 cannot be recognized by all the game apparatuses 1500 and the element area 14 cannot be obtained, the arrangement position of the enemy character 7 Can be kept properly.

[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 arrangement region 12 is set as described above, it is not always possible to continuously capture the AR marker 10. For example, it is assumed that the action of turning the game device 1500 toward the enemy character 7 with excitement of play becomes excessive, and the AR marker 10 is out of the shooting range of the CCD camera module 1516 unintentionally. Therefore, in the present embodiment, two auxiliary functions are provided so that inconvenience does not occur in the game progress even when the AR marker 10 is lost.

先ず、第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 AR marker 10 which is the premise of the first auxiliary function.
The game apparatus 1500 according to the present embodiment has a relative position (Xcn, Ycn) of itself (CCD camera module 1516) with respect to the AR marker 10 at times t1, t2,..., Tm (m is a natural number: an identification number of calculation timing) in a predetermined cycle. , Zcn) and relative posture (ωpn, ωyn, ωrn). Then, a predetermined number of the calculated relative positions and relative postures are stored and managed in a queue in a first-in first-out manner. The relative position and the relative attitude stored in the queue are weighted and averaged, and the weighted average value is regarded as the current position and the current attitude, and is used as the position and attitude of the virtual camera CM in the CG space. In the example of FIG. 8, an example is shown in which four sets of relative positions and relative postures are stored in the queue, but the storage number can be set as appropriate.

加重平均における重み付け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 AR marker 10 to the player viewpoint as a variable. .

重み付け関数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 game apparatus 1500 is suddenly moved or changed in posture, and the unnatural display that the player character or the like moves instantaneously is suppressed. be able to.

また、ゲーム装置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 game apparatus 1500 captures the AR marker 10 from a distance, but the characteristic of the weighting function h (n, Lc) with respect to the relative distance Lc is that the relative distance Lc is Since the weight wn for the past value is set to be relatively larger as the value is larger, the influence can be reduced. In addition, according to the characteristic of the relative distance Lc of the weighting function h (n, Lc), when the AR marker 10 is taken from near, the weighting wn to the past value becomes relatively small. The effect of camera shake will be relatively large, but blurring in this case is beneficial because it creates a visual effect that creates the tightness and presence of close combat.

そして、本実施形態ではこうした加重平均を用いた制御を前提として、ARマーカ10をロストした場合には、ロストしている間、ARマーカ10に対する相対位置を固定と仮想し、姿勢変化のみ起きるものと見なして制御する。   In the present embodiment, assuming that control using such a weighted average is performed, when the AR marker 10 is lost, the relative position with respect to the AR marker 10 is assumed to be fixed while only the posture change occurs. Control it.

図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 AR marker 10 is lost.
In the present embodiment, when the AR marker 10 is lost, the relative position is fixed to the value immediately before the loss until the recognition is restarted after the AR marker 10 is lost. In the example of FIG. 9, until the time t4, the AR marker 10 is in the imaging range of the CCD camera module 1516 and is correctly recognized and the relative position of the marker reference is obtained correctly. "Lost" is not captured in Therefore, the value of the relative position between the timings t5 and t7 stored in the queue is fixed to the value at the timing t4 immediately before the lost. On the other hand, a weighted average is performed for the posture. In other words, it is considered that the game apparatus 1500 does not move its position during the timing t5 to t7.

実際のゲーム装置1500はロスト中でも位置移動しているかもしれないが、一時的に相対位置を固定扱いにして処理を継続することで、ゲーム画面の表示が変わる状態を維持できる。相対位置が正しく算出できていない可能性があったとしてもゲームを中断させずに継続させることができる。   Although the actual game device 1500 may be moved even during the lost, the state of the game screen display can be changed by continuing the processing with the relative position temporarily fixed. Even if there is a possibility that the relative position cannot be calculated correctly, the game can be continued without interruption.

また、「プレーヤ視点の移動が無い前提」の制御に切り換わったとしても、相対位置(仮想カメラの位置)が固定とされて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 AR marker 10 is lost. In other words, the host function can be inherited in the game participant in accordance with the marker recognition state.

図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 AR marker 10 of each game device when it is assumed that there are three game devices 1500 participating in the game. An example of a combination and which game device 1500 expresses the host function in the combination is shown. Note that “In Sight” in the column of the marker recognition state means that the AR marker 10 can be recognized, and “LOST” means that the AR marker 10 is out of the imaging range and cannot be recognized (recognition impossible state). Means.

本実施形態では、当初からのホスト機であるゲーム装置1500aは、ゲームへの参加の受付処理を行う。受付されたゲーム装置1500b,1500cはゲスト機となる。
ホスト機であるゲーム装置1500aは、受付処理に伴って、自身を発現優先順位第1位に設定するとともに、ゲスト機に対しては発現優先順位第2位以降を受付順に付与する。図中では、ゲーム装置のイラストに付与された白数字がそれぞれの発現優先順位を表している。
In the present embodiment, the game device 1500a, which is the host machine from the beginning, performs a process for accepting participation in the game. The accepted game devices 1500b and 1500c are guest machines.
The game device 1500a which is a host machine sets itself as the first expression priority in accordance with the reception process, and assigns the second or higher expression priority to the guest machine in the order of reception. In the figure, the white numbers given to the illustrations of the game devices represent the respective expression priorities.

また、本実施形態のゲーム装置1500a,1500b,1500cは、ARマーカ10をロストした場合に所定の認識不能信号を他機に送信することができる。つまり、各ゲーム装置は、他機からの認識不能信号を受信したか否かによって他機のマーカ認識状態を知ることができる。   In addition, the game devices 1500a, 1500b, and 1500c according to the present embodiment can transmit a predetermined unrecognizable signal to another device when the AR marker 10 is lost. In other words, each game device can know the marker recognition state of the other device depending on whether or not the recognition failure signal from the other device has been received.

図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 AR marker 10, the game device 1500a that is the original host device is used as the host device. Express function.
That is, in addition to the player character PC1 of the player, the NPC (non-player character) such as the enemy character 7 and the object such as the background object are controlled, and the effect objects such as the bullets flying are controlled. Deliver to guest machines. Of course, the control related to the enemy character 7 includes setting processing of the arrangement area 12.

一方、ゲスト機であるゲーム装置1500b,1500cでは、操作入力や装置の移動によって各々のプレーヤのプレーヤキャラクタPC2,PC3の動作や仮想3次元空間内における位置が制御されるが、敵キャラクタ7等についてはホスト機から得た情報に基づいて仮想3次元空間内での配置を制御する。つまり、オブジェクトの制御に関しては、ホスト機とゲスト機は、クライアント/サーバ型の関係を成している。   On the other hand, in the game devices 1500b and 1500c, which are guest machines, the operation of the player characters PC2 and PC3 of each player and the position in the virtual three-dimensional space are controlled by operation input and movement of the device. Controls the arrangement in the virtual three-dimensional space based on the information obtained from the host machine. That is, with respect to object control, the host machine and the guest machine have a client / server relationship.

ここで、もし当初からのホスト機であるゲーム装置1500aがARマーカ10を認識できない状態が発生すると、実空間と仮想3次元空間との位置合わせにズレが発生し、敵キャラクタ7が傾いて配置されるなどの不具合が生じる可能性が高くなる。ホスト機から敵キャラクタ7の配置位置情報を取得しているゲスト機では、ARマーカ10をロストしていないにも係わらず敵キャラクタ7が不自然に表示されることになってしまう。   Here, if a state occurs in which the game apparatus 1500a which is the original host machine cannot recognize the AR marker 10, a deviation occurs in the alignment between the real space and the virtual three-dimensional space, and the enemy character 7 is tilted and arranged. There is a high possibility that a problem such as a failure will occur. In the guest machine that acquires the arrangement position information of the enemy character 7 from the host machine, the enemy character 7 is unnaturally displayed even though the AR marker 10 is not lost.

そこで、本実施形態のゲーム装置1500は、ARマーカ10のロストした状態を検出して所定の「認識不能信号」を他機へ発信する。もし、ホスト機がARマーカ10をロストした場合には、認識不能信号の送信とともにホスト機能を停止する。
一方で、それまでゲスト機であったゲーム装置は、それぞれ、受信した認識不能信号に基づいて自身に付与された発現優先順位より上位の他機全てが認識不能信号を出している場合には、ホスト機能を発現させるべきと判断して、ホスト機能を発現させる。
Therefore, the game apparatus 1500 according to the present embodiment detects a lost state of the AR marker 10 and transmits a predetermined “recognition impossible signal” to another device. If the host machine has lost the AR marker 10, the host function is stopped along with the transmission of the recognition failure signal.
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 (game device 1500a) becomes in an unrecognizable state, the game device 1500a Stop functioning and start functioning as a guest machine. That is, the control related to the enemy character 7 and the distribution of the control result are interrupted.

一方、発現優先順位第2位のゲスト機(ゲーム装置1500b)は、自身より発現優先順位が上位の機体全てから認識不能信号を受信したのでホスト機能を発現させ、敵キャラクタ7等の制御と制御結果の配信を開始する。つまり、ホスト機能が継承されたことになる。尚、発現優先順位が第3位のゲスト機(ゲーム装置1500c)はそのままゲスト機として機能する。   On the other hand, the guest machine (game device 1500b) having the second highest expression priority has received the unrecognizable signal from all the machines having higher expression priority than itself, so that the host function is exhibited and the enemy character 7 and the like are controlled and controlled. Start delivering results. That is, the host function is inherited. Note that the guest machine (game device 1500c) with the third highest expression priority functions as a guest machine as it is.

図10(3)の組み合わせで示すように、ホスト機能を発現しているゲーム装置1500bもまたARマーカ10をロストした場合、発現優先順位第2位のゲスト機(ゲーム装置1500b)は、ホスト機能を停止しゲスト機として機能し始める。それに代わって、発現優先順位第3位のゲスト機(ゲーム装置1500c)は、自身より上位の機体全てから認識不能信号を受信したことになるので、ホスト機能を発現すべきと判断してホスト機能を発現させる。   As shown in the combination of FIG. 10 (3), when the game apparatus 1500b expressing the host function also loses the AR marker 10, the guest machine (game apparatus 1500b) having the second highest expression priority ranks the host function. Stop and start functioning as a guest machine. Instead, since the guest machine (game device 1500c) with the third highest expression priority has received the unrecognizable signal from all the machines higher than itself, it is determined that the host function should be expressed. To express.

図10(3)の組み合わせ状態から、当初のホスト機であるゲーム装置1500aにてARマーカ10の認識が再開されると、ゲーム装置1500aは、ホスト機能を再開させるとともに認識不能通知の発信を停止する。ホスト機能を代行してきたゲーム装置1500cは、ゲーム装置1500aからの認識不能信号を受信しなくなるので、ホスト機能を停止し、再びゲスト機としての機能のみ発現するようになる。   When the recognition of the AR marker 10 is resumed in the game apparatus 1500a which is the original host machine from the combination state of FIG. 10 (3), the game apparatus 1500a resumes the host function and stops sending the notification of unrecognition. To do. Since the game device 1500c that has performed the host function does not receive the unrecognizable signal from the game device 1500a, the host device is stopped and only the function as the guest machine is exhibited again.

このように、本実施形態によれば、ARマーカ10を認識している何れかの機体が、常にARマーカ10を基準としたオブジェクトの位置決め処理を担うように構成できる。よって、もしホスト機であるゲーム装置がARマーカを認識できない状態になると現実空間と仮想3次元空間(CG空間)との位置合わせにズレが発生し、敵キャラクタ7が傾いて配置されるなどの不具合が生じる可能性が高くなるが、本実施形態ではゲスト機によるホスト代行機能によってそうした事態を防ぐことができる。   Thus, according to the present embodiment, any aircraft that recognizes the AR marker 10 can always be configured to perform an object positioning process with the AR marker 10 as a reference. Therefore, if the game device that is the host machine becomes unable to recognize the AR marker, a misalignment occurs in the alignment between the real space and the virtual three-dimensional space (CG space), and the enemy character 7 is inclined and arranged. In this embodiment, such a situation can be prevented by the host proxy function of the guest machine.

[機能ブロックの説明]
次に、本実施形態を実現するための機能構成について説明する。
図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 game apparatus 1500 according to the present embodiment. The game device 1500 includes an operation input unit 100, an imaging unit 104, an attitude detection unit 108, an acceleration detection unit 110, a processing unit 200, a sound output unit 350, an image display unit 360, a communication unit 370, A positioning signal receiving unit 380 and a storage unit 500 are provided.

操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボールといった直接プレーヤが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサなど、運動や姿勢を検知する素子などによっても実現できる。図1の方向入力キー1502、ホームキー1504がこれに該当する。3軸ジャイロ1556、3軸加速度センサ1557の検出値を操作入力に利用する場合には、それらも該当することとなる。また、本実施形態の操作入力部100はタッチ操作入力部102を備え、表示画面へ指などで触れることによる操作入力を可能としている。図1のタッチパネル1506がこれに該当する。   The operation input unit 100 outputs an operation input signal to the processing unit 200 in accordance with various operation inputs made by the player. For example, it can be realized not only by a button switch, a joystick, a touchpad, a trackball, etc., but also by an element that detects movement or posture, such as an acceleration sensor, angular velocity sensor, tilt sensor, geomagnetic sensor, etc. . The direction input key 1502 and the home key 1504 in FIG. 1 correspond to this. When the detection values of the 3-axis gyro 1556 and the 3-axis acceleration sensor 1557 are used for operation input, they are also applicable. In addition, the operation input unit 100 of this embodiment includes a touch operation input unit 102, which enables operation input by touching the display screen with a finger or the like. The touch panel 1506 in FIG. 1 corresponds to this.

撮像部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 processing unit 200. For example, it is realized with a lens, a mechanical shutter, a shutter driver, a photoelectric conversion element such as a CCD image sensor module or a CMOS image sensor module, a digital signal processor (DSP) that reads out the amount of charge from the photoelectric conversion element and generates image data, and an IC memory. The In FIG. 1, the CCD camera module 1516 corresponds to this.

姿勢検出部108は、ゲーム装置1500の姿勢変化を検出し検出信号を処理部200へ出力する。電子コンパスやジャイロスコープなどで実現できる。図1の電子コンパス1555や3軸ジャイロ1556がこれに該当する。姿勢検出は、直交3軸とし、そのうち何れかの軸を撮像部104が撮影する光軸方向に合わせてロール、ピッチ、ヨーの3成分について算出すると好適である。尚、本実施形態では、ゲーム装置1500にCCDカメラモジュール1516が固定されているので、姿勢検出部108は、プレーヤ視点の姿勢変化を検出しているとも言える。   Posture detection unit 108 detects a change in posture of game device 1500 and outputs a detection signal to processing unit 200. This can be realized with an electronic compass or gyroscope. The electronic compass 1555 and the three-axis gyro 1556 shown in FIG. In the posture detection, it is preferable to calculate three components of roll, pitch, and yaw by setting three orthogonal axes and aligning any one of them with the optical axis direction taken by the imaging unit 104. In this embodiment, since the CCD camera module 1516 is fixed to the game apparatus 1500, it can be said that the attitude detection unit 108 detects the attitude change of the player viewpoint.

加速度検出部110は、ゲーム装置1500に作用している加速度を検出することができる。図1の3軸加速度センサ1557がこれに該当する。尚、本実施形態では、ゲーム装置1500にCCDカメラモジュール1516が固定されているので、加速度検出部110は、プレーヤ視点の移動に伴う加速度を検出しているとも言える。   The acceleration detection unit 110 can detect the acceleration acting on the game device 1500. This corresponds to the triaxial acceleration sensor 1557 of FIG. In this embodiment, since the CCD camera module 1516 is fixed to the game apparatus 1500, it can be said that the acceleration detection unit 110 detects the acceleration accompanying the movement of the player viewpoint.

処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品の適当な組み合わせによって実現される。処理部200は、各機能部との間でデータの入出力制御を行い、所定のプログラムやデータ、操作入力部100からの操作入力信号等に基づいて各種の演算処理を実行して、ゲーム装置1500の動作を制御する。図1では制御基板1550がこれに該当する。
そして、処理部200は、ゲーム演算部202と、音生成部250と、画像生成部260と、通信制御部270と、測位制御部280とを備える。
The processing unit 200 is realized by an appropriate combination of, for example, a microprocessor such as a CPU and a GPU, and an electronic component such as an ASIC and an IC memory. The processing unit 200 performs data input / output control with each functional unit, executes various arithmetic processes based on predetermined programs and data, operation input signals from the operation input unit 100, and the like, The operation of 1500 is controlled. In FIG. 1, the control board 1550 corresponds to this.
The processing unit 200 includes a game calculation unit 202, a sound generation unit 250, an image generation unit 260, a communication control unit 270, and a positioning control unit 280.

ゲーム演算部202は、本実施形態のゲームを実行するために必要な各種制御を実行する。また、システムクロックを用いた制限時間などの計時処理、フラグ管理処理、などを適宜実行することができる。   The game calculation unit 202 executes various controls necessary for executing the game of the present embodiment. In addition, it is possible to appropriately execute timing processing such as a time limit using the system clock, flag management processing, and the like.

図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 game calculation unit 202 in the present embodiment. The game calculation unit 202 of the present embodiment includes a game participation management control unit 204, an own device information calculation unit 206, an own device information transmission control unit 220, an other device information reception control unit 221, and a recognition state determination unit 222. , An unrecognizable signal transmission control unit 223, a host function expression determination unit 224, a character display control unit 230, and an NPC information transmission control unit 240.

ゲーム参加管理制御部204は、マルチプレイのためのゲーム参加関連の処理を実行する。例えば、自機をホスト機/ゲスト機とするかをプレーヤに選択させる処理を実行する。そして、この選択処理にてホスト機に選択された場合には、他機をゲーム参加機として受付・登録する処理と、ゲーム参加機の登録情報の配信に関する処理を実行する。また、ホスト機/ゲスト機に係わらず、自プレーヤにプレーヤキャラクタの種類を選択させるなどのプレーヤキャラクタ設定処理をする。そして、プレーヤキャラクタの設定情報を他機に配信する処理を行う。   The game participation management control unit 204 executes game participation related processing for multiplayer. For example, a process for causing the player to select whether the own machine is the host machine / guest machine is executed. When the host machine is selected in this selection process, a process for accepting / registering another machine as a game participant and a process for distributing registration information of the game participant are executed. In addition, regardless of the host machine / guest machine, player character setting processing such as allowing the player to select the type of player character is performed. The player character setting information is then distributed to other devices.

また、本実施形態のゲーム参加管理制御部204は、発現優先順位設定部205を備える。発現優先順設定部205は、自機がホスト機能を発現している場合に、参加受付に伴って発現優先順位を設定し他機へ配信制御する。   In addition, the game participation management control unit 204 of this embodiment includes an expression priority setting unit 205. The expression priority order setting unit 205 sets the expression priority order in response to participation acceptance and controls distribution to other apparatuses when the own apparatus expresses the host function.

自機情報算出部206は、ARマーカ10に対する自機のプレーヤ視点の位置関係に関する情報を算出する。本実施形態では、相対位置算出部207と、現在位置決定部209と、相対姿勢算出部210と、現在姿勢決定部211と、重み付け設定部212とを含む。   The own device information calculation unit 206 calculates information related to the positional relationship of the player viewpoint of the own device with respect to the AR marker 10. In the present embodiment, a relative position calculation unit 207, a current position determination unit 209, a relative posture calculation unit 210, a current posture determination unit 211, and a weight setting unit 212 are included.

相対位置算出部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 position calculation unit 207 periodically calculates information indicating the relative positional relationship of the own apparatus with respect to the marker using the captured image of the AR marker 10. That is, the latest relative position of the player viewpoint at that time is measured and calculated.
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 AR marker 10. The triaxial orthogonal coordinates (Xm, Ym, Zm) are obtained. Then, the relative position (Xc, Yc, Zc) and the relative distance Lc in the coordinate system are calculated. Specifically, the AR marker 10 is detected by analyzing the image captured by the imaging unit 104, the type and orientation of the AR marker 10 are determined, and the relative position of the marker reference is calculated. These processes can be realized by appropriately using a known AR technique. Further, the relative distance Lc is calculated in units of actual size based on the card size (actual size; for example, 5 cm × 7 cm) set in advance corresponding to the type of the AR marker 10 and the number of dots of the AR marker 10 in the photographed image. calculate.

そして、本実施形態では、相対位置算出部207は、位置変化抑制制御部208としての機能を有する。
位置変化抑制制御部208は、ARマーカ10を認識できない認識不能状態のときに、ゲーム空間のオブジェクトの位置移動を抑制する処理を行う。具体的には、認識不能となってから認識状態に復帰するまでの間、ゲーム装置の位置の移動を無し(プレーヤ視点の位置移動を無し)と仮定して相対位置を決定する。より具体的には、認識不能以降に新たに算出する相対位置を認識不能になる直前に算出した相対位置に固定し、認識復帰とともにその固定を解除する(図9参照)。換言すると、認識不能状態が検出されている間、コンピュータの姿勢変化に応じてオブジェクトの表示向きを制御する認識不能時向き制御部として機能する。
In the present embodiment, the relative position calculation unit 207 functions as the position change suppression control unit 208.
The position change suppression control unit 208 performs a process of suppressing the position movement of the object in the game space when the AR marker 10 cannot be recognized. Specifically, the relative position is determined on the assumption that there is no movement of the position of the game device (no movement of the position of the player's viewpoint) from when recognition is impossible to when the state returns to the recognition state. More specifically, the relative position newly calculated after the recognition is impossible is fixed to the relative position calculated immediately before the recognition becomes impossible, and the fixation is released when the recognition is restored (see FIG. 9). In other words, while the unrecognizable state is detected, it functions as an unrecognizable direction control unit that controls the display direction of the object according to the change in the posture of the computer.

現在位置決定部209は、相対位置算出部207により算出された所定分過去の相対位置情報から最新の相対位置までを、重み付け設定部212によって設定された重み付けWnを用いた加重平均によって、仮想カメラCMの制御に適用される位置情報を算出する(図8参照)。   The current position determination unit 209 uses a weighted average using the weighting Wn set by the weighting setting unit 212 from the relative position information of the past a predetermined amount calculated by the relative position calculation unit 207 to the latest relative position. The position information applied to CM control is calculated (see FIG. 8).

相対姿勢算出部210は、姿勢検出部108による検出結果に基づいて、自機の姿勢情報を周期的に算出する。例えば、撮像部104による光軸方向を基準として、ピッチ、ヨー、ロールの各成分を、ARマーカ10の所定位置(例えば、カードの中心や隅の何れか)を基準点とマーカの示す基準方向に基づく3軸直交座標(Xm,Ym,Zm)に対する相対姿勢(ωp,ωy,ωr)を算出する。   The relative attitude calculation unit 210 periodically calculates the attitude information of the own device based on the detection result by the attitude detection unit 108. For example, on the basis of the optical axis direction by the imaging unit 104, the pitch, yaw, and roll components, the predetermined position of the AR marker 10 (for example, one of the center or corner of the card), the reference point and the reference direction indicated by the marker The relative orientation (ωp, ωy, ωr) with respect to the three-axis orthogonal coordinates (Xm, Ym, Zm) based on the above is calculated.

現在姿勢決定部211は、所定分過去の姿勢情報から最新の姿勢情報までを重み付け設定部212によって設定された重み付けを用いた加重平均によって、仮想カメラCMの制御に適用される姿勢情報を算出する(図8参照)。   The current posture determination unit 211 calculates posture information applied to the control of the virtual camera CM by a weighted average using weights set by the weight setting unit 212 from a predetermined amount of past posture information to the latest posture information. (See FIG. 8).

重み付け設定部212は、加重平均に処せられる算出時期が異なる情報毎の重み付けWn(図8参照)を、最新の相対距離Lcと対応づけられる算出時期に応じて所定関数又は所定のテーブルデータを参照して決定する。換言すると、加重平均に処せられる自機位置情報や自機姿勢の算出時期に応じて重み付けする第1の重み付け変更機能と、自機位置情報や自機姿勢の算出時におけるARマーカ10との距離Lとに応じて重み付けする第2の重み付け変更機能とを実現する。   The weighting setting unit 212 refers to a predetermined function or predetermined table data according to the calculation time associated with the latest relative distance Lc with respect to the weighting Wn (see FIG. 8) for each information having different calculation time that can be processed by the weighted average. And decide. In other words, the distance between the first weight change function weighted according to the calculation time of the own machine position information and the own machine attitude subjected to the weighted average, and the AR marker 10 at the time of calculating the own machine position information and the own machine attitude A second weighting change function for weighting according to L is realized.

自機情報送信制御部220は、自機に係る各種情報をゲームに参加する他機へ送信させる処理を行う。例えば、操作入力部100による操作入力情報、現在位置、現在姿勢、相対距離Lc、要素領域14の定義情報などがこれに含まれる。
これに対して、他機情報受信制御部221は、他機に係る情報(他機における操作入力部100による操作入力情報、現在位置、現在姿勢、相対距離Lc、要素領域14の定義情報など)を受信制御する。
The own device information transmission control unit 220 performs processing for transmitting various information related to the own device to other devices participating in the game. For example, this includes operation input information from the operation input unit 100, current position, current posture, relative distance Lc, element region 14 definition information, and the like.
On the other hand, the other device information reception control unit 221 includes information related to the other device (operation input information by the operation input unit 100 in the other device, current position, current posture, relative distance Lc, definition information of the element region 14, and the like). Receive control.

認識状態判定部222は、ARマーカ10の認識状態を検出することができる。具体的には、撮像部104で撮影した画像内にARマーカ10が検出できない場合や、当該マーカのデザインを認識できなかった場合に認識不能状態を検出し、再び認識できるようになると認識復帰状態を検出する。
尚、認識不能状態は、例えばARマーカ10が遠くに有って撮像部104の解像能力との関係からデザイン識別に十分な情報が得られないケースや、ARマーカ10のカード面に対してCCDカメラモジュール1516の光軸方向が浅いために同じくデザイン識別に十分な情報が得られないケース、ARマーカ10の一部が撮影範囲外に残ってデザイン識別に十分な情報が得られないケースなどが考えられる。
The recognition state determination unit 222 can detect the recognition state of the AR marker 10. Specifically, when the AR marker 10 cannot be detected in the image captured by the imaging unit 104, or when the design of the marker cannot be recognized, the recognition unrecognized state is detected and the recognition return state is established. Is detected.
In the unrecognizable state, for example, a case where the AR marker 10 is far away and sufficient information for design identification cannot be obtained due to the relationship with the resolution capability of the imaging unit 104, or the card surface of the AR marker 10 Similarly, a case where sufficient information for design identification cannot be obtained because the optical axis direction of the CCD camera module 1516 is shallow, and a case where a part of the AR marker 10 remains outside the imaging range and sufficient information for design identification cannot be obtained. Can be considered.

認識不能信号送信制御部223は、認識状態判定部222により認識不能状態が検出された場合に、他のゲーム参加機へ所定の「認識不能信号」を送信させるための処理を実行する。他機に対してホスト機能の発現を要求する継承信号を送信する継承信号送信制御部として機能するとも言える。   The unrecognizable signal transmission control unit 223 executes a process for transmitting a predetermined “unrecognizable signal” to other game participants when the unrecognized state is detected by the recognized state determining unit 222. It can also be said that it functions as an inherited signal transmission control unit that transmits an inherited signal for requesting the expression of the host function to another machine.

ホスト機能発現判断部224は、ゲームの参加機それぞれの認識不能状態の有無に基づいて自機がホスト機として機能すべきか否かを判断する。本実施形態では、自機に設定された発現優先順位と、自機及び他機の認識不能状態の監視結果とに基づいて、自機の発現優先順位よりも上位にある全ての他機が認識不能状態のとき、ホスト機として機能すべきと判断する。   The host function expression determination unit 224 determines whether or not the host device should function as a host device based on the presence or absence of recognition of each participating device of the game. In this embodiment, all other devices that are higher than the expression priority of the own device are recognized based on the expression priority set for the own device and the monitoring result of the unrecognizable state of the own device and the other device. When it is disabled, it is determined that it should function as a host machine.

キャラクタ表示制御部230は、ゲーム参加機のARマーカ10に対する位置関係に基づいて仮想3次元空間(CG空間)中のキャラクタ等のオブジェクトの配置を制御する。換言すると、プレーヤキャラクPC1〜PC3や敵キャラクタ7といったキャラクタの拡張現実空間内における表示位置を制御する。そして、本実施形態のキャラクタ表示制御部230は、領域設定部231と、NPC制御部235とを有する。   The character display control unit 230 controls the arrangement of objects such as characters in the virtual three-dimensional space (CG space) based on the positional relationship of the game participants with respect to the AR marker 10. In other words, the display positions of the characters such as the player characters PC1 to PC3 and the enemy character 7 in the augmented reality space are controlled. The character display control unit 230 according to the present embodiment includes an area setting unit 231 and an NPC control unit 235.

領域設定部231は、所定オブジェクト(本実施形態では敵キャラクタ7)を表示させる拡張現実空間中の領域を設定する。具体的には、基本領域設定部232と、要素領域設定部233と、配置領域設定部234とを有する。   The area setting unit 231 sets an area in the augmented reality space where a predetermined object (enemy character 7 in this embodiment) is displayed. Specifically, it includes a basic area setting unit 232, an element area setting unit 233, and an arrangement area setting unit 234.

基本領域設定部232は、ARマーカ10から各プレーヤ視点までの相対距離Lcに基づいて基本領域13を設定する。つまり、配置領域12の基本となるサイズを設定する。具体的には、ゲーム参加機別の相対位置Lcのうち最小値を変数として所定の関数f(Lc)で基本領域13の基本長さLbを求める。そして、ARマーカ10の種類に応じて予め設定されている基本形状を、所定寸法が基本長さLbとなるように拡大/縮小してサイズを変更して基本領域13を設定する。   The basic area setting unit 232 sets the basic area 13 based on the relative distance Lc from the AR marker 10 to each player viewpoint. That is, the basic size of the arrangement area 12 is set. Specifically, the basic length Lb of the basic area 13 is obtained by a predetermined function f (Lc) using the minimum value as a variable among the relative positions Lc for each game participant. Then, the basic shape preset according to the type of the AR marker 10 is enlarged / reduced so that the predetermined dimension becomes the basic length Lb, and the size is changed to set the basic region 13.

要素領域設定部233は、各プレーヤの視点位置でARマーカ10を撮影した場合の自機撮影範囲及び他機撮影範囲を用いて、各プレーヤの視点から見てARマーカ10がロストし難いようにしながら敵キャラクタ7を配置できる要素領域14を設定する。また、プレーヤ視点から見たARマーカの平面方向に対する俯角θcを用いて自機撮影範囲及び他機撮影範囲の奥行を変更する奥行変更部としての機能を果たす。   The element area setting unit 233 uses the own device shooting range and the other device shooting range when the AR marker 10 is shot at the viewpoint position of each player so that the AR marker 10 is not easily lost from the viewpoint of each player. The element area 14 in which the enemy character 7 can be placed is set. In addition, it functions as a depth changing unit that changes the depth of the photographing range of the own device and the photographing range of the other device using the depression angle θc with respect to the planar direction of the AR marker viewed from the player's viewpoint.

配置領域設定部234は、基本領域13と要素領域14とを用いて、何れのゲーム参加機についてもARマーカ10がロストし難いようにしながら敵キャラクタ7を配置できる配置領域12を設定する。本実施形態では、基本領域13及び各要素領域14の重合部分を求め、これを配置領域12とする。   The arrangement area setting unit 234 uses the basic area 13 and the element area 14 to set the arrangement area 12 in which the enemy character 7 can be arranged while making it difficult for the AR marker 10 to be lost for any game participant. In the present embodiment, overlapping portions of the basic region 13 and each element region 14 are obtained and set as the arrangement region 12.

NPC制御部235は、敵キャラクタ7などのNPC(ノンプレーヤキャラクタ)や、飛翔体6などのエフェクトオブジェクト、ゲーム空間の背景を形成する背景オブジェクトの配置制御を行う。いわゆる「AI制御」を行う。NPC等のオブジェクトの制御情報(位置座標、姿勢、モーション制御データなど)は、オブジェクト毎に対応づけて所定期間分(例えば、ゲーム画像の数フレーム分)の履歴情報が、記憶部500のプレイデータ541の敵キャラクタ配置情報キュー544に格納される(図11参照)。そして、本実施形態におけるNPC制御部235は、制御開始時特殊制御部236と、移動方向制御部237とを有する。   The NPC control unit 235 controls the placement of NPCs (non-player characters) such as the enemy character 7, effect objects such as the flying object 6, and background objects that form the background of the game space. So-called “AI control” is performed. The control information (position coordinates, orientation, motion control data, etc.) of an object such as NPC is history information for a predetermined period (for example, several frames of a game image) associated with each object, and play data stored in the storage unit 500. It is stored in the enemy character arrangement information queue 544 of 541 (see FIG. 11). The NPC control unit 235 according to this embodiment includes a control start special control unit 236 and a movement direction control unit 237.

制御開始時特殊制御部236は、制御開始から所定期間(例えば、ゲーム画像の数フレーム分)、制御対象とするオブジェクトの移動速度及び/又は動作速度を低減させるように制御する。具体的には、敵キャラクタ配置情報キュー544に格納されている分の過去の制御情報と新たに算出した制御情報とを均して実際の制御情報とする。
例えば、ホスト機能を担うゲーム装置が切り換ったタイミングでは、切り換り前後で制御情報値のジャンプが生じる場合があるが、過去値と最新値との均し値を実際の制御に用いることで、切り換えタイミングにおけるオブジェクトの瞬間移動やズレ・ブレなどの不自然な表示を抑制することができる。特に、オブジェクトの表示位置の変化(ズレ・ブレ)に対して効果的である。
The control start special control unit 236 performs control so as to reduce the movement speed and / or movement speed of the object to be controlled for a predetermined period (for example, several frames of the game image) from the start of control. Specifically, past control information stored in the enemy character arrangement information queue 544 and newly calculated control information are averaged to obtain actual control information.
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 direction control unit 237 determines the movement direction of the object to be controlled based on the image position of the AR marker 10 in the captured image (live view) by the imaging unit 104, and the relative direction of the object in the arrangement area 12. And a process of determining a moving direction based on the position.

前者の処理では、ホスト機能発現機のライブビュー中の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 enemy character 7 moves closer to the image position of the AR marker 10 with a higher probability as the image position of the AR marker 10 in the live view of the host function developing machine is farther from the image center. Control. In other words, the enemy character 7 is closer to the AR marker 10 as the player viewpoint direction of the host function developing machine (the optical axis direction of the CCD camera module 1516 is the same as the visual line direction of the virtual camera) is farther from the AR marker 10. Control the operation. Specifically, the moving direction of the enemy character 7 is determined so that the enemy character 7 approaches the AR marker 10 as the angle between the direction from the player (game device) to the AR marker 10 and the player viewpoint direction increases. . When determining the movement direction and the movement target point by the lottery process, it can be realized by temporarily changing the lottery probability or executing the lottery again when the lottery result does not approach the AR marker 10.

例えば、敵キャラクタ7が最新の配置領域12内に有れば、領域外に出ないように移動方向を選択する処理、または、配置領域12の輪郭との距離を算出して所定の接近条件を満たす状態を検出した場合には次の移動量を一時的に低減させる処理を行う。また、もし敵キャラクタ7が領域外に有るのであれば、領域内に戻るように移動方向を選択する処理や、できるだけ速やかに戻れるように移動量を一時的に増加させる処理なども適用可能である。   For example, if the enemy character 7 is in the latest placement area 12, a process for selecting a moving direction so as not to go out of the area, or a distance from the outline of the placement area 12 is calculated and a predetermined approach condition is set. When a satisfying state is detected, a process for temporarily reducing the next movement amount is performed. Further, if the enemy character 7 is outside the area, a process for selecting the movement direction so as to return to the area or a process for temporarily increasing the movement amount so as to return as quickly as possible can be applied. .

NPC情報送信制御部240は、NPC制御部235により求められたNPCの制御情報を他機へ送信制御する。   The NPC information transmission control unit 240 controls transmission of the NPC control information obtained by the NPC control unit 235 to another device.

尚、領域設定部231と、NPC制御部235と、NPC情報送信制御部240は、自機がホスト機として機能すべきときにのみ発現する機能部であって、これらはホスト機能実行制御部249を構成する。   The area setting unit 231, the NPC control unit 235, and the NPC information transmission control unit 240 are functional units that appear only when the own device should function as a host device, and these are the host function execution control unit 249. Configure.

図11に戻り、音生成部250は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部202による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。   Returning to FIG. 11, the sound generation unit 250 is realized by, for example, a digital signal processor (DSP), a processor such as a voice synthesis IC, an audio codec that can play back an audio file, and the like. Sound effects, BGM, and sound signals of various operation sounds are generated and output to the sound output unit 350.

音出力部350は、音生成部250から入力される音信号に基づいてゲームに関する効果音やBGM、電話通信音声等を音出力する装置によって実現される。図1ではスピーカ1510がこれに該当する。   The sound output unit 350 is realized by a device that outputs sound effects such as sound effects, BGM, telephone communication sound, and the like related to the game based on the sound signal input from the sound generation unit 250. In FIG. 1, the speaker 1510 corresponds to this.

画像生成部260は、例えば、GPU、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ、テクスチャデータの展開用に使用されるICメモリ等によって実現される。画像生成部260は、ゲーム演算部202による処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部360に出力する。   The image generation unit 260 is, for example, a processor such as a GPU or a digital signal processor (DSP), a program such as a video signal IC or a video codec, an IC memory for drawing frames such as a frame buffer, or an IC used for developing texture data. This is realized by a memory or the like. The image generation unit 260 generates one game screen in one frame time (for example, 1/60 second) based on the processing result by the game calculation unit 202, and outputs the generated image signal of the game screen to the image display unit 360. To do.

画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、図1のタッチパネル1506がこれに該当する。   The image display unit 360 displays various game images based on the image signal input from the image generation unit 260. For example, it can be realized by an image display device such as a flat panel display, a cathode ray tube (CRT), a projector, or a head mounted display. In the present embodiment, the touch panel 1506 in FIG. 1 corresponds to this.

通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
これに関連する通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1の無線通信モジュール1553がこれに該当する。
The communication control unit 270 executes data processing related to data communication, and realizes data exchange with an external device via the communication unit 370.
A communication unit 370 related to this is connected to the communication line 1 to realize communication. For example, it is realized by a wireless communication device, a modem, a TA (terminal adapter), a cable communication cable jack, a control circuit, and the like, and the wireless communication module 1553 of FIG. 1 corresponds to this.

測位制御部280は、測位信号受信部380を介して測位システムから得られた信号から位置情報を算出するための制御、つまり測位計算とその結果の管理を行う。例えば、図1のGPSモジュール1554がこれに該当する。測位計算に携帯電話基地局の既知の位置情報を利用する場合には、基地局と無線通信するための無線通信モジュール1553も該当することになる。   The positioning control unit 280 performs control for calculating position information from a signal obtained from the positioning system via the positioning signal receiving unit 380, that is, performs positioning calculation and management of the result. For example, the GPS module 1554 shown in FIG. When the known position information of the mobile phone base station is used for the positioning calculation, the wireless communication module 1553 for wireless communication with the base station is also applicable.

記憶部500は、処理部200にゲーム装置1500を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図1では制御基板1550が搭載するICメモリ1552やメモリカード1540がこれに該当する。   The storage unit 500 stores a program and various data for realizing various functions for causing the processing unit 200 to control the game apparatus 1500 in an integrated manner. Further, it is used as a work area of the processing unit 200, and temporarily stores calculation results executed by the processing unit 200 according to various programs, input data input from the operation input unit 100, and the like. Such a function is realized by, for example, an IC memory such as a RAM or a ROM, a magnetic disk such as a hard disk, or an optical disk such as a CD-ROM or DVD. In FIG. 1, the IC memory 1552 and the memory card 1540 mounted on the control board 1550 correspond to this.

本実施形態の記憶部500は、ゲーム装置1500をシステムプログラム502と、ゲームプログラム504とを記憶している。
システムプログラム502は、ゲーム装置1500のコンピュータとしての基本機能を実現するためのプログラムである。
The storage unit 500 of the present embodiment stores a system program 502 and a game program 504 for the game apparatus 1500.
A system program 502 is a program for realizing basic functions of the game apparatus 1500 as a computer.

ゲームクログラム504は、処理部200にゲーム演算部202としての機能を実現させせるためのプログラムである。メモリカード1540に予め記憶されているものとするが、本実施形態では、ゲーム開始前に所定のサーバからダウンロードする構成であっても良い。   The game chromatogram 504 is a program for causing the processing unit 200 to realize the function as the game calculation unit 202. Although it is assumed that it is stored in advance in the memory card 1540, the present embodiment may be configured to download from a predetermined server before starting the game.

また、記憶部500には、予めゲーム空間初期設定データ510と、キャラクタ初期設定データ511と、ARマーカ登録データ512と、奥行関数設定データ514とが記憶されている。これらもメモリカード1540に予め記憶されているものとするが、ゲーム開始前に所定のサーバからダウンロードする構成であっても良い。
また、記憶部500には、ゲーム進行に応じて生成され随時更新されるデータとして、ゲーム参加機登録データ520と、自機情報キュー530と、現在位置537と、現在姿勢538と、プレイデータ541と、仮想3次元空間データ560と、ホスト機能継承タイミング562と、が記憶される。その他、各種処理を実行するにあたり必要となるデータ(例えば、圧縮解凍されたテクスチャデータ、経過時間、各種タイマー値、カウンタ、フラグ)なども適宜記憶されるものとする。
The storage unit 500 stores game space initial setting data 510, character initial setting data 511, AR marker registration data 512, and depth function setting data 514 in advance. These are also stored in the memory card 1540 in advance, but may be downloaded from a predetermined server before the game is started.
In addition, in the storage unit 500, game participation machine registration data 520, own machine information queue 530, current position 537, current attitude 538, and play data 541 are generated as the game progresses and updated as needed. And virtual three-dimensional space data 560 and host function inheritance timing 562 are stored. In addition, data necessary for executing various processes (for example, compressed / decompressed texture data, elapsed time, various timer values, counters, flags) and the like are also stored as appropriate.

ゲーム空間初期設定データ510は、ゲームの舞台を作るための背景オブジェクトを定義する初期設定データである。背景オブジェクトのモデルデータ、テクスチャデータ、配置位置データなどが含まれる。   The game space initial setting data 510 is initial setting data that defines a background object for creating a game stage. This includes model data, texture data, arrangement position data, etc. of the background object.

キャラクタ初期設定データ511は、プレーヤキャラクタPC1〜PC3や、敵キャラクタ7などのゲームキャラクタの初期設定データを格納する。各キャラクタ毎に、モデルデータ、テクスチャデータ、モーションデータ、能力パラメータ(攻撃力、防御力、HPなど)の初期値をキャラクタ毎に格納している。   The character initial setting data 511 stores initial setting data of game characters such as the player characters PC1 to PC3 and the enemy character 7. For each character, initial values of model data, texture data, motion data, and ability parameters (attack power, defense power, HP, etc.) are stored for each character.

ARマーカ登録データ512は、ゲームで使用できるARマーカを登録するデータであって使用できる種類毎に記憶されている。そして、図13に示すように、マーカ種類と、対応マーカカテゴリと、デザインパターンデータと、カード寸法と、基本領域13の雛形となる基本領域モデルと、基本長さLbとする寸法を指定する基本長さ適用寸法と、を格納する。   The AR marker registration data 512 is data for registering an AR marker that can be used in a game, and is stored for each type that can be used. Then, as shown in FIG. 13, a marker type, a corresponding marker category, design pattern data, card dimensions, a basic area model that serves as a template for the basic area 13, and a basic that designates a dimension with a basic length Lb. Stores the length applicable dimension.

奥行関数設定データ514は、要素領域14の奥行Dbを算出するための関数を設定するデータであって、ARマーカ10のマーカカテゴリ別に用意されている(図7参照)。   The depth function setting data 514 is data for setting a function for calculating the depth Db of the element region 14, and is prepared for each marker category of the AR marker 10 (see FIG. 7).

ゲーム参加機登録データ520は、ゲームに参加するゲーム装置の登録に関するデータ群であって参加処理により生成される。例えば図14に示すように、ゲーム機ID521と対応づけて、通信接続で相手先を特定するためのアドレス情報522と、発現優先順位523と、プレーヤキャラクタ種類524と、マーカ認識状態525と、ホスト機能を発現する機体であるかを示すホスト機能発現フラグ526とを格納する。
ゲーム参加機登録データ520は、ゲームの参加処理に関連してホスト機にてオリジナルが生成されたのちに各ゲスト機へ配信される。
The game participant registration data 520 is a data group related to registration of game devices participating in a game, and is generated by participation processing. For example, as shown in FIG. 14, in association with the game machine ID 521, address information 522 for specifying the other party by communication connection, expression priority 523, player character type 524, marker recognition state 525, host A host function expression flag 526 indicating whether the machine expresses a function is stored.
The game machine registration data 520 is distributed to each guest machine after an original is generated by the host machine in connection with the game participation process.

自機情報キュー530は、ARマーカ10を基準とした自機の位置や姿勢等の情報を所定算出回数分格納する。例えば図15に示すように、算出時刻532と対応づけて、相対位置533、相対姿勢534、相対距離535を格納する。   The own device information queue 530 stores information such as the position and posture of the own device based on the AR marker 10 for a predetermined number of times of calculation. For example, as shown in FIG. 15, the relative position 533, the relative posture 534, and the relative distance 535 are stored in association with the calculation time 532.

現在位置537及び現在姿勢538は、それぞれ自機情報キュー530に格納されている相対位置533の加重平均値、相対姿勢534の加重平均値が格納される。   The current position 537 and the current posture 538 store the weighted average value of the relative position 533 and the weighted average value of the relative posture 534 stored in the own device information queue 530, respectively.

プレイデータ541は、ホスト機能の実行により生成・管理されるデータ群であって、ゲーム進行状況を記述する各種データを格納する。本実施形態では、プレーヤキャラクタ状態データ542と、敵キャラクタ状態データ543と、敵キャラクタ配置情報キュー544と、飛翔体配置データ545と、基本領域設定データ550と、要素領域設定データ552と、配置領域設定データ554と、を含む。   The play data 541 is a data group generated and managed by executing the host function, and stores various data describing the game progress status. In this embodiment, player character state data 542, enemy character state data 543, enemy character arrangement information queue 544, flying object arrangement data 545, basic area setting data 550, element area setting data 552, arrangement area Setting data 554.

プレーヤキャラクタ状態データ542は、プレーヤキャラクタPC1〜PC3それぞれの状態を記述するデータ、例えばHP(ヒットポイント)などの能力値の現在値、適用されているモーションデータの識別情報やモーション制御データなど、を格納する。   The player character state data 542 includes data describing the states of the player characters PC1 to PC3, for example, current values of ability values such as HP (hit points), identification information of applied motion data, motion control data, and the like. Store.

敵キャラクタ状態データ543は、敵キャラクタ7の状態を記述するデータが格納される。例えば、敵キャラクタのHPなどの能力値の現在値、適用されるモーションデータの識別情報やモーション制御データなどを格納する。
敵キャラクタ配置情報キュー544は、算出時刻と対応づけられた敵キャラクタ7のCG空間における位置や姿勢を、所定算出回数分だけ格納する。
飛翔体配置データ545は、発射された飛翔体6毎の位置や姿勢、速度、加速度など飛翔の状態を記述する情報を格納する。
The enemy character state data 543 stores data describing the state of the enemy character 7. For example, the current value of the ability value such as HP of the enemy character, identification information of motion data to be applied, motion control data, and the like are stored.
The enemy character arrangement information queue 544 stores the position and posture of the enemy character 7 in the CG space associated with the calculation time for a predetermined calculation count.
The flying object arrangement data 545 stores information describing the flying state such as the position, posture, speed, and acceleration of each launched flying object 6.

基本領域設定データ550は、基本領域13の最新の定義データを格納する。
要素領域設定データ552は、ゲーム参加機毎つまりはプレーヤ視点位置毎に求めた要素領域14の最新の定義データを格納する。
配置領域設定データ554は、配置領域12の最新情報を格納する。
The basic area setting data 550 stores the latest definition data of the basic area 13.
The element area setting data 552 stores the latest definition data of the element area 14 obtained for each game participant, that is, for each player viewpoint position.
The arrangement area setting data 554 stores the latest information of the arrangement area 12.

仮想3次元空間データ560は、仮想3次元空間に配置されるプレーヤキャラクタPC1〜PC3、敵キャラクタ7、飛翔体6、背景物などの各種オブジェクトの配置情報を格納する。   The virtual three-dimensional space data 560 stores arrangement information of various objects such as player characters PC1 to PC3, enemy character 7, flying object 6, and background objects arranged in the virtual three-dimensional space.

ホスト機能継承タイミング562は、ホスト機能を発現する機体が変化したタイミング情報(例えば、システム時刻)を格納する。換言すると、ホスト機能の実行役が別の機体に継承されたタイミングを格納する。   The host function inheritance timing 562 stores timing information (for example, system time) when the machine that expresses the host function has changed. In other words, the timing at which the execution function of the host function is inherited by another machine is stored.

[処理の流れの説明]
次に図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 game device 1500 reading and executing the system program 502, the game program 504, and various setting data. It is assumed that the AR marker 10 is arranged in advance on the table 9 and the like, and the player is in a posture to take the AR marker 10 with the CCD camera module 1516 while holding each game device 1500 in his / her hand.

図17は、本実施形態における主たる処理の流れを説明するためのフローチャートである。ゲーム装置1500の処理部200は、先ず他のゲーム装置とのアドホックモードによる通信接続を確立する(ステップS2)。以降、ゲーム装置同士の間ではピア・ツー・ピア(P2P)のローカルネットワークが形成された状態となる。   FIG. 17 is a flowchart for explaining the main processing flow in the present embodiment. The processing unit 200 of the game device 1500 first establishes a communication connection with another game device in an ad hoc mode (step S2). Thereafter, a peer-to-peer (P2P) local network is formed between the game devices.

次に、処理部200は、ゲーム前準備処理を実行する(ステップS4)。
図18は、本実施形態におけるゲーム前準備処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ず、自機をホスト機とするかゲスト機とするかの選択画面を表示してプレーヤに何れかを選択させるホスト/ゲスト選択処理を実行する(ステップS6)。
Next, the processing unit 200 executes pre-game preparation processing (step S4).
FIG. 18 is a flowchart for explaining the flow of the pre-game preparation process in the present embodiment. In this process, the processing unit 200 first executes a host / guest selection process for displaying a selection screen for selecting the own machine as a host machine or a guest machine and causing the player to select one (step S6).

もし、ホスト機が選択された場合には(ステップS8の「ホスト」)、ゲーム参加機登録データ520を生成して自機を登録する(ステップS10)。すなわち、最初のゲーム機ID521を発行するとともに、先に確立したローカルエリアネットワークにおけるアドレス情報522を格納する。発現優先順位523は第1順位に設定し、マーカ認識状態525は認識状態を示す情報(図14の例では「1」)に初期化する。   If the host machine is selected (“host” in step S8), game participation machine registration data 520 is generated and the own machine is registered (step S10). That is, the first game machine ID 521 is issued and address information 522 in the local area network established previously is stored. The expression priority order 523 is set to the first order, and the marker recognition state 525 is initialized to information indicating the recognition state (“1” in the example of FIG. 14).

そして、ホスト機の処理部200は、自プレーヤキャラクタの選択処理(ステップS12)と、ゲーム空間の初期化処理を実行する(ステップS14)。
自プレーヤキャラクタの選択結果は、ゲーム参加機登録データ520のプレーヤキャラクタ種類524に格納される。
ゲーム空間の初期化処理では、ゲーム空間初期設定データ510及びキャラクタ初期設定データ511を参照して、仮想3次元空間に背景オブジェクトを配置してゲーム空間を配置するとともに、自プレーヤキャラクタPC1と敵キャラクタ7とを配置する。ゲーム空間にキャラクタが配置されるのに伴って、プレーヤキャラクタ状態データ542と、敵キャラクタ状態データ543とが生成・初期化される。そして、ゲーム空間の初期化処理を実行したならば、ホスト機の処理部200はホスト機としての参加処理を時限実行する(ステップS16)。
Then, the processing unit 200 of the host machine executes the player character selection process (step S12) and the game space initialization process (step S14).
The selection result of the player character is stored in the player character type 524 of the game participant registration data 520.
In the game space initialization process, with reference to the game space initial setting data 510 and the character initial setting data 511, the background space is arranged in the virtual three-dimensional space to arrange the game space, and the player character PC1 and the enemy character are arranged. 7 is arranged. As the characters are arranged in the game space, player character state data 542 and enemy character state data 543 are generated and initialized. When the game space initialization process is executed, the processing unit 200 of the host machine executes the participation process as the host machine for a limited time (step S16).

一方、ホスト/ゲストの選択処理にてゲストが選択された場合には(ステップ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 processing unit 200 of the game device 1500 that is the guest machine executes the player character selection process. (Step S18), a game participation request signal is transmitted to the host machine, and a participation process as a guest machine is performed (Step S22).

参加処理において、ホスト機の処理部200は、ゲーム参加リクエストしたゲスト機と適宜情報の送受を行って参加機として登録する。即ち、ゲーム参加機登録データ520に新たに付与したゲーム機ID521を設定し、これに対応付けて当該ゲスト機のアドレス情報522を登録し、発現優先順位523をゲスト機の登録順+1(よって、最初のゲスト機の発現優先順位は2位となる)を設定する。プレーヤキャラクタ種類524は当該ゲスト機から取得し、マーカ認識状態525は認識状態を示す値とする。そして、参加処理開始から所定受付時間が終了すると、ホスト機からゲーム参加機登録データ520がゲスト機に配信される。ゲスト機では、受信したゲーム参加機登録データ520を記憶部500に記憶させる。   In the participation process, the processing unit 200 of the host machine sends and receives information to and from the guest machine that requested the game participation and registers it as a participating machine. That is, the newly assigned game machine ID 521 is set in the game participation machine registration data 520, the address information 522 of the guest machine is registered in association with this, and the expression priority 523 is set to the registration order of the guest machine +1 (therefore, Set the first guest machine's expression priority to 2nd). The player character type 524 is acquired from the guest machine, and the marker recognition state 525 is a value indicating the recognition state. When the predetermined reception time ends from the start of the participation process, game participation machine registration data 520 is distributed from the host machine to the guest machine. In the guest machine, the received game participation machine registration data 520 is stored in the storage unit 500.

参加処理を終了したならば、図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 processing unit 200 repeatedly executes steps S32 to S320 in a predetermined cycle until the game end condition is satisfied.

一回の制御サイクル内において、処理部200は、先ず自動情報算出処理を実行する(ステップS32)。
図19は、自機情報算出処理の流れを説明するためのフローチャートである。同処理において、処理部200は先ず撮像部104による撮影映像をキャプチャし(ステップS60)、キャプチャした画像に写っているARマーカ10を検出する(ステップS62)。
In one control cycle, the processing unit 200 first executes an automatic information calculation process (step S32).
FIG. 19 is a flowchart for explaining the flow of the device information calculation process. In this process, the processing unit 200 first captures a video image taken by the imaging unit 104 (step S60), and detects the AR marker 10 in the captured image (step S62).

もし、ARマーカ10を検出できたならば(ステップS64のYES)、処理部200はARマーカ10の認識と種類の判別をする(ステップS66)。すなわち、公知のマーカ方式AR技術と同様にして、ARマーカが写っている部分を検出して、当該部分をARマーカ登録データ512(図13参照)に登録されているデザインパターンと照合することで、ARマーカ10を認識するとともにマーカの向きやマーカの種類、マーカのカテゴリを判定する。   If the AR marker 10 can be detected (YES in step S64), the processing unit 200 recognizes the AR marker 10 and determines the type (step S66). That is, in the same manner as in the known marker system AR technique, a portion where the AR marker is reflected is detected, and the portion is compared with the design pattern registered in the AR marker registration data 512 (see FIG. 13). The AR marker 10 is recognized, and the marker direction, marker type, and marker category are determined.

次いで、処理部200は、ARマーカ10に対する相対位置(Xc,Yc,Zc)と相対姿勢(ωp,ωy,ωr)と相対距離Lとを計測・算出する(ステップS68)。これらの算出結果は、自機情報キュー530に格納される。   Next, the processing unit 200 measures and calculates the relative position (Xc, Yc, Zc), the relative posture (ωp, ωy, ωr), and the relative distance L with respect to the AR marker 10 (step S68). These calculation results are stored in the own device information queue 530.

もし、ARマーカ10が検出されなかった場合には(ステップS64のNO)、処理部200は相対位置及び相対姿勢等の算出は行わず、自機情報キュー530の直近過去の相対位置533及び相対距離535を参照する。   If the AR marker 10 is not detected (NO in step S64), the processing unit 200 does not calculate the relative position and the relative attitude, and does not calculate the relative position 533 and the relative position in the latest past information queue 530. Refer to distance 535.

もし、自機情報キュー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 device information queue 530 as the current relative position and relative distance. Store (step S72). If those values in the latest past are not stored (NO in step S70), predetermined initial values are stored in the own device information queue 530 as the current relative position and relative distance (step S74).
Regarding the relative posture, regardless of whether or not those values in the latest past are stored in the own device information queue 530, the result measured based on the detection result of the posture detecting unit 108 is newly added to the own device information queue 530. (Step S76).

今回分の相対位置及び相対姿勢を決定したならば、処理部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 processing unit 200 next calculates a weighting wn (n: storage order of data stored in the own device information queue 530) (step S78). The current position 537 is obtained by weighted average of the relative positions 533 stored in the own device information queue 530 using the weighted wn thus obtained (step S80).
Further, the current posture 538 is obtained by weighted average of the relative postures 534 stored in the own device information queue 530 (step S82). The weighting wn related to the weighted average is calculated by using the latest relative distance Lc of the own device for a predetermined function h (n, Lc). When the weighting wn is calculated, the own device information calculation process is terminated.

図17のフローチャートに戻って、処理部200は次にホスト機能発現機設定処理を実行する(ステップS110)。   Returning to the flowchart of FIG. 17, the processing unit 200 next executes host function expressing machine setting processing (step S <b> 110).

図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 processing unit 200 first performs a monitoring process of the recognition state of the AR marker 10 in each game device (steps S112 to S122).
Specifically, when the AR marker 10 cannot be recognized in the own device information calculation process (YES in step S112), the processing unit 200 recognizes the marker recognition state 525 of the own device in the game participant registration data 520 (FIG. 14) is changed to “recognition is not possible (LOST)” (step S114), and a predetermined recognition impossibility signal is transmitted to another device (step S116). If the AR marker 10 can be recognized (NO in step S112), the marker recognition state 525 of the own device is set to “In Sight” (step S118).

他機からの認識不能信号については、処理部200は認識不能信号の送信元である他機のマーカ認識状態525を「認識不能(LOST)」に変更する(ステップS120)。認識不能信号を受信しなかった他機については「識別中(In Sight)」に設定(ステップS122)する。これでゲーム参加機それぞれにおけるマーカの識別状態が更新されたことになる。   For the unrecognizable signal from the other device, the processing unit 200 changes the marker recognition state 525 of the other device that is the transmission source of the unrecognizable signal to “unrecognizable (LOST)” (step S120). The other devices that have not received the unrecognizable signal are set to “In Sight” (step S122). Thus, the marker identification state in each game participant is updated.

次に、処理部200は、マーカ認識状態の監視結果に基づいてホスト機能を発現するゲーム装置すなわち「ホスト機能発現機」を選出する(ステップS140)。
具体的には、ゲーム参加機登録データ520のマーカ認識状態525を参照し、発現優先順位が当該ゲーム装置よりも上位にあたる全他機のマーカ認識状態が「認識不能(LOST)」になっているゲーム参加機を、ホスト機能を発現するべき機体として選出する。
Next, the processing unit 200 selects a game device that expresses a host function based on the monitoring result of the marker recognition state, that is, a “host function expressing machine” (step S140).
Specifically, referring to the marker recognition state 525 of the game machine registration data 520, the marker recognition state of all other machines whose expression priority is higher than the game apparatus is “recognizable (LOST)”. The game machine is selected as the machine that should express the host function.

そして、処理部200は、当該選出機のホスト機能発現フラグ526を参照する。同フラグが「0」であれば(ステップS142の「0」)、それ以外のゲーム機の同フラグを「0」に設定し(ステップS144)、ホスト機能継承タイミング562に現在のシステム時刻を格納し更新して(ステップS146)、ホスト機能発現機設定処理を終了する。もし、選出機のホスト機能発現フラグ526がすでに「1」の場合には(ステップS142の「1」)、フラグ操作やホスト機能継承タイミング562の更新は行わずに、ホスト機能発現機設定処理を終了する。   Then, the processing unit 200 refers to the host function expression flag 526 of the selected machine. If the flag is “0” (“0” in step S 142), the same flag of other game machines is set to “0” (step S 144), and the current system time is stored in the host function inheritance timing 562. Then, it is updated (step S146), and the host function developing device setting process is terminated. If the host function expression flag 526 of the selected machine is already “1” (“1” in step S142), the host function expression machine setting process is not performed without performing the flag operation or updating the host function inheritance timing 562. finish.

図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 processing unit 200 determines that the own device should develop the host function and executes the host function. Processing is performed (step S152).

図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 processing unit 200 first obtains the current position 537, the current posture 538, and operation input data (in this embodiment, whether or not there is a shooting operation input) as the other machine information from all other machines (step S160). ). Then, basic area setting processing is executed (step S162).

図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 processing unit 200 first obtains the relative distance Lc to the AR marker 10 for each game participating machine, that is, for each player's viewpoint, by obtaining or transmitting from another machine (step S170), and calculating or obtaining the relative distance. A basic length Lb is calculated based on Lc (step S172). In the present embodiment, the basic length Lb is obtained using a predetermined function f (Lc) using the minimum value among the relative distances Lc calculated for each game participant.

次で、処理部200は、算出した基本長さLbを所定の最小値と比較し、最小値を下回っていれば(ステップS174のYES)、基本長さLbをこの最小値で置き換える(ステップS176)。そして、認識されたARマーカの種類・カテゴリ(図19のステップS66参照)に対応するARマーカ登録カード512(図13参照)から基本領域モデルを読み出し、先に設定した基本長さLbを基本長さ適用寸法に割り当てた基本領域13を設定する(ステップS178)。求めた基本領域13を定義する情報(例えば、頂点座標、輪郭線を記述する関数など)は、プレイデータ541に基本領域設定データ550として格納される。そして、基本領域設定処理を終了する。   Next, the processing unit 200 compares the calculated basic length Lb with a predetermined minimum value, and if it is below the minimum value (YES in step S174), replaces the basic length Lb with this minimum value (step S176). ). Then, the basic area model is read from the AR marker registration card 512 (see FIG. 13) corresponding to the recognized type / category of the AR marker (see step S66 in FIG. 19), and the basic length Lb set previously is used as the basic length. The basic area 13 assigned to the applicable dimension is set (step S178). Information (for example, functions describing vertex coordinates and contour lines) defining the obtained basic area 13 is stored in the play data 541 as basic area setting data 550. Then, the basic area setting process ends.

図21のフローチャートに戻って、処理部200は次に、ゲーム参加機毎に要素領域設定処理を実行して、プレーヤ視点毎の要素領域14を設定する(ステップS180)。   Returning to the flowchart of FIG. 21, the processing unit 200 next executes an element area setting process for each game participant, and sets an element area 14 for each player viewpoint (step S180).

図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 processing unit 200 first obtains the vertex positions of the four corners of the AR marker 10 shown in the captured image (step S190), and the position and roll of the game apparatus 1500, that is, the position and roll of the CCD camera module 1516 ( Assuming that the rotation around the optical axis is fixed, the right end of the four corners of the AR marker 10 is close to the right end of the imaging range of the CCD camera module 1516, and the lower end of the four corners of the AR marker 10 is the lower end of the imaging range. Is obtained, and the optical axis AL1 of the CCD camera module 1516 in the posture is obtained (step S192; see FIG. 6).

同様にして、処理部200はARマーカ10と撮影範囲とで左端同士・上端同士が近接する第2姿勢を求めて光軸AL2を求め(ステップS194)、ARマーカ10と撮影範囲とで左端同士・下端同士が近接する第3姿勢を求めて光軸AL3を求め(ステップS196)、ARマーカ10と撮影範囲とで右端同士・上端同士が近接する第4姿勢を求めて光軸AL4を求める(ステップS198)。   Similarly, the processing unit 200 obtains the optical axis AL2 by obtaining the second posture in which the left ends and the upper ends are close to each other between the AR marker 10 and the imaging range (step S194), and the left ends are obtained between the AR marker 10 and the imaging range. The optical axis AL3 is obtained by obtaining a third posture in which the lower ends are close to each other (step S196), and the optical posture AL4 is obtained by obtaining a fourth posture in which the right ends and the upper ends are close to each other between the AR marker 10 and the imaging range ( Step S198).

次に、処理部200はARマーカ10のデザイン面(マーカ平面)に対するCCDカメラモジュール1516の光軸角度つまり俯角θcを算出し、ARマーカ10のカテゴリに応じた奥行関数設定データ514を選択・参照して、算出した俯角θcに基づく奥行Dbを算出する(ステップS200)。   Next, the processing unit 200 calculates the optical axis angle of the CCD camera module 1516 relative to the design surface (marker plane) of the AR marker 10, that is, the depression angle θc, and selects / references the depth function setting data 514 corresponding to the category of the AR marker 10. Then, the depth Db based on the calculated depression angle θc is calculated (step S200).

そして、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 CCD camera module 1516 by the depth Db in the current optical axis direction and the optical axes AL1 to AL4 previously obtained are obtained, and the obtained four intersection points and the camera viewpoint are obtained. A volume surrounded by the position is set as the element area 14 in the target game device 1500 (target player viewpoint) (step S202). Information (for example, functions describing vertex coordinates, contour lines, etc.) defining the obtained element area 14 is stored in the play data 541 as element area setting data 552. Then, the element area setting process ends.

図21のフローチャートに戻って、処理部200は次に、基本領域13及び要素領域14の重合領域を求めこれを配置領域12とする(ステップS220)。求めた重合領域を定義する情報(例えば、頂点座標、輪郭線を記述する関数など)は、プレイデータ541に配置領域設定データ554として格納される。   Returning to the flowchart of FIG. 21, the processing unit 200 next obtains the overlapping region of the basic region 13 and the element region 14 and sets it as the arrangement region 12 (step S220). Information that defines the obtained overlapping area (for example, functions that describe vertex coordinates and contour lines) is stored in the play data 541 as arrangement area setting data 554.

次に、処理部200は敵キャラクタ7を最新の配置領域12の範囲内に存在するよう動作制御する(ステップS222)。   Next, the processing unit 200 performs motion control so that the enemy character 7 exists within the latest arrangement area 12 (step S222).

ここでの動作制御には、移動と攻撃の二つの動作が含まれる。
移動の制御については、例えば、敵キャラクタ7が最新の配置領域12内に有れば、領域外に出ないように移動方向を選択する処理や、領域の輪郭との距離を算出して所定の接近条件を満たす状態を検出した場合には次の移動量を一時的に低減させる処理などを実行して、新たな配置位置を決定する。また、もし敵キャラクタ7が領域外に有るのであれば、領域内に戻るように移動方向を選択する処理や、できるだけ速やかに戻れるように移動量(移動速度)を一時的に増加させる処理などを実行して新たな配置位置を決定する。
The operation control here includes two operations of movement and attack.
With regard to the movement control, for example, if the enemy character 7 is in the latest arrangement area 12, a process for selecting a movement direction so as not to go out of the area, or a distance from the outline of the area is calculated to obtain a predetermined value. When a state satisfying the approach condition is detected, a process for temporarily reducing the next movement amount is executed to determine a new arrangement position. Also, if the enemy character 7 is outside the area, a process for selecting the movement direction so as to return to the area, a process for temporarily increasing the movement amount (movement speed) so as to return as quickly as possible, etc. Execute to determine a new placement position.

更には、撮像部104による撮影画像(ライブビュー)中のARマーカ10の画像位置が、画像中心から離れている程、敵キャラクタ7がARマーカ10の画像位置に高確率で近づくように移動制御する。換言すると、プレーヤ視点方向(CCDカメラモジュール1516の光軸方向、仮想カメラの視線方向に同じ)がARマーカ10から離れているほど、敵キャラクタ7がよりARマーカ10に近づくように動作制御する。   Furthermore, the movement control is performed so that the enemy character 7 approaches the image position of the AR marker 10 with a higher probability as the image position of the AR marker 10 in the captured image (live view) by the imaging unit 104 is farther from the image center. To do. In other words, as the player viewpoint direction (the optical axis direction of the CCD camera module 1516 and the visual line direction of the virtual camera are the same) is further away from the AR marker 10, the operation control is performed so that the enemy character 7 is closer to the AR marker 10.

具体的には、例えば敵キャラクタ7の移動方向を抽選処理で決定する場合、現在のARマーカ10向きの移動方向がより高確率で選出されるように抽選確率を一時的に変更したり、抽選結果が視線方向に沿わない場合に再抽選を実行するなどにより実現できる。
尚、新たに決定された敵キャラクタ7の位置及び姿勢は敵キャラクタ配置情報キュー544に格納される。移動制御に伴い、仮想3次元空間データ560のうち、敵キャラクタ7に係るオブジェクトの制御データが適宜書き換えられる。
攻撃の制御については、所定のアルゴリズム(いわゆるAI制御)によって、適当なタイミングで適当なプレーヤキャラクタPC1〜PC3に向けて、射撃するように制御する。
Specifically, for example, when the moving direction of the enemy character 7 is determined by lottery processing, the lottery probability is temporarily changed so that the moving direction toward the current AR marker 10 is selected with higher probability, This can be realized by, for example, re-drawing when the result does not follow the line-of-sight direction.
The newly determined position and posture of the enemy character 7 are stored in the enemy character arrangement information queue 544. Along with the movement control, the control data of the object related to the enemy character 7 in the virtual three-dimensional space data 560 is appropriately rewritten.
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 processing unit 200 compares the current system time with the system time stored in the host function inheritance timing 562 (that is, the control start timing of the host function), and determines a predetermined time from the control start timing of the host function. Determine if it has passed.

そして、もし経過していない場合には(ステップS224のNO)、処理部200は敵キャラクタ7の移動量及び/又は移動速度が低減されるように調整する制御開始時特殊制御を行う(ステップS226)。
具体的には、例えば敵キャラクタ配置情報キュー544に格納されている位置及び姿勢の各加重平均値(重み付けは過去値ほど低い)を求め、敵キャラクタ配置情報キュー544の最新値を加重平均された位置及び姿勢に更新する。これにより、ホスト機能を担う機体が代わったことに起因する敵キャラクタ7の位置や姿勢が大きく変化したとしてもその影響を低減できる。敵キャラクタ7の見かけの移動量や移動速度が低減され、瞬時的に移動量や移動速度が増したような不自然な動きとならないようにできる。
尚、ホスト機能の制御開始タイミングから所定時間が経過していなければ(ステップS224のYES)、こうした制御開始時特殊制御はスキップされる。
If it has not elapsed (NO in step S224), the processing unit 200 performs special control at the start of control for adjusting the movement amount and / or movement speed of the enemy character 7 to be reduced (step S226). ).
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 arrangement information queue 544 are weighted averaged. Update to position and orientation. Thereby, even if the position and posture of the enemy character 7 due to the replacement of the aircraft responsible for the host function are changed, the influence can be reduced. The apparent movement amount and movement speed of the enemy character 7 are reduced, and an unnatural movement such as an instantaneous increase in the movement amount and movement speed can be prevented.
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 processing unit 200 updates the arrangement positions of the player characters PC1 to PC3 (step S228). Accordingly, the control data of the objects related to the player characters PC1 to PC3 in the virtual three-dimensional space data 560 is appropriately rewritten.

次に、処理部200は飛翔体6の管理をする(ステップS240)。例えば、敵キャラクタ7による攻撃動作が行われた場合や、各ゲーム装置にて攻撃操作入力が検出された場合に、対応するプレーヤキャラクタから発射される新たな飛翔体6を仮想3次元空間に配置する。また、配置済の飛翔体6については移動をさせる。これに伴い、プレイデータ541の飛翔体配置データ545が適宜書き換えられ、また仮想3次元空間データ560のうち飛翔体6に係るオブジェクトの制御データが適宜書き換えられる。   Next, the processing unit 200 manages the flying object 6 (step S240). For example, when an attacking action is performed by the enemy character 7 or when an attack operation input is detected in each game device, a new flying object 6 launched from the corresponding player character is placed in the virtual three-dimensional space. To do. Further, the arranged flying object 6 is moved. Accordingly, the flying object arrangement data 545 of the play data 541 is appropriately rewritten, and the control data of the object related to the flying object 6 in the virtual three-dimensional space data 560 is appropriately rewritten.

次に、処理部200は、飛翔体6の移動後の位置と、更新されたプレーヤキャラクPC1〜PC3の位置、及び敵キャラクタ7の位置とに基づいて攻撃のヒット判定と、攻撃ヒットにともなうダメージ判定及びダメージ反映処理を行う(ステップS242)。もし、飛翔体6がヒットしたと判定された場合には、当該飛翔体6は仮想3次元空間から消去するのは勿論である。ダメージ反映処理により、プレイデータ541のプレーヤキャラクタ状態データ542及び敵キャラクタ状態データ543が更新される。   Next, the processing unit 200 determines the hit of the attack based on the position after the flying object 6 has moved, the updated positions of the player characters PC1 to PC3, and the position of the enemy character 7, and the damage associated with the attack hit. Determination and damage reflection processing are performed (step S242). If it is determined that the flying object 6 has been hit, it goes without saying that the flying object 6 is erased from the virtual three-dimensional space. By the damage reflection process, the player character state data 542 and the enemy character state data 543 of the play data 541 are updated.

ホスト機能実行処理によるこれまでの処理により、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 processing unit 200 distributes the latest play data 541 to the other machine (step S244), and executes the host function execution processing. finish.

図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 processing unit 200 performs control to behave as a guest device. That is, the processing unit 200 of the guest machine acquires the current position 537, the current posture 538, and the operation input information from all other machines (Step S300), and acquires play data from the host machine (Step S302). Then, the arrangement position of the object in the virtual three-dimensional space is updated based on the acquired current position 537 and current posture 538 of the other device, the current position 537 and current posture 538 of the own device, and the acquired play data ( Step S304).

ここまでの流れによって、ゲーム進行制御とその結果に応じた仮想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 processing unit 200 next executes processing related to generation and display of the game screen. That is, the captured image captured by the imaging unit 104 is cropped to generate a background image (step S310), and the virtual camera CM is placed in the virtual three-dimensional space based on the current position 537 and the current posture 538 of the own device. Arrange and render the state of the virtual three-dimensional space photographed by the virtual camera (step S312). Then, the rendered CG is synthesized on the background image, and an information display body such as the sight 8 is synthesized on the center of the screen to complete the game screen (step S314), and this is displayed on the image display unit 360. It is displayed (step S316; see FIG. 3).

次に、処理部200はゲーム終了条件を満たすか否かを判定する(ステップS320)。もしゲーム終了条件を満たしていなければ(ステップS320のNO)、次の制御サイクルに移行する。もし満たしていれば(ステップS320のYES)、エンディング画面を表示させるなどのゲーム終了処理を実行して(ステップS322)、一連の処理を終了する。   Next, the processing unit 200 determines whether or not a game end condition is satisfied (step S320). If the game end condition is not satisfied (NO in step S320), the process proceeds to the next control cycle. If it is satisfied (YES in step S320), a game end process such as displaying an ending screen is executed (step S322), and the series of processes ends.

以上、本実施形態によれば、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 CCD camera module 1516 with respect to the reference point of the AR marker 10 in this embodiment). Relative position), the display position of the character in the augmented reality space can be appropriately controlled conveniently for multiplayer.
Specifically, even if the viewpoint position and the line-of-sight direction of each game device 1500 are changed so as to track the attention character (enemy character 7), the AR marker 10 does not fall outside the imaging range of the CCD camera module 1516. As described above, the arrangement of the attention character can be adjusted. That is, it is possible to improve the quality of a multiplayer game using an augmented reality space and avoid and reduce various inconveniences associated with character placement control.

また、本実施形態では、現在から遡って所与の時間分(或いは所与の回数分)の相対位置を用いて、実際に仮想カメラを制御するための現在位置を決定することができるので、手ブレを抑制することができる。更には、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 AR marker 10 cannot be recognized, the position coordinates are temporarily fixed to the values immediately before the marker lost, while the current position is continuously calculated for the posture. Thereby, the accuracy of coordinate alignment between the real space and the CG space is lower than when the AR marker 10 can be recognized, but it is possible to suppress the display misalignment of characters and the like that the game must be interrupted. That is, it is possible to increase resistance to the interruption of the game due to the lost AR marker.

また、敵キャラクタ7などのNPCの制御などホスト機能を担っていたゲーム参加機において、ARマーカ10を認識できない状態に陥ったとしても、別のゲーム参加機がホスト機能を代行することで、マーカのロストに起因するNPCなどの表示位置ズレなどを抑制し、ゲームを継続させることができる。   In addition, even if a game participant having a host function such as NPC control of the enemy character 7 or the like falls into a state where the AR marker 10 cannot be recognized, another game participant takes over the host function, It is possible to suppress a display position shift such as NPC caused by the lost of the game and continue the game.

尚、本実施形態では、構成要素を適宜変更・追加・省略することができる。
例えば、ホスト機能発現機の切り換えに関連して、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 AR marker 10 cannot be recognized, a “recognition impossible signal” is transmitted, and the marker recognition state is managed based on the presence or absence of the recognition unrecognized signal. Alternatively, the “recognition signal” may be transmitted when the AR marker 10 is recognized. While the “recognition signal” is received, the marker recognition state 525 of the transmission source is set to “In Sight (recognizing)”, and the marker recognition state 525 of the aircraft to which the “recognition signal” is not transmitted is set to “LOST ( It is better to set to "Unrecognizable)".

また、発現優先順位は、ゲーム前準備処理で設定した初期値をゲームプレイ中に適宜変更することも可能である。例えば図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 processing unit 200 acquires the relative distance Lc with respect to the latest AR marker 10 from all the other machines (step S250), and the own unit is included in the acquired relative distance Lc. Sorting in order of increasing distance including the latest relative distance Lc, the expression priority order 523 is reset in the sorted order and distributed (step S254). For example, when the processing unit 200 of the game apparatus 1500 that does not express the host function receives a new expression priority 523 following step S304 in FIG. It is assumed that the expression priority order 523 of the registered game participant registration data 520 is updated (see FIG. 17).

ARマーカ10から離れているゲーム装置1500ほど、より広い範囲を撮影できるのでARマーカ10がロストし難くなる効果が期待される。よって、相対距離Lcの大きい順に発現優先順位523を再設定することで、ホスト機能の発現する機体の切り換え頻度を下げることができる。   Since the game device 1500 that is far from the AR marker 10 can capture a wider range, it is expected that the AR marker 10 is less likely to be lost. Therefore, by resetting the expression priority 523 in order of increasing relative distance Lc, it is possible to reduce the switching frequency of the aircraft that exhibits the host function.

〔第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 current position 537 can be adjusted. In addition, the same code | symbol is provided about the component similar to 1st Embodiment, description is abbreviate | omitted, and it shall mainly describe the difference with 1st Embodiment.

図25は、本実施形態におけるゲーム演算部202の機能構成例を示す部分機能ブロック図である。本実施形態の自機情報算出部206は、変化量算出部213F、算出間隔設定部214Fを含む。   FIG. 25 is a partial functional block diagram illustrating a functional configuration example of the game calculation unit 202 in the present embodiment. The own device information calculation unit 206 of the present embodiment includes a change amount calculation unit 213F and a calculation interval setting unit 214F.

変化量算出部213Fは、姿勢検出部108や加速度検出部110、測位制御部280で算出される位置情報などを用いて、プレーヤ視点の位置や姿勢(即ち、ゲーム装置1500、CCDカメラモジュール1516の視点位置のARマーカ10に対する位置や姿勢)の所与の単位時間当たりの変化量を算出する。位置と姿勢両方の変化量を求めるとしても良いし、何れか一方でも良い。尚、変化量は撮像部104で撮影した画像中から特徴点を抽出し、抽出された特徴点の単位時間当たりの移動量を用いるとしても良い。   The change amount calculation unit 213F uses the position information calculated by the posture detection unit 108, the acceleration detection unit 110, and the positioning control unit 280, and the like, that is, the position and posture of the player viewpoint (that is, the game device 1500 and the CCD camera module 1516). The amount of change per unit time of the position and orientation of the viewpoint position with respect to the AR marker 10 is calculated. The amount of change in both position and orientation may be obtained, or either one may be obtained. Note that the amount of change may be a feature point extracted from an image captured by the imaging unit 104, and the amount of movement of the extracted feature point per unit time may be used.

算出間隔設定部214Fは、変化量算出部213Fによる算出結果を用いて、最新の自機位置情報及び自機姿勢の算出間隔を新たに設定・変更することができる。算出間隔の設定値は適宜記憶部500に記憶させるものとする。   The calculation interval setting unit 214F can newly set / change the latest calculation information of the own device position information and the own device attitude using the calculation result of the change amount calculation unit 213F. The setting value of the calculation interval is appropriately stored in the storage unit 500.

図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 processing unit 200 calculates a change amount per predetermined time of any posture change / acceleration / positioning result at the beginning of the control cycle (step S26F).

次いで、算出された変化量と、前回の算出タイミングで算出された相対距離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 game apparatus 1500 in the first embodiment is equipped with an image sensor serving as the player's viewpoint, a gyroscope and an acceleration sensor for detecting a change in posture, and can execute a game program, the portable game apparatus In addition, for example, an electronic device such as a smartphone, a personal computer, or a mobile phone may be used as the “game device”.

また、ゲームのジャンルはシューティングゲームに限らず、適宜設定することができるのは勿論である。   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 corresponding game apparatuses 1500a to 1500c with respect to the AR marker 10 (that is, relative positions of the player viewpoint), but the player character PC1. The PC 3 is separately controlled by an operation input using the direction input key 1502 of the game apparatus 1500, and as a result, the relative positional relationship between the virtual camera and the player character may be variable. In this case, the player changes the position of the virtual camera by moving the game apparatus 1500, while controlling the player character with a separate operation input. Accordingly, it is possible to play the game by freely operating the player character while imagining the game space like a miniature garden and watching the state in the game space from a desired angle through the game device.

また、ゲーム装置1500の画像表示部360を裸眼立体視可能な表示装置(例えばパララックスバリア方式やレンチキュラ方式など)で構成し、ARマーカ10に対するゲーム装置1500の相対位置・相対姿勢に応じて、立体的な画像を表示制御することとしてもよい。その場合、CCDカメラモジュール1516で撮影されたライブビューの画像を最遠景に設定し、ゲーム空間(仮想三次元空間)の座標系上に配置されるキャラクタ等(オブジェクト)を立体的に表示制御するとしてもよい。このようにすることで、例えば、ARマーカ10に対して回り込むようにゲーム装置を移動させると、ARマーカ10を基準に出現するオブジェクト(上記実施形態の場合は敵キャラクタ)を、回り込んで立体視し、奥行き感を得ることが可能となる。   In addition, the image display unit 360 of the game apparatus 1500 is configured by a display apparatus that can perform autostereoscopic viewing (for example, a parallax barrier system or a lenticular system), and according to the relative position / relative attitude of the game apparatus 1500 with respect to the AR marker 10, Display control of a three-dimensional image may be performed. In this case, the live view image captured by the CCD camera module 1516 is set as the farthest view, and the characters and the like (objects) arranged on the coordinate system of the game space (virtual three-dimensional space) are three-dimensionally controlled. It is good. In this way, for example, when the game device is moved so as to wrap around the AR marker 10, an object (an enemy character in the case of the above embodiment) that appears on the basis of the AR marker 10 wraps around the object. It is possible to obtain a sense of depth by viewing.

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 SYMBOLS 10 ... AR marker 12 ... Arrangement area 13 ... Basic area 14 ... Element area 104 ... Imaging part 108 ... Attitude detection part 110 ... Acceleration detection part 200 ... Processing part 202 ... Game operation part 204 ... Game participation management control part 205 ... Expression priority Order setting unit 206 ... Self-machine information calculation unit 206B ... Position relation calculation unit 207 ... Relative position calculation unit 208 ... Position change suppression control unit 209 ... Current position determination unit 210 ... Relative posture calculation unit 211 ... Current posture determination unit 212 ... Weighting Setting unit 220 ... Own device information transmission control unit 221 ... Other device information reception control unit 222 ... Recognition state determination unit 223 ... Unrecognizable signal transmission control unit 224 ... Host function expression determination unit 230 ... Character display control unit 231 ... Area setting unit 232 ... Basic area setting section 233 ... Element area setting section 234 ... Arrangement area setting section 235 ... NPC control section 23 ... control start special control unit 237 ... movement direction control unit 249 ... host function execution control unit 500 ... storage unit 504 ... game chromatogram 512 ... AR marker registration data 514 ... depth function setting data 520 ... game participant registration data 523 ... Expression priority 524 ... Player character type 525 ... Marker recognition state 526 ... Host function expression flag 530 ... Self-machine information queue 533 ... Relative position 534 ... Relative attitude 535 ... Relative distance 537 ... Current position 538 ... Current attitude 541 ... Play data 544 ... enemy character arrangement information queue 550 ... basic area setting data 552 ... element area setting data 554 ... arrangement area setting data 560 ... virtual three-dimensional space data 562 ... host function inheritance timing 1500 ... game device 1506 ... touch panel 1516 ... CCD Camera module 1550 ... control board 1556 ... triaxial gyro 1557 ... 3-axis acceleration sensor CM, CM1 to CM3 ... virtual camera Db ... depth PL, PL1 to PL3 ... player PL
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.
前記現在位置決定手段は、前記加重平均に用いる前記算出位置それぞれの重みを、前記位置算出手段による算出時期に応じて変更する第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の重み変更手段を有する、
請求項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.
請求項1〜8の何れか一項に記載のプログラムを記憶したコンピュータ読取り可能な情報記憶媒体。   The computer-readable information storage medium which memorize | stored the program as described in any one of Claims 1-8. 撮影手段及び表示手段を備え、基準方向が表されたマーカが写るように前記撮影手段により撮影されたライブビューにオブジェクトを合成表示する電子機器であって、
前記ライブビュー内における前記マーカの位置を基準とした仮想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.
JP2011200842A 2011-09-14 2011-09-14 Programs and electronic devices Expired - Fee Related JP5819686B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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