JP5393218B2 - GAME DEVICE AND GAME PROGRAM - Google Patents

GAME DEVICE AND GAME PROGRAM Download PDF

Info

Publication number
JP5393218B2
JP5393218B2 JP2009074069A JP2009074069A JP5393218B2 JP 5393218 B2 JP5393218 B2 JP 5393218B2 JP 2009074069 A JP2009074069 A JP 2009074069A JP 2009074069 A JP2009074069 A JP 2009074069A JP 5393218 B2 JP5393218 B2 JP 5393218B2
Authority
JP
Japan
Prior art keywords
game
angular velocity
input device
data
stability
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.)
Active
Application number
JP2009074069A
Other languages
Japanese (ja)
Other versions
JP2010220950A (en
Inventor
惣一 中嶋
憲一 西田
善一 山下
隆行 嶋村
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.)
Nintendo Co Ltd
Original Assignee
Nintendo 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2009074069A priority Critical patent/JP5393218B2/en
Priority to US12/478,548 priority patent/US8246458B2/en
Publication of JP2010220950A publication Critical patent/JP2010220950A/en
Priority to US13/438,243 priority patent/US9259644B2/en
Application granted granted Critical
Publication of JP5393218B2 publication Critical patent/JP5393218B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ゲーム装置およびゲームプログラムに関し、より特定的には、角速度に基づいてゲーム処理を行うゲーム装置およびゲームプログラムに関する。   The present invention relates to a game device and a game program, and more specifically to a game device and a game program that perform game processing based on angular velocity.

従来、ジャイロセンサを備えた入力装置を用いて、当該ジャイロセンサから出力される角速度データを用いてゲーム処理を行うゲーム装置が考えられている。例えば、ジャイロセンサを備えた棒状の入力制御装置を使用するゲーム装置が開示されている(例えば、特許文献1参照)。上記特許文献1で開示されたゲーム装置は、ゲームキャラクタが持つ刀を入力制御装置の動きに応じて制御するものである。具体的には、入力制御装置に備えられたジャイロセンサからの角速度データに基づいて、ゲームキャラクタが持つ刀の姿勢が算出される。   2. Description of the Related Art Conventionally, game devices that perform game processing using angular velocity data output from the gyro sensor using an input device including a gyro sensor have been considered. For example, a game device using a rod-shaped input control device provided with a gyro sensor is disclosed (for example, see Patent Document 1). The game device disclosed in Patent Document 1 controls a sword possessed by a game character in accordance with the movement of an input control device. Specifically, the sword posture of the game character is calculated based on angular velocity data from a gyro sensor provided in the input control device.

特開2000−308756号公報JP 2000-308756 A

ジャイロセンサは、回転角速度を示すデータを出力する。したがって、いわゆるドリフト現象等によって出力が変動し、当該変動による誤差によってジャイロセンサから得られる角速度データが不正確なものとなってしまう場合がある。しかしながら、入力装置に備えられたジャイロセンサから得られる角速度データを用いてゲーム処理を行っている場合、当該ゲーム処理中においては上述した誤差の確認が難しい。また、入力装置を操作するプレイヤは、ジャイロセンサにどの程度の誤差が生じている状態であるのか確認することも難しい。   The gyro sensor outputs data indicating the rotational angular velocity. Therefore, the output fluctuates due to a so-called drift phenomenon, and the angular velocity data obtained from the gyro sensor may be inaccurate due to an error due to the fluctuation. However, when the game process is performed using the angular velocity data obtained from the gyro sensor provided in the input device, it is difficult to check the above-described error during the game process. It is also difficult for the player who operates the input device to check how much error is occurring in the gyro sensor.

それ故に、本発明の目的は、ジャイロセンサから得られる角速度に基づいたゲーム処理を行うゲームにおいて、ジャイロセンサに生じている誤差を認識しやすくするゲーム装置およびゲームプログラムを提供することである。   SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a game device and a game program that make it easy to recognize an error occurring in a gyro sensor in a game that performs a game process based on an angular velocity obtained from a gyro sensor.

上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。   In order to achieve the above object, the present invention employs the following configuration. Note that the reference numerals in parentheses, step numbers, and the like indicate correspondence with the embodiments described later in order to help understanding of the present invention, and do not limit the scope of the present invention.

第1の発明は、複数軸(X、Y、Z軸)周りの角速度をそれぞれ検出するジャイロセンサ(95、96)を備える入力装置(6)から、当該角速度をそれぞれ示す角速度データ(Da)を少なくとも含む操作データを取得してゲーム処理を行うゲーム装置(5)である。ゲーム装置は、角速度データ取得手段(ステップ102およびステップ132を実行するCPU10;以下、単にステップ番号のみ記載する)、回転パラメータ算出手段(S123、S153)、およびオブジェクト表示制御手段(S48、S69、S84)を備える。角速度データ取得手段は、角速度データを取得する。回転パラメータ算出手段は、角速度データが示す複数軸周りそれぞれの角速度(v1、v1、v3)の大きさを加算した値を用いて、1つの回転量を表す回転パラメータ(V)を算出する。オブジェクト表示制御手段は、回転パラメータに応じた回転量に応じて所定のオブジェクト(Dobj)を回転させて表示装置(2)に表示させる。   In the first invention, angular velocity data (Da) indicating the angular velocities is input from an input device (6) including gyro sensors (95, 96) for detecting angular velocities around a plurality of axes (X, Y, Z axes). A game device (5) that acquires operation data including at least and performs a game process. The game device includes angular velocity data acquisition means (CPU 10 that executes steps 102 and 132; hereinafter, only step numbers are described), rotation parameter calculation means (S123, S153), and object display control means (S48, S69, S84). ). The angular velocity data acquisition means acquires angular velocity data. The rotation parameter calculation means calculates a rotation parameter (V) representing one rotation amount using a value obtained by adding the magnitudes of angular velocities (v1, v1, v3) around a plurality of axes indicated by the angular velocity data. The object display control means rotates a predetermined object (Dobj) according to the amount of rotation corresponding to the rotation parameter and displays it on the display device (2).

第2の発明は、上記第1の発明において、ゲーム処理手段(S60)および一時停止手段(S80)を、さらに備える。ゲーム処理手段は、角速度データに基づいてゲーム処理を行う。一時停止手段は、操作データが所定の操作が行われたことを示す場合にゲーム処理手段が処理しているゲーム処理を一時停止する。オブジェクト表示制御手段は、一時停止中に算出された回転パラメータに応じて当該一時停止中にオブジェクトを回転させて表示装置に表示させる(S84)。   According to a second aspect, in the first aspect, the game processing means (S60) and the temporary stop means (S80) are further provided. The game processing means performs a game process based on the angular velocity data. The temporary stop means temporarily stops the game process being processed by the game processing means when the operation data indicates that a predetermined operation has been performed. The object display control means rotates the object during the pause according to the rotation parameter calculated during the pause and displays it on the display device (S84).

第3の発明は、上記第1の発明において、判定手段(S104〜S108、S112、S134〜S138、S142)を、さらに備える。判定手段は、角速度データに基づいて、入力装置の姿勢が安定しているか判定する。オブジェクト表示制御手段は、入力装置の姿勢が安定していると判定手段が判定するまでの期間中に、回転パラメータに応じてオブジェクトを回転させて表示装置に表示させる(S48、S69、S84)。   The third invention further includes determination means (S104 to S108, S112, S134 to S138, S142) in the first invention. The determination means determines whether the attitude of the input device is stable based on the angular velocity data. The object display control means rotates the object according to the rotation parameter and displays it on the display device during the period until the determination means determines that the attitude of the input device is stable (S48, S69, S84).

第4の発明は、上記第3の発明において、ゲーム処理手段を、さらに備える。ゲーム処理手段は、角速度データに基づいてゲーム処理を行う。判定手段は、ゲーム処理手段がゲーム処理を開始する前に、判定を開始し(S43)、入力装置の姿勢が安定していると判定された後にゲーム処理手段によるゲーム処理を開始させる。   In a fourth aspect based on the third aspect, the game processing means is further provided. The game processing means performs a game process based on the angular velocity data. The determination means starts determination before the game processing means starts the game processing (S43), and starts the game processing by the game processing means after it is determined that the attitude of the input device is stable.

第5の発明は、上記第3の発明において、オブジェクト表示制御手段は、入力装置の姿勢が安定していると判定手段が判定した場合に、オブジェクトを所定の方向に向けて静止させて表示装置に表示させる(Dobjb)。   In a fifth aspect based on the third aspect, the object display control means causes the object to remain stationary in a predetermined direction when the determination means determines that the attitude of the input device is stable. Is displayed (Dobjb).

第6の発明は、上記第5の発明において、オブジェクト表示制御手段は、オブジェクトを所定の方向に向けて静止させた後、所定の条件を満たさない限り回転パラメータとは無関係に当該静止状態を継続して当該オブジェクトを表示装置に表示させる。   In a sixth aspect based on the fifth aspect, after the object display control means stops the object in a predetermined direction, the object display control means continues the stationary state regardless of the rotation parameter unless the predetermined condition is satisfied. Then, the object is displayed on the display device.

第7の発明は、上記第1の発明において、回転パラメータ算出手段は、加算した値が所定の閾値より大きい場合、当該値を当該閾値にして回転パラメータを算出する。   In a seventh aspect based on the first aspect, when the added value is greater than a predetermined threshold value, the rotation parameter calculating means calculates the rotation parameter using the value as the threshold value.

第8の発明は、上記第1の発明において、オブジェクト表示制御手段は、入力装置を模したオブジェクトを回転させて表示装置に表示させる。   In an eighth aspect based on the first aspect, the object display control means rotates the object imitating the input device and causes the display device to display the object.

第9の発明は、上記第1の発明において、回転パラメータ算出手段は、加算した値を、過去に算出された回転パラメータ(Vlast)の値に所定割合で近づけることによって、新たな回転パラメータを算出する。   In a ninth aspect based on the first aspect, the rotation parameter calculation means calculates a new rotation parameter by bringing the added value closer to the value of the rotation parameter (Vlast) calculated in the past at a predetermined ratio. To do.

第10の発明は、上記第1の発明において、オフセット値算出手段およびオフセット補正手段を、さらに備える。オフセット値算出手段は、角速度データが示す角速度に収束するゼロ点オフセット(ofs)値を、複数軸周りそれぞれに対して算出する。オフセット補正手段は、角速度データが示す複数軸周りそれぞれの角速度を、当該軸周りに対応して算出されたそれぞれのゼロ点オフセット値で補正する。回転パラメータ算出手段は、オフセット補正手段によって補正された複数軸周りそれぞれの角速度の大きさを用いて、回転パラメータを算出する。   In a tenth aspect based on the first aspect, the apparatus further comprises offset value calculation means and offset correction means. The offset value calculation means calculates a zero point offset (ofs) value that converges to the angular velocity indicated by the angular velocity data for each of the plurality of axes. The offset correction means corrects the angular velocities around the plurality of axes indicated by the angular velocity data with the respective zero point offset values calculated corresponding to the circumferences of the axes. The rotation parameter calculation unit calculates the rotation parameter using the magnitudes of the angular velocities around the plurality of axes corrected by the offset correction unit.

第11の発明は、上記第10の発明において、連続個数算出手段を、さらに備える。連続個数算出手段は、最新の角速度データが示す角速度から遡って連続して所定の安定範囲内となった角速度の連続個数(ct)を算出する。オフセット値算出手段は、連続個数が多いほど、最新の角速度データが示す角速度に収束する度合いの強いゼロ点オフセット値を算出する。   In an eleventh aspect based on the tenth aspect, a continuous number calculating means is further provided. The continuous number calculating means calculates the continuous number (ct) of angular velocities that are continuously within a predetermined stable range retroactively from the angular velocity indicated by the latest angular velocity data. The offset value calculation means calculates a zero point offset value that has a higher degree of convergence to the angular velocity indicated by the latest angular velocity data as the number of consecutive values increases.

第12の発明は、複数軸周りの角速度をそれぞれ検出するジャイロセンサを備える入力装置から、当該角速度をそれぞれ示す角速度データを少なくとも含む操作データを取得してゲーム処理を行うゲーム装置のコンピュータ(10)で実行されるゲームプログラムである。ゲームプログラムは、角速度データ取得手段、回転パラメータ算出手段、およびオブジェクト表示制御手段として、コンピュータを機能させる。角速度データ取得手段は、角速度データを取得する。回転パラメータ算出手段は、角速度データが示す複数軸周りそれぞれの角速度の大きさを加算した値を用いて、1つの回転量を表す回転パラメータを算出する。オブジェクト表示制御手段は、回転パラメータに応じた回転量に応じて所定のオブジェクトを回転させて表示装置に表示させる。   According to a twelfth aspect of the present invention, there is provided a computer (10) of a game device for performing game processing by acquiring operation data including at least angular velocity data respectively indicating the angular velocities from an input device including gyro sensors that respectively detect angular velocities around a plurality of axes. It is a game program executed in. The game program causes the computer to function as angular velocity data acquisition means, rotation parameter calculation means, and object display control means. The angular velocity data acquisition means acquires angular velocity data. The rotation parameter calculation means calculates a rotation parameter representing one rotation amount using a value obtained by adding the magnitudes of the angular velocities around the plurality of axes indicated by the angular velocity data. The object display control means rotates a predetermined object in accordance with the rotation amount corresponding to the rotation parameter and causes the display device to display the object.

第13の発明は、上記第12の発明において、ゲーム処理手段および一時停止手段として、コンピュータをさらに機能させる。ゲーム処理手段は、角速度データに基づいてゲーム処理を行う。一時停止手段は、操作データが所定の操作が行われたことを示す場合にゲーム処理手段が処理しているゲーム処理を一時停止する。オブジェクト表示制御手段は、一時停止中に算出された回転パラメータに応じて当該一時停止中にオブジェクトを回転させて表示装置に表示させる。   In a thirteenth aspect based on the twelfth aspect, the computer is further caused to function as game processing means and temporary stop means. The game processing means performs a game process based on the angular velocity data. The temporary stop means temporarily stops the game process being processed by the game processing means when the operation data indicates that a predetermined operation has been performed. The object display control means rotates the object during the pause and displays it on the display device according to the rotation parameter calculated during the pause.

第14の発明は、上記第12の発明において、判定手段として、さらにコンピュータを機能させる。判定手段は、角速度データに基づいて、入力装置の姿勢が安定しているか判定する。オブジェクト表示制御手段は、入力装置の姿勢が安定していると判定手段が判定するまでの期間中に、回転パラメータに応じてオブジェクトを回転させて表示装置に表示させる。   In a fourteenth aspect based on the twelfth aspect, the computer is further caused to function as a determination unit. The determination means determines whether the attitude of the input device is stable based on the angular velocity data. The object display control means rotates the object according to the rotation parameter and displays it on the display device during the period until the determination means determines that the attitude of the input device is stable.

第15の発明は、上記第14の発明において、ゲーム処理手段として、さらにコンピュータを機能させる。ゲーム処理手段は、角速度データに基づいてゲーム処理を行う。判定手段は、ゲーム処理手段がゲーム処理を開始する前に、判定を開始し、入力装置の姿勢が安定していると判定された後にゲーム処理手段によるゲーム処理を開始させる。   In a fifteenth aspect based on the fourteenth aspect, the computer is further caused to function as game processing means. The game processing means performs a game process based on the angular velocity data. The determination means starts determination before the game processing means starts game processing, and starts game processing by the game processing means after it is determined that the attitude of the input device is stable.

第16の発明は、上記第14の発明において、オブジェクト表示制御手段は、入力装置の姿勢が安定していると判定手段が判定した場合に、オブジェクトを所定の方向に向けて静止させて表示装置に表示させる。   In a sixteenth aspect based on the fourteenth aspect, the object display control unit causes the object to remain stationary in a predetermined direction when the determination unit determines that the attitude of the input device is stable. To display.

第17の発明は、上記第16の発明において、オブジェクト表示制御手段は、オブジェクトを所定の方向に向けて静止させた後、所定の条件を満たさない限り回転パラメータとは無関係に当該静止状態を継続して当該オブジェクトを表示装置に表示させる。   In a seventeenth aspect based on the sixteenth aspect, after the object display control means stops the object in a predetermined direction, the object display control means continues the stationary state regardless of the rotation parameter unless the predetermined condition is satisfied. Then, the object is displayed on the display device.

第18の発明は、上記第12の発明において、回転パラメータ算出手段は、加算した値が所定の閾値より大きい場合、当該値を当該閾値にして回転パラメータを算出する。   In an eighteenth aspect based on the twelfth aspect, when the added value is greater than a predetermined threshold value, the rotation parameter calculating means calculates the rotation parameter using the value as the threshold value.

第19の発明は、上記第12の発明において、オブジェクト表示制御手段は、入力装置を模したオブジェクトを回転させて表示装置に表示させる。   In a nineteenth aspect based on the twelfth aspect, the object display control means rotates an object simulating an input device and causes the display device to display the object.

第20の発明は、上記第12の発明において、回転パラメータ算出手段は、加算した値を、過去に算出された回転パラメータの値に所定割合で近づけることによって、新たな回転パラメータを算出する。   In a twentieth aspect based on the twelfth aspect, the rotation parameter calculation means calculates a new rotation parameter by bringing the added value closer to the value of the rotation parameter calculated in the past at a predetermined rate.

第21の発明は、上記第12の発明において、オフセット値算出手段およびオフセット補正手段として、さらにコンピュータを機能させる。オフセット値算出手段は、角速度データが示す角速度に収束するゼロ点オフセット値を、複数軸周りそれぞれに対して算出する。オフセット補正手段は、角速度データが示す複数軸周りそれぞれの角速度を、当該軸周りに対応して算出されたそれぞれのゼロ点オフセット値で補正する。回転パラメータ算出手段は、オフセット補正手段によって補正された複数軸周りそれぞれの角速度の大きさを用いて、回転パラメータを算出する。   In a twenty-first aspect based on the twelfth aspect, the computer is further caused to function as an offset value calculating means and an offset correcting means. The offset value calculation means calculates a zero point offset value that converges to the angular velocity indicated by the angular velocity data for each of the plurality of axes. The offset correction means corrects the angular velocities around the plurality of axes indicated by the angular velocity data with the respective zero point offset values calculated corresponding to the circumferences of the axes. The rotation parameter calculation unit calculates the rotation parameter using the magnitudes of the angular velocities around the plurality of axes corrected by the offset correction unit.

第22の発明は、上記第21の発明において、連続個数算出手段として、さらにコンピュータを機能させる。連続個数算出手段は、最新の角速度データが示す角速度から遡って連続して所定の安定範囲内となった角速度の連続個数を算出する。オフセット値算出手段は、連続個数が多いほど、最新の角速度データが示す角速度に収束する度合いの強いゼロ点オフセット値を算出する。   In a twenty-second aspect based on the twenty-first aspect, the computer is further caused to function as continuous number calculating means. The continuous number calculating means calculates the continuous number of angular velocities that are continuously within a predetermined stable range retroactively from the angular velocity indicated by the latest angular velocity data. The offset value calculation means calculates a zero point offset value that has a higher degree of convergence to the angular velocity indicated by the latest angular velocity data as the number of consecutive values increases.

上記第1の発明によれば、プレイヤは、回転して表示されているオブジェクトやその回転速度を視認することによって、ジャイロセンサの出力状況を認識することができる。例えば、ジャイロセンサを静止させることが必要な状況において、ジャイロセンサが安定していない場合、ジャイロセンサから得られる角速度データに応じてオブジェクトが回転して表示されるため、ジャイロセンサが動いていたり、出力に誤差が含まれていたりすることを認識することができる。また、オブジェクトの回転速度は、複数軸周りの角速度の大きさを全て加算した値に基づいて決定されるため、例えばわずかな角速度を生じているためにジャイロセンサが安定していない場合であっても、その角速度が強調されて画面に現れるため、プレイヤにとってジャイロセンサが安定していないことがよりわかりやすい表現となる。   According to the first aspect, the player can recognize the output state of the gyro sensor by visually recognizing the object displayed by rotation and the rotation speed thereof. For example, in a situation where the gyro sensor needs to be stationary, if the gyro sensor is not stable, the object is rotated and displayed according to the angular velocity data obtained from the gyro sensor, so the gyro sensor is moving, It can be recognized that an error is included in the output. In addition, since the rotational speed of the object is determined based on a value obtained by adding all the angular velocities around a plurality of axes, for example, when the gyro sensor is not stable due to a slight angular speed, However, since the angular velocity is emphasized and appears on the screen, it is easier to understand that the gyro sensor is not stable for the player.

上記第2の発明によれば、ゲーム処理中にプレイヤが当該ゲーム処理を一時停止する操作を行った場合、当該一時停止後にジャイロセンサから得られる角速度データに応じてオブジェクトが回転して表示されるため、ゲーム処理中であっても一時停止してジャイロセンサの出力状況を確認することができる。   According to the second aspect, when the player performs an operation to pause the game process during the game process, the object is rotated and displayed according to the angular velocity data obtained from the gyro sensor after the pause. Therefore, even during the game process, the output state of the gyro sensor can be confirmed by pausing.

上記第3の発明によれば、ジャイロセンサを静止させることが必要な状況等において、ジャイロセンサが安定するまでの間、ジャイロセンサから得られる角速度データに応じてオブジェクトが回転して表示されるため、ジャイロセンサが安定していないことを認識することができる。   According to the third aspect, in a situation where the gyro sensor needs to be stationary, the object is rotated and displayed according to the angular velocity data obtained from the gyro sensor until the gyro sensor is stabilized. It can be recognized that the gyro sensor is not stable.

上記第4の発明によれば、ゲーム処理を行うために、当該ゲーム処理前にジャイロセンサを静止させることが必要な状況等において、ジャイロセンサが安定するまでの間、ジャイロセンサから得られる角速度データに応じてオブジェクトが回転して表示されると共に、ジャイロセンサが一旦安定した後に当該ゲーム処理が開始されるため、ジャイロセンサからの精確なデータに基づいたゲーム処理が可能となる。   According to the fourth aspect of the present invention, angular velocity data obtained from the gyro sensor until the gyro sensor is stabilized in a situation where the gyro sensor needs to be stopped before the game process in order to perform the game process. Accordingly, the object is rotated and displayed, and the game process is started after the gyro sensor is once stabilized. Therefore, the game process based on accurate data from the gyro sensor becomes possible.

上記第5の発明によれば、ジャイロセンサが安定した場合にオブジェクトが所定の方向に向かって静止して表示されるため、ジャイロセンサが安定したことを容易に認識することができる。   According to the fifth aspect, when the gyro sensor is stable, the object is displayed stationary in a predetermined direction, so that it can be easily recognized that the gyro sensor is stable.

上記第6の発明によれば、ジャイロセンサが一旦安定した場合、その後に入力装置を動かしてもオブジェクトの静止表示が継続されるため、プレイヤはジャイロセンサが一旦安定したことを常に認識することができる。   According to the sixth aspect of the invention, once the gyro sensor is stabilized, the stationary display of the object is continued even if the input device is moved thereafter, so that the player can always recognize that the gyro sensor is once stabilized. it can.

上記第7の発明によれば、オブジェクトの回転速度が一定値以下に抑えられるため、オブジェクトの回転速度が速すぎることによって表示が見にくい状況を避けることができる。   According to the seventh aspect, since the rotation speed of the object is suppressed to a certain value or less, it is possible to avoid a situation where the display is difficult to see due to the rotation speed of the object being too high.

上記第8の発明によれば、オブジェクトが入力装置の出力状況を表していることを直感的に示すことができる。   According to the eighth aspect, it can be intuitively shown that the object represents the output status of the input device.

上記第9の発明によれば、オブジェクトの回転速度の変化を滑らかにすることができる。   According to the ninth aspect, the change in the rotation speed of the object can be smoothed.

上記第10の発明によれば、ジャイロセンサの静止時出力によってオフセット補正された値を用いた処理が可能となる。   According to the tenth aspect of the present invention, it is possible to perform processing using a value that has been offset-corrected by the stationary output of the gyro sensor.

上記第11の発明によれば、入力装置が静止状態にあれば、得られる角速度にゼロ点オフセット値が収束する割合が大きくなるため、ゼロ点オフセット値の収束に関連付けてオブジェクトの回転表示を行うことができる。   According to the eleventh aspect of the invention, if the input device is in a stationary state, the rate at which the zero point offset value converges to the obtained angular velocity increases, so that the object is rotated and displayed in association with the convergence of the zero point offset value. be able to.

本発明のゲームプログラムによれば、上述したゲーム装置と同様の効果を得ることができる。   According to the game program of the present invention, it is possible to obtain the same effect as the above-described game device.

本発明の一実施形態に係るゲームシステム1を説明するための外観図1 is an external view for explaining a game system 1 according to an embodiment of the present invention. 図1のゲーム装置本体5の機能ブロック図Functional block diagram of the game apparatus body 5 of FIG. 図1の入力装置6の上面後方から見た斜視図The perspective view seen from the upper surface back of the input device 6 of FIG. 図3のコントローラ7を下面前方から見た斜視図The perspective view which looked at the controller 7 of FIG. 3 from the lower surface front 図3のコントローラ7の上筐体を外した状態を示す斜視図The perspective view which shows the state which removed the upper housing | casing of the controller 7 of FIG. 図4のコントローラ7の下筐体を外した状態を示す斜視図The perspective view which shows the state which removed the lower housing | casing of the controller 7 of FIG. 図3の入力装置6の構成を示すブロック図The block diagram which shows the structure of the input device 6 of FIG. モニタ2に表示されるジャイロセンサ安定確認画面の一例を示す図The figure which shows an example of the gyro sensor stability confirmation screen displayed on the monitor 2 図8のジャイロセンサ安定確認画面に含まれる入力装置安定情報画面IdaおよびIdbの一例を拡大した図The figure which expanded an example of input device stability information screen Ida and Idb included in the gyro sensor stability check screen of FIG. 図1のゲーム装置本体5のメインメモリに記憶される主なデータおよびプログラムの一例を示す図The figure which shows an example of main data and a program memorize | stored in the main memory of the game device main body 5 of FIG. 図1のゲーム装置本体5において実行されるゲーム処理の一例を示すフローチャートThe flowchart which shows an example of the game process performed in the game device main body 5 of FIG. 図1のゲーム装置本体5において実行されるゲーム処理の一例を示すフローチャートThe flowchart which shows an example of the game process performed in the game device main body 5 of FIG. 図1のゲーム装置本体5において実行されるゲーム処理の一例を示すフローチャートThe flowchart which shows an example of the game process performed in the game device main body 5 of FIG. 図11〜図13における安定確認処理の一例を示すサブルーチンSubroutine showing an example of the stability confirmation process in FIGS. 図11および図12における安定確認画面表示処理の一例を示すサブルーチンSubroutine showing an example of the stability confirmation screen display processing in FIGS. 11 and 12 図13におけるステップ83の安定再確認処理の一例を示すサブルーチンSubroutine showing an example of the stable reconfirmation process in step 83 in FIG. 図13におけるステップ84の安定再確認画面表示処理の一例を示すサブルーチンSubroutine showing an example of the stability reconfirmation screen display process in step 84 in FIG. モニタ2に表示される安定確認未完了画面の一例を示す図The figure which shows an example of the stability confirmation incomplete screen displayed on the monitor 2 モニタ2に表示される情報画面In1の一例を示す図The figure which shows an example of the information screen In1 displayed on the monitor 2 モニタ2に表示される情報画面In2の一例を示す図The figure which shows an example of the information screen In2 displayed on the monitor 2 モニタ2に表示される安定確認画面の一例を示す図The figure which shows an example of the stability confirmation screen displayed on the monitor 2

図1を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。以下、説明を具体的にするために、当該装置の一例の据置型のゲーム装置本体5を含むゲームシステムについて説明する。なお、図1は据置型のゲーム装置3を含むゲームシステム1の外観図であり、図2はゲーム装置本体5のブロック図である。以下、当該ゲームシステム1について説明する。   A game device that executes a game program according to an embodiment of the present invention will be described with reference to FIG. Hereinafter, in order to make the description more specific, a game system including a stationary game apparatus body 5 as an example of the apparatus will be described. FIG. 1 is an external view of a game system 1 including a stationary game apparatus 3, and FIG. 2 is a block diagram of the game apparatus body 5. Hereinafter, the game system 1 will be described.

図1において、ゲームシステム1は、表示手段の一例の家庭用テレビジョン受像機(以下、モニタと記載する)2と、当該モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、ゲーム装置3から出力された音声信号を音声出力するためのスピーカ2aを備える。また、ゲーム装置3は、本願発明のゲームプログラムの一例となるプログラムを記録した光ディスク4と、当該光ディスク4のゲームプログラムを実行してゲーム画面をモニタ2に表示出力させるためのコンピュータを搭載したゲーム装置本体5と、ゲーム画面に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体5に与えるための入力装置6とを備えている。   In FIG. 1, a game system 1 includes a home television receiver (hereinafter referred to as a monitor) 2 as an example of display means, and a stationary game apparatus 3 connected to the monitor 2 via a connection cord. Composed. The monitor 2 includes a speaker 2a for outputting the audio signal output from the game apparatus 3 as audio. In addition, the game apparatus 3 is a game equipped with an optical disk 4 that records a program that is an example of the game program of the present invention, and a computer that executes the game program of the optical disk 4 and causes the monitor 2 to display and output a game screen. An apparatus main body 5 and an input device 6 for providing the game apparatus main body 5 with operation information necessary for a game for operating a character or the like displayed on the game screen are provided.

また、ゲーム装置本体5は、無線コントローラモジュール19(図2参照)を内蔵する。無線コントローラモジュール19は、入力装置6から無線送信されるデータを受信し、ゲーム装置本体5から入力装置6へデータを送信して、コントローラ7とゲーム装置本体5とを無線通信によって接続する。さらに、ゲーム装置本体5には、当該ゲーム装置本体5に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が脱着される。   In addition, the game apparatus body 5 incorporates a wireless controller module 19 (see FIG. 2). The wireless controller module 19 receives data wirelessly transmitted from the input device 6, transmits data from the game device body 5 to the input device 6, and connects the controller 7 and the game device body 5 by wireless communication. Further, an optical disk 4 as an example of an information storage medium that is used interchangeably with respect to the game apparatus body 5 is detached from the game apparatus body 5.

また、ゲーム装置本体5には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ17(図2参照)が搭載される。ゲーム装置本体5は、光ディスク4に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ2に表示する。また、ゲームプログラム等は、光ディスク4に限らず、フラッシュメモリ17に予め記録されたものを実行するようにしてもよい。さらに、ゲーム装置本体5は、フラッシュメモリ17に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置3のプレイヤは、モニタ2に表示されたゲーム画像を見ながら、入力装置6を操作することによって、ゲーム進行を楽しむことができる。   Further, the game apparatus body 5 is equipped with a flash memory 17 (see FIG. 2) that functions as a backup memory for storing data such as save data in a fixed manner. The game apparatus main body 5 displays the result as a game image on the monitor 2 by executing a game program or the like stored on the optical disc 4. Further, the game program or the like is not limited to the optical disc 4 and may be executed in advance recorded in the flash memory 17. Furthermore, the game apparatus body 5 can reproduce the game state executed in the past by using the save data stored in the flash memory 17 and display the game image on the monitor 2. The player of the game apparatus 3 can enjoy the progress of the game by operating the input device 6 while viewing the game image displayed on the monitor 2.

入力装置6は、自機に対して行われた操作の内容を示す操作データをゲーム装置本体5に与えるものである。本実施形態では、入力装置6は、コントローラ7と角速度検出ユニット9とを含む。詳細は後述するが、入力装置6は、コントローラ7に対して角速度検出ユニット9が着脱可能に接続されている構成である。   The input device 6 gives operation data indicating the content of the operation performed on the own device to the game apparatus body 5. In the present embodiment, the input device 6 includes a controller 7 and an angular velocity detection unit 9. Although details will be described later, the input device 6 has a configuration in which an angular velocity detection unit 9 is detachably connected to the controller 7.

コントローラ7は、無線コントローラモジュール19を内蔵するゲーム装置本体5へ、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて操作情報等の送信データを無線送信する。コントローラ7は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン(十字キーやスティック等を含む)とが設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。そして、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって例えば赤外光を出力する。また、コントローラ7は、ゲーム装置本体5の無線コントローラモジュール19から無線送信された送信データを通信部75で受信して、当該送信データに応じた音や振動を発生させることもできる。   The controller 7 wirelessly transmits transmission data such as operation information to the game apparatus body 5 incorporating the wireless controller module 19 using, for example, Bluetooth (registered trademark) technology. The controller 7 is provided with a housing that is large enough to be held with one hand and a plurality of operation buttons (including a cross key and a stick) that are exposed on the surface of the housing. Further, as will be apparent from the description below, the controller 7 includes an imaging information calculation unit 74 that captures an image viewed from the controller 7. Then, as an example of the imaging target of the imaging information calculation unit 74, two LED modules (hereinafter referred to as markers) 8L and 8R are installed near the display screen of the monitor 2. These markers 8L and 8R each output, for example, infrared light toward the front of the monitor 2. In addition, the controller 7 can receive the transmission data wirelessly transmitted from the wireless controller module 19 of the game apparatus body 5 by the communication unit 75 and generate sound and vibration corresponding to the transmission data.

次に、図2を参照して、ゲーム装置本体5の内部構成について説明する。図2は、ゲーム装置本体5の構成を示すブロック図である。ゲーム装置本体5は、CPU(Central Processing Unit)10、システムLSI(Large Scale Integration)11、外部メインメモリ12、ROM/RTC(Read Only Memory/Real Time Clock)13、ディスクドライブ14、およびAV−IC(Audio Video−Integrated Circuit)15等を有する。   Next, the internal configuration of the game apparatus body 5 will be described with reference to FIG. FIG. 2 is a block diagram showing a configuration of the game apparatus body 5. The game apparatus body 5 includes a CPU (Central Processing Unit) 10, a system LSI (Large Scale Integration) 11, an external main memory 12, a ROM / RTC (Read Only Memory / Real Time Clock) 13, a disk drive 14, and an AV-IC. (Audio Video-Integrated Circuit) 15 and the like.

CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については、後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置本体5の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ35または外部メインメモリ12に読み出したデータを書き込む。   The CPU 10 executes a game process by executing a game program stored on the optical disc 4, and functions as a game processor. The CPU 10 is connected to the system LSI 11. In addition to the CPU 10, an external main memory 12, a ROM / RTC 13, a disk drive 14, and an AV-IC 15 are connected to the system LSI 11. The system LSI 11 performs processing such as control of data transfer between components connected thereto, generation of an image to be displayed, and acquisition of data from an external device. The internal configuration of the system LSI 11 will be described later. The volatile external main memory 12 stores a program such as a game program read from the optical disc 4 or a game program read from the flash memory 17, or stores various data. Used as a work area and buffer area. The ROM / RTC 13 includes a ROM (so-called boot ROM) in which a program for starting up the game apparatus body 5 is incorporated, and a clock circuit (RTC) that counts time. The disk drive 14 reads program data, texture data, and the like from the optical disk 4 and writes the read data to the internal main memory 35 or the external main memory 12 described later.

また、システムLSI11には、入出力プロセッサ31、GPU(Graphics Processor Unit)32、DSP(Digital Signal Processor)33、VRAM(Video RAM)34、および内部メインメモリ35が設けられる。図示は省略するが、これらの構成要素31〜35は、内部バスによって互いに接続される。   Further, the system LSI 11 is provided with an input / output processor 31, a GPU (Graphics Processor Unit) 32, a DSP (Digital Signal Processor) 33, a VRAM (Video RAM) 34, and an internal main memory 35. Although not shown, these components 31 to 35 are connected to each other by an internal bus.

GPU32は、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM34は、GPU32がグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU32は、VRAM34に記憶されたデータを用いて画像データを作成する。   The GPU 32 forms part of the drawing means and generates an image in accordance with a graphics command (drawing command) from the CPU 10. The VRAM 34 stores data (data such as polygon data and texture data) necessary for the GPU 32 to execute the graphics command. When an image is generated, the GPU 32 creates image data using data stored in the VRAM 34.

DSP33は、オーディオプロセッサとして機能し、内部メインメモリ35や外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。   The DSP 33 functions as an audio processor, and generates sound data using sound data and sound waveform (tone color) data stored in the internal main memory 35 and the external main memory 12.

上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、AVコネクタ16を介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2aに出力する。これによって、画像がモニタ2に表示されるとともに音がスピーカ2aから出力される。   The image data and audio data generated as described above are read out by the AV-IC 15. The AV-IC 15 outputs the read image data to the monitor 2 via the AV connector 16 and outputs the read audio data to the speaker 2 a built in the monitor 2. As a result, an image is displayed on the monitor 2 and a sound is output from the speaker 2a.

入出力プロセッサ(I/Oプロセッサ)31は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ31は、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、および外部メモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。   The input / output processor (I / O processor) 31 transmits / receives data to / from components connected thereto and downloads data from an external device. The input / output processor 31 is connected to the flash memory 17, the wireless communication module 18, the wireless controller module 19, the expansion connector 20, and the external memory card connector 21. An antenna 22 is connected to the wireless communication module 18, and an antenna 23 is connected to the wireless controller module 19.

入出力プロセッサ31は、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ31は、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介して当該データをネットワークに送信する。また、入出力プロセッサ31は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22、および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10は、ゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置本体5と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体5を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。   The input / output processor 31 is connected to a network via the wireless communication module 18 and the antenna 22 and can communicate with other game devices and various servers connected to the network. The input / output processor 31 periodically accesses the flash memory 17 to detect the presence / absence of data that needs to be transmitted to the network. To the network. The input / output processor 31 receives data transmitted from other game devices and data downloaded from the download server via the network, the antenna 22, and the wireless communication module 18, and receives the received data in the flash memory 17. To remember. By executing the game program, the CPU 10 reads out the data stored in the flash memory 17 and uses it in the game program. The flash memory 17 stores, in addition to data transmitted and received between the game apparatus body 5 and other game apparatuses and various servers, game save data (game result data or halfway) played using the game apparatus body 5. Data) may be stored.

また、入出力プロセッサ31は、アンテナ23および無線コントローラモジュール19を介して、コントローラ7から送信される操作データ等を受信し、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。なお、内部メインメモリ35には、外部メインメモリ12と同様に、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりしてもよく、CPU10のワーク領域やバッファ領域として用いられてもかまわない。   The input / output processor 31 receives operation data and the like transmitted from the controller 7 via the antenna 23 and the wireless controller module 19 and stores them in the buffer area of the internal main memory 35 or the external main memory 12 (temporary storage). To do. As in the case of the external main memory 12, the internal main memory 35 stores a program such as a game program read from the optical disc 4, a game program read from the flash memory 17, or various data. It may be used as a work area or buffer area of the CPU 10.

さらに、入出力プロセッサ31には、拡張コネクタ20および外部メモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ31は、拡張コネクタ20や外部メモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。   Furthermore, the expansion connector 20 and the external memory card connector 21 are connected to the input / output processor 31. The expansion connector 20 is a connector for an interface such as USB or SCSI, and connects a medium such as an external storage medium, a peripheral device such as another controller, or a wired communication connector. By connecting, communication with the network can be performed instead of the wireless communication module 18. The external memory card connector 21 is a connector for connecting an external storage medium such as a memory card. For example, the input / output processor 31 can access an external storage medium via the expansion connector 20 or the external memory card connector 21 to store or read data.

また、ゲーム装置本体5(例えば、前部主面)には、当該ゲーム装置本体5の電源ボタン24、ゲーム処理のリセットボタン25、光ディスク4を脱着する投入口、およびゲーム装置本体5の投入口から光ディスク4を取り出すイジェクトボタン26等が設けられている。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、ゲーム装置本体5の各構成要素に対して、図示しないACアダプタを介して電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置本体5の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。   In addition, on the game apparatus main body 5 (for example, the front main surface), the power button 24 of the game apparatus main body 5, the game process reset button 25, the slot for attaching / detaching the optical disk 4, and the slot for the game apparatus body 5 Eject button 26 etc. which take out optical disk 4 from are provided. The power button 24 and the reset button 25 are connected to the system LSI 11. When the power button 24 is turned on, power is supplied to each component of the game apparatus body 5 via an AC adapter (not shown). When the reset button 25 is pressed, the system LSI 11 restarts the startup program of the game apparatus body 5. The eject button 26 is connected to the disk drive 14. When the eject button 26 is pressed, the optical disk 4 is ejected from the disk drive 14.

図3および図4を参照して、入力装置6について説明する。なお、図3は、入力装置6の上側後方から見た一例を示す斜視図である。図4は、コントローラ7を下側前方から見た一例を示す斜視図である。   The input device 6 will be described with reference to FIGS. 3 and 4. FIG. 3 is a perspective view showing an example of the input device 6 as viewed from the upper rear side. FIG. 4 is a perspective view showing an example of the controller 7 as seen from the lower front side.

図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。   3 and 4, the controller 7 includes a housing 71 formed by plastic molding, for example, and the housing 71 is provided with a plurality of operation units 72. The housing 71 has a substantially rectangular parallelepiped shape whose longitudinal direction is the front-rear direction, and is a size that can be gripped with one hand of an adult or a child as a whole.

ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。   A cross key 72 a is provided on the center front side of the upper surface of the housing 71. The cross key 72a is a cross-shaped four-way push switch, and operation portions corresponding to the four directions (front / rear and left / right) are arranged at 90 ° intervals on the protrusions of the cross. The player selects one of the front, rear, left and right directions by pressing one of the operation portions of the cross key 72a. For example, when the player operates the cross key 72a, it is possible to instruct the moving direction of a player character or the like appearing in the virtual game world, or to select and instruct from a plurality of options.

なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に4つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、十字キー72aの代わりに設けてもかまわない。   Note that the cross key 72a is an operation unit that outputs an operation signal in response to the above-described direction input operation of the player, but may be an operation unit of another mode. For example, four push switches may be provided in the cross direction, and an operation unit that outputs an operation signal according to the push switch pressed by the player may be provided. Further, apart from the four push switches, a center switch may be provided at a position where the cross direction intersects, and an operation unit in which the four push switches and the center switch are combined may be provided. An operation unit that outputs an operation signal in accordance with the tilt direction by tilting a tiltable stick (so-called joystick) protruding from the upper surface of the housing 71 may be provided instead of the cross key 72a. Furthermore, an operation unit that outputs an operation signal corresponding to the sliding direction by sliding a horizontally movable disk-shaped member may be provided instead of the cross key 72a. A touch pad may be provided instead of the cross key 72a.

ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、1番ボタン、2番ボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン72a〜72gは、ゲーム装置本体5が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。   A plurality of operation buttons 72 b to 72 g are provided on the rear surface side of the cross key 72 a on the upper surface of the housing 71. The operation buttons 72b to 72g are operation units that output operation signals assigned to the operation buttons 72b to 72g when the player presses the button head. For example, functions as a first button, a second button, and an A button are assigned to the operation buttons 72b to 72d. Further, functions as a minus button, a home button, a plus button, and the like are assigned to the operation buttons 72e to 72g. These operation buttons 72a to 72g are assigned respective operation functions in accordance with a game program executed by the game apparatus body 5. In the arrangement example shown in FIG. 3, the operation buttons 72 b to 72 d are arranged side by side along the center front-rear direction on the upper surface of the housing 71. Further, the operation buttons 72e to 72g are arranged in parallel between the operation buttons 72b and 72d along the left-right direction of the upper surface of the housing 71. The operation button 72f is a type of button whose upper surface is buried in the upper surface of the housing 71 and is not accidentally pressed by the player.

また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置本体5の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。   An operation button 72h is provided on the front surface side of the cross key 72a on the upper surface of the housing 71. The operation button 72h is a power switch for turning on / off the game apparatus body 5 from a remote location. This operation button 72h is also a type of button whose upper surface is buried in the upper surface of the housing 71 and that the player does not accidentally press.

また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、無線コントローラモジュール19からコントローラ7へ、複数のLED702のうち、上記コントローラ種別に対応するLEDを点灯させるための信号が送信される。   A plurality of LEDs 702 are provided on the rear surface side of the operation button 72 c on the upper surface of the housing 71. Here, the controller 7 is provided with a controller type (number) to distinguish it from other controllers 7. For example, the LED 702 is used to notify the player of the controller type currently set in the controller 7. Specifically, a signal for turning on the LED corresponding to the controller type among the plurality of LEDs 702 is transmitted from the wireless controller module 19 to the controller 7.

また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5に示すスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。   Further, on the upper surface of the housing 71, a sound release hole is formed between the operation button 72b and the operation buttons 72e to 72g to emit sound from a speaker (speaker 706 shown in FIG. 5) described later to the outside.

一方、ハウジング71下面には、凹部が形成されている。ハウジング71下面の凹部は、プレイヤがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。   On the other hand, a recess is formed on the lower surface of the housing 71. The recess on the lower surface of the housing 71 is formed at a position where the player's index finger or middle finger is positioned when the player holds the front surface of the controller 7 with one hand toward the markers 8L and 8R. An operation button 72i is provided on the inclined surface of the recess. The operation button 72i is an operation unit that functions as a B button, for example.

また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング71の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。図1および図3に示した入力装置6の一例では、コネクタ73を介して、コントローラ7の後面に角速度検出ユニット9が着脱自在に装着される。   An imaging element 743 that constitutes a part of the imaging information calculation unit 74 is provided on the front surface of the housing 71. Here, the imaging information calculation unit 74 is a system for analyzing the image data captured by the controller 7 to determine a location where the luminance is high and detecting the position of the center of gravity, the size, and the like of the location. Since the maximum sampling period is about 200 frames / second, even a relatively fast movement of the controller 7 can be tracked and analyzed. The detailed configuration of the imaging information calculation unit 74 will be described later. A connector 73 is provided on the rear surface of the housing 71. The connector 73 is an edge connector, for example, and is used for fitting and connecting with a connection cable, for example. In the example of the input device 6 shown in FIGS. 1 and 3, the angular velocity detection unit 9 is detachably mounted on the rear surface of the controller 7 via a connector 73.

ここで、以下の説明を具体的にするために、入力装置6(コントローラ7)に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するXYZ軸を入力装置6(コントローラ7)に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をZ軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をZ軸正方向とする。また、コントローラ7の上下方向をY軸とし、ハウジング71の上面(操作ボタン72aが設けられた面)方向をY軸正方向とする。さらに、コントローラ7の左右方向をX軸とし、ハウジング71の右側面(図3で表されている側面)方向をX軸正方向とする。   Here, in order to make the following description concrete, a coordinate system set for the input device 6 (controller 7) is defined. As shown in FIGS. 3 and 4, XYZ axes orthogonal to each other are defined for the input device 6 (controller 7). Specifically, the longitudinal direction of the housing 71, which is the front-rear direction of the controller 7, is the Z axis, and the front surface (the surface on which the imaging information calculation unit 74 is provided) of the controller 7 is the Z axis positive direction. The vertical direction of the controller 7 is the Y axis, and the upper surface (the surface on which the operation buttons 72a are provided) of the housing 71 is the Y axis positive direction. Furthermore, the left-right direction of the controller 7 is the X axis, and the right side surface (side surface shown in FIG. 3) direction of the housing 71 is the X axis positive direction.

角速度検出ユニット9は、3軸周りの角速度を検知するジャイロセンサ(図7に示す2軸ジャイロセンサ95および1軸ジャイロセンサ96)を有する。角速度検出ユニット9の前端(図3に示すZ軸正方向側の端部)には、コネクタ73に接続可能なプラグ(図7に示すプラグ93)が設けられる。さらに、プラグ93の両側にはフック(図示せず)が設けられる。角速度検出ユニット9がコントローラ7に対して装着される状態では、プラグ93がコネクタ73に接続されるとともに、上記フックがコントローラ7の係止穴73aに係止する。これによって、コントローラ7と角速度検出ユニット9とがしっかりと固定される。また、角速度検出ユニット9は、側面(図3に示すX軸方向の面)にボタン91を有している。ボタン91は、それを押下すれば上記フックの係止穴73aに対する係止状態を解除することができるように構成されている。したがって、ボタン91を押下しながらプラグ93をコネクタ73から抜くことによって、角速度検出ユニット9をコントローラ7から離脱することができる。   The angular velocity detection unit 9 includes gyro sensors (two-axis gyro sensor 95 and one-axis gyro sensor 96 shown in FIG. 7) that detect angular velocities around three axes. A plug (plug 93 shown in FIG. 7) that can be connected to the connector 73 is provided at the front end of the angular velocity detection unit 9 (end on the Z-axis positive direction side shown in FIG. 3). Further, hooks (not shown) are provided on both sides of the plug 93. In a state where the angular velocity detection unit 9 is attached to the controller 7, the plug 93 is connected to the connector 73 and the hook is locked in the locking hole 73 a of the controller 7. As a result, the controller 7 and the angular velocity detection unit 9 are firmly fixed. Further, the angular velocity detection unit 9 has a button 91 on a side surface (surface in the X-axis direction shown in FIG. 3). The button 91 is configured to release the locked state of the hook with respect to the locking hole 73a when pressed. Therefore, the angular velocity detection unit 9 can be detached from the controller 7 by removing the plug 93 from the connector 73 while pressing the button 91.

また、角速度検出ユニット9の後端には、上記コネクタ73と同形状のコネクタが設けられる。したがって、コントローラ7(のコネクタ73)に対して装着可能な他の機器は、角速度検出ユニット9の後端コネクタに対しても装着可能である。なお、図3においては、当該後端コネクタに対してカバー92が着脱可能に装着されている。   A connector having the same shape as the connector 73 is provided at the rear end of the angular velocity detection unit 9. Therefore, other devices that can be attached to the controller 7 (connector 73 thereof) can also be attached to the rear end connector of the angular velocity detection unit 9. In FIG. 3, a cover 92 is detachably attached to the rear end connector.

次に、図5および図6を参照して、コントローラ7の内部構造について説明する。なお、図5は、コントローラ7の上筐体(ハウジング71の一部)を外した状態を後面側から見た斜視図である。図6は、コントローラ7の下筐体(ハウジング71の一部)を外した状態を前面側から見た斜視図である。ここで、図6に示す基板700は、図5に示す基板700の裏面から見た斜視図となっている。   Next, the internal structure of the controller 7 will be described with reference to FIGS. FIG. 5 is a perspective view of a state in which the upper casing (a part of the housing 71) of the controller 7 is removed as viewed from the rear side. FIG. 6 is a perspective view of a state in which the lower casing (a part of the housing 71) of the controller 7 is removed as seen from the front side. Here, the substrate 700 shown in FIG. 6 is a perspective view seen from the back surface of the substrate 700 shown in FIG.

図5において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751等(図6、図7参照)に接続される。また、無線モジュール753(図7参照)およびアンテナ754によって、コントローラ7がワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の動きを良好な感度でゲーム装置本体5等が判定することができる。   In FIG. 5, a substrate 700 is fixed inside the housing 71, and operation buttons 72a to 72h, an acceleration sensor 701, an LED 702, an antenna 754, and the like are provided on the upper main surface of the substrate 700. These are connected to the microcomputer 751 and the like (see FIGS. 6 and 7) by wiring (not shown) formed on the substrate 700 and the like. In addition, the controller 7 functions as a wireless controller by the wireless module 753 (see FIG. 7) and the antenna 754. A quartz oscillator (not shown) is provided inside the housing 71, and generates a basic clock for the microcomputer 751, which will be described later. A speaker 706 and an amplifier 708 are provided on the upper main surface of the substrate 700. Further, the acceleration sensor 701 is provided on the substrate 700 on the left side of the operation button 72d (that is, on the peripheral portion, not the central portion). Therefore, the acceleration sensor 701 can detect the acceleration including the component due to the centrifugal force in addition to the change in the direction of the gravitational acceleration in accordance with the rotation around the longitudinal direction of the controller 7. The game apparatus body 5 and the like can determine the movement of the controller 7 from the detected acceleration data with good sensitivity.

一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置本体5から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。   On the other hand, in FIG. 6, an imaging information calculation unit 74 is provided at the front edge on the lower main surface of the substrate 700. The imaging information calculation unit 74 includes an infrared filter 741, a lens 742, an imaging element 743, and an image processing circuit 744 in order from the front of the controller 7, and each is attached to the lower main surface of the substrate 700. A connector 73 is attached to the rear edge on the lower main surface of the substrate 700. Further, a sound IC 707 and a microcomputer 751 are provided on the lower main surface of the substrate 700. The sound IC 707 is connected to the microcomputer 751 and the amplifier 708 through wiring formed on the substrate 700 or the like, and outputs an audio signal to the speaker 706 via the amplifier 708 according to the sound data transmitted from the game apparatus body 5.

そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置本体5から送信された振動データに応じてその作動をオン/オフする。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ704は、ハウジング71のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング71が大きく振動することになり、振動を感じやすくなる。   A vibrator 704 is attached on the lower main surface of the substrate 700. The vibrator 704 is, for example, a vibration motor or a solenoid. Vibrator 704 is connected to microcomputer 751 by wiring formed on substrate 700 and the like, and turns on / off its operation in accordance with vibration data transmitted from game apparatus body 5. Since the vibration is generated in the controller 7 by the operation of the vibrator 704, the vibration is transmitted to the hand of the player holding it, and a so-called vibration-compatible game can be realized. Here, since the vibrator 704 is disposed slightly forward of the housing 71, the housing 71 vibrates greatly when the player is gripping it, and it is easy to feel the vibration.

次に、図7を参照して、入力装置6(コントローラ7および角速度検出ユニット9)の内部構成について説明する。なお、図7は、入力装置6の構成の一例を示すブロック図である。   Next, the internal configuration of the input device 6 (the controller 7 and the angular velocity detection unit 9) will be described with reference to FIG. FIG. 7 is a block diagram illustrating an example of the configuration of the input device 6.

図7において、コントローラ7は、上述した操作部72、撮像情報演算部74、加速度センサ701、バイブレータ704、スピーカ706、サウンドIC707、およびアンプ708の他に、その内部に通信部75を備えている。   In FIG. 7, the controller 7 includes a communication unit 75 in addition to the above-described operation unit 72, imaging information calculation unit 74, acceleration sensor 701, vibrator 704, speaker 706, sound IC 707, and amplifier 708. .

撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。   The imaging information calculation unit 74 includes an infrared filter 741, a lens 742, an imaging element 743, and an image processing circuit 744. The infrared filter 741 allows only infrared rays to pass from light incident from the front of the controller 7. The lens 742 condenses the infrared light that has passed through the infrared filter 741 and outputs the condensed infrared light to the image sensor 743. The imaging element 743 is a solid-state imaging element such as a CMOS sensor or a CCD, for example, and images the infrared rays collected by the lens 742. Therefore, the image sensor 743 captures only the infrared light that has passed through the infrared filter 741 and generates image data. Image data generated by the image sensor 743 is processed by an image processing circuit 744. Specifically, the image processing circuit 744 processes the image data obtained from the image sensor 743 to detect high-luminance portions, and transmits processing result data indicating the result of detecting their position coordinates and area to the communication unit 75. Output to. The imaging information calculation unit 74 is fixed to the housing 71 of the controller 7, and the imaging direction can be changed by changing the direction of the housing 71 itself.

コントローラ7は、3軸(X、Y、Z軸)の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向(図3に示すY軸)、左右方向(図3に示すX軸)、および前後方向(図3に示すZ軸)で直線加速度を検知する。また、少なくとも1軸方向に沿った直線加速度をそれぞれ検知する加速度検出手段を使用してもよい。例えば、これらの加速度センサ701は、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能であるタイプのものでもよい。加速度センサ701は、シリコン微細加工されたMEMS(Micro Electro Mechanical Systems:微小電子機械システム)の技術に基づいた静電容量式(静電容量結合式)であることが好ましい。しかしながら、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて、加速度センサ701が提供されてもよい。   The controller 7 preferably includes a triaxial (X, Y, Z axis) acceleration sensor 701. The three-axis acceleration sensor 701 is linearly accelerated in three directions, that is, a vertical direction (Y axis shown in FIG. 3), a horizontal direction (X axis shown in FIG. 3), and a front-back direction (Z axis shown in FIG. 3). Is detected. Moreover, you may use the acceleration detection means which each detects the linear acceleration along at least 1 axial direction. For example, these acceleration sensors 701 may be of the type available from Analog Devices, Inc. or ST Microelectronics NV. The acceleration sensor 701 is preferably a capacitance type (capacitive coupling type) based on a micro-electromechanical system (MEMS) micromachined silicon technique. However, the acceleration sensor 701 may be provided by using existing acceleration detection technology (for example, a piezoelectric method or a piezoresistive method) or other appropriate technology developed in the future.

加速度センサ701に用いられるような加速度検出手段は、加速度センサ701の持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、それら3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。   The acceleration detecting means used in the acceleration sensor 701 can detect only the acceleration (linear acceleration) along a straight line corresponding to each axis of the acceleration sensor 701. That is, the direct output from the acceleration sensor 701 is a signal indicating linear acceleration (static or dynamic) along each of these three axes. For this reason, the acceleration sensor 701 cannot directly detect physical characteristics such as movement, rotation, rotational movement, angular displacement, inclination, position, or posture along a non-linear (for example, arc) path.

しかしながら、加速度センサ701から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ(例えばCPU10)またはコントローラのプロセッサ(例えばマイコン751)等のコンピュータが処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。   However, based on the acceleration signal output from the acceleration sensor 701, a computer such as a processor of the game device (for example, the CPU 10) or a processor of the controller (for example, the microcomputer 751) performs processing to estimate further information regarding the controller 7. Those skilled in the art can easily understand from the description of the present specification that they can be calculated (determined).

例えば、加速度センサ701を搭載するコントローラ7が静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサ701によって検出される加速度が重力加速度のみであるとして処理する場合)、コントローラ7が現実に静的な状態であれば、検出された加速度に基づいてコントローラ7の姿勢が重力方向に対して傾いているか否か、またはどの程度傾いているかを知ることができる。具体的には、加速度センサ701の検出軸が鉛直下方向を向いている状態を基準としたとき、当該検出軸方向に1G(重力加速度)が作用しているか否かだけでコントローラ7が鉛直下方向に対して傾いているか否かを知ることができる。また、上記検出軸方向に作用している加速度の大きさによって、コントローラ7が鉛直下方向に対してどの程度傾いているかも知ることができる。また、多軸方向の加速度を検出可能な加速度センサ701の場合には、さらに各軸に対して検出された加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ7がどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ701からの出力に基づいて、プロセッサがコントローラ7の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータを算出する処理を行うことなく、加速度センサ701からの出力に基づいて、おおよそのコントローラ7の傾き具合を推定するような処理としてもよい。このように、加速度センサ701をプロセッサと組み合わせて用いることによって、コントローラ7の傾き、姿勢、または位置を判定することができる。   For example, when processing is performed on the computer side on the assumption that the controller 7 on which the acceleration sensor 701 is mounted is in a static state (that is, when processing is performed assuming that the acceleration detected by the acceleration sensor 701 is only gravitational acceleration), If the controller 7 is in a static state, it is possible to know whether or how much the attitude of the controller 7 is inclined with respect to the direction of gravity based on the detected acceleration. Specifically, when the state in which the detection axis of the acceleration sensor 701 is oriented vertically downward is used as a reference, the controller 7 is only vertically lowered depending on whether 1 G (gravitational acceleration) is acting in the detection axis direction. It is possible to know whether or not it is inclined with respect to the direction. Further, it is possible to know how much the controller 7 is inclined with respect to the vertically downward direction by the magnitude of the acceleration acting in the detection axis direction. Further, in the case of the acceleration sensor 701 capable of detecting the acceleration in the multi-axis direction, by further processing the acceleration signal detected for each axis, how much the controller 7 is in the gravitational direction. You can know in more detail whether it is tilted. In this case, the processor may perform processing for calculating the tilt angle data of the controller 7 based on the output from the acceleration sensor 701, but without performing the processing for calculating the tilt angle data, the acceleration sensor Based on the output from 701, it is good also as a process which estimates the inclination degree of the approximate controller 7. FIG. Thus, by using the acceleration sensor 701 in combination with the processor, the inclination, posture, or position of the controller 7 can be determined.

一方、加速度センサ701が動的な状態であることを前提とする場合には、当該加速度センサ701が重力加速度成分に加えて加速度センサ701の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、コントローラ7の動き方向等を知ることができる。具体的には、加速度センサ701を備えるコントローラ7がプレイヤの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7の様々な動きおよび/または位置を算出することができる。なお、加速度センサ701が動的な状態であることを前提とする場合であっても、加速度センサ701の動きに応じた加速度を所定の処理により除去すれば、重力方向に対するコントローラ7の傾きを知ることが可能である。   On the other hand, when it is assumed that the acceleration sensor 701 is in a dynamic state, the acceleration sensor 701 detects acceleration according to the motion of the acceleration sensor 701 in addition to the gravitational acceleration component. If it is removed by a predetermined process, the movement direction of the controller 7 can be known. Specifically, when the controller 7 provided with the acceleration sensor 701 is dynamically accelerated and moved by a player's hand, various movements of the controller 7 and the controller 7 are processed by processing the acceleration signal generated by the acceleration sensor 701. / Or the position can be calculated. Even if it is assumed that the acceleration sensor 701 is in a dynamic state, the inclination of the controller 7 with respect to the direction of gravity can be known if the acceleration corresponding to the movement of the acceleration sensor 701 is removed by a predetermined process. It is possible.

他の実施例では、加速度センサ701は、信号をマイコン751に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ701が静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。加速度センサ701でそれぞれ検知された加速度を示すデータは、通信部75に出力される。   In another embodiment, the acceleration sensor 701 is a built-in signal processing device or the like for performing desired processing on the acceleration signal output from the built-in acceleration detection means before outputting the signal to the microcomputer 751. This type of processing device may be provided. For example, when the acceleration sensor 701 is for detecting a static acceleration (for example, gravitational acceleration), the built-in type or dedicated processing device uses the detected acceleration signal as an inclination angle (or other value). To a preferable parameter). Data indicating the acceleration detected by the acceleration sensor 701 is output to the communication unit 75.

通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置本体5からのデータに応じて、サウンドIC707およびバイブレータ704の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置本体5から送信されたサウンドデータ等を処理する。また、マイコン751は、通信部75を介してゲーム装置本体5から送信された振動データ(例えば、バイブレータ704をONまたはOFFする信号)等に応じて、バイブレータ704を作動させる。また、マイコン751はコネクタ73に接続されている。角速度検出ユニット9から送信されてくるデータは、コネクタ73を介してマイコン751に入力される。以下、角速度検出ユニット9の構成について説明する。   The communication unit 75 includes a microcomputer (microcomputer) 751, a memory 752, a wireless module 753, and an antenna 754. The microcomputer 751 controls the wireless module 753 that wirelessly transmits transmission data while using the memory 752 as a storage area during processing. The microcomputer 751 controls the operation of the sound IC 707 and the vibrator 704 in accordance with data from the game apparatus body 5 received by the wireless module 753 via the antenna 754. The sound IC 707 processes sound data transmitted from the game apparatus body 5 via the communication unit 75. Further, the microcomputer 751 activates the vibrator 704 in accordance with vibration data (for example, a signal for turning the vibrator 704 on or off) transmitted from the game apparatus body 5 via the communication unit 75. The microcomputer 751 is connected to the connector 73. Data transmitted from the angular velocity detection unit 9 is input to the microcomputer 751 via the connector 73. Hereinafter, the configuration of the angular velocity detection unit 9 will be described.

角速度検出ユニット9は、プラグ93、マイコン94、2軸ジャイロセンサ95、および1軸ジャイロセンサ96を備えている。上述のように、角速度検出ユニット9は、3軸(本実施形態では、XYZ軸)周りの角速度を検出し、検出した角速度を示すデータ(角速度データ)をコントローラ7へ出力する。   The angular velocity detection unit 9 includes a plug 93, a microcomputer 94, a two-axis gyro sensor 95, and a one-axis gyro sensor 96. As described above, the angular velocity detection unit 9 detects angular velocities around three axes (XYZ axes in the present embodiment), and outputs data (angular velocity data) indicating the detected angular velocities to the controller 7.

2軸ジャイロセンサ95は、X軸周りの角速度およびY軸周りの(単位時間あたりの)角速度を検出する。また、1軸ジャイロセンサ96は、Z軸周りの(単位時間あたりの)角速度を検出する。なお、本明細書では、コントローラ7の撮像方向(Z軸正方向)を基準として、XYZ軸周りの回転方向を、それぞれ、ロール方向、ピッチ方向、ヨー方向と呼ぶ。すなわち、2軸ジャイロセンサ95は、ロール方向(X軸周りの回転方向)およびピッチ方向(Y軸周りの回転方向)の角速度を検出し、1軸ジャイロセンサ96は、ヨー方向(Z軸周りの回転方向)の角速度を検出する。   The biaxial gyro sensor 95 detects an angular velocity around the X axis and an angular velocity (per unit time) around the Y axis. Further, the uniaxial gyro sensor 96 detects an angular velocity (per unit time) around the Z axis. In this specification, the rotation directions around the XYZ axes are referred to as a roll direction, a pitch direction, and a yaw direction, respectively, with reference to the imaging direction of the controller 7 (Z-axis positive direction). That is, the two-axis gyro sensor 95 detects angular velocities in the roll direction (rotation direction around the X axis) and the pitch direction (rotation direction around the Y axis), and the one-axis gyro sensor 96 detects the yaw direction (around the Z axis). Detect the angular velocity in the rotation direction.

なお、本実施形態では、3軸周りの角速度を検出するために、2軸ジャイロセンサ95と1軸ジャイロセンサ96とを用いる構成としたが、他の実施形態においては、3軸周りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。なお、2軸ジャイロセンサ95および1軸ジャイロセンサ96を総称して説明する場合は、ジャイロセンサ95および96と記載する。   In this embodiment, the two-axis gyro sensor 95 and the one-axis gyro sensor 96 are used to detect the angular velocity around the three axes. However, in other embodiments, the angular velocity around the three axes is Any number and combination of gyro sensors may be used as long as they can be detected. Note that when the two-axis gyro sensor 95 and the one-axis gyro sensor 96 are collectively described, they are referred to as gyro sensors 95 and 96.

各ジャイロセンサ95および96で検出された角速度を示すデータは、マイコン94に出力される。したがって、マイコン94には、XYZ軸の3軸周りの角速度を示すデータが入力されることになる。マイコン94は、上記3軸周りの角速度を示すデータを角速度データとしてプラグ93を介してコントローラ7へ出力する。なお、マイコン94からコントローラ7への出力は、所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で出力を行うことが好ましい。   Data indicating the angular velocity detected by each gyro sensor 95 and 96 is output to the microcomputer 94. Accordingly, the microcomputer 94 receives data indicating angular velocities around the three axes of the XYZ axes. The microcomputer 94 outputs data indicating the angular velocity around the three axes to the controller 7 through the plug 93 as angular velocity data. Note that the output from the microcomputer 94 to the controller 7 is sequentially performed at predetermined intervals, but the game processing is generally performed in units of 1/60 seconds (as one frame time). It is preferable to output at a period of less than time.

コントローラ7の説明に戻り、コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの3軸方向の加速度信号(X、Y、およびZ軸方向加速度データ)、撮像情報演算部74からの処理結果データ、および角速度検出ユニット9からの3軸周りの角速度を示すデータ(X、Y、Z軸周り角速度データ)は、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、X、Y、およびZ軸方向加速度データ、処理結果データ、X、Y、およびZ軸周り角速度データ)を無線コントローラモジュール19へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から無線コントローラモジュール19への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(登録商標)で構成される通信部75の送信間隔は5msである。マイコン751は、無線コントローラモジュール19への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥース(登録商標)の技術を用いて、操作情報を示す電波信号を所定周波数の搬送波を用いてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からのX、Y、およびZ軸方向加速度データ、撮像情報演算部74からの処理結果データ、角速度検出ユニット9からのX、Y、およびZ軸周り角速度データがコントローラ7から送信される。そして、ゲーム装置本体5の無線コントローラモジュール19でその電波信号を受信し、ゲーム装置本体5で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、X、Y、およびZ軸方向加速度データ、処理結果データ、X、Y、およびZ軸周り角速度データ)を取得する。そして、ゲーム装置本体5のCPU10は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。   Returning to the description of the controller 7, an operation signal (key data) from the operation unit 72 provided in the controller 7, an acceleration signal (X, Y, and Z-axis direction acceleration data) from the acceleration sensor 701, and imaging The processing result data from the information calculation unit 74 and the data (angular velocity data around the X, Y, and Z axes) indicating the angular velocity around the three axes from the angular velocity detection unit 9 are output to the microcomputer 751. The microcomputer 751 temporarily transmits the input data (key data, X, Y, and Z axis direction acceleration data, processing result data, X, Y, and Z axis angular velocity data) as transmission data to be transmitted to the wireless controller module 19. The data is stored in the memory 752. Here, the wireless transmission from the communication unit 75 to the wireless controller module 19 is performed at predetermined intervals, but since the game processing is generally performed in units of 1/60 seconds, it is more than that. It is necessary to perform transmission in a short cycle. Specifically, the processing unit of the game is 16.7 ms (1/60 seconds), and the transmission interval of the communication unit 75 configured by Bluetooth (registered trademark) is 5 ms. When the transmission timing to the wireless controller module 19 comes, the microcomputer 751 outputs the transmission data stored in the memory 752 as a series of operation information and outputs it to the wireless module 753. The wireless module 753 radiates a radio signal indicating operation information from the antenna 754 using a carrier wave having a predetermined frequency, for example, using Bluetooth (registered trademark) technology. That is, key data from the operation unit 72 provided in the controller 7, X, Y and Z-axis direction acceleration data from the acceleration sensor 701, processing result data from the imaging information calculation unit 74, X from the angular velocity detection unit 9 , Y, and Z-axis angular velocity data are transmitted from the controller 7. Then, the radio controller module 19 of the game apparatus body 5 receives the radio signal, and the game apparatus body 5 demodulates and decodes the radio signal, so that a series of operation information (key data, X, Y, and Z axes) Direction acceleration data, processing result data, X, Y, and Z axis angular velocity data). Then, the CPU 10 of the game apparatus body 5 performs game processing based on the acquired operation information and the game program. When the communication unit 75 is configured using Bluetooth (registered trademark) technology, the communication unit 75 can also have a function of receiving transmission data wirelessly transmitted from other devices.

入力装置6を用いることによって、プレイヤは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ7を任意の傾斜角度に傾ける操作を行うことができる。その他、入力装置6によれば、プレイヤは、入力装置6によって画面上の任意の位置を指示する操作、および、入力装置6自体を動かす操作を行うこともできる。   By using the input device 6, the player can perform an operation of tilting the controller 7 to an arbitrary tilt angle in addition to the conventional general game operation of pressing each operation button. In addition, according to the input device 6, the player can also perform an operation of instructing an arbitrary position on the screen by the input device 6 and an operation of moving the input device 6 itself.

次に、ゲーム装置本体5が行う具体的な処理を説明する前に、図8および図9を用いてゲーム装置本体5で行う処理の概要について説明する。なお、図8は、モニタ2に表示されるジャイロセンサ安定確認画面の一例を示す図である。図9は、図8のジャイロセンサ安定確認画面に含まれる入力装置安定情報画面IdaおよびIdbの一例を拡大した図である。   Next, before describing specific processes performed by the game apparatus body 5, an outline of processes performed by the game apparatus body 5 will be described with reference to FIGS. FIG. 8 is a diagram illustrating an example of a gyro sensor stability confirmation screen displayed on the monitor 2. FIG. 9 is an enlarged view of an example of the input device stability information screens Ida and Idb included in the gyro sensor stability confirmation screen of FIG.

本実施形態においては、ゲームシステム1を起動してからゲームを実行して終了するまでの特定場面において、所定の条件を満たす場合にジャイロセンサ安定確認画面がモニタ2に表示される。例えば、ゲームシステム1を起動してからゲームを開始する前に、当該ゲームにおいて使用する入力装置6の数(典型的には、プレイヤの人数)を決定した後に、使用される入力装置6毎のジャイロセンサ95および96の安定を確認する画面(ジャイロセンサ安定確認画面)が表示される。例えば、図8に示すように、ジャイロセンサ安定確認画面では、ジャイロセンサ95および96を安定した状態にするためにプレイヤに要求する動作を示す要求情報画面Iiと共に、使用される入力装置6のジャイロセンサ95および96の安定確認状態をそれぞれ示す入力装置安定情報画面Idが表示される。   In the present embodiment, a gyro sensor stability confirmation screen is displayed on the monitor 2 when a predetermined condition is satisfied in a specific scene from when the game system 1 is activated to when the game is executed and ended. For example, after starting the game system 1 and before starting the game, after determining the number of input devices 6 (typically, the number of players) used in the game, for each input device 6 used. A screen for confirming the stability of the gyro sensors 95 and 96 (gyro sensor stability confirmation screen) is displayed. For example, as shown in FIG. 8, on the gyro sensor stability confirmation screen, the gyro sensor of the input device 6 used together with the request information screen Ii indicating the operation requested from the player to make the gyro sensors 95 and 96 stable. An input device stability information screen Id showing the stability confirmation states of the sensors 95 and 96 is displayed.

ここで、「ジャイロセンサ95および96の安定」とは、ジャイロセンサ95および96を静止している状態にして当該状態におけるジャイロセンサ95および96からの出力(静止時出力)を得るための処理である。例えば、ジャイロセンサ95および96は、上記静止時出力を基準として、X、Y、およびZ軸周り角速度データを出力する。一例として、ジャイロセンサ95および96は、検出した角速度に比例した電圧を出力し、上記静止時出力を中心に回転角速度が正方向のときに出力電圧が高くなり、負方向のときに出力電圧が低くなる。つまり、設定する静止時出力に誤差が含まれていると、ジャイロセンサ95および96から出力される角速度データが示す角速度にも誤差が含まれることになる。したがって、ジャイロセンサ95および96を安定した状態にして、ジャイロセンサ95および96における正確な静止時出力を得ることによって、結果的に正確な角速度を得ることができる。このように、ジャイロセンサ安定確認画面をモニタ2に表示することによって、プレイヤにジャイロセンサ95および96(入力装置6)を静止させることを促すと共に、現在のジャイロセンサ95および96(入力装置6)の静止状況を表示することによって、プレイヤにジャイロセンサ95および96に対して現時点に生じている誤差を報知している。   Here, “stabilization of the gyro sensors 95 and 96” is a process for obtaining the outputs from the gyro sensors 95 and 96 in the state in which the gyro sensors 95 and 96 are stationary (outputs at rest). is there. For example, the gyro sensors 95 and 96 output angular velocity data around the X, Y, and Z axes based on the stationary output. As an example, the gyro sensors 95 and 96 output a voltage proportional to the detected angular velocity, and the output voltage becomes high when the rotational angular velocity is positive in the stationary direction, and the output voltage is negative when the rotation is negative. Lower. That is, if the set stationary output includes an error, the angular velocity indicated by the angular velocity data output from the gyro sensors 95 and 96 also includes an error. Therefore, by setting the gyro sensors 95 and 96 in a stable state and obtaining an accurate stationary output from the gyro sensors 95 and 96, an accurate angular velocity can be obtained as a result. In this way, by displaying the gyro sensor stability confirmation screen on the monitor 2, the player is prompted to stop the gyro sensors 95 and 96 (input device 6), and the current gyro sensors 95 and 96 (input device 6). By displaying the stationary state of the player, the player is notified of the error currently occurring to the gyro sensors 95 and 96.

ここで、ジャイロセンサ95および96は、X、Y、およびZ軸周り角速度データを出力ための基準値(ゼロ点)を固定値として予め有していることがあるが、現実の静止時出力と当該固定値とがずれていることがあり得る。また、一旦、静止時出力が決定された後であっても、ジャイロセンサ95および96の出力が時間経過と共に変動することがあり、この場合、静止時出力も時間経過と共に変動する(ドリフト現象)。このような静止時出力の誤差を低減するために、ジャイロセンサ安定確認画面をモニタ2に表示することによって、ジャイロセンサ95および96の静止を促し、その時点での静止時出力を得ている。   Here, the gyro sensors 95 and 96 may have a reference value (zero point) for outputting angular velocity data around the X, Y, and Z axes in advance as a fixed value. There may be a deviation from the fixed value. In addition, even after the stationary output is determined, the outputs of the gyro sensors 95 and 96 may vary with time. In this case, the stationary output also varies with time (drift phenomenon). . In order to reduce such an error in the stationary output, the gyro sensor stability confirmation screen is displayed on the monitor 2 to prompt the stationary gyro sensors 95 and 96 to obtain the stationary output at that time.

具体的には、要求情報画面Iiとして、入力装置6を静止させて載置することをプレイヤに促す情報が表示される。例えば、要求情報画面Iiとして、「コントローラを机の上などにおいて静止させてください」とプレイヤに報知する文字情報が表示される。   Specifically, information that prompts the player to place the input device 6 stationary is displayed on the request information screen Ii. For example, as the request information screen Ii, the character information informing the player that “Please make the controller rest on a desk or the like” is displayed.

また、図8および図9においては、2つの入力装置6aおよび10bが安定状態にあるか否かをそれぞれ示す入力装置安定情報画面IdaおよびIdbが一例として表示されている。図9において、入力装置安定情報画面Idには、入力装置オブジェクトDobjおよび入力装置識別オブジェクトMobjと共に、ジャイロセンサ95および96の安定確認中か否かを示す文字情報が表示される。例えば、入力装置識別オブジェクトMobjは、内部に対象となる入力装置6を識別する複数の標識を有しており、当該標識の何れかを点灯させることによって、何れのプレイヤが所持する入力装置6の情報であるかを示している。例えば、入力装置安定情報画面Idaに表示されている入力装置識別オブジェクトMobjaは、左端の標識を点灯させることによって、入力装置安定情報画面Idaに表示されている情報が第1プレイヤによって所持されている入力装置6(入力装置6a)に関するものであることを示している。また、入力装置安定情報画面Idbに表示されている入力装置識別オブジェクトMobjbは、左端から2番目の標識を点灯させることによって、入力装置安定情報画面Idbに表示されている情報が第2プレイヤによって所持されている入力装置6(入力装置6b)に関するものであることを示している。   8 and 9, input device stability information screens Ida and Idb showing whether or not the two input devices 6a and 10b are in a stable state are displayed as an example. In FIG. 9, the input device stability information screen Id displays character information indicating whether or not the gyro sensors 95 and 96 are being checked for stability, together with the input device object Dobj and the input device identification object Mobj. For example, the input device identification object Mobj has a plurality of signs for identifying the target input device 6 inside, and by lighting any one of the signs, any player possesses the input device 6. Indicates whether it is information. For example, the input device identification object Mobja displayed on the input device stability information screen Ida has the information displayed on the input device stability information screen Ida possessed by the first player by turning on the left end indicator. This indicates that the input device 6 (input device 6a) is concerned. Further, the input device identification object Mobjb displayed on the input device stability information screen Idb lights up the second sign from the left end, so that the information displayed on the input device stability information screen Idb is possessed by the second player. This indicates that the input device 6 is related to the input device 6 (input device 6b).

図9に示した一例では、入力装置6aのジャイロセンサ95および96が安定状態とはなっていない場合の画面例として、入力装置安定情報画面Idaが例示されている。入力装置6aのジャイロセンサ95および96が安定状態になっていない場合、入力装置安定情報画面Idaに表示される入力装置オブジェクトDobjaは、図示j方向に回転している状態で表示される。入力装置オブジェクトDobjaが回転する速度は、ジャイロセンサ95および96に加えられる角速度の大きさに基づいて設定される。一方、入力装置6bのジャイロセンサ95および96が安定状態となっている場合の画面例として、入力装置安定情報画面Idbが例示されている。入力装置6bのジャイロセンサ95および96が安定状態となった場合、入力装置安定情報画面Idbに表示される入力装置オブジェクトDobjbは、縦方向に静止した状態で表示される。なお、ジャイロセンサ95および96が安定していない状態から安定状態になる直前には、回転中の入力装置オブジェクトDobjaの回転速度は遅くなっており、また、そのときの入力装置オブジェクトDobjaの姿勢が上記縦方向とは限らないので、その時点での姿勢から上記縦方向になるように所定の回転をさせてから入力装置オブジェクトDobjaを静止させる。なお、ジャイロセンサ95および96の安定状態が一旦確認された後に、プレイヤが入力装置6bを動かしたとしても、入力装置オブジェクトDobjbは、縦方向の静止状態を維持した状態で表示される。   In the example shown in FIG. 9, an input device stability information screen Ida is illustrated as an example of a screen when the gyro sensors 95 and 96 of the input device 6a are not in a stable state. When the gyro sensors 95 and 96 of the input device 6a are not in the stable state, the input device object Dobja displayed on the input device stability information screen Ida is displayed in a state of rotating in the j direction shown in the figure. The speed at which the input device object Dobja rotates is set based on the magnitude of the angular speed applied to the gyro sensors 95 and 96. On the other hand, as an example of the screen when the gyro sensors 95 and 96 of the input device 6b are in the stable state, the input device stability information screen Idb is illustrated. When the gyro sensors 95 and 96 of the input device 6b are in a stable state, the input device object Dobjb displayed on the input device stability information screen Idb is displayed in a stationary state in the vertical direction. Immediately before the gyro sensors 95 and 96 change from the unstable state to the stable state, the rotational speed of the rotating input device object Dobja is slow, and the posture of the input device object Dobja at that time is Since the vertical direction is not necessarily limited, the input device object Dobja is stopped after a predetermined rotation is performed so as to be in the vertical direction from the posture at that time. Even if the player moves the input device 6b after the stable states of the gyro sensors 95 and 96 have been confirmed, the input device object Dobjb is displayed in a state in which the stationary state in the vertical direction is maintained.

このように、入力装置オブジェクトDobjを視認することによって、プレイヤは自分が所持する入力装置6のジャイロセンサ95および96の状態を容易に認識することができる。例えば、ジャイロセンサ95および96の出力に誤差が含まれる場合には、実際に入力装置6を静止させていても入力装置オブジェクトDobjが回転するので、プレイヤが当該誤差を認識することができる。また、入力装置安定情報画面Idは、ゲームシステム1を起動してからゲームを実行して終了するまでの特定場面において、所定の条件を満たす場合にモニタ2に表示される。後述により明らかとなるが、入力装置安定情報画面Idは、例えばゲームで使用する入力装置6の数を決定(典型的には、プレイヤの人数を決定)した後に安定フラグSfrgがオフとなっている入力装置6がある場合、ゲーム中において安定フラグSfrgがオフとなり当該オフとなった入力装置6を現時点で当該ゲームに用いる状況にある場合、ゲーム中においてプレイヤが入力装置安定情報画面Idを表示させる操作を行った場合等において、モニタ2に表示される。したがって、入力装置安定情報画面Idは、以降のゲーム処理のためにジャイロセンサ95および96の静止が必要な状況の場合や、プレイヤがジャイロセンサ95および96に生じている誤差を確認したい場合等に表示されることになり、ゲーム処理を進めていく上で必要な状況で適宜表示されることになる。   Thus, by visually recognizing the input device object Dobj, the player can easily recognize the states of the gyro sensors 95 and 96 of the input device 6 possessed by the player. For example, if the outputs of the gyro sensors 95 and 96 include an error, the input device object Dobj rotates even when the input device 6 is actually stopped, so that the player can recognize the error. Further, the input device stability information screen Id is displayed on the monitor 2 when a predetermined condition is satisfied in a specific scene from when the game system 1 is started to when the game is executed and ended. As will be apparent from the description below, the stability flag Sfrg is turned off on the input device stability information screen Id after, for example, the number of input devices 6 used in the game is determined (typically, the number of players is determined). When the input device 6 is present, the stability flag Sfrg is turned off during the game, and when the input device 6 that is turned off is currently used for the game, the player displays the input device stability information screen Id during the game. It is displayed on the monitor 2 when an operation is performed. Accordingly, the input device stability information screen Id is used when the gyro sensors 95 and 96 need to be stationary for the subsequent game processing, or when the player wants to check the error occurring in the gyro sensors 95 and 96. It will be displayed, and will be displayed as appropriate in the situation necessary for proceeding with the game process.

次に、ゲームシステム1において行われるゲーム処理の詳細を説明する。まず、図10を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図10は、ゲーム装置本体5の外部メインメモリ12および/または内部メインメモリ35(以下、2つのメインメモリを総称して、単にメインメモリと記載する)に記憶される主なデータおよびプログラムの一例を示す図である。   Next, the details of the game process performed in the game system 1 will be described. First, main data used in the game process will be described with reference to FIG. FIG. 10 shows main data and programs stored in the external main memory 12 and / or the internal main memory 35 of the game apparatus body 5 (hereinafter, the two main memories are simply referred to as main memory). It is a figure which shows an example.

図10に示すように、メインメモリのデータ記憶領域には、角速度データDa、角度データDb、過去角度データDc、安定フラグデータDd、安定カウンタデータDe、安定確認時間データDf、回転速度データDg、再確認フラグデータDh、および画像データDi等が記憶される。なお、メインメモリには、図10に示すデータの他、ゲームに登場する各種オブジェクトの画像データや、オブジェクトの各種パラメータを示すデータ等、ゲーム処理に必要なデータが記憶される。また、メインメモリのプログラム記憶領域には、ゲームプログラムを構成する各種プログラム群Paが記憶される。各種プログラム群Paは、ゲーム装置本体5に電源が投入された後の適宜のタイミングで光ディスク4やその他の記録媒体からその一部または全部が読み込まれてメインメモリに記憶される。   As shown in FIG. 10, the data storage area of the main memory includes angular velocity data Da, angle data Db, past angle data Dc, stability flag data Dd, stability counter data De, stability confirmation time data Df, rotational speed data Dg, Reconfirmation flag data Dh, image data Di, and the like are stored. In addition to the data shown in FIG. 10, the main memory stores data necessary for the game process, such as image data of various objects appearing in the game and data indicating various parameters of the objects. Various program groups Pa constituting the game program are stored in the program storage area of the main memory. Various program groups Pa are partially or entirely read from the optical disc 4 and other recording media and stored in the main memory at an appropriate timing after the game apparatus body 5 is powered on.

角速度データDaは、角速度検出ユニット9のジャイロセンサ95および96によって検出された角速度を示すデータであり、使用される入力装置6毎に対応させて格納される。例えば、角速度データDaは、入力装置6(ジャイロセンサ95および96)に生じた角速度を示すデータであり、入力装置6から送信データとして送信されてくる一連の操作情報に含まれる角速度データが格納される。角速度データDaには、ジャイロセンサ95および96が検出したX軸周りの角速度v1を示すX軸周り角速度データDa1、Y軸周りの角速度v2を示すY軸周り角速度データDa2、Z軸周りの角速度v3を示すZ軸周り角速度データDa3が含まれる。なお、ゲーム装置本体5に備える無線コントローラモジュール19は、コントローラ7から所定周期(例えば、1/200秒毎)に送信される操作情報に含まれる角速度データを受信し、無線コントローラモジュール19に備える図示しないバッファに蓄えられる。その後、例えば、上記バッファに蓄えられた角速度データがゲーム処理周期である1フレーム毎(例えば、1/60秒毎)に当該期間中に蓄えられたデータが読み出されて、メインメモリの角速度データDaが更新される。   The angular velocity data Da is data indicating the angular velocity detected by the gyro sensors 95 and 96 of the angular velocity detection unit 9 and is stored corresponding to each input device 6 used. For example, the angular velocity data Da is data indicating an angular velocity generated in the input device 6 (gyro sensors 95 and 96), and stores angular velocity data included in a series of operation information transmitted as transmission data from the input device 6. The The angular velocity data Da includes the X-axis angular velocity data Da1 indicating the angular velocity v1 around the X axis detected by the gyro sensors 95 and 96, the Y-axis angular velocity data Da2 indicating the angular velocity v2 around the Y axis, and the angular velocity v3 around the Z axis. Z-axis angular velocity data Da3 indicating The wireless controller module 19 provided in the game apparatus body 5 receives angular velocity data included in the operation information transmitted from the controller 7 at a predetermined cycle (for example, every 1/200 second), and is provided in the wireless controller module 19. Not stored in the buffer. After that, for example, the angular velocity data stored in the buffer is read out for each frame (for example, every 1/60 seconds) that is the game processing cycle, and the data stored during the period is read out, and the angular velocity data in the main memory is read. Da is updated.

なお、角速度データDaに適宜格納される角速度データは、当該格納される前に所定の補正が行われている。以下、角速度データの補正例について説明する。   The angular velocity data appropriately stored in the angular velocity data Da is subjected to predetermined correction before being stored. Hereinafter, an example of correction of angular velocity data will be described.

例えば、ジャイロセンサ95および96から出力された角速度データが示す角速度vを、
v←v+(sum/ct−v)×a
によって一次補正する。ここで、ctは、角速度vが格納されたデータバッファ(図示せず)から遡って、角速度が連続して安定範囲(下限)s1および安定範囲(上限)s2で設定された安定範囲内に収まると判断されたデータの数(連続個数ct)である。sumは、上記安定範囲内に収まると判断されたデータバッファ内の値の合計値(合計値sum)である。つまり、角速度vを書き込んだデータバッファの位置から遡って、新しいデータバッファから古いデータバッファへ順に、連続して上記安定範囲内に含まれるデータバッファを繰り返し取得して、その個数(連続個数ct)および合計値(合計値sum)である(ただし、検索上限数が設定される)。また、aは、静止具合値を示す。静止具合値aは、0〜1の範囲内の数値であり、ジャイロセンサ95および96の動きの変化が少ない(安定している)期間が長ければ長いほど1に近づく値である。そして、静止具合値aは、連続個数ctが上記検索上限数と等しいとき、すなわち角速度vが格納されたデータバッファから遡って連続して検索上限数分のデータバッファの値が全て上記安定範囲内に入っていたとき、最大値1になるようにして正規化される。
For example, the angular velocity v indicated by the angular velocity data output from the gyro sensors 95 and 96 is
v ← v + (sum / ct−v) × a
To make the primary correction. Here, ct goes back from a data buffer (not shown) in which the angular velocity v is stored, and the angular velocity continuously falls within the stable range set by the stable range (lower limit) s1 and the stable range (upper limit) s2. This is the number of data determined to be (continuous number ct). sum is a total value (total value sum) of values in the data buffer determined to be within the stable range. That is, the data buffer included in the stable range is repeatedly acquired sequentially from the new data buffer to the old data buffer in order from the position of the data buffer in which the angular velocity v is written, and the number (continuous number ct). And a total value (total value sum) (however, a search upper limit number is set). Moreover, a shows a stationary condition value. The stationary state value a is a numerical value in the range of 0 to 1, and is a value that approaches 1 as the period during which the movement of the gyro sensors 95 and 96 is small (stable) is long. The static state value a is such that when the continuous number ct is equal to the search upper limit number, that is, all the values of the data buffer for the search upper limit number are continuously within the stable range retroactively from the data buffer storing the angular velocity v. Is normalized so that the maximum value is 1.

そして、上記一次補正後の角速度vからゼロ点オフセット値(静止時出力値)ofsを減算することでオフセット補正する。ここで、ゼロ点オフセット値ofsは、ジャイロセンサ95および96が静止時に示すと想定されるデータの値であって、予め定められたデバイス固有値に設定されているが、上記一次補正後の角速度vに応じて、順次補正されて再設定される。具体的には、ゼロ点オフセット値ofsは、
ofs←ofs+(v−ofs)×a×C
によって順次補正されて再設定される。ここで、Cは、定数であり、例えばC=0.01に設定される。定数Cを小さい値にすることによって、短期間で角速度vが、入力装置6の静止状態における角速度(ゼロ点)であるように補正されることを防止している。また、静止値出力値のずれの原因となるドリフト現象は、変化が激しい現象ではないために反応良く行う必要がないため、定数Cを小さな値にすることによって高精度なゼロ点オフセット値ofsを得ることができる。なお、入力装置6を用いるゲームの種類等に応じて、定数Cの値を変化させてもかまわない。例えば、静止具合値aに定数Cを乗算した値が大きいほど、すなわち入力装置6の動きの変化が少ない安定した状態となった期間が長いほど、ゼロ点オフセット値ofsが上記一次補正された角速度vに近い値に補正される。したがって、入力装置6が静止状態にあれば、ゼロ点オフセット値ofsが上記一次補正された角速度vに収束する割合が大きくなる。つまり、ジャイロセンサ95および96の静止時のように角速度に変化が少ない場合は、ゼロ点がその平均値に近づいていくようにゼロ点の補正が行われる。すなわち、入力装置6が一旦静止すれば、補正によって以降の角速度の誤差が除かれることになる。したがって、本実施形態では、安定確認を行うことによって、ジャイロセンサ95および96の誤差が補正済みの状態でゲームを行うことができることになる。
Then, the offset correction is performed by subtracting the zero point offset value (stationary output value) ofs from the angular velocity v after the primary correction. Here, the zero point offset value ofs is a data value that is assumed to be displayed when the gyro sensors 95 and 96 are stationary, and is set to a predetermined device specific value. However, the angular velocity v after the primary correction is described above. In accordance with the above, the correction is sequentially performed and reset. Specifically, the zero point offset value ofs is
ofs ← ofs + (v−ofs) × a × C
Are sequentially corrected and reset. Here, C is a constant, and is set to C = 0.01, for example. By setting the constant C to a small value, the angular velocity v is prevented from being corrected to be the angular velocity (zero point) in the stationary state of the input device 6 in a short period. Further, since the drift phenomenon that causes the deviation of the output value of the static value is not a phenomenon that changes rapidly, it is not necessary to perform it with good response. Therefore, by setting the constant C to a small value, a highly accurate zero point offset value ofs is obtained. Can be obtained. Note that the value of the constant C may be changed according to the type of game using the input device 6 or the like. For example, the greater the value obtained by multiplying the stationary condition value a by the constant C, that is, the longer the period during which the input device 6 is in a stable state with little change in motion, the longer the zero-point offset value ofs is subjected to the first-order corrected angular velocity. It is corrected to a value close to v. Therefore, if the input device 6 is in a stationary state, the rate at which the zero point offset value ofs converges to the angular velocity v subjected to the primary correction increases. That is, when the change in the angular velocity is small as when the gyro sensors 95 and 96 are stationary, the zero point is corrected so that the zero point approaches the average value. That is, once the input device 6 is stationary, the subsequent error in angular velocity is removed by the correction. Therefore, in the present embodiment, by performing the stability check, it is possible to play the game in a state where the errors of the gyro sensors 95 and 96 have been corrected.

そして、上記一次補正後の角速度vは、ゼロ点オフセット値ofsを用いてオフセット補正される。例えば、上記一次補正後の角速度vは、
v←v―ofs
によって、オフセット補正される。これによって、ジャイロセンサ95および96から出力された角速度データが示す角速度vは、ゼロ点(静止時出力値)を考慮した上で再度補正される。そして、上記オフセット補正後の角速度vを用いて、角速度データDaが適宜更新されることになる。なお、角速度データDaに適宜格納される角速度データは、上記一次補正をすることなく上記オフセット補正だけを行った角速度データであってもかまわない。また、ゼロ点オフセット値ofsを固定値にして、上記オフセット補正のみを行ってもかまわない。この場合、仮にゼロ点に誤差が含まれる場合、静止させるだけで自動的に誤差が補正されることはないが、以降の処理によって少なくとも誤差の存在を確認することは可能である。
The angular velocity v after the primary correction is offset corrected using the zero point offset value ofs. For example, the angular velocity v after the primary correction is
v ← v-ofs
Thus, the offset is corrected. As a result, the angular velocity v indicated by the angular velocity data output from the gyro sensors 95 and 96 is corrected again in consideration of the zero point (static output value at rest). Then, the angular velocity data Da is appropriately updated using the angular velocity v after the offset correction. The angular velocity data appropriately stored in the angular velocity data Da may be angular velocity data obtained by performing only the offset correction without performing the primary correction. Alternatively, only the offset correction may be performed with the zero point offset value ofs set to a fixed value. In this case, if an error is included in the zero point, the error is not automatically corrected by just stopping, but at least the presence of the error can be confirmed by the subsequent processing.

角度データDbは、角速度検出ユニット9のジャイロセンサ95および96によって検出された角速度を累積して得られた角度のデータであり、使用される入力装置6毎に対応させて格納される。ここで、角度データDbは、入力装置6(ジャイロセンサ95および96)の姿勢(角度)を示すデータであり、入力装置6から送信データとして送信されてくる一連の操作情報に含まれる角速度データを用いて、予め算出される。上述した補正後の角速度vを用いる場合、角速度vに基づいて入力装置6の姿勢(角度)を算出することも可能である。角速度vから入力装置6の姿勢を算出する方法はどのような方法であってもよいが、例えば、初期姿勢に(単位時間あたりの)角速度vを逐次加算する方法がある。すなわち、ジャイロセンサ95および96から逐次出力されて補正された角速度vを積分し、初期状態からの姿勢の変化量(角度の変化量)を積分結果から算出することによって、現在の姿勢を算出することができる。なお、角度データDbには、X軸周りの角速度v1を用いて算出されたX軸周りの角度r1を示すX軸周り角度データDb1、Y軸周りの角速度v2を用いて算出されたY軸周りの角度r2を示すY軸周り角度データDb2、Z軸周りの角速度v3を用いて算出されたZ軸周りの角度r3を示すZ軸周り角度データDb3が含まれる。   The angle data Db is angle data obtained by accumulating the angular velocities detected by the gyro sensors 95 and 96 of the angular velocity detection unit 9, and is stored corresponding to each input device 6 to be used. Here, the angle data Db is data indicating the attitude (angle) of the input device 6 (gyro sensors 95 and 96), and angular velocity data included in a series of operation information transmitted as transmission data from the input device 6 is used. And calculated in advance. When the above-described corrected angular velocity v is used, the attitude (angle) of the input device 6 can be calculated based on the angular velocity v. Any method may be used to calculate the posture of the input device 6 from the angular velocity v. For example, there is a method of sequentially adding the angular velocity v (per unit time) to the initial posture. That is, the current posture is calculated by integrating the angular velocity v sequentially output from the gyro sensors 95 and 96 and correcting the posture change amount (angle change amount) from the initial state. be able to. The angle data Db includes the X-axis angle data Db1 indicating the angle r1 around the X axis calculated using the angular velocity v1 around the X axis, and the Y-axis around calculated using the angular velocity v2 around the Y axis. Y-axis angle data Db2 indicating the angle r2 and Z-axis angle data Db3 indicating the angle r3 about the Z-axis calculated using the angular velocity v3 about the Z-axis.

過去角度データDcは、角度の変化量を算出するために用いられ、過去に算出された姿勢(角度)を示すデータであり、使用される入力装置6毎に対応させて格納される。過去角度データDcには、過去のX軸周りの角度r1oldを示すX軸周り角度データDc1、過去のY軸周りの角度r2oldを示すY軸周り角度データDc2、過去のZ軸周りの角度r3oldを示すZ軸周り角度データDc3が含まれる。   The past angle data Dc is used to calculate the amount of change in angle, and is data indicating the posture (angle) calculated in the past, and is stored corresponding to each input device 6 used. The past angle data Dc includes X axis angle data Dc1 indicating the past angle r1old around the X axis, Y axis angle data Dc2 indicating the past angle r2old around the Y axis, and the past angle r3old around the Z axis. Z-axis angle data Dc3 shown is included.

安定フラグデータDdは、ジャイロセンサ95および96が一旦安定状態となって静止時出力が確定したか否かを示す安定フラグSfrgを示すデータであり、使用される入力装置6毎に対応させて格納される。安定カウンタデータDeは、ジャイロセンサ95および96が安定状態であるか否かを判定するための安定カウンタCを示すデータであり、使用される入力装置6毎に対応させて格納される。安定確認時間データDfは、ジャイロセンサ95および96の安定状態を確認している時間を示すデータであり、使用される入力装置6毎に対応させて格納される。   The stability flag data Dd is data indicating a stability flag Sfrg that indicates whether the gyro sensors 95 and 96 are once in a stable state and the stationary output is determined, and is stored corresponding to each input device 6 to be used. Is done. The stability counter data De is data indicating a stability counter C for determining whether or not the gyro sensors 95 and 96 are in a stable state, and is stored corresponding to each input device 6 used. The stability confirmation time data Df is data indicating the time during which the gyro sensors 95 and 96 are confirmed to be stable, and is stored corresponding to each input device 6 used.

回転速度データDgは、入力装置安定情報画面Idにおいて入力装置オブジェクトDobj(図9参照)を回転させる回転速度Vを示すデータであり、使用される入力装置6毎に対応させて格納される。   The rotation speed data Dg is data indicating the rotation speed V for rotating the input device object Doobj (see FIG. 9) on the input device stability information screen Id, and is stored corresponding to each input device 6 to be used.

再確認フラグデータDhは、プレイヤの操作に応じて、ジャイロセンサ95および96が安定状態となって静止時出力が再確認されたか否かを示す再確認フラグRfrgを示すデータであり、使用される入力装置6毎に対応させて格納される。   The reconfirmation flag data Dh is data indicating a reconfirmation flag Rfrg that indicates whether the gyro sensors 95 and 96 are in a stable state and the output at rest is reconfirmed according to the operation of the player. Stored corresponding to each input device 6.

画像データDiは、オブジェクト画像データDi1、情報画像データDi2、ボタン画像データDi3、および背景画像データDi4等を含んでいる。オブジェクト画像データDi1は、入力装置オブジェクトDobjを入力装置安定情報画面Idに配置して画像を生成するためのデータである。情報画像データDi2は、要求情報画面Iiに表示される情報等、プレイヤに報知する情報を示す文字画像を生成するためのデータである。ボタン画像データDi3は、ジャイロセンサ安定確認画面において、プレイヤの指示を受け付ける操作ボタン画像を生成するためのデータである。そして、背景画像データDi4は、ジャイロセンサ安定確認画面に背景を配置して画像を生成するためのデータである。   The image data Di includes object image data Di1, information image data Di2, button image data Di3, background image data Di4, and the like. The object image data Di1 is data for generating an image by arranging the input device object Dobj on the input device stability information screen Id. The information image data Di2 is data for generating a character image indicating information to be notified to the player, such as information displayed on the request information screen Ii. The button image data Di3 is data for generating an operation button image that receives an instruction from the player on the gyro sensor stability confirmation screen. The background image data Di4 is data for generating an image by arranging the background on the gyro sensor stability confirmation screen.

次に、図11〜図17を参照して、ゲーム装置本体5において行われるゲーム処理の詳細を説明する。なお、図11〜図13は、ゲーム装置本体5において実行されるゲーム処理の一例を示すフローチャートである。図14は、図11および図12における安定確認処理の一例を示すサブルーチンである。図15は、図11および図12における安定確認画面表示処理の一例を示すサブルーチンである。図16は、図13におけるステップ83の安定再確認処理の一例を示すサブルーチンである。図17は、図13におけるステップ84の安定再確認画面表示処理の一例を示すサブルーチンである。ここで、図11〜図17に示すフローチャートにおいては、ゲーム処理のうち、ゲーム装置本体5を起動してからゲームを実行して終了するまでの特定場面において、ジャイロセンサ95および96の静止時出力を得る処理が行われる動作について主に説明し、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。また、図11〜図17では、CPU10が実行する各ステップを「S」と略称する。   Next, with reference to FIGS. 11 to 17, the details of the game process performed in the game apparatus body 5 will be described. FIGS. 11 to 13 are flowcharts showing an example of game processing executed in the game apparatus body 5. FIG. 14 is a subroutine showing an example of the stability confirmation process in FIGS. 11 and 12. FIG. 15 is a subroutine showing an example of the stability confirmation screen display process in FIGS. 11 and 12. FIG. 16 is a subroutine showing an example of the stability reconfirmation process in step 83 in FIG. FIG. 17 is a subroutine showing an example of the stability reconfirmation screen display process in step 84 in FIG. Here, in the flowcharts shown in FIGS. 11 to 17, the stationary outputs of the gyro sensors 95 and 96 in a specific scene from the start of the game apparatus body 5 until the game is executed and ended in the game process. The operation in which the process of obtaining the game is performed will be mainly described, and detailed description of other game processes not directly related to the present invention will be omitted. In addition, in FIGS. 11 to 17, each step executed by the CPU 10 is abbreviated as “S”.

ゲーム装置本体5の電源が投入されると、ゲーム装置本体5のCPU10は、ROM/RTC13に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリに読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。図11〜図17に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。   When the power of the game apparatus body 5 is turned on, the CPU 10 of the game apparatus body 5 executes a startup program stored in the ROM / RTC 13, thereby initializing each unit such as the main memory. Then, the game program stored in the optical disc 4 is read into the main memory, and the CPU 10 starts executing the game program. The flowchart shown in FIGS. 11 to 17 is a flowchart showing a game process performed after the above process is completed.

図11において、CPU10は、安定確認処理の初期設定を行い(ステップ40)、次のステップに処理を進める。例えば、上記ステップ40における初期設定では、CPU10は、ジャイロセンサ95および96の安定確認処理を行うための各パラメータの初期設定を行う。具体的には、CPU10は、角速度データDa、角度データDb、過去角度データDc、安定確認時間データDf、および回転速度データDgに格納されているデータが示す値をそれぞれ初期値(例えば、0)に設定する。また、CPU10は、安定フラグデータDdに格納されている安定フラグSfrgおよび再確認フラグデータDhに格納されている再確認フラグRfrgを全てオフに設定する。   In FIG. 11, the CPU 10 performs initial setting of the stability confirmation process (step 40), and proceeds to the next step. For example, in the initial setting in step 40, the CPU 10 performs initial setting of each parameter for performing the stability check process of the gyro sensors 95 and 96. Specifically, the CPU 10 sets the values indicated by the data stored in the angular velocity data Da, the angle data Db, the past angle data Dc, the stability confirmation time data Df, and the rotational velocity data Dg, respectively, as initial values (for example, 0). Set to. Further, the CPU 10 sets all of the stability flag Sfrg stored in the stability flag data Dd and the reconfirmation flag Rfrg stored in the reconfirmation flag data Dh to off.

次に、CPU10は、ゲーム初期設定を行い(ステップ41)、次のステップに処理を進める。例えば、上記ステップ41におけるゲーム初期設定では、プレイヤが選択したゲーム種別に応じて、当該ゲームの仮想ゲーム世界の各種設定や以降のゲーム処理で用いる各パラメータの初期化を行う。   Next, the CPU 10 performs game initial setting (step 41), and proceeds to the next step. For example, in the game initial setting in step 41, various parameters used in the virtual game world of the game and subsequent game processing are initialized according to the game type selected by the player.

次に、CPU10は、ゲームを行う人数(プレイ人数)が決定されるのを待つ(ステップ42)。例えば、CPU10は、モニタ2にプレイ人数の選択を促す画面を表示して、プレイ人数を選択した操作入力を待つ。そして、プレイ人数が決定された場合(ステップ42でYes)、CPU10は、処理を次のステップ43に処理を進める。   Next, the CPU 10 waits for determination of the number of people who play the game (number of players) (step 42). For example, the CPU 10 displays a screen for prompting selection of the number of players on the monitor 2 and waits for an operation input for selecting the number of players. When the number of players is determined (Yes in step 42), the CPU 10 advances the process to the next step 43.

ステップ43において、CPU10は、安定確認処理を行い、次のステップに処理を進める。以下、図14を参照して、安定確認処理の詳細な動作について説明する。   In step 43, the CPU 10 performs a stability confirmation process and proceeds to the next step. Hereinafter, the detailed operation of the stability confirmation process will be described with reference to FIG.

図14において、CPU10は、安定確認処理の対象とする入力装置6を選択し(ステップ101)、次のステップに処理を進める。例えば、複数の入力装置6を用いてゲームが行われている場合、CPU10は、当該複数の入力装置6のうち、安定確認処理が終了していない何れか1つの入力装置6を選択する。なお、以下の説明においては、上記ステップ101で選択された入力装置6を対象の入力装置6として記載する。   In FIG. 14, the CPU 10 selects the input device 6 to be subjected to the stability confirmation process (step 101), and proceeds to the next step. For example, when a game is performed using a plurality of input devices 6, the CPU 10 selects any one of the plurality of input devices 6 for which the stability confirmation process has not been completed. In the following description, the input device 6 selected in step 101 is described as the target input device 6.

次に、CPU10は、対象の入力装置6からの角速度データおよび当該角速度データを用いて算出された角度データを取得して(ステップ102)、その際、当該対象の入力装置6から角速度データが取得可能か否かを判断する(ステップ103)。そして、CPU10は、対象の入力装置6から角速度データが取得可能である場合、取得した角速度データおよび角度データを用いて当該対象の入力装置6の角速度データDaおよび角度データDbを更新して、次のステップ104に処理を進める。一方、CPU10は、対象の入力装置6から角速度データが取得できない場合、次のステップ110に処理を進める。   Next, the CPU 10 acquires angular velocity data from the target input device 6 and angle data calculated using the angular velocity data (step 102). At that time, the angular velocity data is acquired from the target input device 6. It is determined whether or not it is possible (step 103). When the angular velocity data can be acquired from the target input device 6, the CPU 10 updates the angular velocity data Da and the angle data Db of the target input device 6 using the acquired angular velocity data and angle data, and next The process proceeds to step 104. On the other hand, if the angular velocity data cannot be acquired from the target input device 6, the CPU 10 proceeds to the next step 110.

ステップ104において、CPU10は、角度データDbを参照して、上記ステップ102で取得した角度データが示す角度を用いて軸毎の角度変化量をそれぞれ算出し、次のステップに処理を進める。   In step 104, the CPU 10 refers to the angle data Db, calculates the angle change amount for each axis using the angle indicated by the angle data acquired in step 102, and proceeds to the next step.

上記ステップ104において、例えば、CPU10は、対象の入力装置6のX軸周り角度データDb1が示す現時点のX軸周りの角度r1と、対象の入力装置6のX軸周り角度データDc1が示す過去のX軸周りの角度r1oldとを用いて、X軸周りの角度変化量rc1を
rc1=|r1−r1old|
で算出する。また、CPU10は、対象の入力装置6のY軸周り角度データDb2が示す現時点のY軸周りの角度r2と、対象の入力装置6のY軸周り角度データDc2が示す過去のY軸周りの角度r2oldとを用いて、Y軸周りの角度変化量rc2を
rc2=|r2−r2old|
で算出する。さらに、CPU10は、対象の入力装置6のZ軸周り角度データDb3が示す現時点のZ軸周りの角度r3と、対象の入力装置6のZ軸周り角度データDc3が示す過去のZ軸周りの角度r3oldとを用いて、Z軸周りの角度変化量rc3を
rc3=|r3−r3old|
で算出する。
In step 104 above, for example, the CPU 10 determines the current angle r1 around the X axis indicated by the X axis angle data Db1 of the target input device 6 and the past angle data Dc1 indicated by the X axis angle data Dc1 of the target input device 6. Using the angle r1old around the X axis, the angle change amount rc1 around the X axis is expressed as rc1 = | r1-r1old |
Calculate with Further, the CPU 10 determines the current angle r2 around the Y axis indicated by the Y axis angle data Db2 of the target input device 6 and the past angle around the Y axis indicated by the Y axis angle data Dc2 of the target input device 6. Using r2old, the angle change amount rc2 around the Y axis is expressed as rc2 = | r2-r2old |
Calculate with Further, the CPU 10 determines the current angle r3 around the Z axis indicated by the Z axis angle data Db3 of the target input device 6 and the past angle around the Z axis indicated by the Z axis angle data Dc3 of the target input device 6. Using r3old, the angle change amount rc3 around the Z-axis is expressed as rc3 = | r3-r3old |
Calculate with

次に、CPU10は、軸毎の角度変化量rc1、rc2、およびrc3が全て所定値以内であるか否かを判断する(ステップ105)。そして、CPU10は、軸毎の角度変化量rc1、rc2、およびrc3が全て所定値以内である場合、次のステップ106に処理を進める。一方、CPU10は、軸毎の角度変化量rc1、rc2、およびrc3の少なくとも1つが所定値より大きい場合、次のステップ112に処理を進める。   Next, the CPU 10 determines whether or not the angle change amounts rc1, rc2, and rc3 for each axis are all within a predetermined value (step 105). Then, the CPU 10 advances the processing to the next step 106 when the angle change amounts rc1, rc2, and rc3 for each axis are all within a predetermined value. On the other hand, if at least one of the angle change amounts rc1, rc2, and rc3 for each axis is greater than the predetermined value, the CPU 10 proceeds to the next step 112.

ステップ106において、CPU10は、対象の入力装置6の安定カウンタデータDeに格納されている安定カウンタCに1を加算する。そして、CPU10は、1を加算した安定カウンタCを用いて対象の入力装置6の安定カウンタデータDeを更新し、次のステップ107に処理を進める。   In step 106, the CPU 10 adds 1 to the stability counter C stored in the stability counter data De of the target input device 6. Then, the CPU 10 updates the stable counter data De of the target input device 6 using the stable counter C added with 1, and advances the processing to the next step 107.

一方、ステップ112において、CPU10は、上記ステップ104で用いた角度r1を角度r1oldに設定し、角度r2を角度r2oldに設定し、角度r3を角度r3oldに設定する。そして、CPU10は、新たに設定された角度r1old、r2old、およびr3oldをそれぞれ用いて、対象の入力装置6の過去角度データDcを更新し、次のステップに処理を進める。   On the other hand, in step 112, the CPU 10 sets the angle r1 used in step 104 to the angle r1old, sets the angle r2 to the angle r2old, and sets the angle r3 to the angle r3old. Then, the CPU 10 updates the past angle data Dc of the target input device 6 using the newly set angles r1old, r2old, and r3old, respectively, and proceeds to the next step.

次に、CPU10は、対象の入力装置6の安定カウンタデータDeに格納されている安定カウンタCを0に設定して、当該設定後の安定カウンタCを用いて対象の入力装置6の安定カウンタデータDeを更新し(ステップ113)、次のステップ107に処理を進める。   Next, the CPU 10 sets the stability counter C stored in the stability counter data De of the target input device 6 to 0, and uses the stability counter C after the setting, the stable counter data of the target input device 6. De is updated (step 113), and the process proceeds to the next step 107.

ステップ107において、CPU10は、対象の入力装置6の安定カウンタデータDeを参照して、対象の入力装置6の安定カウンタCが安定判定閾値Ct以上であるか否かを判断する。そして、CPU10は、安定カウンタCが安定判定閾値Ct以上である場合、次のステップ108に処理を進める。一方、CPU10は、安定カウンタCが安定判定回数閾値Ct未満である場合、次のステップ109に処理を進める。   In step 107, the CPU 10 refers to the stability counter data De of the target input device 6 and determines whether or not the stability counter C of the target input device 6 is equal to or greater than the stability determination threshold value Ct. Then, when the stability counter C is equal to or greater than the stability determination threshold Ct, the CPU 10 proceeds to the next step 108. On the other hand, when the stability counter C is less than the stability determination number threshold Ct, the CPU 10 proceeds to the next step 109.

ステップ108において、CPU10は、対象の入力装置6の安定フラグデータDdが示す安定フラグSfrgをオンに設定し、次のステップ109に処理を進める。このように、安定フラグSfrgは、ある瞬間の角度だけを用いるのではなく、所定の期間中に連続して得られた角度が安定していることによってオンされる。したがって、入力装置6に生じている微小な振動程度の角度の変動は許容されて安定フラグSfrgがオンとなるが、静止時出力自体が一定方向へ変動するドリフト現象は許容されずに当該変動後の静止時出力の安定が確認された後に安定フラグSfrgがオンに設定される。   In step 108, the CPU 10 sets the stability flag Sfrg indicated by the stability flag data Dd of the target input device 6 to ON, and proceeds to the next step 109. As described above, the stability flag Sfrg is turned on not by using only an angle at a certain moment but by an angle obtained continuously during a predetermined period being stable. Therefore, the fluctuation of the angle of the minute vibration generated in the input device 6 is allowed and the stability flag Sfrg is turned on, but the drift phenomenon in which the stationary output itself fluctuates in a certain direction is not allowed and after the fluctuation. After the stability of the stationary output is confirmed, the stability flag Sfrg is set to ON.

なお、上述した処理では、複数軸周りそれぞれの角度の変化量が連続して所定の範囲内となる期間が所定期間以上であることによって、入力装置6の姿勢が安定しているか否かを判定している。つまり、上述した処理では、所定の期間中に得られた角度(姿勢)の安定を確認することによって、安定フラグSfrgをオンに設定しているが、他の方法によって入力装置6の安定を確認して安定フラグSfrgをオンに設定してもかまわない。例えば、複数軸周りそれぞれの角速度の変化量が連続して所定の範囲内となる期間が所定期間以上である、すなわち、所定の期間中に得られた角速度の安定を確認することによって、安定フラグSfrgをオンに設定してもよい。この場合、上記ステップ104において、対象の入力装置6の角速度データDaが示す現時点の各軸周りの角速度v1、v2、およびv3と、対象の入力装置6における過去の各軸周りの角速度とを用いて、各軸周りの角速度変化量を求めることによって、同様の安定確認が可能となる。この場合も、入力装置6に生じている微小な振動程度の角速度の変動は許容されて安定フラグSfrgがオンとなるが、静止時出力自体が一定方向へ変動するドリフト現象は許容されずに当該変動後の静止時出力の安定が確認された後に安定フラグSfrgがオンに設定される。   In the above-described processing, it is determined whether or not the posture of the input device 6 is stable when the change amount of each angle around a plurality of axes is continuously within a predetermined range for a predetermined period or longer. doing. That is, in the above-described processing, the stability flag Sfrg is set to ON by confirming the stability of the angle (posture) obtained during the predetermined period, but the stability of the input device 6 is confirmed by another method. Then, the stability flag Sfrg may be set on. For example, the period during which the amount of change in angular velocity around each of the plurality of axes is continuously within a predetermined range is equal to or longer than the predetermined period, that is, by confirming the stability of the angular velocity obtained during the predetermined period, Sfrg may be set on. In this case, in the above step 104, the current angular velocities v1, v2, and v3 around the respective axes indicated by the angular velocity data Da of the target input device 6 and the past angular velocities around the respective axes of the target input device 6 are used. Thus, by obtaining the amount of change in angular velocity around each axis, the same stability confirmation can be performed. Also in this case, the fluctuation of the angular velocity of the minute vibration generated in the input device 6 is allowed and the stability flag Sfrg is turned on, but the drift phenomenon in which the stationary output itself fluctuates in a certain direction is not allowed and the The stability flag Sfrg is set to on after the stability of the stationary output after the change is confirmed.

一方、上記ステップ103において対象の入力装置6から角速度データが取得できないと判定された場合、CPU10は、対象の入力装置6の安定フラグデータDdが示す安定フラグSfrgをオフに設定し(ステップ110)、次のステップに処理を進める。ここで、入力装置6から角速度データが取得できない状態は、例えば、角速度検出ユニット9がコントローラ7から外れた状態や、入力装置6から一連の操作情報(キーデータ、X、Y、およびZ軸方向加速度データ、処理結果データ、X、Y、およびZ軸周り角速度データ)が得られない状態であることが考えられる。このような場合、再度ジャイロセンサ95および96を安定させて静止時出力を設定することが必要となるため、安定フラグSfrgをオフすることによって対象の入力装置6における静止時出力の設定が未完であることを示している。   On the other hand, if it is determined in step 103 that angular velocity data cannot be acquired from the target input device 6, the CPU 10 sets the stability flag Sfrg indicated by the stability flag data Dd of the target input device 6 to OFF (step 110). The process proceeds to the next step. Here, the state in which the angular velocity data cannot be acquired from the input device 6 is, for example, a state in which the angular velocity detection unit 9 is disconnected from the controller 7 or a series of operation information (key data, X, Y, and Z axis directions) from the input device 6. It is conceivable that acceleration data, processing result data, X, Y, and Z axis angular velocity data) cannot be obtained. In such a case, since it is necessary to stabilize the gyro sensors 95 and 96 again and set the stationary output, setting the stationary output in the target input device 6 is incomplete by turning off the stability flag Sfrg. It shows that there is.

次に、CPU10は、対象の入力装置6の安定カウンタデータDeに格納されている安定カウンタCを0に設定して、当該設定後の安定カウンタCを用いて対象の入力装置6の安定カウンタデータDeを更新し(ステップ111)、次のステップ109に処理を進める。   Next, the CPU 10 sets the stability counter C stored in the stability counter data De of the target input device 6 to 0, and uses the stability counter C after the setting, the stable counter data of the target input device 6. De is updated (step 111), and the process proceeds to the next step 109.

ステップ109において、CPU10は、ゲームに使用される全ての入力装置6に対する安定確認処理が終了したか否かを判断する。そして、CPU10は、ゲームに使用される全ての入力装置6に対する安定確認処理が終了した場合、当該サブルーチンによる処理を終了する。一方、CPU10は、ゲームに使用される何れかの入力装置6に対する安定確認処理が終了していない場合、上記ステップ101に戻って処理を繰り返す。   In step 109, the CPU 10 determines whether or not the stability confirmation process for all the input devices 6 used in the game has been completed. And CPU10 complete | finishes the process by the said subroutine, when the stability confirmation process with respect to all the input devices 6 used for a game is complete | finished. On the other hand, if the stability confirmation process for any of the input devices 6 used in the game has not ended, the CPU 10 returns to step 101 and repeats the process.

図11に戻り、上記ステップ43の安定確認処理の後、CPU10は、ゲームに使用される全ての入力装置6の安定フラグデータDdを参照して、安定フラグSfrgがオフに設定されている入力装置6があるか否かを判断する(ステップ44)。そして、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がある場合、次のステップ45に処理を進める。一方、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がない場合、次のステップ60(図12)に処理を進める。   Returning to FIG. 11, after the stability confirmation processing in step 43, the CPU 10 refers to the stability flag data Dd of all the input devices 6 used in the game, and the input device in which the stability flag Sfrg is set to OFF. 6 is determined (step 44). Then, when there is the input device 6 in which the stability flag Sfrg is set to OFF, the CPU 10 proceeds to the next step 45. On the other hand, when there is no input device 6 in which the stability flag Sfrg is set to OFF, the CPU 10 proceeds to the next step 60 (FIG. 12).

ステップ45において、CPU10は、ゲームに使用される入力装置6のうち、安定フラグSfrgがオフに設定されている入力装置6の安定確認時間をそれぞれ初期化して、次のステップに処理を進める。例えば、CPU10は、安定フラグSfrgがオフに設定されている入力装置6の安定確認時間データDfが示す安定確認時間を、全て0に初期化して安定確認時間データDfを更新する。   In step 45, the CPU 10 initializes the stability confirmation time of the input device 6 in which the stability flag Sfrg is set to OFF among the input devices 6 used in the game, and proceeds to the next step. For example, the CPU 10 initializes all the stability confirmation times indicated by the stability confirmation time data Df of the input device 6 for which the stability flag Sfrg is set to OFF to update the stability confirmation time data Df.

次に、CPU10は、安定フラグSfrgがオフに設定されている入力装置6の安定確認時間データDfを参照して、安定確認時間が所定時間に到達したか否かを判断する(ステップ46)。ここで、上記ステップ46で用いる所定時間は、ジャイロセンサ95および96の安定を待つための最長時間であり、プレイヤがジャイロセンサ95および96の安定を待つために許容できる時間に設定すればよい。そして、CPU10は、安定確認時間が所定時間に到達していない場合、次のステップ47に処理を進める。一方、CPU10は、安定確認時間が所定時間に到達した場合、次のステップ50に処理を進める。   Next, the CPU 10 refers to the stability confirmation time data Df of the input device 6 in which the stability flag Sfrg is set to OFF, and determines whether or not the stability confirmation time has reached a predetermined time (step 46). Here, the predetermined time used in step 46 is the longest time for waiting for the gyro sensors 95 and 96 to be stable, and may be set to an allowable time for the player to wait for the gyro sensors 95 and 96 to be stable. If the stability confirmation time has not reached the predetermined time, the CPU 10 proceeds to the next step 47. On the other hand, when the stability confirmation time reaches the predetermined time, the CPU 10 advances the processing to the next step 50.

ステップ47において、CPU10は、安定確認処理を行い、次のステップに処理を進める。なお、上記ステップ47で行う安定確認処理は、上述したステップ43における安定確認処理と同様であるため、詳細な説明を省略する。   In step 47, the CPU 10 performs stability confirmation processing and proceeds to the next step. The stability confirmation process performed in step 47 is the same as the stability confirmation process in step 43 described above, and thus detailed description thereof is omitted.

次に、CPU10は、安定確認画面をモニタ2に表示して(ステップ48)、次のステップに処理を進める。以下、図15を参照して、安定確認画面表示処理の詳細な動作について説明する。   Next, the CPU 10 displays a stability confirmation screen on the monitor 2 (step 48), and proceeds to the next step. The detailed operation of the stability confirmation screen display process will be described below with reference to FIG.

図15において、CPU10は、安定確認画面表示処理の対象とする入力装置6を選択し(ステップ121)、次のステップに処理を進める。例えば、複数の入力装置6を用いてゲームが行われている場合、CPU10は、当該複数の入力装置6のうち、安定確認画面表示処理が終了していない何れか1つの入力装置6を選択する。なお、以下の説明においては、上記ステップ121で選択された入力装置6を表示対象の入力装置6として記載する。   In FIG. 15, the CPU 10 selects the input device 6 to be subjected to the stability confirmation screen display process (step 121), and proceeds to the next step. For example, when a game is played using a plurality of input devices 6, the CPU 10 selects any one of the plurality of input devices 6 for which the stability confirmation screen display process has not ended. . In the following description, the input device 6 selected in step 121 is described as the input device 6 to be displayed.

次に、CPU10は、表示対象の入力装置6に対応する安定フラグデータDdを参照して、安定フラグSfrgがオフに設定されているか否かを判断する(ステップ122)。そして、CPU10は、安定フラグSfrgがオフに設定されている場合、次のステップ123に処理を進める。一方、CPU10は、安定フラグSfrgがオンに設定されている場合、次のステップ126に処理を進める。   Next, the CPU 10 refers to the stability flag data Dd corresponding to the input device 6 to be displayed and determines whether or not the stability flag Sfrg is set to OFF (step 122). Then, when the stability flag Sfrg is set to OFF, the CPU 10 proceeds to the next step 123. On the other hand, when the stability flag Sfrg is set to ON, the CPU 10 advances the process to the next step 126.

ステップ123において、CPU10は、表示対象の入力装置6に対応する角速度データDaを参照して、最新の角速度データが示す角速度を用いて回転速度Vを算出し、次のステップに処理を進める。   In step 123, the CPU 10 refers to the angular velocity data Da corresponding to the input device 6 to be displayed, calculates the rotational velocity V using the angular velocity indicated by the latest angular velocity data, and proceeds to the next step.

上記ステップ123において、例えば、CPU10は、回転速度Vを
V=(|v1|+|v2|+|v3|)×M …(1)
によって算出する。ここで、v1は、X軸周り角速度データDa1に格納されている最新のデータが示す表示対象の入力装置6のジャイロセンサ95および96が検出したX軸周りの角速度v1である。v2は、Y軸周り角速度データDa2に格納されている最新データが示す表示対象の入力装置6のジャイロセンサ95および96が検出したY軸周りの角速度v2である。v3は、Z軸周り角速度データDa3に格納されている最新のデータが示す表示対象の入力装置6のジャイロセンサ95および96が検出したZ軸周りの角速度v3である。そして、Mは、わずかな角速度であっても回転速度Vを視認できる程度に大きくするための1以上の定数であり、例えばM=10/6に設定される。なお、CPU10は、(|v1|+|v2|+|v3|)の値が予め定められた閾値(例えば、1080°/秒、すなわち3回転/秒)より大きい場合、当該値を当該閾値と等しい値にする。つまり、上記式(1)によって算出される回転速度Vは、上記閾値に定数Mを乗じた値以下(1800°/秒以下、すなわち5回転/秒以下)で算出される。
In step 123, for example, the CPU 10 sets the rotation speed V to V = (| v1 | + | v2 | + | v3 |) × M (1)
Calculated by Here, v1 is the angular velocity v1 around the X axis detected by the gyro sensors 95 and 96 of the input device 6 to be displayed indicated by the latest data stored in the angular velocity data Da1 around the X axis. v2 is an angular velocity v2 around the Y axis detected by the gyro sensors 95 and 96 of the input device 6 to be displayed indicated by the latest data stored in the angular velocity data Da2 around the Y axis. v3 is the angular velocity v3 around the Z axis detected by the gyro sensors 95 and 96 of the input device 6 to be displayed indicated by the latest data stored in the angular velocity data Da3 around the Z axis. M is a constant equal to or greater than 1 for increasing the rotational speed V so that the rotational speed V can be visually recognized even at a small angular velocity, and is set to, for example, M = 10/6. When the value of (| v1 | + | v2 | + | v3 |) is larger than a predetermined threshold value (for example, 1080 ° / second, that is, 3 rotations / second), the CPU 10 sets the value as the threshold value. Set equal value. That is, the rotation speed V calculated by the above equation (1) is calculated at a value equal to or less than a value obtained by multiplying the threshold value by a constant M (1800 ° / second or less, ie, 5 rotations / second or less).

そして、CPU10は、表示対象の入力装置6に対応する回転速度データDgに現時点で格納されている回転速度Vを前回回転速度Vlastとして、上記式(1)を用いて算出された回転速度Vを前回回転速度Vlastに所定の割合で近づけることによって、当該回転速度Vを調整する。例えば、上記式(1)を用いて算出された回転速度Vと前回回転速度Vlastとを用いて、調整後の回転速度Vを
V←0.5V+0.5Vlast
によって算出して、回転速度Vを決定する。そして、CPU10は、決定された回転速度Vを用いて表示対象の入力装置6に対応する回転速度データDgを更新する。なお、上記式(1)を用いて算出された回転速度Vを前回回転速度Vlastに近づける割合は、他の割合であってもかまわない。そして、算出された回転速度Vは、次回の処理における前回回転速度Vlastとなる。
Then, the CPU 10 sets the rotation speed V currently stored in the rotation speed data Dg corresponding to the input device 6 to be displayed as the previous rotation speed Vlast, and the rotation speed V calculated using the above equation (1). The rotation speed V is adjusted by bringing it close to the previous rotation speed Vlast at a predetermined rate. For example, using the rotation speed V calculated using the above equation (1) and the previous rotation speed Vlast, the adjusted rotation speed V is expressed as V ← 0.5V + 0.5Vlast.
To determine the rotational speed V. Then, the CPU 10 updates the rotational speed data Dg corresponding to the input device 6 to be displayed using the determined rotational speed V. Note that the ratio of the rotation speed V calculated using the above equation (1) to be close to the previous rotation speed Vlast may be another ratio. The calculated rotation speed V becomes the previous rotation speed Vlast in the next process.

次に、CPU10は、表示対象の入力装置6に対応する入力装置オブジェクトDobjを、回転速度Vに応じて回転させて確認中であることを示す入力装置安定情報画面Idを、モニタ2に表示して(ステップ124)、次のステップ125に処理を進める。   Next, the CPU 10 displays on the monitor 2 an input device stability information screen Id indicating that the input device object Doobj corresponding to the input device 6 to be displayed is being checked by rotating it according to the rotation speed V. (Step 124), the process proceeds to the next step 125.

例えば、上記ステップ124において、CPU10は、図8を用いて説明したようなジャイロセンサ安定確認画面をモニタ2に表示する。具体的には、上記ステップ124で表示する入力装置安定情報画面Id(図9に示す入力装置安定情報画面Ida)は、安定フラグSfrgがオフに設定されている入力装置6に対するものであるため、入力装置オブジェクトDobjが当該オブジェクトの略中央位置を軸として回転している状態で表示される(図9に示す入力装置オブジェクトDobja)。ここで、入力装置オブジェクトDobjが回転する速度は、回転速度データDgに格納されている回転速度Vによって決定される。例えば、安定フラグSfrgがオフに設定されている入力装置6aに対応する入力装置安定情報画面Idaを表示する場合、入力装置6aの回転速度データDgに格納されている回転速度Vの数値が示す角度だけ入力装置オブジェクトDobjaを回転させて表示する。   For example, in step 124 described above, the CPU 10 displays a gyro sensor stability confirmation screen as described with reference to FIG. Specifically, the input device stability information screen Id displayed in step 124 (input device stability information screen Ida shown in FIG. 9) is for the input device 6 for which the stability flag Sfrg is set to OFF. The input device object Dodj is displayed in a state of being rotated about the substantially center position of the object (input device object Doja shown in FIG. 9). Here, the speed at which the input device object Dobj rotates is determined by the rotation speed V stored in the rotation speed data Dg. For example, when displaying the input device stability information screen Ida corresponding to the input device 6a in which the stability flag Sfrg is set to OFF, the angle indicated by the numerical value of the rotational speed V stored in the rotational speed data Dg of the input device 6a Only the input device object Dobja is rotated and displayed.

一方、上記ステップ122において安定フラグSfrgがオンに設定されていると判断された場合、CPU10は、表示対象の入力装置6に対応する入力装置オブジェクトDobjを、縦方向に静止させて確認済であることを示す入力装置安定情報画面Idを、モニタ2に表示して(ステップ126)、次のステップ125に処理を進める。   On the other hand, if it is determined in step 122 that the stability flag Sfrg is set to ON, the CPU 10 has confirmed that the input device object Dobj corresponding to the input device 6 to be displayed is stationary in the vertical direction. An input device stability information screen Id indicating this is displayed on the monitor 2 (step 126), and the process proceeds to the next step 125.

例えば、上記ステップ126において、CPU10は、図8を用いて説明したようなジャイロセンサ安定確認画面をモニタ2に表示する。具体的には、上記ステップ126で表示する入力装置安定情報画面Id(図9に示す入力装置安定情報画面Ida)は、安定フラグSfrgがオンに設定されている入力装置6に対するものであるため、入力装置オブジェクトDobjが縦方向に静止した状態で表示される(図9に示す入力装置オブジェクトDobjb)。なお、入力装置安定情報画面Idを表示中において、安定フラグSfrgがオンに設定されている入力装置6のジャイロセンサ95および96から出力される角速度が変動することもあるが、当該角速度が変動したとしても入力装置オブジェクトDobjは縦方向に静止した状態で表示される。つまり、安定フラグSfrgがオンに設定された後であれば、プレイヤが入力装置6を動かしたとしても、当該入力装置6に対応する入力装置オブジェクトDobjが回転することはない。   For example, in step 126 described above, the CPU 10 displays a gyro sensor stability confirmation screen as described with reference to FIG. Specifically, the input device stability information screen Id (input device stability information screen Ida shown in FIG. 9) displayed in step 126 is for the input device 6 for which the stability flag Sfrg is set to ON. The input device object Dobj is displayed in a state where it is stationary in the vertical direction (input device object Dobjb shown in FIG. 9). Note that while the input device stability information screen Id is being displayed, the angular velocity output from the gyro sensors 95 and 96 of the input device 6 for which the stability flag Sfrg is set to ON may fluctuate, but the angular velocity has fluctuated. However, the input device object Dodj is displayed in a stationary state in the vertical direction. That is, after the stability flag Sfrg is set to ON, even if the player moves the input device 6, the input device object Doobj corresponding to the input device 6 does not rotate.

ステップ125において、CPU10は、ゲームに使用される全ての入力装置6に対する安定確認画面表示処理が終了したか否かを判断する。そして、CPU10は、ゲームに使用される全ての入力装置6に対する安定確認画面表示処理が終了した場合、当該サブルーチンによる処理を終了する。一方、CPU10は、ゲームに使用される何れかの入力装置6に対する安定確認画面表示処理が終了していない場合、上記ステップ121に戻って処理を繰り返す。   In step 125, the CPU 10 determines whether or not the stability confirmation screen display process for all the input devices 6 used in the game has been completed. And CPU10 complete | finishes the process by the said subroutine, when the stability confirmation screen display process with respect to all the input devices 6 used for a game is complete | finished. On the other hand, if the stability confirmation screen display process for any of the input devices 6 used in the game has not ended, the CPU 10 returns to step 121 and repeats the process.

図11に戻り、上記ステップ48の安定確認画面表示処理の後、CPU10は、ゲームに使用される全ての入力装置6の安定フラグデータDdを参照して、安定フラグSfrgがオフに設定されている入力装置6があるか否かを判断する(ステップ49)。そして、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がある場合、上記ステップ46に戻って処理を繰り返す。一方、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がない場合、次のステップ60(図12)に処理を進める。   Returning to FIG. 11, after the stability confirmation screen display process in step 48, the CPU 10 refers to the stability flag data Dd of all the input devices 6 used in the game, and the stability flag Sfrg is set to OFF. It is determined whether or not there is an input device 6 (step 49). Then, when there is an input device 6 for which the stability flag Sfrg is set to OFF, the CPU 10 returns to step 46 and repeats the process. On the other hand, when there is no input device 6 in which the stability flag Sfrg is set to OFF, the CPU 10 proceeds to the next step 60 (FIG. 12).

一方、上記ステップ46において、安定確認時間が所定時間に到達した場合、CPU10は、安定確認未完了画面をモニタ2に表示して(ステップ50)、次のステップに処理を進める。ここで、上記ステップ50は、ゲームに使用される入力装置6の何れかの安定が確認できない状態で安定確認時間がタイムアップした場合に実行される処理である。そこで、CPU10は、その経過を示す画面として、図18に示すような安定確認未完了画面をモニタ2に表示する。   On the other hand, if the stability confirmation time reaches the predetermined time in step 46, the CPU 10 displays a stability confirmation incomplete screen on the monitor 2 (step 50), and proceeds to the next step. Here, the step 50 is a process executed when the stability confirmation time is up in a state where the stability of any of the input devices 6 used in the game cannot be confirmed. Therefore, the CPU 10 displays a stability confirmation incomplete screen as shown in FIG.

図18において、安定確認未完了画面には、角速度検出ユニット9(ジャイロセンサ95および96)の安定が確認できなかったことを示す情報画面Iuと、再度安定確認処理を行うか否かの選択肢を示す操作ボタンBaおよびBbとが表示される。例えば、情報画面Iuとして、「角速度検出ユニットの動作チェックが完了できませんでした。正常に動作しない可能性がありますが、終了してよろしいですか?」とプレイヤに報知する文字情報が表示される。操作ボタンBaは、再度安定確認処理を行うことを選択する場合の選択肢であり、例えば「もう一度試す」と表示された選択肢を安定確認未完了画面に表示する。操作ボタンBbは、再度安定確認処理を行わないことを選択する場合の選択肢であり、例えば「おわる」と表示された選択肢を安定確認未完了画面に表示する。   In FIG. 18, the stability confirmation incomplete screen includes an information screen Iu indicating that the stability of the angular velocity detection unit 9 (gyro sensors 95 and 96) could not be confirmed, and an option for whether or not to perform the stability confirmation process again. Operation buttons Ba and Bb are displayed. For example, as the information screen Iu, the character information for informing the player is displayed as “The operation check of the angular velocity detection unit could not be completed. The operation button Ba is an option for selecting to perform the stability check process again. For example, the option displayed as “Try again” is displayed on the stability check incomplete screen. The operation button Bb is an option for selecting not to perform the stability confirmation process again. For example, the option displayed as “End” is displayed on the stability confirmation incomplete screen.

図11に戻り、CPU10は、安定確認未完了画面をモニタ2に表示した状態でプレイヤが上記選択肢を選択するのを待ち、当該選択された選択肢に応じてもう一度確認するか否かを判断する(ステップ51)。そして、CPU10は、再度安定確認処理を行う場合、上記ステップ45に戻って、処理を繰り返す。一方、CPU10は、再度安定確認処理を行わない場合、ゲームに使用される全ての入力装置6の安定フラグデータDdをオンに設定して(ステップ52)、次のステップ60(図12)に処理を進める。   Returning to FIG. 11, the CPU 10 waits for the player to select the option in a state where the stability confirmation incomplete screen is displayed on the monitor 2, and determines whether or not to confirm again according to the selected option ( Step 51). Then, when performing the stability confirmation process again, the CPU 10 returns to step 45 and repeats the process. On the other hand, when the stability confirmation process is not performed again, the CPU 10 sets the stability flag data Dd of all the input devices 6 used in the game to ON (step 52) and proceeds to the next step 60 (FIG. 12). To proceed.

図12に進み、CPU10は、現時点で選択されているゲームを進行させる処理を行い(ステップ60)、次のステップに処理を進める。例えば、CPU10は、入力装置6から得られる一連の操作情報や算出された入力装置6の角度(入力装置6の姿勢)を用いて、仮想ゲーム世界に登場する各種オブジェクトを動作させることによって、ゲームを進行させる。一例として、上記ステップ60において、算出された入力装置6の姿勢に基づいて、仮想ゲーム世界に登場する各種オブジェクトの姿勢を変化させることも可能である。   Proceeding to FIG. 12, the CPU 10 performs a process of progressing the currently selected game (step 60), and proceeds to the next step. For example, the CPU 10 operates a variety of objects appearing in the virtual game world using a series of operation information obtained from the input device 6 and the calculated angle of the input device 6 (attitude of the input device 6), thereby playing the game To advance. As an example, in step 60 described above, the postures of various objects appearing in the virtual game world can be changed based on the calculated posture of the input device 6.

次に、CPU10は、安定確認処理を行い(ステップ61)、次のステップに処理を進める。なお、上記ステップ61で行う安定確認処理は、上述したステップ43における安定確認処理と同様であるため、詳細な説明を省略する。   Next, the CPU 10 performs stability confirmation processing (step 61), and proceeds to the next step. The stability confirmation process performed in step 61 is the same as the stability confirmation process in step 43 described above, and thus detailed description thereof is omitted.

次に、CPU10は、ゲームに使用される全ての入力装置6から角速度データの取得が可能であるか否かを判断する(ステップ62)。そして、CPU10は、全ての入力装置6から角速度データが取得可能である場合、次のステップ66に処理を進める。一方、CPU10は、何れかの入力装置6から角速度データが取得できない場合、次のステップ63に処理を進める。   Next, the CPU 10 determines whether or not angular velocity data can be obtained from all the input devices 6 used in the game (step 62). If the angular velocity data can be acquired from all the input devices 6, the CPU 10 proceeds to the next step 66. On the other hand, if the angular velocity data cannot be acquired from any of the input devices 6, the CPU 10 proceeds to the next step 63.

ステップ63において、CPU10は、角速度データが取得できない入力装置6からの操作情報を用いて、上記ステップ60のゲーム処理を行っているか否かを判断する。例えば、全ての入力装置6を同時に用いてゲームが進行する処理であれば、上記ステップ63で肯定の判定が行われる。一方、複数の入力装置6を交互に用いてゲームが進行する処理であれば、角速度データが取得できない入力装置6からの操作情報を用いる期間中である場合に上記ステップ63で肯定の判定が行われ、角速度データの取得が可能な入力装置6からの操作情報を用いる期間中である場合に上記ステップ63で否定の判定が行われる。そして、CPU10は、上記ステップ63が肯定の判定の場合、次のステップ64に処理を進める。一方、CPU10は、上記ステップ63が否定の判定の場合、次のステップ66に処理を進める。   In step 63, the CPU 10 determines whether or not the game process of step 60 is performed using the operation information from the input device 6 from which angular velocity data cannot be acquired. For example, if it is a process in which the game progresses using all the input devices 6 simultaneously, an affirmative determination is made in step 63. On the other hand, in the case of a process in which a game progresses by using a plurality of input devices 6 alternately, an affirmative determination is made in step 63 when the operation information from the input device 6 for which angular velocity data cannot be obtained is being used. If the operation information from the input device 6 capable of acquiring angular velocity data is being used, a negative determination is made in step 63 above. And CPU10 advances a process to the following step 64, when the said step 63 is affirmation determination. On the other hand, if the determination at step 63 is negative, the CPU 10 advances the process to the next step 66.

ステップ64において、CPU10は入力装置6に生じた異常の内容(入力装置6との通信が途絶えた、角速度検出ユニット9がコントローラ7から外れている等)を示す画面をモニタ2に表示して、次のステップに処理を進める。ここで、上記ステップ64は、ゲーム処理中において、入力装置6から角速度データが取得できなくなった場合で、かつ、角速度データが取得できなくなった入力装置6からの操作情報を用いてゲームが進行する状態の場合である。本実施形態では、角速度データが取得できなくなる原因として、ゲーム処理中に、入力装置6から一連の操作情報が得られない状態となったり、角速度検出ユニット9がコントローラ7から外れたりしたことが考えられる。そこで、CPU10は、入力装置6から一連の操作情報が得られない状態の場合、図19に示すような画面をモニタ2に表示する。また、CPU10は、入力装置6から一連の操作情報のうち、角速度データだけが得られない状態の場合、図20に示すような画面をモニタ2に表示する。   In step 64, the CPU 10 displays on the monitor 2 a screen indicating the content of the abnormality that has occurred in the input device 6 (communication with the input device 6 is interrupted, the angular velocity detection unit 9 is disconnected from the controller 7, etc.) Proceed to the next step. Here, in step 64, when the angular velocity data cannot be acquired from the input device 6 during the game process, the game progresses using the operation information from the input device 6 from which the angular velocity data cannot be acquired. This is the case. In this embodiment, it is considered that the angular velocity data cannot be acquired because a series of operation information cannot be obtained from the input device 6 during the game process, or the angular velocity detection unit 9 is disconnected from the controller 7. It is done. Therefore, the CPU 10 displays a screen as shown in FIG. 19 on the monitor 2 when a series of operation information cannot be obtained from the input device 6. Further, the CPU 10 displays a screen as shown in FIG. 20 on the monitor 2 when only the angular velocity data cannot be obtained from the series of operation information from the input device 6.

図19において、入力装置6に生じた異常の内容を示す画面には、入力装置6とゲーム装置本体5との間の通信が切断されたことを示す情報画面In1が表示される。例えば、情報画面In1として、角速度データが取得できなくなった入力装置6を操作するプレイヤの名称を用いて、「Aさん、コントローラの通信が切れました。」とプレイヤに異常の内容を報知する文字情報が表示される。   In FIG. 19, an information screen In <b> 1 indicating that communication between the input device 6 and the game apparatus body 5 is disconnected is displayed on the screen indicating the content of the abnormality that has occurred in the input device 6. For example, as the information screen In1, using the name of the player who operates the input device 6 for which angular velocity data can no longer be acquired, “Mr. A, the controller has lost communication.” Information is displayed.

図20において、入力装置6に生じた異常の内容を示す画面には、角速度検出ユニット9がコントローラ7から外れたことを示す情報画面In2が表示される。例えば、情報画面In2として、角速度データが取得できなくなった入力装置6を操作するプレイヤの名称を用いて、「Aさん、角速度検出ユニットが抜けています。装着しなおしてください。」とプレイヤに異常の内容を報知する文字情報が表示される。   In FIG. 20, an information screen In <b> 2 indicating that the angular velocity detection unit 9 has been removed from the controller 7 is displayed on the screen indicating the content of the abnormality that has occurred in the input device 6. For example, using the name of the player who operates the input device 6 for which the angular velocity data can no longer be acquired as the information screen In2, “Mr. A, the angular velocity detection unit is missing. Please remount it.” Character information for informing the contents of is displayed.

図12に戻り、CPU10は、上記情報画面In1またはIn2をモニタ2に表示した状態で角速度データが取得できなくなった原因が解消されるのを待つ(ステップ65)。例えば、角速度データが取得できなくなった入力装置6から角速度データの取得が可能となった場合、CPU10は、角速度データが取得できなくなった原因が解消されたと判断して(ステップ65でYes)、次のステップ67に処理を進める。   Returning to FIG. 12, the CPU 10 waits until the cause of the failure to acquire angular velocity data in the state where the information screen In1 or In2 is displayed on the monitor 2 is resolved (step 65). For example, when the angular velocity data can be acquired from the input device 6 in which the angular velocity data can no longer be acquired, the CPU 10 determines that the cause that the angular velocity data could not be acquired has been resolved (Yes in step 65). The process proceeds to step 67.

一方、ステップ66において、CPU10は、ゲームに使用される全ての入力装置6の安定フラグデータDdを参照して、安定フラグSfrgがオフに設定されている入力装置6があるか否かを判断する。そして、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がある場合、次のステップ67に処理を進める。一方、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がない場合、次のステップ80(図13)に処理を進める。ゲーム開始後に安定フラグSfrgがオフに設定されている入力装置6がある場合は、例えば、ゲーム開始後に入力装置6からの通信が途絶えたり、角速度検出ユニット9がコントローラ7から外れたりするなどして、入力装置6から角速度データが取得できない場合に安定フラグSfrgがオフされた場合が考えられる。   On the other hand, in step 66, the CPU 10 refers to the stability flag data Dd of all the input devices 6 used in the game, and determines whether there is an input device 6 for which the stability flag Sfrg is set to off. . Then, when there is the input device 6 in which the stability flag Sfrg is set to OFF, the CPU 10 advances the processing to the next step 67. On the other hand, when there is no input device 6 in which the stability flag Sfrg is set to OFF, the CPU 10 proceeds to the next step 80 (FIG. 13). When there is an input device 6 in which the stability flag Sfrg is set to OFF after the game starts, for example, communication from the input device 6 is interrupted after the game starts or the angular velocity detection unit 9 is disconnected from the controller 7. A case where the stability flag Sfrg is turned off when the angular velocity data cannot be acquired from the input device 6 can be considered.

ステップ67において、CPU10は、安定フラグSfrgがオフに設定されている入力装置6からの操作情報を用いて、上記ステップ60のゲーム処理を行っているか否かを判断する。例えば、全ての入力装置6を同時に用いてゲームが進行する処理であれば、上記ステップ67で肯定の判定が行われる。一方、複数の入力装置6を交互に用いてゲームが進行する処理であれば、安定フラグSfrgがオフに設定されている入力装置6からの操作情報を用いる期間中である場合に上記ステップ67で肯定の判定が行われ、安定フラグSfrgがオンに設定されている入力装置6からの操作情報を用いる期間中である場合に上記ステップ67で否定の判定が行われる。そして、CPU10は、上記ステップ67が肯定の判定の場合、次のステップ68に処理を進める。一方、CPU10は、上記ステップ67が否定の判定の場合、次のステップ80(図13)に処理を進める。   In step 67, the CPU 10 determines whether or not the game process of step 60 is performed using the operation information from the input device 6 in which the stability flag Sfrg is set to OFF. For example, in the case where the game progresses using all the input devices 6 at the same time, an affirmative determination is made in step 67 above. On the other hand, if the process is such that the game progresses using a plurality of input devices 6 alternately, in step 67 when the operation information from the input device 6 for which the stability flag Sfrg is set to off is being used. If a positive determination is made and the operation information from the input device 6 in which the stability flag Sfrg is set to ON is being used, a negative determination is made in step 67 above. And CPU10 advances a process to the following step 68, when the said step 67 is affirmation determination. On the other hand, if the determination at step 67 is negative, the CPU 10 proceeds to the next step 80 (FIG. 13).

ステップ68において、CPU10は、安定確認処理を行い、次のステップに処理を進める。なお、上記ステップ68で行う安定確認処理は、上述したステップ43における安定確認処理と同様であるため、詳細な説明を省略する。   In step 68, the CPU 10 performs a stability confirmation process and proceeds to the next step. Note that the stability confirmation process performed in step 68 is the same as the stability confirmation process in step 43 described above, and thus detailed description thereof is omitted.

次に、CPU10は、安定確認画面をモニタ2に表示して(ステップ69)、次のステップに処理を進める。なお、上記ステップ69で行う安定確認画面表示処理は、上述したステップ48における安定確認画面表示処理と同様であるため、詳細な説明を省略する。ここで、上記ステップ69における安定確認画面表示処理は、ゲーム処理中において、安定フラグSfrgがオン状態からオフ状態に変化した場合で、かつ、安定フラグSfrgがオン状態からオフ状態に変化した入力装置6からの操作情報を用いてゲームが進行する状態の場合において行われる。このように、ゲーム中において安定フラグSfrgがオフとなり当該オフとなった入力装置6を現時点で当該ゲームに用いる状況にある場合、安定確認画面がモニタ2に表示される。   Next, the CPU 10 displays a stability confirmation screen on the monitor 2 (step 69), and proceeds to the next step. Note that the stability confirmation screen display process performed in step 69 is the same as the stability confirmation screen display process in step 48 described above, and a detailed description thereof will be omitted. Here, the stability confirmation screen display process in step 69 is an input device in which the stability flag Sfrg is changed from the on state to the off state and the stability flag Sfrg is changed from the on state to the off state during the game process. This is performed when the game progresses using the operation information from 6. In this way, when the stability flag Sfrg is turned off during the game and the input device 6 that has been turned off is currently being used for the game, the stability confirmation screen is displayed on the monitor 2.

次に、CPU10は、ゲームに使用される全ての入力装置6の安定フラグデータDdを参照して、安定フラグSfrgがオフに設定されている入力装置6があるか否かを判断する(ステップ70)。そして、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がある場合、上記ステップ68に戻って処理を繰り返す。一方、CPU10は、安定フラグSfrgがオフに設定されている入力装置6がない場合、次のステップ80(図13)に処理を進める。   Next, the CPU 10 refers to the stability flag data Dd of all the input devices 6 used in the game and determines whether there is any input device 6 for which the stability flag Sfrg is set to OFF (step 70). ). If there is any input device 6 for which the stability flag Sfrg is set to OFF, the CPU 10 returns to step 68 and repeats the process. On the other hand, when there is no input device 6 in which the stability flag Sfrg is set to OFF, the CPU 10 proceeds to the next step 80 (FIG. 13).

図13に進み、CPU10は、プレイヤがジャイロセンサ95および96の安定を再確認する操作を行ったか否かを判断する(ステップ80)。例えば、プレイヤがゲーム途中においてジャイロセンサ95および96の安定を確認するための操作部72(例えば、プラスボタン72g)を押下した場合、CPU10は、ジャイロセンサ95および96の安定を再確認する操作が行われたと判断する。そして、CPU10は、安定を再確認する操作が行われた場合、次のステップ81に処理を進める。一方、CPU10は、安定を再確認する操作が行われていない場合、次のステップ86に処理を進める。この場合、当該再確認の操作自体は、安定の確認のための指示と明示されていなくともよく、単なる一時停止を示す操作であってもよい。   Proceeding to FIG. 13, the CPU 10 determines whether or not the player has performed an operation for reconfirming the stability of the gyro sensors 95 and 96 (step 80). For example, when the player presses the operation unit 72 (for example, the plus button 72g) for confirming the stability of the gyro sensors 95 and 96 during the game, the CPU 10 performs an operation for reconfirming the stability of the gyro sensors 95 and 96. Judge that it was done. Then, when an operation for reconfirming the stability is performed, the CPU 10 advances the processing to the next step 81. On the other hand, when the operation for reconfirming the stability is not performed, the CPU 10 advances the processing to the next step 86. In this case, the reconfirmation operation itself does not have to be clearly indicated as an instruction for stability confirmation, and may be an operation indicating a simple pause.

ステップ81において、CPU10は、再確認フラグデータDhに格納されている再確認フラグRfrgを全てオフに設定する。そして、CPU10は、安定カウンタデータDeに格納されている安定カウンタCを全て0に設定して(ステップ82)、次のステップに処理を進める。   In step 81, the CPU 10 sets all the reconfirmation flags Rfrg stored in the reconfirmation flag data Dh to off. Then, the CPU 10 sets all the stable counters C stored in the stable counter data De to 0 (step 82), and proceeds to the next step.

次に、CPU10は、安定再確認処理を行い(ステップ83)、次のステップに処理を進める。以下、図16を参照して、安定再確認処理の詳細な動作について説明する。   Next, the CPU 10 performs a stability reconfirmation process (step 83), and proceeds to the next step. The detailed operation of the stability reconfirmation process will be described below with reference to FIG.

図16において、CPU10は、安定再確認処理の対象とする入力装置6を選択し(ステップ131)、次のステップに処理を進める。例えば、複数の入力装置6を用いてゲームが行われている場合、CPU10は、当該複数の入力装置6のうち、安定再確認処理が終了していない何れか1つの入力装置6を選択する。なお、以下の説明においては、上記ステップ131で選択された入力装置6を再確認対象の入力装置6として記載する。   In FIG. 16, the CPU 10 selects the input device 6 to be subjected to the stability reconfirmation process (step 131), and proceeds to the next step. For example, when a game is performed using a plurality of input devices 6, the CPU 10 selects any one of the plurality of input devices 6 for which the stability reconfirmation process has not ended. In the following description, the input device 6 selected in step 131 is described as the input device 6 to be reconfirmed.

次に、CPU10は、再確認対象の入力装置6からの角速度データおよび当該角速度データを用いて算出された角度データを取得して(ステップ132)、その際、当該再確認対象の入力装置6から角速度データが取得可能か否かを判断する(ステップ133)。そして、CPU10は、再確認対象の入力装置6から角速度データが取得可能である場合、取得した角速度データおよび角度データを用いて当該再確認対象の入力装置6の角速度データDaおよび角度データDbを更新して、次のステップ134に処理を進める。一方、CPU10は、再確認対象の入力装置6から角速度データが取得できない場合、次のステップ140に処理を進める。   Next, the CPU 10 acquires angular velocity data from the input device 6 to be reconfirmed and angle data calculated using the angular velocity data (step 132), and at that time, from the input device 6 to be reconfirmed. It is determined whether or not angular velocity data can be acquired (step 133). When the angular velocity data can be acquired from the reconfirmation target input device 6, the CPU 10 updates the angular velocity data Da and the angle data Db of the reconfirmation target input device 6 using the acquired angular velocity data and angle data. Then, the process proceeds to the next step 134. On the other hand, if the angular velocity data cannot be acquired from the reconfirmation target input device 6, the CPU 10 proceeds to the next step 140.

ステップ134において、CPU10は、角度データDbを参照して、上記ステップ132で取得した角度データが示す角度を用いて軸毎の角度変化量をそれぞれ算出し、次のステップに処理を進める。なお、上記ステップ134における角度変化量の算出方法については、上述したステップ104で説明した算出方法と同様であるため、詳細な説明を省略する。   In step 134, the CPU 10 refers to the angle data Db, calculates the angle change amount for each axis using the angle indicated by the angle data acquired in step 132, and proceeds to the next step. Note that the calculation method of the angle change amount in step 134 is the same as the calculation method described in step 104 described above, and thus detailed description thereof is omitted.

次に、CPU10は、軸毎の角度変化量rc1、rc2、およびrc3が全て所定値以内であるか否かを判断する(ステップ135)。そして、CPU10は、軸毎の角度変化量rc1、rc2、およびrc3が全て所定値以内である場合、次のステップ136に処理を進める。一方、CPU10は、軸毎の角度変化量rc1、rc2、およびrc3の少なくとも1つが所定値より大きい場合、次のステップ142に処理を進める。   Next, the CPU 10 determines whether or not the angle change amounts rc1, rc2, and rc3 for each axis are all within a predetermined value (step 135). Then, the CPU 10 advances the processing to the next step 136 when the angle change amounts rc1, rc2, and rc3 for each axis are all within a predetermined value. On the other hand, if at least one of the angle change amounts rc1, rc2, and rc3 for each axis is greater than the predetermined value, the CPU 10 proceeds to the next step 142.

ステップ136において、CPU10は、再確認対象の入力装置6の安定カウンタデータDeに格納されている安定カウンタCに1を加算する。そして、CPU10は、1を加算した安定カウンタCを用いて再確認対象の入力装置6の安定カウンタデータDeを更新し、次のステップ137に処理を進める。   In step 136, the CPU 10 adds 1 to the stability counter C stored in the stability counter data De of the input device 6 to be reconfirmed. Then, the CPU 10 updates the stability counter data De of the input device 6 to be reconfirmed using the stability counter C to which 1 is added, and proceeds to the next step 137.

一方、ステップ142において、CPU10は、上記ステップ134で用いた角度r1を角度r1oldに設定し、角度r2を角度r2oldに設定し、角度r3を角度r3oldに設定する。そして、CPU10は、新たに設定された角度r1old、r2old、およびr3oldをそれぞれ用いて、再確認対象の入力装置6の過去角度データDcを更新し、次のステップに処理を進める。   On the other hand, in step 142, the CPU 10 sets the angle r1 used in step 134 to the angle r1old, sets the angle r2 to the angle r2old, and sets the angle r3 to the angle r3old. Then, the CPU 10 updates the past angle data Dc of the input device 6 to be reconfirmed using the newly set angles r1old, r2old, and r3old, and proceeds to the next step.

次に、CPU10は、再確認対象の入力装置6の安定カウンタデータDeに格納されている安定カウンタCを0に設定して、当該設定後の安定カウンタCを用いて再確認対象の入力装置6の安定カウンタデータDeを更新し(ステップ143)、次のステップ137に処理を進める。   Next, the CPU 10 sets the stability counter C stored in the stability counter data De of the input device 6 to be reconfirmed to 0, and uses the stability counter C after the setting to input the input device 6 to be reconfirmed. The stable counter data De is updated (step 143), and the process proceeds to the next step 137.

ステップ137において、CPU10は、再確認対象の入力装置6の安定カウンタデータDeを参照して、再確認対象の入力装置6の安定カウンタCが安定判定閾値Ct以上であるか否かを判断する。そして、CPU10は、安定カウンタCが安定判定閾値Ct以上である場合、次のステップ138に処理を進める。一方、CPU10は、安定カウンタCが安定判定回数閾値Ct未満である場合、次のステップ139に処理を進める。   In step 137, the CPU 10 refers to the stability counter data De of the input device 6 to be reconfirmed and determines whether or not the stability counter C of the input device 6 to be reconfirmed is equal to or greater than the stability determination threshold value Ct. If the stability counter C is equal to or greater than the stability determination threshold value Ct, the CPU 10 proceeds to the next step 138. On the other hand, if the stability counter C is less than the stability determination number threshold Ct, the CPU 10 proceeds to the next step 139.

ステップ138において、CPU10は、再確認対象の入力装置6の安定フラグデータDdが示す安定フラグSfrgおよび再確認フラグデータDhに格納されている再確認フラグRfrgをそれぞれオンに設定し、次のステップ139に処理を進める。このように、再確認フラグRfrgは、安定フラグSfrgと同様に、ある瞬間の角度だけを用いるのではなく、所定の期間中に連続して得られた角度が安定していることによってオンされる。   In step 138, the CPU 10 sets the reconfirmation flag Rfrg stored in the reconfirmation flag data Dh and the stability flag Sfrg indicated by the stability flag data Dd of the input device 6 to be reconfirmed to ON, and the next step 139. Proceed with the process. As described above, the reconfirmation flag Rfrg is turned on when the angle obtained continuously during a predetermined period is stable, instead of using only an angle at a certain moment, like the stability flag Sfrg. .

なお、上述した処理では、複数軸周りそれぞれの角度の変化量が連続して所定の範囲内となる期間が所定期間以上であることによって、入力装置6の姿勢が安定しているか否かを判定している。つまり、上述した処理では、所定の期間中に得られた角度(姿勢)の安定を確認することによって、再確認フラグRfrgをオンに設定しているが、他の方法によって入力装置6の安定を再確認して再確認フラグRfrgをオンに設定してもかまわない。例えば、複数軸周りそれぞれの角速度の変化量が連続して所定の範囲内となる期間が所定期間以上である、すなわち、所定の期間中に得られた角速度の安定を確認することによって、再確認フラグRfrgをオンに設定してもよい。この場合、上記ステップ134において、再確認対象の入力装置6の角速度データDaが示す現時点の各軸周りの角速度v1、v2、およびv3と、再確認対象の入力装置6における過去の各軸周りの角速度とを用いて、各軸周りの角速度変化量を求めることによって、同様の安定再確認が可能となる。この場合も、入力装置6に生じている微小な振動程度の角速度の変動は許容されて再確認フラグRfrgがオンとなるが、静止時出力自体が一定方向へ変動するドリフト現象は許容されずに当該変動後の静止時出力の安定が再確認された後に再確認フラグRfrgがオンに設定される。   In the above-described processing, it is determined whether or not the posture of the input device 6 is stable when the change amount of each angle around a plurality of axes is continuously within a predetermined range for a predetermined period or longer. doing. That is, in the above-described processing, the reconfirmation flag Rfrg is set to ON by confirming the stability of the angle (posture) obtained during the predetermined period, but the input device 6 is stabilized by other methods. The reconfirmation flag Rfrg may be set to ON after reconfirmation. For example, the period in which the amount of change in the angular velocity around each of the multiple axes is continuously within a predetermined range is equal to or longer than the predetermined period, that is, by confirming the stability of the angular velocity obtained during the predetermined period. The flag Rfrg may be set on. In this case, in step 134, the angular velocities v1, v2, and v3 around the current axes indicated by the angular velocity data Da of the input device 6 to be reconfirmed and the past around each axis in the input device 6 to be reconfirmed. Similar stability reconfirmation is possible by obtaining the angular velocity change amount around each axis using the angular velocity. In this case as well, the fluctuation of the angular velocity of the minute vibration generated in the input device 6 is allowed and the reconfirmation flag Rfrg is turned on, but the drift phenomenon in which the stationary output itself fluctuates in a certain direction is not allowed. The reconfirmation flag Rfrg is set to ON after the stability of the stationary output after the change is reconfirmed.

一方、上記ステップ133において再確認対象の入力装置6から角速度データが取得できないと判定された場合、CPU10は、再確認対象の入力装置6の安定フラグデータDdが示す安定フラグSfrgおよび再確認フラグデータDhに格納されている再確認フラグRfrgをそれぞれオフに設定し(ステップ140)、次のステップに処理を進める。ここで、入力装置6から角速度データが取得できない状態であると、再度ジャイロセンサ95および96を安定させて静止時出力を設定することが必要となるため、再確認フラグRfrgだけでなく安定フラグSfrgもオフすることによって再確認対象の入力装置6における静止時出力の設定が未完であることを示している。   On the other hand, if it is determined in step 133 that the angular velocity data cannot be acquired from the reconfirmation target input device 6, the CPU 10 determines the stability flag Sfrg and reconfirmation flag data indicated by the stability flag data Dd of the reconfirmation target input device 6. The reconfirmation flag Rfrg stored in Dh is set to OFF (step 140), and the process proceeds to the next step. Here, when the angular velocity data cannot be acquired from the input device 6, it is necessary to stabilize the gyro sensors 95 and 96 again and set the stationary output, so that not only the reconfirmation flag Rfrg but also the stability flag Sfrg. Is also turned off, indicating that the setting of the stationary output in the input device 6 to be reconfirmed is incomplete.

次に、CPU10は、再確認対象の入力装置6の安定カウンタデータDeに格納されている安定カウンタCを0に設定して、当該設定後の安定カウンタCを用いて再確認対象の入力装置6の安定カウンタデータDeを更新し(ステップ141)、次のステップ139に処理を進める。   Next, the CPU 10 sets the stability counter C stored in the stability counter data De of the input device 6 to be reconfirmed to 0, and uses the stability counter C after the setting to input the input device 6 to be reconfirmed. The stable counter data De is updated (step 141), and the process proceeds to the next step 139.

ステップ139において、CPU10は、ゲームに使用される全ての入力装置6に対する安定再確認処理が終了したか否かを判断する。そして、CPU10は、ゲームに使用される全ての入力装置6に対する安定再確認処理が終了した場合、当該サブルーチンによる処理を終了する。一方、CPU10は、ゲームに使用される何れかの入力装置6に対する安定再確認処理が終了していない場合、上記ステップ131に戻って処理を繰り返す。   In step 139, the CPU 10 determines whether or not the stability reconfirmation process for all the input devices 6 used in the game has been completed. And CPU10 complete | finishes the process by the said subroutine, when the stability reconfirmation process with respect to all the input devices 6 used for a game is complete | finished. On the other hand, if the stability reconfirmation process for any of the input devices 6 used in the game has not ended, the CPU 10 returns to step 131 and repeats the process.

図13に戻り、CPU10は、安定再確認画面をモニタ2に表示して(ステップ84)、次のステップに処理を進める。以下、図17を参照して、安定再確認画面表示処理の詳細な動作について説明する。   Returning to FIG. 13, the CPU 10 displays a stability reconfirmation screen on the monitor 2 (step 84), and proceeds to the next step. The detailed operation of the stability reconfirmation screen display process will be described below with reference to FIG.

図17において、CPU10は、安定再確認画面表示処理の対象とする入力装置6を選択し(ステップ151)、次のステップに処理を進める。例えば、複数の入力装置6を用いてゲームが行われている場合、CPU10は、当該複数の入力装置6のうち、安定再確認画面表示処理が終了していない何れか1つの入力装置6を選択する。なお、以下の説明においては、上記ステップ151で選択された入力装置6を再確認表示対象の入力装置6として記載する。   In FIG. 17, the CPU 10 selects the input device 6 that is the target of the stability reconfirmation screen display process (step 151), and proceeds to the next step. For example, when a game is played using a plurality of input devices 6, the CPU 10 selects any one of the plurality of input devices 6 for which the stability reconfirmation screen display process has not ended. To do. In the following description, the input device 6 selected in step 151 is described as the input device 6 to be reconfirmed and displayed.

次に、CPU10は、再確認表示対象の入力装置6に対応する再確認フラグデータDhを参照して、再確認フラグRfrgがオフに設定されているか否かを判断する(ステップ152)。そして、CPU10は、再確認フラグRfrgがオフに設定されている場合、次のステップ153に処理を進める。一方、CPU10は、再確認フラグRfrgがオンに設定されている場合、次のステップ156に処理を進める。   Next, the CPU 10 refers to the reconfirmation flag data Dh corresponding to the input device 6 to be reconfirmed and displayed, and determines whether or not the reconfirmation flag Rfrg is set to OFF (step 152). Then, when the reconfirmation flag Rfrg is set to OFF, the CPU 10 advances the processing to the next step 153. On the other hand, when the reconfirmation flag Rfrg is set to ON, the CPU 10 advances the processing to the next step 156.

ステップ153において、CPU10は、再確認表示対象の入力装置6に対応する角速度データDaを参照して、最新の角速度データが示す角速度を用いて回転速度Vを算出し、次のステップに処理を進める。なお、上記ステップ153における回転速度Vの算出方法については、上述したステップ123における回転速度Vの算出方法と同様であるため、詳細な説明を省略する。   In step 153, the CPU 10 refers to the angular velocity data Da corresponding to the input device 6 to be reconfirmed and displayed, calculates the rotational velocity V using the angular velocity indicated by the latest angular velocity data, and proceeds to the next step. . Note that the calculation method of the rotation speed V in step 153 is the same as the calculation method of the rotation speed V in step 123 described above, and thus detailed description thereof is omitted.

次に、CPU10は、再確認表示対象の入力装置6に対応する入力装置オブジェクトDobjを、回転速度Vに応じて回転させて確認中であることを示すジャイロセンサ安定再確認画面を、モニタ2に表示して(ステップ154)、次のステップ155に処理を進める。   Next, the CPU 10 displays on the monitor 2 a gyro sensor stability reconfirmation screen indicating that the input device object Doobj corresponding to the input device 6 to be reconfirmed and displayed is being rotated according to the rotation speed V and is being confirmed. Display (step 154), and proceed to the next step 155.

例えば、上記ステップ154において、CPU10は、図8を用いて説明したようなジャイロセンサ安定再確認画面をモニタ2に表示する。具体的には、上記ステップ154で表示するジャイロセンサ安定再確認画面は、図9に示す入力装置安定情報画面Idaと同様であり、再確認フラグRfrgがオフに設定されている入力装置6に対して、入力装置オブジェクトDobjが当該オブジェクトの略中央位置を軸として回転している状態で表示される(図9に示す入力装置オブジェクトDobja)。   For example, in step 154, the CPU 10 displays a gyro sensor stability reconfirmation screen as described with reference to FIG. Specifically, the gyro sensor stability reconfirmation screen displayed in step 154 is the same as the input device stability information screen Ida shown in FIG. 9, and is for the input device 6 for which the reconfirmation flag Rfrg is set to OFF. Thus, the input device object Dodj is displayed in a state of being rotated about the approximate center position of the object (input device object Doja shown in FIG. 9).

一方、上記ステップ152において再確認フラグRfrgがオンに設定されていると判断された場合、CPU10は、再確認表示対象の入力装置6に対応する入力装置オブジェクトDobjを、縦方向に静止させて確認済であることを示す入力装置安定情報画面Idを、モニタ2に表示して(ステップ156)、次のステップ155に処理を進める。   On the other hand, if it is determined in step 152 that the reconfirmation flag Rfrg is set to ON, the CPU 10 confirms the input device object Dobj corresponding to the input device 6 to be reconfirmed and displayed in the vertical direction. The input device stability information screen Id indicating that the processing has been completed is displayed on the monitor 2 (step 156), and the process proceeds to the next step 155.

例えば、上記ステップ156において、CPU10は、図8を用いて説明したようなジャイロセンサ安定再確認画面をモニタ2に表示する。具体的には、上記ステップ156で表示するジャイロセンサ安定再確認画面は、図9に示す入力装置安定情報画面Idbと同様であり、再確認フラグRfrgがオンに設定されている入力装置6に対して、入力装置オブジェクトDobjが縦方向に静止した状態で表示される(図9に示す入力装置オブジェクトDobjb)。なお、ジャイロセンサ安定再確認画面を表示中において、再確認フラグRfrgがオンに設定されている入力装置6のジャイロセンサ95および96から出力される角速度が変動することもあるが、当該角速度が変動したとしても入力装置オブジェクトDobjは縦方向に静止した状態で表示される。つまり、再確認フラグRfrgがオンに設定された後であれば、プレイヤが入力装置6を動かしたとしても、当該入力装置6に対応する入力装置オブジェクトDobjが回転することはない。   For example, in step 156, the CPU 10 displays a gyro sensor stability reconfirmation screen as described with reference to FIG. Specifically, the gyro sensor stability reconfirmation screen displayed in step 156 is the same as the input device stability information screen Idb shown in FIG. 9, and is for the input device 6 for which the reconfirmation flag Rfrg is set to ON. Thus, the input device object Dobj is displayed in a state where it is stationary in the vertical direction (input device object Dobjb shown in FIG. 9). Note that while the gyro sensor stability reconfirmation screen is displayed, the angular velocity output from the gyro sensors 95 and 96 of the input device 6 for which the reconfirmation flag Rfrg is set may vary, but the angular velocity varies. Even in this case, the input device object Dodj is displayed in a stationary state in the vertical direction. That is, after the reconfirmation flag Rfrg is set to ON, even if the player moves the input device 6, the input device object Doobj corresponding to the input device 6 does not rotate.

なお、上記ステップ80〜ステップ83の処理から明らかなように、ゲーム処理中にジャイロセンサ95および96の安定を再確認する操作が行われた場合であっても、当該操作に応じて安定フラグSfrgをオンからオフに変更することをしていない。つまり、上記ジャイロセンサ安定再確認画面が表示されるためには、ゲームに使用されている入力装置6の安定フラグSfrgがオンに設定されている場合でもよく、プレイヤの意向に応じたジャイロセンサ95および96の安定再確認となる。また、プレイヤが安定再確認を積極的に指示した場合でなく、単にゲームを一時停止したという場合であっても一時停止中にジャイロセンサ95および96が安定しているかどうかを視認することができ、異常があった場合に発見することができる。したがって、上記ステップ154またはステップ156で表示される安定再確認画面は、補助的な表示でかまわない。   As is clear from the processing in steps 80 to 83, even when an operation for reconfirming the stability of the gyro sensors 95 and 96 is performed during the game processing, the stability flag Sfrg is determined according to the operation. Does not change from on to off. That is, in order to display the above gyro sensor stability reconfirmation screen, the stability flag Sfrg of the input device 6 used in the game may be set to ON, and the gyro sensor 95 according to the player's intention is set. And 96 stability reconfirmation. Further, even when the player has not actively instructed the stability reconfirmation, but simply when the game is paused, it can be visually confirmed whether or not the gyro sensors 95 and 96 are stable during the pause. Can be found when there is an abnormality. Therefore, the stability reconfirmation screen displayed in step 154 or step 156 may be an auxiliary display.

例えば、図21に示すように、上記ステップ154またはステップ156で表示される安定再確認画面では、プレイヤに入力装置6を安定させるように促す表示(図8に示す要求情報画面Ii)が表示されない。上記ステップ154またはステップ156で表示される安定再確認画面では、使用される入力装置6毎にジャイロセンサ95および96の安定再確認状態をそれぞれ示す入力装置安定情報画面Idと、プレイヤのその後の操作を受け付ける複数の選択肢を示す操作ボタンBoとが表示される。   For example, as shown in FIG. 21, on the stability reconfirmation screen displayed in step 154 or 156, the display prompting the player to stabilize the input device 6 (request information screen Ii shown in FIG. 8) is not displayed. . In the stability reconfirmation screen displayed in step 154 or 156, the input device stability information screen Id indicating the state of the stability reconfirmation of the gyro sensors 95 and 96 for each input device 6 used, and the subsequent operation of the player An operation button Bo indicating a plurality of options for accepting is displayed.

ステップ155において、CPU10は、ゲームに使用される全ての入力装置6に対する安定再確認画面表示処理が終了したか否かを判断する。そして、CPU10は、ゲームに使用される全ての入力装置6に対する安定再確認画面表示処理が終了した場合、当該サブルーチンによる処理を終了する。一方、CPU10は、ゲームに使用される何れかの入力装置6に対する安定再確認画面表示処理が終了していない場合、上記ステップ151に戻って処理を繰り返す。   In step 155, the CPU 10 determines whether or not the stability reconfirmation screen display process for all the input devices 6 used in the game has been completed. And CPU10 complete | finishes the process by the said subroutine, when the stability reconfirmation screen display process with respect to all the input devices 6 used for a game is complete | finished. On the other hand, if the stability reconfirmation screen display process for any of the input devices 6 used in the game has not ended, the CPU 10 returns to step 151 and repeats the process.

図13に戻り、上記ステップ84の処理の後、CPU10は、ゲーム処理に復帰するか否かを判断する(ステップ85)。例えば、CPU10は、上記ステップ84で表示される安定再確認画面に表示された操作ボタンBoの何れかが選択された場合、当該操作ボタンBoが示す選択肢に応じて、ゲーム処理に復帰するか否かを判断する。また、プラスボタン72gが再度押された場合にもゲームに復帰する。そして、CPU10は、ゲーム処理に復帰する場合、次のステップ86に処理を進める。一方、CPU10は、ゲーム処理に復帰しない場合、現在の安定確認処理を継続するために上記ステップ83に戻って処理を繰り返す。   Returning to FIG. 13, after the process of step 84, the CPU 10 determines whether or not to return to the game process (step 85). For example, when any of the operation buttons Bo displayed on the stability reconfirmation screen displayed in step 84 is selected, the CPU 10 determines whether to return to the game process according to the option indicated by the operation button Bo. Determine whether. The game also returns to the game when the plus button 72g is pressed again. Then, when returning to the game process, the CPU 10 advances the process to the next step 86. On the other hand, if the CPU 10 does not return to the game process, the CPU 10 returns to step 83 and repeats the process in order to continue the current stability confirmation process.

ステップ86において、CPU10は、ゲームを終了するか否かを判断する。ゲームを終了する条件としては、例えば、上記ステップ60でゲーム処理されているゲームがゲームオーバーとなる条件が満たされたことや、プレイヤが当該ゲームを終了する操作を行ったこと等がある。CPU10は、ゲームを終了しない場合に上記ステップ60(図12)に戻って処理を繰り返し、ゲームを終了する場合に次のステップ87に処理を進める。   In step 86, the CPU 10 determines whether or not to end the game. As a condition for ending the game, for example, the condition that the game being processed in step 60 is game over is satisfied, or the player performs an operation to end the game. If the game is not finished, the CPU 10 returns to step 60 (FIG. 12) and repeats the process. If the game is finished, the process proceeds to the next step 87.

ステップ87において、CPU10は、上記ステップ86で終了したゲームとは異なるゲームに変更して、当該異なるゲームをプレイするか否かを判断する。そして、CPU10は、異なるゲームに変更してプレイする場合、次のステップ88に処理を進める。一方、CPU10は、プレイするゲームを変更せずにそのまま処理を終了する場合、当該フローチャートによる処理を終了する。例えば、ゲーム装置本体5のメインメモリに読み込まれているゲームプログラムによっては、複数のゲームが可能となっていることがある。具体的には、各種スポーツゲームが可能となったゲームプログラムの場合、スポーツ種目別に異なるゲームが可能となっていることがある。上記ステップ87においては、このようなメインメモリに読み込まれているゲームプログラムによってプレイが可能となっている複数のゲーム間で、異なるゲームに変更して継続プレイするか否かを判断している。   In step 87, the CPU 10 changes to a game different from the game ended in step 86 and determines whether or not to play the different game. And CPU10 advances a process to the following step 88, when changing and playing in a different game. On the other hand, CPU10 complete | finishes the process by the said flowchart, when complete | finishing a process as it is, without changing the game to play. For example, depending on the game program read into the main memory of the game apparatus body 5, a plurality of games may be possible. Specifically, in the case of a game program in which various sports games are possible, different games may be possible depending on the sport type. In step 87, it is determined whether the game is changed to a different game among a plurality of games that can be played by such a game program loaded in the main memory.

ステップ88において、CPU10は、上記ステップ87で変更されたゲームがそれまでプレイされていたゲームより、より高い精度の角速度の入力が必要なゲームであるか否かを判断する。そして、CPU10は、より精度が高い角速度が必要なゲームへの変更である場合、次のステップ89に処理を進める。一方、CPU10は、より精度が高い角速度が不要なゲームへの変更である場合、上記ステップ41(図11)に戻って処理を繰り返す。   In step 88, the CPU 10 determines whether or not the game changed in step 87 is a game that requires input of angular velocity with higher accuracy than the game that has been played so far. Then, the CPU 10 advances the processing to the next step 89 when it is a change to a game that requires an angular velocity with higher accuracy. On the other hand, if the CPU 10 changes to a game that does not require higher angular velocity, the CPU 10 returns to step 41 (FIG. 11) and repeats the process.

ステップ89において、CPU10は、安定フラグデータDdに格納されている安定フラグSfrgを全てオフに設定する。そして、CPU10は、安定カウンタデータDeに格納されている安定カウンタCを全て0に設定して(ステップ90)、上記ステップ41(図11)に戻って処理を繰り返す。   In step 89, the CPU 10 sets all the stability flags Sfrg stored in the stability flag data Dd to off. Then, the CPU 10 sets all the stability counters C stored in the stability counter data De to 0 (step 90), returns to the step 41 (FIG. 11), and repeats the process.

例えば、入力装置6を静止した状態に維持して進行するようなゲームがある。具体的には、入力装置6の姿勢や方向に応じて、仮想ゲーム世界における狙いが決定されるようなゲーム(たとえばアーチェリー、弓道等のゲーム)においては、入力装置6を静止した状態に保った姿勢を精確に算出することが必要となる。このようなゲームにおいては、ジャイロセンサ95および96の静止時出力に生じている誤差がわずかであっても、ゲーム操作に影響を与えてしまう。例えば、ジャイロセンサ95および96の静止時出力にわずかな誤差が生じている場合、プレイヤが入力装置6を静止させていたとしてもわずかな角速度で入力装置6が動いていると判定するため、ゲーム処理においても当該判定に応じた操作が行われてしまう。   For example, there is a game that proceeds while the input device 6 is kept stationary. Specifically, in a game in which the aim in the virtual game world is determined according to the attitude and direction of the input device 6 (for example, an archery, archery game, etc.), the input device 6 is kept stationary. It is necessary to accurately calculate the posture. In such a game, even if a slight error occurs in the stationary outputs of the gyro sensors 95 and 96, the game operation is affected. For example, if there is a slight error in the stationary outputs of the gyro sensors 95 and 96, it is determined that the input device 6 is moving at a slight angular velocity even if the player stops the input device 6. In the processing, an operation corresponding to the determination is performed.

このような場合、実行するゲームが要求する角速度入力の精度レベルに応じて、当該静止時出力(ゼロ点オフセット値ofs)を設定することが必要であるため、上記ステップ89において、一旦全ての安定フラグSfrgをオフに設定することによって、ゲームに用いられる入力装置6全てに対して安定確認処理が再度行われるようにしている。ここで、必要な角速度入力の精度レベルは、ゲームごとに予め設定されている。そして、必要な角速度入力の精度が相対的に高いゲームにおいては、上述の角速度vの一次補正とゼロ点オフセットの補正とにおいて、上限s1から下限s2までの安定範囲を狭くする、連続個数ctの上限を大きくする、定数Cを小さくする、等の設定をすることによって、静止していないときの値が反映されにくいような補正が行われる。このように、より精度が高い角速度の入力が必要なゲームを実行する場合、上述したゼロ点オフセット値ofsをより精確に設定するためにゼロ点オフセット値ofsがジャイロセンサ95および96から出力された角速度データが示す角速度vに収束する割合を相対的に小さく設定される。したがって、入力装置6を静止状態に維持したとしても、上記ステップ104で算出される角度変化量の値が所定値以内となるまでの時間が長くなるため、結果的に安定確認処理において安定フラグSfrgがオフからオンに変更されるまでの時間も長くなることになる。   In such a case, it is necessary to set the stationary output (zero point offset value ofs) in accordance with the accuracy level of the angular velocity input required by the game to be executed. By setting the flag Sfrg to off, the stability confirmation process is performed again for all the input devices 6 used in the game. Here, the required accuracy level of the angular velocity input is set in advance for each game. In a game in which the required accuracy of the angular velocity input is relatively high, a continuous number ct of narrowing the stable range from the upper limit s1 to the lower limit s2 in the primary correction of the angular velocity v and the correction of the zero point offset described above. By making settings such as increasing the upper limit and decreasing the constant C, correction is performed so that the value when not stationary is not reflected easily. As described above, when executing a game that requires input of angular velocity with higher accuracy, the zero point offset value ofs is output from the gyro sensors 95 and 96 in order to set the above-described zero point offset value ofs more accurately. The rate of convergence to the angular velocity v indicated by the angular velocity data is set to be relatively small. Therefore, even if the input device 6 is kept stationary, the time until the value of the angle change amount calculated in step 104 becomes within a predetermined value becomes long. As a result, the stability flag Sfrg in the stability confirmation process. It takes a long time to change from OFF to ON.

このように、上述したゲーム処理によれば、ジャイロセンサ95および96を静止させることが必要な状況において、ジャイロセンサ95および96(入力装置6)が安定していない場合、ジャイロセンサ95および96から得られる角速度データに応じて入力装置オブジェクトDobjが回転して表示される。したがって、プレイヤは、回転して表示されている入力装置オブジェクトDobjやその回転速度を視認することによって、ジャイロセンサ95および96が動いていたり、出力に誤差が含まれていたりすることを認識することができる。また、回転速度Vは、X、Y、およびZ軸周りの角速度の大きさを全て加算した値に基づいて決定されるため、わずかな角速度を生じているためにジャイロセンサ95および96(入力装置6)が安定していない場合であっても、その角速度が強調されて画面に現れるため、プレイヤにとってジャイロセンサ95および96(入力装置6)が安定していないことがよりわかりやすい表現となる。   As described above, according to the game process described above, when the gyro sensors 95 and 96 (input device 6) are not stable in a situation where the gyro sensors 95 and 96 need to be stopped, the gyro sensors 95 and 96 The input device object Dobj is rotated and displayed according to the obtained angular velocity data. Therefore, the player recognizes that the gyro sensors 95 and 96 are moving and that the output includes an error by visually recognizing the input device object Dobj that is displayed in rotation and its rotation speed. Can do. Further, since the rotational speed V is determined based on a value obtained by adding all the magnitudes of the angular velocities around the X, Y, and Z axes, the gyro sensors 95 and 96 (input devices) Even if 6) is not stable, the angular velocity is emphasized and appears on the screen, so that the player can easily understand that the gyro sensors 95 and 96 (input device 6) are not stable.

ここで、ジャイロセンサ95および96のゼロ点オフセット値(静止時出力値)がデバイス固有値に固定されている場合、当該デバイス固有値と現実のジャイロセンサ95および96のゼロ点オフセット値(静止時出力値)とに差があるとジャイロセンサ95および96(入力装置6)が常に不安定な状態となって、入力装置オブジェクトDobjが常に回転して表示されることになり得る。しかしながら、上述した実施形態では、ジャイロセンサ95および96から出力された角速度データが示す角速度を、ゼロ点オフセット値(静止時出力値)に基づいてオフセット補正した角速度を取得して処理を行っており、当該ゼロ点オフセット値もジャイロセンサ95および96から出力された角速度データが示す角速度に収束するように補正されている。したがって、ゼロ点オフセット値は、電源投入時において上記デバイス固定値に初期設定されていても、ジャイロセンサ95および96を静止状態に保つことによって、徐々に現実のゼロ点オフセット値に収束していく。そして、ゼロ点オフセット値の収束に伴ってオフセット補正した角速度も当該ゼロ点オフセット値に収束していくため、結果的に回転速度Vや各軸周りの角度変化量が0に近づいていくことになる。そのため、安定フラグSfrgがオンになっている場合は、既に静止時の出力がゼロ点となる補正が行われたということであり、誤差が補正された状態でゲームを行うことができる。   Here, when the zero point offset value (stationary output value) of the gyro sensors 95 and 96 is fixed to the device specific value, the device specific value and the actual zero point offset value (stationary output value of the gyro sensors 95 and 96). ), The gyro sensors 95 and 96 (input device 6) are always in an unstable state, and the input device object Dobj can always be rotated and displayed. However, in the above-described embodiment, the angular velocity obtained by offset-correcting the angular velocity indicated by the angular velocity data output from the gyro sensors 95 and 96 based on the zero point offset value (the stationary output value) is acquired and processed. The zero point offset value is also corrected so as to converge to the angular velocity indicated by the angular velocity data output from the gyro sensors 95 and 96. Therefore, even if the zero point offset value is initially set to the above-mentioned device fixed value when the power is turned on, the zero point offset value gradually converges to the actual zero point offset value by keeping the gyro sensors 95 and 96 stationary. . Since the angular velocity corrected for offset along with the convergence of the zero point offset value also converges to the zero point offset value, the rotational speed V and the amount of angular change around each axis will eventually approach zero. Become. For this reason, when the stability flag Sfrg is on, it means that the correction has already been made so that the output at the time of stillness becomes the zero point, and the game can be played with the error corrected.

なお、上述の実施形態における安定確認処理は、図11〜図17に示したフローチャートから明らかなように、ゲーム処理前やゲーム処理中において処理周期毎に繰り返されている。このような処理によって、安定確認画面を表示する前に既に安定フラグSfrgがオンになっている場合もあり、ゲームをより早く開始することができる。しかしながら、上述の実施形態における安定確認処理は、特定の段階だけでなく、上記フローとは独立して所定の周期で常に行うようにしてもよい。   It should be noted that the stability confirmation process in the above-described embodiment is repeated for each processing cycle before and during the game process, as is apparent from the flowcharts shown in FIGS. By such processing, the stability flag Sfrg may already be turned on before displaying the stability confirmation screen, and the game can be started earlier. However, the stability confirmation process in the above-described embodiment may be performed not only at a specific stage but also at a predetermined cycle independently of the above flow.

なお、上述した実施形態では、一次補正後にオフセット補正された角速度またはオフセット補正のみされた角速度を用いて算出された角度に基づいて安定確認処理や安定再確認処理を行う例を用いたが、これらの補正処理を行う前の角速度データが示す角速度または当該角速度から算出された角度を用いて安定確認処理や安定再確認処理を行ってもかまわない。この場合、ジャイロセンサ95および96から出力された角速度データが示す角速度を直接用いて安定確認処理や安定再確認処理をする、または当該角速度から算出された角度を直接用いて安定確認処理や安定再確認処理をすることになるが、ジャイロセンサ95および96が静止状態に保たれることによって当該角速度や当該角度がある値に収束するために、やがて安定フラグSfrgや再確認フラグSfrgがオンに設定される条件を満たすことになる。そして、安定フラグSfrgや再確認フラグSfrgがオンに設定されることに応じて、入力装置オブジェクトDobjも縦方向に静止した状態で表示されることになるため、同様の安定確認処理や安定再確認処理が可能となる。そして、上述した補正処理をゲーム処理直前に行えば(すなわち、上記ステップ60において補正処理を行い、補正処理を行った後の角速度を用いてゲーム処理を行う)、同様のゲーム処理が可能となる。また、上記安定確認処理や安定再確認処理において上述した補正処理を行って、回転速度Vや各軸周りの角度変化量を算出してもいいことは言うまでもない。   In the above-described embodiment, the example in which the stability confirmation process and the stability reconfirmation process are performed based on the angle calculated using the angular velocity that has been offset-corrected after the primary correction or the angular velocity that has only been offset-corrected has been used. The stability confirmation process or the stability reconfirmation process may be performed using the angular velocity indicated by the angular velocity data before the correction processing is performed or the angle calculated from the angular velocity. In this case, stability confirmation processing and stability reconfirmation processing are performed directly using the angular velocities indicated by the angular velocity data output from the gyro sensors 95 and 96, or stability confirmation processing and stability reconstruction are performed directly using the angle calculated from the angular velocities. Confirmation processing will be performed, but the stability flag Sfrg and the reconfirmation flag Sfrg are eventually set to ON in order for the angular velocity and the angle to converge to a certain value when the gyro sensors 95 and 96 are kept stationary. Will meet the conditions. Then, in response to the stability flag Sfrg and the reconfirmation flag Sfrg being set to ON, the input device object Dobj is also displayed in a stationary state in the vertical direction. Processing is possible. If the correction process described above is performed immediately before the game process (that is, the correction process is performed in step 60 and the game process is performed using the angular velocity after the correction process is performed), the same game process can be performed. . Needless to say, the rotation speed V and the angle change amount around each axis may be calculated by performing the correction process described above in the stability confirmation process and the stability reconfirmation process.

また、上述した実施形態では、補正後の角速度vを用いて角度rが算出され、当該算出された角度rを示す角度データを取得する例を用いたが、上述したゲーム処理の途中で角度rを算出するステップを追加してもかまわない。例えば、取得した角速度vを逐次加算(積分)することによって、入力装置6の初期姿勢からの姿勢の変化量(角度の変化量)を積分結果から算出して、現在の入力装置6の姿勢(角度)を算出するステップを、上記ゲーム処理に追加する。これによって、角度rが算出されていなくても、同様の処理が可能となる。   In the above-described embodiment, an example is used in which the angle r is calculated using the corrected angular velocity v, and angle data indicating the calculated angle r is acquired. You may add a step to calculate. For example, by sequentially adding (integrating) the acquired angular velocities v, the amount of change in posture from the initial posture of the input device 6 (the amount of change in angle) is calculated from the integration result, and the current posture of the input device 6 ( (Angle) is added to the game process. As a result, the same processing can be performed even if the angle r is not calculated.

また、上述した実施形態では、入力装置オブジェクトDobjを回転させる速度(回転速度V)を、X、Y、およびZ軸周りの角速度の大きさを全て加算した値に基づいて決定しているが、何れかの軸周りの角速度の大きさを加算対象から外してもかまわない。例えば、入力装置6を用いて行うゲーム処理において、X、Y、およびZ軸周りの角速度のうち、当該ゲーム処理に用いない軸周りの角速度がある場合、当該軸周りの角速度を用いずに回転速度Vを算出してもかまわない。   In the above-described embodiment, the speed (rotation speed V) for rotating the input device object Dobj is determined based on a value obtained by adding all the magnitudes of angular velocities around the X, Y, and Z axes. The magnitude of the angular velocity around any axis may be excluded from the addition target. For example, in a game process performed using the input device 6, if there is an angular velocity around an axis that is not used for the game process among the angular velocities around the X, Y, and Z axes, the rotation is performed without using the angular velocity around the axis. The speed V may be calculated.

また、上述した実施形態においては、コントローラ7に搭載されている加速度センサ701からの3軸方向の加速度信号(X、Y、およびZ軸方向加速度データ)や撮像情報演算部74からの処理結果データを用いていない。したがって、本発明を実現する場合には、加速度センサ701や撮像情報演算部74がコントローラ7に搭載されていなくてもかまわない。また、上述した実施形態においては、コントローラ7に対してジャイロセンサ95および96が設けられている角速度検出ユニット9が着脱可能に接続される構成を用いたが、ジャイロセンサ95および96は、コントローラ7の内部に設けられてもかまわない。   In the embodiment described above, acceleration signals in the three-axis directions (X, Y, and Z-axis direction acceleration data) from the acceleration sensor 701 mounted on the controller 7, and processing result data from the imaging information calculation unit 74. Is not used. Therefore, when the present invention is realized, the acceleration sensor 701 and the imaging information calculation unit 74 may not be mounted on the controller 7. Further, in the above-described embodiment, the configuration in which the angular velocity detection unit 9 provided with the gyro sensors 95 and 96 is detachably connected to the controller 7 is used. It does not matter if it is provided inside.

また、上述した説明では、据置型のゲーム装置に本願発明を適用した例を説明したが、ジャイロセンサを備えた入力装置によって操作される一般的なパーソナルコンピュータ等の情報処理装置にも適用することができる。例えば、入力装置のジャイロセンサから出力される角速度データに応じて、情報処理装置が入力装置の姿勢等を算出する等、入力装置に生じる角速度に基づいて様々なゲーム処理をする際のジャイロセンサの安定確認処理に用いることができる。   In the above description, an example in which the present invention is applied to a stationary game device has been described. However, the present invention is also applicable to an information processing device such as a general personal computer operated by an input device having a gyro sensor. Can do. For example, the gyro sensor for performing various game processes based on the angular velocity generated in the input device, such as the information processing device calculating the attitude of the input device in accordance with the angular velocity data output from the gyro sensor of the input device. It can be used for stability confirmation processing.

また、上述した説明では、コントローラ7(入力装置6)とゲーム装置本体5とが無線通信によって接続された態様を用いたが、コントローラ7とゲーム装置本体5とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7に接続されたケーブルをゲーム装置本体5の接続端子に接続する。   In the above description, the controller 7 (input device 6) and the game apparatus main body 5 are connected by wireless communication. However, the controller 7 and the game apparatus main body 5 are electrically connected via a cable. It does not matter. In this case, the cable connected to the controller 7 is connected to the connection terminal of the game apparatus body 5.

また、上述したコントローラ7および角速度検出ユニット9の形状や、操作部72の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した処理で用いられる係数、判定値、数式、処理順序等は、単なる一例に過ぎず他の値や数式や処理順序であっても、本発明を実現できることは言うまでもない。   In addition, the shape of the controller 7 and the angular velocity detection unit 9 described above, the shape, number, and installation position of the operation unit 72 are merely examples, and the present invention may be applied to other shapes, numbers, and installation positions. It goes without saying that can be realized. Moreover, it is needless to say that the present invention can be realized even if the coefficients, determination values, mathematical formulas, processing order, and the like used in the above-described processing are merely examples, and other values, mathematical formulas, and processing orders are used.

また、本発明のゲームプログラムは、光ディスク4等の外部記憶媒体を通じてゲーム装置本体5に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体5に供給されてもよい。また、ゲームプログラムは、ゲーム装置本体5内部の不揮発性記憶装置に予め記録されていてもよい。なお、ゲームプログラムを記憶する情報記憶媒体としては、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体の他に、不揮発性半導体メモリでもよい。   The game program of the present invention may be supplied not only to the game apparatus body 5 through an external storage medium such as the optical disc 4 but also to the game apparatus body 5 through a wired or wireless communication line. The game program may be recorded in advance in a nonvolatile storage device inside the game apparatus body 5. The information storage medium for storing the game program may be a non-volatile semiconductor memory in addition to a CD-ROM, DVD, or similar optical disk storage medium.

以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。   Although the present invention has been described in detail above, the above description is merely illustrative of the present invention in all respects and is not intended to limit the scope thereof. It goes without saying that various improvements and modifications can be made without departing from the scope of the present invention.

本発明に係るゲーム装置およびゲームプログラムは、ジャイロセンサから得られる角速度に基づいたゲーム処理を行うゲームにおいて、ジャイロセンサに生じている誤差を認識しやすくすることができ、入力装置の姿勢や方向等を用いて処理するゲーム等を実行するゲーム装置やゲームプログラムとして有用である。   The game device and the game program according to the present invention can make it easy to recognize errors occurring in the gyro sensor in a game that performs game processing based on the angular velocity obtained from the gyro sensor. It is useful as a game device or a game program for executing a game or the like to be processed using.

1…ゲームシステム
2…モニタ
2a、706…スピーカ
3…ゲーム装置
4…光ディスク
5…ゲーム装置本体
6…入力装置
10…CPU
11…システムLSI
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
18…無線通信モジュール
19…無線コントローラモジュール
20…拡張コネクタ
21…外部メモリカード用コネクタ
22、23…アンテナ
24…電源ボタン
25…リセットボタン
26…イジェクトボタン
31…入出力プロセッサ
32…GPU
33…DSP
34…VRAM
35…内部メインメモリ
7…コントローラ
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751、94…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
704…バイブレータ
707…サウンドIC
708…アンプ
8…マーカ
9…角速度検出ユニット
91…ボタン
92…カバー
93…プラグ
95…2軸ジャイロセンサ
96…1軸ジャイロセンサ
DESCRIPTION OF SYMBOLS 1 ... Game system 2 ... Monitor 2a, 706 ... Speaker 3 ... Game device 4 ... Optical disk 5 ... Game device main body 6 ... Input device 10 ... CPU
11 ... System LSI
12 ... External main memory 13 ... ROM / RTC
14 ... Disk drive 15 ... AV-IC
16 ... AV connector 17 ... Flash memory 18 ... Wireless communication module 19 ... Wireless controller module 20 ... Expansion connector 21 ... External memory card connector 22, 23 ... Antenna 24 ... Power button 25 ... Reset button 26 ... Eject button 31 ... Input / output Processor 32 ... GPU
33 ... DSP
34 ... VRAM
35 ... Internal main memory 7 ... Controller 71 ... Housing 72 ... Operation unit 73 ... Connector 74 ... Imaging information calculation unit 741 ... Infrared filter 742 ... Lens 743 ... Imaging element 744 ... Image processing circuit 75 ... Communication unit 751, 94 ... Microcomputer 752 ... Memory 753 ... Wireless module 754 ... Antenna 700 ... Substrate 701 ... Acceleration sensor 702 ... LED
704 ... Vibrator 707 ... Sound IC
708 ... Amplifier 8 ... Marker 9 ... Angular velocity detection unit 91 ... Button 92 ... Cover 93 ... Plug 95 ... 2-axis gyro sensor 96 ... 1-axis gyro sensor

Claims (22)

複数軸周りの角速度をそれぞれ検出するジャイロセンサを備える入力装置から、当該角速度をそれぞれ示す角速度データを少なくとも含む操作データを取得してゲーム処理を行うゲーム装置であって、
前記角速度データを取得する角速度データ取得手段と、
前記角速度データが示す前記複数軸周りそれぞれの角速度の大きさを加算した値を用いて、1つの回転量を表す回転パラメータを算出する回転パラメータ算出手段と、
前記回転パラメータに応じた回転量に応じて所定のオブジェクトを回転させて表示装置に表示させるオブジェクト表示制御手段とを備える、ゲーム装置。
A game device that performs game processing by acquiring operation data including at least angular velocity data indicating the angular velocities from an input device including gyro sensors that respectively detect angular velocities around a plurality of axes,
Angular velocity data acquisition means for acquiring the angular velocity data;
Rotation parameter calculation means for calculating a rotation parameter representing one rotation amount using a value obtained by adding the magnitudes of angular velocities around the plurality of axes indicated by the angular velocity data;
A game apparatus comprising: an object display control unit configured to rotate a predetermined object according to a rotation amount corresponding to the rotation parameter and display the object on a display device.
前記角速度データに基づいてゲーム処理を行うゲーム処理手段と、
前記操作データが所定の操作が行われたことを示す場合に前記ゲーム処理手段が処理しているゲーム処理を一時停止する一時停止手段とを、さらに備え、
前記オブジェクト表示制御手段は、前記一時停止中に算出された前記回転パラメータに応じて当該一時停止中に前記オブジェクトを回転させて前記表示装置に表示させる、請求項1に記載のゲーム装置。
Game processing means for performing game processing based on the angular velocity data;
Pausing means for pausing the game process being processed by the game processing means when the operation data indicates that a predetermined operation has been performed;
The game device according to claim 1, wherein the object display control unit rotates the object during the pause and displays the object on the display device according to the rotation parameter calculated during the pause.
前記角速度データに基づいて、前記入力装置の姿勢が安定しているか判定する判定手段を、さらに備え、
前記オブジェクト表示制御手段は、前記入力装置の姿勢が安定していると前記判定手段が判定するまでの期間中に、前記回転パラメータに応じて前記オブジェクトを回転させて前記表示装置に表示させる、請求項1に記載のゲーム装置。
A determination means for determining whether the attitude of the input device is stable based on the angular velocity data;
The object display control unit rotates the object according to the rotation parameter and displays the object on the display device during a period until the determination unit determines that the attitude of the input device is stable. Item 4. A game device according to Item 1.
前記角速度データに基づいてゲーム処理を行うゲーム処理手段を、さらに備え、
前記判定手段は、前記ゲーム処理手段が前記ゲーム処理を開始する前に、前記判定を開始し、前記入力装置の姿勢が安定していると判定された後に前記ゲーム処理手段による前記ゲーム処理を開始させる、請求項3に記載のゲーム装置。
Game processing means for performing a game process based on the angular velocity data;
The determination means starts the determination before the game processing means starts the game processing, and starts the game processing by the game processing means after it is determined that the attitude of the input device is stable. The game device according to claim 3.
前記オブジェクト表示制御手段は、前記入力装置の姿勢が安定していると前記判定手段が判定した場合に、前記オブジェクトを所定の方向に向けて静止させて前記表示装置に表示させる、請求項3に記載のゲーム装置。   4. The object display control unit according to claim 3, wherein when the determination unit determines that the posture of the input device is stable, the object display control unit causes the object to remain stationary in a predetermined direction and be displayed on the display device. The game device described. 前記オブジェクト表示制御手段は、前記オブジェクトを前記所定の方向に向けて静止させた後、所定の条件を満たさない限り前記回転パラメータとは無関係に当該静止状態を継続して当該オブジェクトを前記表示装置に表示させる、請求項5に記載のゲーム装置。   After the object display control means stops the object in the predetermined direction, the object display control unit continues the stationary state regardless of the rotation parameter unless the predetermined condition is satisfied, and the object display control unit The game device according to claim 5, which is displayed. 前記回転パラメータ算出手段は、前記加算した値が所定の閾値より大きい場合、当該値を当該閾値にして前記回転パラメータを算出する、請求項1に記載のゲーム装置。   The game apparatus according to claim 1, wherein when the added value is greater than a predetermined threshold, the rotation parameter calculation unit calculates the rotation parameter using the value as the threshold. 前記オブジェクト表示制御手段は、前記入力装置を模した前記オブジェクトを回転させて前記表示装置に表示させる、請求項1に記載のゲーム装置。   The game device according to claim 1, wherein the object display control means rotates the object imitating the input device and causes the display device to display the object. 前記回転パラメータ算出手段は、前記加算した値を、過去に算出された前記回転パラメータの値に所定割合で近づけることによって、新たな前記回転パラメータを算出する、請求項1に記載のゲーム装置。   The game apparatus according to claim 1, wherein the rotation parameter calculation unit calculates the new rotation parameter by bringing the added value closer to a value of the rotation parameter calculated in the past at a predetermined ratio. 前記角速度データが示す角速度に収束するゼロ点オフセット値を、前記複数軸周りそれぞれに対して算出するオフセット値算出手段と、
前記角速度データが示す前記複数軸周りそれぞれの角速度を、当該軸周りに対応して算出されたそれぞれの前記ゼロ点オフセット値で補正するオフセット補正手段とを、さらに備え、
前記回転パラメータ算出手段は、前記オフセット補正手段によって補正された前記複数軸周りそれぞれの角速度の大きさを用いて、前記回転パラメータを算出する、請求項1に記載のゲーム装置。
An offset value calculating means for calculating a zero point offset value that converges to the angular velocity indicated by the angular velocity data for each of the plurality of axes.
Offset correction means for correcting the angular velocities around the plurality of axes indicated by the angular velocity data with the zero point offset values calculated corresponding to the circumferences of the axes; and
The game apparatus according to claim 1, wherein the rotation parameter calculation unit calculates the rotation parameter using a magnitude of each angular velocity around the plurality of axes corrected by the offset correction unit.
最新の前記角速度データが示す角速度から遡って連続して所定の安定範囲内となった角速度の連続個数を算出する連続個数算出手段を、さらに備え、
前記オフセット値算出手段は、前記連続個数が多いほど、最新の前記角速度データが示す角速度に収束する度合いの強い前記ゼロ点オフセット値を算出する、請求項10に記載のゲーム装置。
A continuous number calculating means for calculating a continuous number of angular velocities that are continuously within a predetermined stable range retroactively from the angular velocity indicated by the latest angular velocity data;
The game apparatus according to claim 10, wherein the offset value calculation unit calculates the zero point offset value that has a higher degree of convergence to the angular velocity indicated by the latest angular velocity data as the number of consecutive items increases.
複数軸周りの角速度をそれぞれ検出するジャイロセンサを備える入力装置から、当該角速度をそれぞれ示す角速度データを少なくとも含む操作データを取得してゲーム処理を行うゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記コンピュータを、
前記角速度データを取得する角速度データ取得手段と、
前記角速度データが示す前記複数軸周りそれぞれの角速度の大きさを加算した値を用いて、1つの回転量を表す回転パラメータを算出する回転パラメータ算出手段と、
前記回転パラメータに応じた回転量に応じて所定のオブジェクトを回転させて表示装置に表示させるオブジェクト表示制御手段として機能させる、ゲームプログラム。
A game program that is executed by a computer of a game device that performs game processing by obtaining operation data including at least angular velocity data indicating the angular velocities from an input device including gyro sensors that respectively detect angular velocities around a plurality of axes. ,
The computer,
Angular velocity data acquisition means for acquiring the angular velocity data;
Rotation parameter calculation means for calculating a rotation parameter representing one rotation amount using a value obtained by adding the magnitudes of angular velocities around the plurality of axes indicated by the angular velocity data;
A game program that functions as an object display control unit that rotates a predetermined object according to a rotation amount corresponding to the rotation parameter and displays the object on a display device.
前記角速度データに基づいてゲーム処理を行うゲーム処理手段と、
前記操作データが所定の操作が行われたことを示す場合に前記ゲーム処理手段が処理しているゲーム処理を一時停止する一時停止手段として、前記コンピュータをさらに機能させ、
前記オブジェクト表示制御手段は、前記一時停止中に算出された前記回転パラメータに応じて当該一時停止中に前記オブジェクトを回転させて前記表示装置に表示させる、請求項12に記載のゲームプログラム。
Game processing means for performing game processing based on the angular velocity data;
When the operation data indicates that a predetermined operation has been performed, the computer is further functioned as a pause unit that pauses the game process being processed by the game process unit,
The game program according to claim 12, wherein the object display control unit rotates the object during the pause and displays the object on the display device according to the rotation parameter calculated during the pause.
前記角速度データに基づいて、前記入力装置の姿勢が安定しているか判定する判定手段として、さらに前記コンピュータを機能させ、
前記オブジェクト表示制御手段は、前記入力装置の姿勢が安定していると前記判定手段が判定するまでの期間中に、前記回転パラメータに応じて前記オブジェクトを回転させて前記表示装置に表示させる、請求項12に記載のゲームプログラム。
Based on the angular velocity data, as a determination means for determining whether the posture of the input device is stable, further causing the computer to function,
The object display control unit rotates the object according to the rotation parameter and displays the object on the display device during a period until the determination unit determines that the attitude of the input device is stable. Item 15. A game program according to Item 12.
前記角速度データに基づいてゲーム処理を行うゲーム処理手段として、さらに前記コンピュータを機能させ、
前記判定手段は、前記ゲーム処理手段が前記ゲーム処理を開始する前に、前記判定を開始し、前記入力装置の姿勢が安定していると判定された後に前記ゲーム処理手段による前記ゲーム処理を開始させる、請求項14に記載のゲームプログラム。
As a game processing means for performing a game process based on the angular velocity data, further causing the computer to function,
The determination means starts the determination before the game processing means starts the game processing, and starts the game processing by the game processing means after it is determined that the attitude of the input device is stable. The game program according to claim 14.
前記オブジェクト表示制御手段は、前記入力装置の姿勢が安定していると前記判定手段が判定した場合に、前記オブジェクトを所定の方向に向けて静止させて前記表示装置に表示させる、請求項14に記載のゲームプログラム。   The object display control unit causes the object to remain stationary in a predetermined direction and be displayed on the display device when the determination unit determines that the attitude of the input device is stable. The described game program. 前記オブジェクト表示制御手段は、前記オブジェクトを前記所定の方向に向けて静止させた後、所定の条件を満たさない限り前記回転パラメータとは無関係に当該静止状態を継続して当該オブジェクトを前記表示装置に表示させる、請求項16に記載のゲームプログラム。   After the object display control means stops the object in the predetermined direction, the object display control unit continues the stationary state regardless of the rotation parameter unless the predetermined condition is satisfied, and the object display control unit The game program according to claim 16, wherein the game program is displayed. 前記回転パラメータ算出手段は、前記加算した値が所定の閾値より大きい場合、当該値を当該閾値にして前記回転パラメータを算出する、請求項12に記載のゲームプログラム。   The game program according to claim 12, wherein when the added value is greater than a predetermined threshold, the rotation parameter calculation means calculates the rotation parameter using the value as the threshold. 前記オブジェクト表示制御手段は、前記入力装置を模した前記オブジェクトを回転させて前記表示装置に表示させる、請求項12に記載のゲームプログラム。   The game program according to claim 12, wherein the object display control unit rotates the object imitating the input device and causes the display device to display the object. 前記回転パラメータ算出手段は、前記加算した値を、過去に算出された前記回転パラメータの値に所定割合で近づけることによって、新たな前記回転パラメータを算出する、請求項12に記載のゲームプログラム。   The game program according to claim 12, wherein the rotation parameter calculation means calculates the new rotation parameter by bringing the added value closer to a value of the rotation parameter calculated in the past at a predetermined ratio. 前記角速度データが示す角速度に収束するゼロ点オフセット値を、前記複数軸周りそれぞれに対して算出するオフセット値算出手段と、
前記角速度データが示す前記複数軸周りそれぞれの角速度を、当該軸周りに対応して算出されたそれぞれの前記ゼロ点オフセット値で補正するオフセット補正手段として、さらに前記コンピュータを機能させ、
前記回転パラメータ算出手段は、前記オフセット補正手段によって補正された前記複数軸周りそれぞれの角速度の大きさを用いて、前記回転パラメータを算出する、請求項12に記載のゲームプログラム。
An offset value calculating means for calculating a zero point offset value that converges to the angular velocity indicated by the angular velocity data for each of the plurality of axes.
Further causing the computer to function as offset correction means for correcting the angular velocities around the plurality of axes indicated by the angular velocity data with the zero point offset values calculated corresponding to the circumferences of the axes,
The game program according to claim 12, wherein the rotation parameter calculation unit calculates the rotation parameter using the magnitudes of the angular velocities around the plurality of axes corrected by the offset correction unit.
最新の前記角速度データが示す角速度から遡って連続して所定の安定範囲内となった角速度の連続個数を算出する連続個数算出手段として、さらに前記コンピュータを機能させ、
前記オフセット値算出手段は、前記連続個数が多いほど、最新の前記角速度データが示す角速度に収束する度合いの強い前記ゼロ点オフセット値を算出する、請求項21に記載のゲームプログラム。
The computer is further functioned as continuous number calculating means for calculating the continuous number of angular velocities that are continuously within a predetermined stable range retroactively from the angular velocity indicated by the latest angular velocity data,
The game program according to claim 21, wherein the offset value calculation means calculates the zero point offset value that has a higher degree of convergence to the angular velocity indicated by the latest angular velocity data as the number of consecutive items increases.
JP2009074069A 2009-03-25 2009-03-25 GAME DEVICE AND GAME PROGRAM Active JP5393218B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009074069A JP5393218B2 (en) 2009-03-25 2009-03-25 GAME DEVICE AND GAME PROGRAM
US12/478,548 US8246458B2 (en) 2009-03-25 2009-06-04 Game apparatus and recording medium recording game program
US13/438,243 US9259644B2 (en) 2009-03-25 2012-04-03 Game apparatus and recording medium recording game program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009074069A JP5393218B2 (en) 2009-03-25 2009-03-25 GAME DEVICE AND GAME PROGRAM

Publications (2)

Publication Number Publication Date
JP2010220950A JP2010220950A (en) 2010-10-07
JP5393218B2 true JP5393218B2 (en) 2014-01-22

Family

ID=43038780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009074069A Active JP5393218B2 (en) 2009-03-25 2009-03-25 GAME DEVICE AND GAME PROGRAM

Country Status (1)

Country Link
JP (1) JP5393218B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4260814B2 (en) * 2006-03-09 2009-04-30 任天堂株式会社 GAME DEVICE AND GAME PROGRAM
JP2007310840A (en) * 2006-05-22 2007-11-29 Sony Computer Entertainment Inc Information processor, and control method and program of information processor
JP4509988B2 (en) * 2006-09-21 2010-07-21 株式会社ソニー・コンピュータエンタテインメント Operation device control apparatus, operation device control method, program, and operation device
JP2008135033A (en) * 2007-11-26 2008-06-12 Olympus Corp Hand posture operation detector

Also Published As

Publication number Publication date
JP2010220950A (en) 2010-10-07

Similar Documents

Publication Publication Date Title
JP5430246B2 (en) GAME DEVICE AND GAME PROGRAM
JP5224832B2 (en) Information processing program and information processing apparatus
JP4988273B2 (en) GAME PROGRAM AND GAME DEVICE
JP5060798B2 (en) Information processing program and information processing apparatus
JP5374287B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP4919887B2 (en) Image processing program and image processing apparatus
US9259644B2 (en) Game apparatus and recording medium recording game program
JP2008067877A (en) Game device and game program
JP2008209142A (en) Information processing program and information processor
JP5358168B2 (en) GAME DEVICE AND GAME PROGRAM
JP5507880B2 (en) Information processing program and information processing apparatus
JP5005627B2 (en) Information processing program and information processing apparatus
JP5537083B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP5848520B2 (en) Music performance program, music performance device, music performance system, and music performance method
JP5797046B2 (en) Pointing system, information processing system, coordinate system setting method, information processing apparatus, and information processing program
JP5513762B2 (en) GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD
JP2010246768A (en) Information processing program and information processing apparatus
JP5393218B2 (en) GAME DEVICE AND GAME PROGRAM
JP5443041B2 (en) GAME DEVICE AND GAME PROGRAM
JP5339490B2 (en) GAME DEVICE AND GAME PROGRAM
JP5438382B2 (en) Information processing program and information processing apparatus
JP5420954B2 (en) GAME DEVICE AND GAME PROGRAM
JP5443042B2 (en) GAME DEVICE AND GAME PROGRAM
JP5420955B2 (en) GAME DEVICE AND GAME PROGRAM
JP6262563B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110902

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20111111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120220

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: 20131008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131015

R150 Certificate of patent or registration of utility model

Ref document number: 5393218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250