JP5443041B2 - GAME DEVICE AND GAME PROGRAM - Google Patents
GAME DEVICE AND GAME PROGRAM Download PDFInfo
- Publication number
- JP5443041B2 JP5443041B2 JP2009103230A JP2009103230A JP5443041B2 JP 5443041 B2 JP5443041 B2 JP 5443041B2 JP 2009103230 A JP2009103230 A JP 2009103230A JP 2009103230 A JP2009103230 A JP 2009103230A JP 5443041 B2 JP5443041 B2 JP 5443041B2
- Authority
- JP
- Japan
- Prior art keywords
- game
- difficulty level
- angular velocity
- success
- velocity data
- 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
Links
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000012545 processing Methods 0.000 claims description 80
- 238000000034 method Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 44
- 238000003672 processing method Methods 0.000 claims 2
- 230000001133 acceleration Effects 0.000 description 92
- 230000033001 locomotion Effects 0.000 description 28
- 239000003550 marker Substances 0.000 description 24
- 239000011159 matrix material Substances 0.000 description 24
- 238000004891 communication Methods 0.000 description 20
- 238000003384 imaging method Methods 0.000 description 20
- 230000003287 optical effect Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000005484 gravity Effects 0.000 description 10
- 239000000758 substrate Substances 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- CZZAPCPWFCGOCC-GHXNOFRVSA-N (5z)-2-amino-5-[[5-(2-nitrophenyl)furan-2-yl]methylidene]-1,3-thiazol-4-one Chemical compound S1C(N)=NC(=O)\C1=C\C1=CC=C(C=2C(=CC=CC=2)[N+]([O-])=O)O1 CZZAPCPWFCGOCC-GHXNOFRVSA-N 0.000 description 3
- 230000037303 wrinkles Effects 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000010137 moulding (plastic) Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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 operation data including angular velocity data acquired from an angular velocity sensor provided in a controller.
従来、コントローラに設けられたジャイロセンサから取得される角速度を含む操作データに基づいてゲーム処理を行うゲーム装置が存在する。例えば、特許文献1に開示されているゲーム装置では、コントローラに設けられた多軸ジャイロセンサから取得される角速度などの情報に基づいて、仮想ゲーム空間におけるキャラクターの刀の動きが制御される。
2. Description of the Related Art Conventionally, there are game devices that perform game processing based on operation data including angular velocity acquired from a gyro sensor provided in a controller. For example, in the game device disclosed in
しかしながら、上記特許文献1に記載のゲーム装置では、角速度センサから取得される角速度データに基づいて実行されるゲームにおいて、ゲームの難易度を設定することは考えられておらず、ゲームが単調になるという問題がある。
However, in the game device described in
それゆえに本発明の目的は、角速度センサから取得される角速度データに基づいて実行されるゲームにおいて、ゲームの難易度を調整することのできるゲーム装置及びゲームプログラムを提供することである。 SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a game device and a game program capable of adjusting the difficulty level of a game in a game executed based on angular velocity data acquired from an angular velocity sensor.
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号、図番号及び補足説明は、本発明の理解を助けるために、後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。 The present invention employs the following configuration in order to solve the above problems. Note that the reference numerals, figure numbers, and supplementary explanations in parentheses in this column show examples of correspondences with embodiments described later in order to help understanding of the present invention, and the present invention is not limited in any way. Not what you want.
本発明のゲーム装置は、コントローラ(8)に設けられた角速度センサ(55、56)から取得される角速度データを含む操作データ(62)に基づいてゲーム処理を行うゲーム装置(3)であって、ゲーム処理手段(10)と、難易度設定手段(10)と、難易度制御手段(10)とを備える。
上記ゲーム処理手段は、上記角速度データに基づいたゲームを実行する(図9〜図13)とともに、当該角速度データの値に基づいてゲームの成否を判定する(S22、図21、S24、図22、S30、図25、図26)。
上記難易度設定手段は、ゲームの難易度を設定する(S32)。
上記難易度制御手段は、上記難易度設定手段によって設定された難易度に基づいて、上記ゲーム処理手段において成功と判定される角速度データの成功範囲を変更する(S29、図23〜図26)。
The game device of the present invention is a game device (3) that performs game processing based on operation data (62) including angular velocity data acquired from angular velocity sensors (55, 56) provided in the controller (8). The game processing means (10), the difficulty level setting means (10), and the difficulty level control means (10) are provided.
The game processing means executes a game based on the angular velocity data (FIGS. 9 to 13) and determines success or failure of the game based on the value of the angular velocity data (S22, FIG. 21, S24, FIG. 22, S30, FIG. 25, FIG. 26).
The difficulty level setting means sets the difficulty level of the game (S32).
The difficulty level control means changes the success range of the angular velocity data determined to be successful by the game processing means based on the difficulty level set by the difficulty level setting means (S29, FIGS. 23 to 26).
なお、上記難易度制御手段は、上記難易度設定手段によって設定される難易度がより高いほど、上記成功範囲をより狭くしてもよい。 The difficulty level control means may narrow the success range as the difficulty level set by the difficulty level setting means is higher.
本発明の他のゲーム装置は、コントローラ(8)に設けられた角速度センサ(55、56)から取得される角速度データを含む操作データ(62)に基づいてゲーム処理を行うゲーム装置(3)であって、ゲーム処理手段(10)と、難易度設定手段(10)と、難易度制御手段(10)とを備える。
上記ゲーム処理手段は、上記角速度データに基づいて仮想ゲーム空間における所定のオブジェクト(ボール)を移動させるゲームを実行する(図9〜図13)。
上記難易度設定手段は、ゲームの難易度を設定する(S32)。
上記難易度制御手段は、上記難易度設定手段によって設定された難易度に基づいて、上記ゲーム処理手段における上記オブジェクトの移動を補正する(S22、図21、S24、図22、S30、図25、図26)。
Another game apparatus of the present invention is a game apparatus (3) that performs a game process based on operation data (62) including angular velocity data acquired from angular velocity sensors (55, 56) provided in the controller (8). The game processing means (10), the difficulty level setting means (10), and the difficulty level control means (10) are provided.
The game processing means executes a game for moving a predetermined object (ball) in the virtual game space based on the angular velocity data (FIGS. 9 to 13).
The difficulty level setting means sets the difficulty level of the game (S32).
The difficulty level control means corrects the movement of the object in the game processing means based on the difficulty level set by the difficulty level setting means (S22, FIG. 21, S24, FIG. 22, S30, FIG. 25). FIG. 26).
なお、上記難易度制御手段は、上記ゲーム処理手段で利用される上記オブジェクトの移動制御パラメータ(方位角φ)を、ゲームにおいて要求される当該移動制御パラメータの目標値(0)または目標範囲(φ1〜φ2)に近づけるように補正してもよい(図25、図26)。 The difficulty level control means sets the object movement control parameter (azimuth angle φ) used in the game processing means to the target value (0) or target range (φ1) of the movement control parameter required in the game. It may be corrected so as to approach (φ2) (FIGS. 25 and 26).
また、上記難易度制御手段は、上記難易度設定手段によって設定される難易度がより高いほど、上記移動制御パラメータを補正する度合いをより低くしてもよい。 Further, the degree of difficulty control means may lower the degree of correcting the movement control parameter as the degree of difficulty set by the difficulty level setting means is higher.
また、上記ゲーム処理手段は、上記角速度データが所定の条件を満たしたタイミングで、上記角速度データに基づいた上記オブジェクトの移動の制御を行ってもよい。 The game processing means may control the movement of the object based on the angular velocity data at a timing when the angular velocity data satisfies a predetermined condition.
また、上記ゲーム処理手段は、上記角速度データが示す角速度の大きさ(P)が極大となり、かつ当該角速度の極大値が所定の閾値(投球閾値)より大きいときに、上記オブジェクトの移動を制御してもよい(S21)。 Further, the game processing means controls the movement of the object when the magnitude (P) of the angular velocity indicated by the angular velocity data is maximum and the maximum value of the angular velocity is larger than a predetermined threshold (throwing threshold). (S21).
また、上記ゲーム装置は、上記角速度センサから取得される角速度データを逐次記憶する角速度記憶手段(12)をさらに備え、上記ゲーム処理手段は、上記角速度データが示す角速度の大きさ(P)が極大となり、かつ当該角速度の極大値が所定の閾値(投球閾値)より大きいときに、当該角速度が極大となる前の所定期間における角速度データを上記角速度記憶手段から読み出して当該角速度データに基づいて上記オブジェクトの移動方向(方位角φ)を決定し、上記難易度制御手段は、上記ゲーム処理手段によって決定される上記オブジェクトの移動方向(方位角φ)を、上記難易度設定手段によって設定された難易度に応じた度合いで、ゲームにおいて要求される当該オブジェクトの目標移動方向(0)に近づけるように補正してもよい。 The game apparatus further includes angular velocity storage means (12) for sequentially storing angular velocity data acquired from the angular velocity sensor, and the game processing means has a maximum angular velocity (P) indicated by the angular velocity data. When the maximum value of the angular velocity is larger than a predetermined threshold (throwing threshold), the angular velocity data for a predetermined period before the angular velocity becomes maximum is read from the angular velocity storage means and the object is based on the angular velocity data The movement direction (azimuth angle φ) of the object is determined, and the difficulty level control means sets the movement direction (azimuth angle φ) of the object determined by the game processing means to the difficulty level set by the difficulty level setting means. May be corrected so as to approach the target movement direction (0) of the object required in the game by a degree according to Yes.
また、上記ゲーム処理手段は、上記角速度データが示す角速度の大きさ(P)が極大となり、かつ当該角速度の極大値が所定の閾値(投球閾値)より大きいときに、当該極大値に基づいて上記オブジェクトの移動速度(初速度V)および/または到達距離を決定し、上記難易度制御手段は、上記ゲーム処理手段によって決定される上記オブジェクトの移動速度および/または到達距離を、上記難易度設定手段によって設定された難易度に応じた度合いで、ゲームにおいて要求される当該オブジェクトの目標移動速度および/または目標到達距離に近づけるように補正してもよい。 In addition, the game processing means, when the angular velocity magnitude (P) indicated by the angular velocity data is maximal and the maximal value of the angular velocity is greater than a predetermined threshold (throwing threshold), The moving speed (initial speed V) and / or reach distance of the object is determined, and the difficulty level control means sets the moving speed and / or reach distance of the object determined by the game processing means to the difficulty level setting means. You may correct | amend so that it may approach the target moving speed and / or target reach | attainment distance of the said object requested | required in a game by the degree according to the difficulty set by (1).
また、上記難易度設定手段は、ゲームにおいて要求される当該オブジェクトの目標到達距離(プレイヤキャラクタとリングの間の距離)に応じてゲームの難易度を変化させてもよい(図30)。 Further, the difficulty level setting means may change the difficulty level of the game according to the target reach distance (distance between the player character and the ring) of the object required in the game (FIG. 30).
また、上記ゲーム処理手段は、上記角速度データに基づいたゲームを複数回実行し(S17)、当該複数回のゲームのそれぞれについてゲームの成否を判定し、上記難易度設定手段は、各回のゲームの成否に応じて次の回のゲームの基準難易度を決定する(S32)とともに、ゲームにおいて要求される当該オブジェクトの目標到達距離に応じた難易度オフセット(図30)を上記基準難易度に加算することによって、次の回のゲームの難易度を決定してもよい。 The game processing means executes the game based on the angular velocity data a plurality of times (S17), determines the success or failure of the game for each of the plurality of games, and the difficulty level setting means determines whether the game is The standard difficulty level of the next game is determined according to success or failure (S32), and a difficulty level offset (FIG. 30) corresponding to the target reach distance of the object required in the game is added to the standard difficulty level. By this, the difficulty level of the next game may be determined.
また、上記ゲーム処理手段は、上記角速度データが示す角速度の大きさ(P)が極大となり、かつ当該加速度の極大値が所定の閾値(投球閾値)より大きいときに、当該時点において上記角速度センサから取得される角速度データに基づいて検出される上記コントローラの姿勢に基づいて上記オブジェクトの移動方向(仰角θ)を設定し(S22)、上記難易度制御手段は、上記ゲーム処理手段によって決定される上記オブジェクトの移動方向(仰角θ)を、上記難易度設定手段によって設定された難易度に応じた度合いで、ゲームにおいて要求される当該オブジェクトの目標移動方向に近づけるように補正してもよい。 In addition, the game processing means is configured to detect from the angular velocity sensor at the time when the magnitude (P) of the angular velocity indicated by the angular velocity data is maximal and the maximal acceleration is greater than a predetermined threshold (throwing threshold). The moving direction (elevation angle θ) of the object is set based on the attitude of the controller detected based on the acquired angular velocity data (S22), and the difficulty level control means is determined by the game processing means. You may correct | amend the moving direction (elevation angle (theta)) of an object so that it may approach the target moving direction of the said object requested | required in a game by the degree according to the difficulty set by the said difficulty level setting means.
また、上記ゲーム処理手段は、上記角速度データに基づいたゲームを複数回実行し(S17)、当該複数回のゲームのそれぞれについてゲームの成否を判定し、上記難易度設定手段は、或る回のゲームの結果が成功であると判定された場合に、当該回のゲームの難易度よりも上がるように、次の回のゲームの難易度を設定してもよい(図27〜図29)。 The game processing means executes the game based on the angular velocity data a plurality of times (S17), determines success / failure of each of the plurality of games, and the difficulty level setting means When it is determined that the game result is successful, the difficulty level of the next game may be set so as to be higher than the difficulty level of the current game (FIGS. 27 to 29).
また、上記ゲーム処理手段は、上記角速度データに基づいたゲームを複数回実行し(S17)、当該複数回のゲームのそれぞれについてゲームの成否を判定し、上記難易度設定手段は、或る回のゲームの結果が失敗であると判定された場合に、当該回のゲームの難易度よりも下がるように、次の回のゲームの難易度を設定してもよい(図27〜図29)。 The game processing means executes the game based on the angular velocity data a plurality of times (S17), determines success / failure of each of the plurality of games, and the difficulty level setting means When it is determined that the game result is unsuccessful, the difficulty level of the next game may be set so as to be lower than the difficulty level of the current game (FIGS. 27 to 29).
また、上記ゲーム処理手段は、第1のプレイヤによって操作される第1のコントローラに設けられた第1の角速度センサから取得される第1の角速度データと、第2のプレイヤによって操作される第2のコントローラに設けられた第2の角速度センサから取得される第2の角速度データに基づいて、第1のプレイヤと第2のプレイヤが対戦するゲームを実行し、当該第1の角速度データおよび第2の角速度データの値に基づいて、第1のプレイヤによる第1のゲーム操作の成否と第2のプレイヤによる第2のゲーム操作の成否をそれぞれ判定し、上記難易度設定手段は、第1のゲーム操作の難易度と第2のゲーム操作の難易度を個別に設定し、上記難易度制御手段は、上記難易度設定手段によって設定された第1のゲーム操作の難易度に基づいて、上記ゲーム処理手段において第1のゲーム操作が成功したと判定される第1の角速度データの成功範囲を変更し、上記難易度設定手段によって設定された第2のゲーム操作の難易度に基づいて、上記ゲーム処理手段において第2のゲーム操作が成功したと判定される第2の角速度データの成功範囲を変更してもよい。 The game processing means includes first angular velocity data acquired from a first angular velocity sensor provided in a first controller operated by the first player, and a second operated by the second player. Based on the second angular velocity data acquired from the second angular velocity sensor provided in the controller, a game in which the first player and the second player play against each other is executed, and the first angular velocity data and the second angular velocity data Success / failure of the first game operation by the first player and success / failure of the second game operation by the second player are determined based on the value of the angular velocity data of the first player. The difficulty level of the operation and the difficulty level of the second game operation are individually set, and the difficulty level control means is based on the difficulty level of the first game operation set by the difficulty level setting means. Then, the success range of the first angular velocity data determined that the first game operation has been successful in the game processing means is changed, and the second game operation difficulty level set by the difficulty level setting means is changed. Thus, the success range of the second angular velocity data in which it is determined that the second game operation is successful in the game processing means may be changed.
また、上記難易度設定手段は、或る回の第1のゲーム操作の成否に応じて次の回の第1のゲーム操作の難易度を設定し、或る回の第2のゲーム操作の成否に応じて次の回の第2のゲーム操作の難易度を設定してもよい。 The difficulty level setting means sets the difficulty level of the first game operation of the next time in accordance with the success or failure of the first game operation of a certain time, and the success or failure of the second game operation of the certain time. Depending on, the difficulty level of the second game operation of the next time may be set.
本発明のゲームプログラムは、コントローラ(8)に設けられた角速度センサ(55、56)から取得される角速度データを含む操作データ(62)に基づいてゲーム処理を行うゲーム装置(3)のコンピュータ(10)を、ゲーム処理手段、難易度設定手段および難易度制御手段として機能させるためのゲームプログラムである。
上記ゲーム処理手段は、上記角速度データに基づいたゲームを実行する(図9〜図13)とともに、当該角速度データの値に基づいてゲームの成否を判定する。
上記難易度設定手段は、ゲームの難易度を設定する(S32)。
上記難易度制御手段は、上記難易度設定手段によって設定された難易度に基づいて、上記ゲーム処理手段において成功と判定される角速度データの成功範囲を変更する(S29、図23〜図26)。
The game program of the present invention is a computer (3) for a game device (3) that performs game processing based on operation data (62) including angular velocity data acquired from angular velocity sensors (55, 56) provided in the controller (8). 10) is a game program for functioning as game processing means, difficulty level setting means, and difficulty level control means.
The game processing means executes a game based on the angular velocity data (FIGS. 9 to 13) and determines success or failure of the game based on the value of the angular velocity data.
The difficulty level setting means sets the difficulty level of the game (S32).
The difficulty level control means changes the success range of the angular velocity data determined to be successful by the game processing means based on the difficulty level set by the difficulty level setting means (S29, FIGS. 23 to 26).
本発明の他のゲームプログラムは、コントローラ(8)に設けられた角速度センサ(55、56)から取得される角速度データを含む操作データ(62)に基づいてゲーム処理を行うゲーム装置(3)のコンピュータ(10)を、ゲーム処理手段、難易度設定手段および難易度制御手段として機能させるためのゲームプログラムである。
上記ゲーム処理手段は、上記角速度データに基づいて仮想ゲーム空間における所定のオブジェクト(ボール)を移動させるゲームを実行する(図9〜図13)。
上記難易度設定手段は、ゲームの難易度を設定する(S32)。
上記難易度制御手段は、上記難易度設定手段によって設定された難易度に基づいて、上記ゲーム処理手段における上記オブジェクトの移動を補正する(S22、図21、S24、図22、S30、図25、図26)。
Another game program of the present invention is a game device (3) that performs game processing based on operation data (62) including angular velocity data acquired from angular velocity sensors (55, 56) provided in the controller (8). A game program for causing a computer (10) to function as game processing means, difficulty level setting means, and difficulty level control means.
The game processing means executes a game for moving a predetermined object (ball) in the virtual game space based on the angular velocity data (FIGS. 9 to 13).
The difficulty level setting means sets the difficulty level of the game (S32).
The difficulty level control means corrects the movement of the object in the game processing means based on the difficulty level set by the difficulty level setting means (S22, FIG. 21, S24, FIG. 22, S30, FIG. 25). FIG. 26).
本発明によれば、角速度センサから取得される角速度データに基づいて実行されるゲームにおいて、ゲームの難易度を設定することのできるゲーム装置及びゲームプログラムを提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the game apparatus and game program which can set the difficulty of a game in the game performed based on the angular velocity data acquired from an angular velocity sensor can be provided.
[ゲームシステムの全体構成]
図1を参照して、本発明の一実施形態に係るゲーム装置を含むゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置及びゲームプログラムについて説明する。図1において、ゲームシステム1は、テレビジョン受像器(以下、単に「テレビ」と記載する)2、ゲーム装置3、光ディスク4、入力装置8、及びマーカ部6を含む。本システムは、入力装置8を用いたゲーム操作に基づいてゲーム装置3でゲーム処理を実行するものである。
[Overall configuration of game system]
A
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるためのゲームプログラムが記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されているゲームプログラムを読み出して実行することによってゲーム処理を実行する。
An
ゲーム装置3には、表示装置の一例であるテレビ2が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ2の画面の周辺(図1では画面の上側)には、マーカ部6が設置される。マーカ部6は、その両端に2つのマーカ6R及び6Lを備えている。マーカ6R(マーカ6Lも同様)は、具体的には1以上の赤外LEDであり、テレビ2の前方に向かって赤外光を出力する。マーカ部6はゲーム装置3に接続されており、ゲーム装置3はマーカ部6が備える各赤外LEDの点灯を制御することが可能である。
A
入力装置8は、自機に対して行われた操作の内容を示す操作データをゲーム装置3に与えるものである。本実施形態では、入力装置8はコントローラ5とジャイロセンサユニット7とを含む。詳細は後述するが、入力装置8は、コントローラ5に対してジャイロセンサユニット7が着脱可能に接続されている構成である。コントローラ5とゲーム装置3とは無線通信によって接続される。本実施形態では、コントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ5とゲーム装置3とは有線で接続されてもよい。
The
[ゲーム装置3の内部構成]
次に、図2を参照して、ゲーム装置3の内部構成について説明する。図2は、ゲーム装置3の構成を示すブロック図である。ゲーム装置3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、及びAV−IC15等を有する。
[Internal configuration of game device 3]
Next, the internal configuration of the
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14及びAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムLSI11の内部構成については後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11e又は外部メインメモリ12に読み出したデータを書き込む。
The
また、システムLSI11には、入出力プロセッサ(I/Oプロセッサ)11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM11d、及び内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
Further, the
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。
The
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。
The
上述のように生成された画像データ及び音声データは、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-
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、及びメモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
The input / output processor 11a performs transmission / reception of data to / from components connected to the input / output processor 11a and downloads data from an external device. The input / output processor 11 a is connected to the
入出力プロセッサ11aは、無線通信モジュール18及びアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18及びアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22及び無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データ又は途中データ)が記憶されてもよい。
The input / output processor 11a is connected to the network via the
また、入出力プロセッサ11aは、コントローラ5から送信される操作データをアンテナ23及び無線コントローラモジュール19を介して受信し、内部メインメモリ11e又は外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
Further, the input / output processor 11 a receives operation data transmitted from the
さらに、入出力プロセッサ11aには、拡張コネクタ20及びメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
Furthermore, an
ゲーム装置3には、電源ボタン24、リセットボタン25、及びイジェクトボタン26が設けられる。電源ボタン24及びリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、ゲーム装置3の各構成要素に対して、図示しないACアダプタを経て電源が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
The
[入力装置8の構成]
次に、図3〜図6を参照して、入力装置8について説明する。図3は、入力装置8の外観構成を示す斜視図である。図4は、コントローラ5の外観構成を示す斜視図である。図3は、コントローラ5の上側後方から見た斜視図であり、図4は、コントローラ5を下側前方から見た斜視図である。
[Configuration of Input Device 8]
Next, the
図3及び図4において、コントローラ5は、例えばプラスチック成型によって形成されたハウジング31を有している。ハウジング31は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。プレイヤは、コントローラ5に設けられたボタンを押下すること、及び、コントローラ5自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
3 and 4, the
ハウジング31には、複数の操作ボタンが設けられる。図3に示すように、ハウジング31の上面には、十字ボタン32a、1番ボタン32b、2番ボタン32c、Aボタン32d、マイナスボタン32e、ホームボタン32f、プラスボタン32g、及び電源ボタン32hが設けられる。一方、図4に示すように、ハウジング31の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン32iが設けられる。これらの各操作ボタン32a〜32iには、ゲーム装置3が実行するゲームプログラムに応じた機能が適宜割り当てられる。また、電源ボタン32hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン32f及び電源ボタン32hは、その上面がハウジング31の上面に埋没している。これによって、プレイヤがホームボタン32f又は電源ボタン32hを誤って押下することを防止することができる。
The
ハウジング31の後面にはコネクタ33が設けられている。コネクタ33は、コントローラ5に他の機器(例えば、ジャイロセンサユニット7や他のコントローラ)を接続するために利用される。また、ハウジング31の後面におけるコネクタ33の両側には、上記他の機器が容易に離脱することを防止するために係止穴33aが設けられている。
A
ハウジング31上面の後方には複数(図3では4つ)のLED34a〜34dが設けられる。ここで、コントローラ5には、他のメインコントローラと区別するためにコントローラ種別(番号)が付与される。各LED34a〜34dは、コントローラ5に現在設定されている上記コントローラ種別をプレイヤに通知したり、コントローラ5の電池残量をプレイヤに通知したりする等の目的で用いられる。具体的には、コントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED34a〜34dのいずれか1つが点灯する。
A plurality (four in FIG. 3) of
また、コントローラ5は撮像情報演算部35(図7)を有しており、図4に示すように、ハウジング31前面には撮像情報演算部35の光入射面35aが設けられる。光入射面35aは、マーカ6R及び6Lからの赤外光を少なくとも透過する材質で構成される。
Further, the
ハウジング31上面における1番ボタン32bとホームボタン32fとの間には、コントローラ5に内蔵されるスピーカ49(図5)からの音を外部に放出するための音抜き孔31aが形成されている。
Between the
次に、図5及び図6を参照して、コントローラ5の内部構造について説明する。図5及び図6は、コントローラ5の内部構造を示す図である。なお、図5は、コントローラ5の上筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6は、コントローラ5の下筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6に示す斜視図は、図5に示す基板30を裏面から見た斜視図となっている。
Next, the internal structure of the
図5において、ハウジング31の内部には基板30が固設されており、当該基板30の上主面上に各操作ボタン32a〜32h、各LED34a〜34d、加速度センサ37、アンテナ45、及びスピーカ49等が設けられる。これらは、基板30等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)42(図6参照)に接続される。本実施形態では、加速度センサ37は、X軸方向に関してコントローラ5の中心からずれた位置に配置されている。これによって、コントローラ5をZ軸回りに回転させたときのコントローラ5の動きが算出しやすくなる。また、加速度センサ37は、長手方向(Z軸方向)に関してコントローラ5の中心よりも前方に配置されている。また、無線モジュール44(図7)及びアンテナ45によって、コントローラ5がワイヤレスコントローラとして機能する。
In FIG. 5, a
一方、図6において、基板30の下主面上の前端縁に撮像情報演算部35が設けられる。撮像情報演算部35は、コントローラ5の前方から順に赤外線フィルタ38、レンズ39、撮像素子40、及び画像処理回路41を備えている。これらの部材38〜41はそれぞれ基板30の下主面に取り付けられる。
On the other hand, in FIG. 6, an imaging
さらに、基板30の下主面上には、上記マイコン42及びバイブレータ48が設けられている。バイブレータ48は、例えば振動モータやソレノイドであり、基板30等に形成された配線によってマイコン42と接続される。マイコン42の指示によりバイブレータ48が作動することによってコントローラ5に振動が発生する。これによって、コントローラ5を把持しているプレイヤの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ48は、ハウジング31のやや前方寄りに配置される。つまり、バイブレータ48がコントローラ5の中心よりも端側に配置することによって、バイブレータ48の振動によりコントローラ5全体を大きく振動させることができる。また、コネクタ33は、基板30の下主面上の後端縁に取り付けられる。なお、図5及び図6に示す他、コントローラ5は、マイコン42の基本クロックを生成する水晶振動子、スピーカ49に音声信号を出力するアンプ等を備えている。
Further, the
また、ジャイロセンサユニット7は、3軸回りの角速度を検知するジャイロセンサ(図7に示すジャイロセンサ55及び56)を有する。ジャイロセンサユニット7は、コントローラ5のコネクタ33に着脱可能に装着される。ジャイロセンサユニット7の前端(図3に示すZ軸正方向側の端部)には、コネクタ33に接続可能なプラグ(図7に示すプラグ53)が設けられる。さらに、プラグ53の両側にはフック(図示せず)が設けられる。ジャイロセンサユニット7がコントローラ5に対して装着される状態では、プラグ53がコネクタ33に接続されるとともに、上記フックがコントローラ5の係止穴33aに係止する。これによって、コントローラ5とジャイロセンサユニット7とがしっかりと固定される。また、ジャイロセンサユニット7は側面(図3に示すX軸方向の面)にボタン51を有している。ボタン51は、それを押下すれば上記フックの係止穴33aに対する係止状態を解除することができるように構成されている。したがって、ボタン51を押下しながらプラグ53をコネクタ33から抜くことによって、ジャイロセンサユニット7をコントローラ5から離脱することができる。
The
また、ジャイロセンサユニット7の後端には、上記コネクタ33と同形状のコネクタが設けられる。したがって、コントローラ5(のコネクタ33)に対して装着可能な他の機器は、ジャイロセンサユニット7のコネクタに対しても装着可能である。なお、図3においては、当該コネクタに対してカバー52が着脱可能に装着されている。
A connector having the same shape as the
なお、図3〜図6に示したコントローラ5及びジャイロセンサユニット7の形状や、各操作ボタンの形状、加速度センサやバイブレータの数及び設置位置等は単なる一例に過ぎず、他の形状、数、及び設置位置であってもよい。また、本実施形態では、撮像手段による撮像方向はZ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ5における撮像情報演算部35の位置(撮像情報演算部35の光入射面35a)は、ハウジング31の前面でなくてもよく、ハウジング31の外部から光を取り入れることができれば他の面に設けられてもかまわない。
The shapes of the
図7は、入力装置8(コントローラ5及びジャイロセンサユニット7)の構成を示すブロック図である。コントローラ5は、操作部32(各操作ボタン32a〜32i)、コネクタ33、撮像情報演算部35、通信部36、及び加速度センサ37を備えている。コントローラ5は、自機に対して行われた操作内容を示すデータを操作データとしてゲーム装置3へ送信するものである。
FIG. 7 is a block diagram showing the configuration of the input device 8 (the
操作部32は、上述した各操作ボタン32a〜32iを含み、各操作ボタン32a〜32iに対する入力状態(各操作ボタン32a〜32iが押下されたか否か)を示す操作ボタンデータを通信部36のマイコン42へ出力する。
The
撮像情報演算部35は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部35は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラ5の動きでも追跡して解析することができる。
The imaging
撮像情報演算部35は、赤外線フィルタ38、レンズ39、撮像素子40、及び画像処理回路41を含んでいる。赤外線フィルタ38は、コントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ39は、赤外線フィルタ38を透過した赤外線を集光して撮像素子40へ入射させる。撮像素子40は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ39が集光した赤外線を受光して画像信号を出力する。ここで、テレビ2の表示画面近傍に配置されるマーカ部6のマーカ6R及び6Lは、テレビ2の前方に向かって赤外光を出力する赤外LEDで構成される。したがって、赤外線フィルタ38を設けることによって、撮像素子40は、赤外線フィルタ38を通過した赤外線だけを受光して画像データを生成するので、マーカ6R及び6Lの画像をより正確に撮像することができる。以下では、撮像素子40によって撮像された画像を撮像画像と呼ぶ。撮像素子40によって生成された画像データは、画像処理回路41で処理される。画像処理回路41は、撮像画像内における撮像対象(マーカ6R及び6L)の位置を算出する。画像処理回路41は、算出された位置を示す座標を通信部36のマイコン42へ出力する。この座標のデータは、マイコン42によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ5自体の向き(傾斜角度)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いてコントローラ5の向きや位置を算出することができる。
The imaging
なお、他の実施形態においては、コントローラ5は画像処理回路41を備えていない構成であってもよく、撮像画像自体がコントローラ5からゲーム装置3へ送信されてもよい。このとき、ゲーム装置3は、画像処理回路41と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
In other embodiments, the
加速度センサ37は、コントローラ5の加速度(重力加速度を含む)を検出する、すなわち、コントローラ5に加わる力(重力を含む)を検出する。加速度センサ37は、当該加速度センサ37の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。例えば、3軸又は2軸の加速度センサは、アナログ・デバイセズ株式会社(Analog Devices, Inc.)又はSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能である種類のものでもよい。なお、加速度センサ37は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
The
本実施形態では、加速度センサ37は、コントローラ5を基準とした上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)及び前後方向(図3に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ37は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ37からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、入力装置8(コントローラ5)を基準に設定されるXYZ座標系(コントローラ座標系)における3次元のベクトル(ax,ay,az)として表される。以下では、加速度センサ37によって検出される3軸に関する各加速度値を各成分とするベクトルを加速度ベクトルと呼ぶ。
In the present embodiment, the
加速度センサ37が検出した加速度を示すデータ(加速度データ)は、通信部36へ出力される。なお、加速度センサ37が検出した加速度は、コントローラ5自体の向き(傾斜角度)や動きに対応して変化するので、ゲーム装置3は加速度データを用いてコントローラ5の向きや動きを算出することができる。本実施形態では、ゲーム装置3は、加速度データ及び後述する角速度データに基づいて入力装置8(コントローラ5)の姿勢を判断する。入力装置8の姿勢は、例えば、入力装置8が存在する空間の所定位置を基準としたxyz座標系の座標値によって表される。ここでは、図1に示されるように、xyz座標系は、入力装置8がマーカ部6の正面に位置することを前提とし、入力装置8の位置からマーカ部6を向く方向をz軸正方向とし、鉛直上向き(重力方向の逆方向)をy軸正方向とし、入力装置8の位置からマーカ部6を見た場合の左方向をx軸正方向とした座標系であるとする。また、ここでは、入力装置8(コントローラ5)を基準としたX軸、Y軸、Z軸が、それぞれx軸、y軸、z軸の向きと一致するときの入力装置8の姿勢を基準姿勢と呼ぶことにする。入力装置8の姿勢は、基準姿勢からZ軸方向を基準としてロール方向(Z軸周り)、ピッチ方向(X軸周り)、ヨー方向(Y軸周り)にそれぞれ入力装置8を回転させた場合のxyz座標系における姿勢である。当該姿勢は、後述する回転行列Mによって表現される。
Data indicating the acceleration detected by the acceleration sensor 37 (acceleration data) is output to the
加速度センサ37が検出した加速度(加速度ベクトル)を示すデータ(加速度データ)は、通信部36へ出力される。
Data (acceleration data) indicating the acceleration (acceleration vector) detected by the
なお、加速度センサ37から出力される加速度の信号に基づいて、ゲーム装置3のプロセッサ(例えばCPU10)又はコントローラ5のプロセッサ(例えばマイコン42)等のコンピュータが処理を行うことによって、コントローラ5に関するさらなる情報を推測又は算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ37を搭載するコントローラ5が静止状態であることを前提としてコンピュータ側の処理が実行される場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合)、コントローラ5が現実に静止状態であれば、検出された加速度に基づいてコントローラ5の姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサ37の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かによって、コントローラ5が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ37の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ5がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ37からの出力に基づいてコントローラ5の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ5の傾斜方向を算出するようにしてもよい。このように、加速度センサ37をプロセッサと組み合わせて用いることによって、コントローラ5の傾斜角度又は姿勢を判定することができる。
In addition, based on the acceleration signal output from the
一方、コントローラ5が動的な状態(コントローラ5が動かされている状態)であることを前提とする場合には、加速度センサ37は重力加速度に加えてコントローラ5の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ5の動き方向を知ることができる。また、コントローラ5が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ5の傾きを知ることが可能である。なお、他の実施例では、加速度センサ37は、内蔵の加速度検出手段で検出された加速度信号をマイコン42に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置又は他の種類の専用の処理装置を備えていてもよい。組込み式又は専用の処理装置は、例えば、加速度センサ37が静的な加速度(例えば、重力加速度)を検出するために用いられる場合、加速度信号を傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
On the other hand, when it is assumed that the
通信部36は、マイコン42、メモリ43、無線モジュール44、及びアンテナ45を含んでいる。マイコン42は、処理を行う際にメモリ43を記憶領域として用いながら、マイコン42が取得したデータをゲーム装置3へ無線送信する無線モジュール44を制御する。また、マイコン42はコネクタ33に接続されている。ジャイロセンサユニット7から送信されてくるデータは、コネクタ33を介してマイコン42に入力される。以下、ジャイロセンサユニット7の構成について説明する。
The
ジャイロセンサユニット7は、プラグ53、マイコン54、2軸ジャイロセンサ55、及び1軸ジャイロセンサ56を備えている。上述のように、ジャイロセンサユニット7は、3軸(本実施形態では、XYZ軸)周りの角速度を検出し、検出した角速度を示すデータ(角速度データ)をコントローラ5へ送信する。
The
2軸ジャイロセンサ55は、X軸周りの角速度及びY軸周りの(単位時間あたりの)角速度を検出する。また、1軸ジャイロセンサ56は、Z軸周りの(単位時間あたりの)角速度を検出する。なお、本明細書では、コントローラ5の撮像方向(Z軸正方向)を基準として、Z軸周り、X軸周り、Y軸周りの回転方向を、それぞれ、ロール方向、ピッチ方向、ヨー方向と呼ぶ。すなわち、2軸ジャイロセンサ55は、ピッチ方向(X軸周りの回転方向)及びヨー方向(Y軸周りの回転方向)の角速度を検出し、1軸ジャイロセンサ56は、ロール方向(Z軸周りの回転方向)の角速度を検出する。
The
なお、本実施形態では、3軸回りの角速度を検出するために、2軸ジャイロセンサ55と1軸ジャイロセンサ56とを用いる構成としたが、他の実施形態においては、3軸回りの角速度を検出することができればよく、用いるジャイロセンサの数及び組み合わせはどのようなものであってもよい。
In this embodiment, the 2-
また、本実施形態では、各ジャイロセンサ55及び56が角速度を検出する3つの軸は、加速度センサ37が加速度を検出する3つの軸(XYZ軸)と一致するように設定される。ただし、他の実施形態においては、各ジャイロセンサ55及び56が角速度を検出する3つの軸と、加速度センサ37が加速度を検出する3つの軸とは一致しなくてもよい。
In this embodiment, the three axes for detecting the angular velocities by the
ジャイロセンサ55及び56で検出された角速度を示すデータは、マイコン54に出力される。したがって、マイコン54には、XYZ軸の3軸回りの角度速度を示すデータが入力されることになる。マイコン54は、上記3軸回りの角速度を示すデータを角速度データとしてプラグ53を介してコントローラ5へ送信する。なお、マイコン54からコントローラ5への送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。
Data indicating the angular velocity detected by the
コントローラ5の説明に戻り、操作部32、撮像情報演算部35、及び加速度センサ37からマイコン42へ出力されたデータ、ならびに、ジャイロセンサユニット7からマイコン42へ送信されてきたデータは、一時的にメモリ43に格納される。これらのデータは、上記操作データとしてゲーム装置3へ送信される。すなわち、マイコン42は、ゲーム装置3の無線コントローラモジュール19への送信タイミングが到来すると、メモリ43に格納されている操作データを無線モジュール44へ出力する。無線モジュール44は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ45から放射する。つまり、操作データは、無線モジュール44で微弱電波信号に変調されてコントローラ5から送信される。微弱電波信号はゲーム装置3側の無線コントローラモジュール19で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。なお、通信部36から無線コントローラモジュール19への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ5の通信部36は、例えば1/200秒に1回の割合で各操作データをゲーム装置3の無線コントローラモジュール19へ出力する。
Returning to the description of the
上記コントローラ5を用いることによって、プレイヤは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ5を任意の傾斜角度に傾ける操作を行うことができる。その他、上記コントローラ5によれば、プレイヤは、コントローラ5によって画面上の任意の位置を指示する操作、及び、コントローラ5自体を動かす操作を行うこともできる。
By using the
[ゲーム処理の概要]
次に、図8〜図13を参照して、上記ゲームシステム1において実行されるバスケットボールゲームの概要について説明する。本実施形態において実行されるバスケットボールゲームでは、仮想ゲーム空間に存在するプレイヤキャラクタがプレイヤによる操作に応じてバスケットボールのシュートを所定回数繰り返し、そのシュートの成否に応じてプレイヤに得点が与えられる。プレイヤは、図8に示されるような振り操作を行うことにより、プレイヤキャラクタにボールをシュートさせることができる。
[Overview of game processing]
Next, an outline of a basketball game executed in the
図9は、ゲーム開始直後にテレビ2の画面に表示されるゲーム画像の一例を示している。当該ゲーム画像は、仮想ゲーム空間を所定の視点(仮想カメラ)から見たシーンを示しており、当該ゲーム画像には、仮想ゲーム空間に配置されたプレイヤキャラクタ、ボール、リング等が表示されている。また、当該ゲーム画像には、プレイヤの得点も表示されている。
FIG. 9 shows an example of a game image displayed on the screen of the
テレビ2に図9のようなゲーム画像が表示されているときに、プレイヤが入力装置8を下に向けた状態(すなわち、コントローラ5の前端をコントローラ5の後端よりも低くした状態)でコントローラ5のBボタン32iを押すと、図10に示すように、プレイヤキャラクタがボールを掴む。その後、プレイヤがジャンプ操作を行う(すなわち、入力装置8を上に振り上げる)と、プレイヤキャラクタは、図11に示すようにボールを頭の上に構えた状態で真上にジャンプする。
When the game image as shown in FIG. 9 is displayed on the
プレイヤキャラクタがジャンプした後、プレイヤがシュート操作を行う(すなわち、入力装置8を図8に示すように前方に振る)と、図12に示すように、プレイヤキャラクタがリングに向けてボールを投げる。このときのボールの投球方向や初速度は、プレイヤによる入力装置8の振り方(すなわち、入力装置8を振る強さ、入力装置8を振るタイミング、入力装置8を振ったときの入力装置8の姿勢、入力装置8を振るときのプレイヤの手首のひねり具合)に応じて変化する。投球されたボールがリングの中央を通過するようなボールの移動方向、移動速度および到達距離が、それぞれ、ボールの目標移動方向、目標移動速度および目標到達距離となる。入力装置8が理想的な振り方、もしくはそれに近い振り方で振られた場合にはシュートが成功して得点が加点され、そうでない場合にはシュートは失敗に終わり、得点は加算されない。
After the player character jumps, when the player performs a shooting operation (that is, when the
シュートが終了した後、プレイヤが再び入力装置8の前端を下に向けた状態でコントローラ5のBボタン32iを押すと、プレイヤキャラクタは新たなボールを掴む。そして、上記と同様にして、プレイヤの操作に応じてプレイヤキャラクタは再びシュートを行う。このようにして、プレイヤの操作に応じて、プレイヤキャラクタが仮想ゲーム空間において同一の位置からシュートを5回行う。5回分のシュートが終了すると、プレイヤキャラクタは移動し、別の位置からさらにシュートを5回行う。このように、プレイヤキャラクタは、5本のシュートを1セットとして、各セットが終了するごとに場所を移動し、5セット(すなわち25本のシュート)が終了すると、ゲームの結果(プレイヤが獲得した合計得点)が表示され、ゲームが終了する。
After the shooting is finished, when the player presses the B button 32i of the
上記のように、本実施形態では、ジャンプ操作およびシュート操作を行う際にプレイヤはコントローラ5上のボタンを操作する必要が無く、入力装置8を把持している腕をあたかも自分がシュートするかのように振ることでプレイヤキャラクタにジャンプおよびシュートさせることができるので、非常に直感的なゲーム操作が可能である。また、特にシュート操作の際にコントローラ5上のボタンの操作を必要としないため、プレイヤは入力装置8を5本の指でしっかりと把持した状態で振ることができる。
As described above, in this embodiment, the player does not need to operate the buttons on the
[ゲーム処理の詳細]
次に、ゲーム装置3において実行されるゲーム処理の詳細について説明する。まず、ゲーム装置3におけるゲーム処理において用いられる主なデータについて図14を用いて説明する。図14は、ゲーム装置3の外部メインメモリ12(ただし内部メインメモリ11eであってもよい)のメモリマップである。図14に示すように、外部メインメモリ12は、ゲームプログラム格納領域61、操作データ格納領域62、姿勢データ格納領域63、難易度格納領域64、振り強さ格納領域65、ひねり量格納領域66、および得点格納領域67として利用される。
[Details of game processing]
Next, details of the game process executed in the
ゲームプログラム格納領域61には、上記のようなバスケットボールゲームを実現するためのゲームプログラムが格納される。このゲームプログラムは、ゲーム装置3に電源が投入された後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれて外部メインメモリ12のゲームプログラム格納領域61に記憶される。なお、他の実施形態では、ゲームプログラムは、光ディスク以外の任意のコンピュータ読み取り可能な記憶媒体(たとえば、ゲームカートリッジや磁気ディスク等)を通じてゲーム装置3に供給されて、外部メインメモリ12に記憶されてもよい。また、さらに他の実施形態では、ゲームプログラムは、ゲーム装置3に内蔵されている不揮発性の記憶装置(例えばフラッシュメモリ17)から読み出されて、外部メインメモリ12に記憶されてもよい。さらに他の実施形態では、ゲームプログラムは、他のコンピュータシステム(ゲーム装置やゲームプログラム配信サーバ装置)から無線または有線の通信回線を通じてゲーム装置3に供給されて、外部メインメモリ12に記憶されてもよい。
The game
操作データ格納領域62には、コントローラ5からゲーム装置3へ送信されてくる操作データが記憶される。上述したように、コントローラ5からゲーム装置3へは200分の1秒の周期で操作データが送信されるので、操作データ格納領域62に記憶される操作データは、200分の1秒の周期で更新される。ここで、本実施形態においては、200分の1秒の周期で送信される各回の操作データを1サンプルとして、外部メインメモリ12には、最新の操作データ(すなわち、ゲーム装置3が最後に取得した操作データ)に加えて、過去に取得した所定数の操作データが記憶される。
In the operation
操作データには、ボタンデータ、角速度データ、加速度データ、及びマーカ座標データが含まれる。ボタンデータは、コントローラ5上の各ボタンが押されたか否かを示すデータである。角速度データは、ジャイロセンサユニット7のジャイロセンサ55及び56によって検出された角速度を示すデータの集合である。すなわち、角速度データは、図3に示すXYZ座標系における各軸回りの角速度であり、現在及び過去に検出された各軸周りの角速度の集合である。また、加速度データは、現在及び過去に加速度センサ37によって検出された加速度(加速度ベクトル)を示すデータの集合である。マーカ座標データは、撮像情報演算部35の画像処理回路41によって算出される座標、すなわち上記マーカ座標を示すデータである。マーカ座標は、撮像画像に対応する平面上の位置を表すための2次元座標系で表現される。
The operation data includes button data, angular velocity data, acceleration data, and marker coordinate data. The button data is data indicating whether or not each button on the
姿勢データ格納領域63には、姿勢データが記憶される。姿勢データは、入力装置8(コントローラ5)の姿勢に関するデータの集合であって、回転行列データ、ロール成分回転データ、ピッチ成分回転データ、ヨー成分回転データ、ピッチ姿勢データ、及びヨー姿勢データを含む。
Posture data is stored in the posture
回転行列データは、基準姿勢(上述したXYZ軸がxyz軸と一致する場合の姿勢)から現在の入力装置8(コントローラ5)の姿勢への回転を表すデータであり、当該回転は、回転行列Mで表される。また、回転行列Mは、入力装置8のXYZ軸方向を示すそれぞれの単位ベクトルをxyz座標系で表して並べたものでもある。回転行列データは、操作データと同様、最新の回転行列Mに加えて、所定サンプルの回転行列Mを示すデータの集合である。回転行列Mは、以下の式(1)に示す3×3の行列で表現される。
The rotation matrix data is data representing the rotation from the reference posture (the posture in the case where the XYZ axis described above matches the xyz axis) to the current posture of the input device 8 (controller 5). It is represented by In addition, the rotation matrix M is also obtained by arranging the respective unit vectors indicating the XYZ axis directions of the
ロール成分回転データは、Z軸周りの入力装置8の回転を表すデータであり、ロール成分回転行列Mrで表される。ピッチ成分回転データは、X軸周りの入力装置8の回転を表すデータであり、ピッチ成分回転行列Mpで表される。さらに、ヨー成分回転データは、Y軸周りの入力装置8の回転を表すデータであり、ヨー成分回転行列Myで表される。ロール成分回転行列Mr、ピッチ成分回転行列Mp、及びヨー成分回転行列Myは、それぞれ以下の式(2)〜式(4)に示す3×3の行列で表現される。
The roll component rotation data is data representing the rotation of the
ここで、ロール方向(Z軸周り)、ピッチ方向(X軸周り)、ヨー方向(Y軸周り)の回転角をそれぞれθr、θp、θyとした。角度θr、θp、θyは、角速度データに基づいて求められる。すなわち、角度θrは、基準姿勢からのZ軸周りの回転角であり、当該回転角は、上述したように、Z軸周りの角速度の積分を算出することにより求められる。角度θp及びθyも同様に、それぞれX軸周り、Y軸周りの角速度の積分を算出することにより、求められる。なお、ジャイロセンサの出力には一般的にドリフト等による誤差が含まれる可能性があるので、角速度を積分するだけでなく、加速度データに基づいて姿勢を補正することができる。具体的には、入力装置8が静止しているときや、等速運動をしているときは、加速度データが示す加速度が重力であるので、その方向から入力装置8の姿勢を算出し、角速度によって算出された姿勢を加速度から算出された姿勢に近づける補正を行う。その際、加速度の大きさが重力の大きさに近いほど補正の度合いを高くするようにすれば、動いている場合等、加速度から姿勢を算出できない場合の姿勢をあまり反映させないようにすることができる。さらに、マーカ座標データに基づいて補正を行うことも可能である。すなわち、2つのマーカ座標を結ぶ方向によって、入力装置のロール方向の姿勢を算出することが可能であるし、マーカ座標の位置をヨーおよび/またはピッチ方向の姿勢に関連付けることも可能であるので、角速度によって算出された姿勢や加速度によって補正された姿勢を、マーカ座標に基づいて算出された姿勢に所定割合で近づけることで補正を行うことが可能である。
Here, the rotation angles in the roll direction (around the Z axis), the pitch direction (around the X axis), and the yaw direction (around the Y axis) were θr, θp, and θy, respectively. The angles θr, θp, and θy are obtained based on the angular velocity data. That is, the angle θr is a rotation angle around the Z axis from the reference posture, and the rotation angle is obtained by calculating the integral of the angular velocity around the Z axis as described above. Similarly, the angles θp and θy are obtained by calculating the integrals of the angular velocities around the X axis and the Y axis, respectively. Since the output of the gyro sensor may generally include an error due to drift or the like, it is possible not only to integrate the angular velocity but also to correct the posture based on the acceleration data. Specifically, when the
上記回転行列Mは、Z軸を基準としたロール方向、ピッチ方向、ヨー方向の回転を表す回転行列の積である。すなわち、回転行列Mは、上記式(2)〜式(4)で表される各成分の回転行列の積である。本実施形態では、角速度データが更新されるタイミング(200分の1秒の周期)で、回転行列M(回転行列データ)が算出され、外部メインメモリ12に保存されるものとする。
The rotation matrix M is a product of rotation matrices representing rotations in the roll direction, pitch direction, and yaw direction with respect to the Z axis. That is, the rotation matrix M is a product of the rotation matrices of the respective components represented by the above formulas (2) to (4). In the present embodiment, it is assumed that a rotation matrix M (rotation matrix data) is calculated and stored in the external
ピッチ姿勢データは、入力装置8のxyz座標系におけるピッチ方向の姿勢を示すデータの集合であり、当該ピッチ方向の姿勢は、上記回転行列Mにより求められる。ここで、xyz座標系におけるピッチ方向の姿勢とは、物体座標系(XYZ座標系)で入力装置8を回転させた後の空間固定座標系(xyz座標系)から見たx軸周りの回転を表す姿勢である。
The pitch attitude data is a set of data indicating the attitude in the pitch direction in the xyz coordinate system of the
ヨー姿勢データは、入力装置8のxyz座標系におけるヨー方向の姿勢を示すデータの集合であり、当該ヨー方向の姿勢は、上記回転行列Mにより求められる。ここで、xyz座標系におけるヨー方向の姿勢とは、物体座標系(XYZ座標系)で入力装置8を回転させた後の空間固定座標系(xyz座標系)から見たy軸周りの回転を表す姿勢である。
The yaw posture data is a set of data indicating the posture in the yaw direction in the xyz coordinate system of the
難易度格納領域64には、ゲームの難易度を示す値が記憶される。本実施形態では、難易度の値は0〜25の範囲の実数値を取り得るものとする。
The difficulty
振り強さ格納領域65には、最新の振り強さP0と、1サンプル前の振り強さP1と、2サンプル前の振り強さP2が記憶される。最新の振り強さP0は、最新の角速度データに基づいて計算された振り強さPである。1サンプル前の振り強さP1は、1サンプル前の角速度データ(すなわち、最新の角速度データの1つ前に取得された角速度データ)に基づいて計算された振り強さPである。同様に、2サンプル前の振り強さP2とは、2サンプル前の角速度データ(すなわち、最新の角速度データの2つ前に取得された角速度データ)に基づいて計算された振り強さPである。振り強さPの計算方法については後述する。
In the swing
ひねり量格納領域66には、1投目のひねり量R1、2投目のひねり量R2、3投目のひねり量R3、および4投目のひねり量R4が記憶される。1投目のひねり量R1は、上記バスケットボールゲームにおいてプレイヤキャラクタが放つ全25本のシュートの内、最初のシュートを打つ際に角速度データに基づいて計算されたひねり量Rである。2投目のひねり量R2は、上記バスケットボールゲームにおいてプレイヤキャラクタが放つ全25本のシュートの内、2投目のシュートを打つ際に角速度データに基づいて計算されたひねり量Rである。同様に、3投目のひねり量R3は、3投目のシュートを打つ際に角速度データに基づいて計算されたひねり量Rであり、4投目のひねり量R4は、4投目のシュートを打つ際に角速度データに基づいて計算されたひねり量Rである。ひねり量Rの計算方法については後述する。
In the twist
得点格納領域67には、プレイヤが獲得した得点を示す値が記憶される。
In the
なお、外部メインメモリ12には、上記のようなゲームプログラムおよび各種データの他にも、ゲームに登場する各種オブジェクト(プレイヤキャラクタ、ボール等)の画像データや、オブジェクトの各種パラメータを示すデータ等、ゲーム処理に必要なデータが記憶される。
In addition to the game program and various data as described above, the external
なお、上記のようなゲームプログラムおよび各種データは、外部メインメモリ12ではなく、内部メインメモリ11eに記憶されてもよい。
The game program and various data as described above may be stored not in the external
また、上述したような各種データの全てが外部メインメモリ12に記憶されている必要はなく、少なくともゲーム処理において必要となるデータさえ外部メインメモリ12に記憶されていればよい。例えば、ゲーム処理においてヨー姿勢データを利用しない場合には、外部メインメモリ12にヨー姿勢データを記憶しないようにしてもよい。
In addition, it is not necessary that all the various data as described above is stored in the external
次に、図15〜図16のフローチャートを参照して、前述のゲームプログラムに基いてゲーム装置3のCPU10によって実行されるゲーム処理の流れを説明する。
Next, a flow of game processing executed by the
ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによって外部メインメモリ12等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムが外部メインメモリ12に読み込まれ、CPU10によって当該ゲームプログラム61の実行が開始される。図15に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。なお、図15および図16のフローチャートでは、説明を簡単にするために、コントローラ5から操作データを周期的に取得して外部メインメモリ12に格納する処理や、当該取得した操作データに基づいて入力装置8の姿勢を表す回転行列等を算出して外部メインメモリ12に格納する処理は省略している。また、図15および図16のフローチャートでは、当業者にとって周知の技術であるプレイヤキャラクタのモーション制御処理やゲーム画像生成処理についても省略している。
When the power of the
ステップS10において、CPU10は、初期化処理を行う。この初期化処理には、外部メインメモリ12に記憶されている各種データを初期値にセットする処理等が含まれる。例えば、難易度は初期値「1」にセットされ、得点は初期値「0」にセットされる。
In step S10, the
ステップS11において、CPU10は、コントローラ5の姿勢が下向き(すなわち、コントローラ5の前端がコントローラ5の後端よりも低い状態)か否かを判断する。この判断は、例えば、回転行列MのZy成分が負である場合には、コントローラ5のZ軸がxyz空間内の下方向を向いていることになるので、コントローラ5の姿勢が下向きと判定することができる。また、外部メインメモリ12に格納されているピッチ姿勢データに基づいて行うこともできる。ステップS11において、コントローラ5の姿勢が下向きであると判断された場合には、処理はステップS12に進み、そうでない場合には、コントローラ5の姿勢が下向きであると判断されるまでステップS11を繰り返す。
In step S <b> 11, the
ステップS12において、CPU10は、コントローラ5のBボタン32iがプレイヤによって押されたか否かを操作データ格納領域62のボタンデータに基づいて判断する。そして、Bボタン32iが押されたと判断された場合には処理はステップS13に進み、そうでない場合には、処理はステップS11に戻る。
In step S <b> 12, the
ステップS13において、CPU10は、仮想ゲーム空間においてプレイヤキャラクタがボールを掴むように、プレイヤキャラクタのモーションを制御する。
In step S13, the
ステップS14において、CPU10は、プレイヤによるジャンプ操作が行われたかどうかを判断する。本実施形態では、プレイヤが入力装置8を上に振り上げたかどうかを、現在のZ軸方向の加速度と、現在のX軸周りの角速度と、現在のY軸周りの角速度と、現在の入力装置8のxyz座標系におけるピッチ方向の姿勢とから総合的に判断し、プレイヤが入力装置8を頭上に振り上げたと判断される場合に、ジャンプ操作が行われたと判断する。そして、ジャンプ操作が行われたと判断された場合には処理はステップS15に進み、そうでない場合には、ジャンプ開始条件を満たしたと判断されるまでステップS14を繰り返す。
In step S14, the
ステップS15において、CPU10は、仮想ゲーム空間においてプレイヤキャラクタがジャンプを開始するように、プレイヤキャラクタのモーションを制御する。
In step S15, the
ステップS16において、CPU10は、シュート処理を行う。このシュート処理は、プレイヤキャラクタにボールをシュートさせるための処理である。シュート処理の詳細については図16のフローチャートを参照して後述する。ステップS16のシュート処理が終了すると、処理はステップS17に進む。
In step S16, the
ステップS17において、CPU10は、規定回数(本実施形態では25回)のシュートが終了したかどうかを判断する。そして、規定回数のシュートが終了した場合には処理はステップS18に進み、そうでない場合には処理はステップS11に戻る。
In step S <b> 17, the
ステップS18において、CPU10は、プレイヤが獲得した得点等を示す結果画像を生成して、テレビ2の画面に表示し、ゲーム処理を終了する。
In step S18, the
次に、図16のフローチャートを参照して、図15のステップS16のシュート処理について詳細に説明する。 Next, the chute process in step S16 in FIG. 15 will be described in detail with reference to the flowchart in FIG.
シュート処理が開始されると、ステップS20において、CPU10は、最新の角速度データに基づいて振り強さPを計算し、その値を外部メインメモリ12に「最新の振り強さP0」として格納する。このとき、ステップS20の直前まで「最新の振り強さP0」として外部メインメモリ12に記憶されていた値については、「1サンプル前の振り強さP1」として外部メインメモリ12に記憶され、同様に、ステップS20の直前まで「1サンプル前の振り強さP1」として外部メインメモリ12に記憶されていた値については、「2サンプル前の振り強さP2」として外部メインメモリ12に記憶される。
When the chute process is started, in step S20, the
振り強さPとは、プレイヤが入力装置8を振る強さを示す指標であって、本実施形態では、一例として、X軸周りの角速度とY軸周りの角速度に基づいて計算される。具体的には、X軸周りの角速度をRxとし、Y軸周りの角速度をRyとすると、振り強さPは、√(Rx^2+Ry^2)として計算される。このようにして計算される振り強さPは、入力装置8を回転させたときの角速度のX軸周り及び/又はY軸周りの大きさを表している。プレイヤが、バスケットボールにおけるシュート動作のように、入力装置8を把持している腕を図17に示す位置Aから位置Bおよび位置Cを経て位置Dまで振った場合、その過程において、振り強さPの値は図18に示した曲線のように変化する。なお、図18の例では、プレイヤの腕が位置Bにあるときに振り強さPが極大となっているが、振り強さPの極大点は、プレイヤによる入力装置8の振り方によって変化する。なお、図17では、プレイヤは、入力装置8を振ったときに入力装置8がX軸周りに回転するような持ち方で入力装置8を把持しているが、本実施形態では上記のように、X軸周りの角速度とY軸周りの角速度の両方を加味して振り強さPが計算されるので、プレイヤがどのような持ち方で入力装置8を把持していても、プレイヤが入力装置8を振る強さを振り強さPとして適切に検出することができる。
The swing strength P is an index indicating the strength with which the player swings the
ステップS21において、CPU10は、振り強さPの極大値が投球閾値以上かどうかを判断する。本実施形態では、振り強さPが極大点に達したかどうかは、外部メインメモリ12に記憶されている「最新の振り強さP0」、「1サンプル前の振り強さP1」、および「2サンプル前の振り強さP2」に基づいて判断される。具体的には、「1サンプル前の振り強さP1」の値が「2サンプル前の振り強さP2」の値よりも大きく、なおかつ「最新の振り強さP0」の値が「1サンプル前の振り強さP1」の値以下である場合に、振り強さPが極大点に達したと判断し、そのときの「1サンプル前の振り強さP1」の値が極大値として求まる(ただし、極大値を厳密に求める必要が無い場合には、そのときの「最新の振り強さP0」の値を極大値として扱ってもよい)。例えば、振り強さPが図19に示すように変化した場合、図19の点P1の大きさが、振り強さPの極大値として求まる。なお、振り強さPが極大点に達したかどうかを判断するだけでは、プレイヤがシュート操作を行ったかどうかを正確に判断することはできない。なぜなら、プレイヤが入力装置8を振っていない状態でも振り強さPの値は常時わずかに変動し、そのような場合であっても小さい値で極大点ができるからである。そこで本実施形態では、振り強さPの極大値が所定の投球閾値(図18参照)以上である場合に、プレイヤによるシュート操作が行われたと判断する。なお、振り強さPの極大値が所定の投球閾値“よりも大きい”場合に、プレイヤによるシュート操作が行われたと判断しても、実質的に同じ判断が可能である。ステップS21において、振り強さPの極大値が投球閾値以上であると判断された場合には処理はステップS22に進み、そうでない場合には処理はステップS20に戻る。なお、以下の説明では、振り強さPが投球閾値以上であって且つ極大となった時点(ただし、ここで言う「時点」とは、振り強さPが極大となった“瞬間”を厳密に指すものではない)のことを、単に「投球時」と呼ぶことがある。
In step S21, the
ステップS22において、CPU10は、投球時のコントローラ5の姿勢に基づいて、仮想ゲーム空間におけるボールの投球方向の仰角θを決定する。仮想ゲーム空間におけるボールの投球方向とは、図20に示すように、プレイヤキャラクタがボールをシュートするときのボールの射出方向のことである。投球方向の仰角θは、投球方向と仮想ゲーム空間における水平面とがなす角度を表している。
In step S22, the
本実施形態では、投球時のコントローラ5のピッチ方向の姿勢に基づいて、投球方向の仰角θを決定する。コントローラ5のピッチ方向の姿勢は、外部メインメモリ12に記憶されているピッチ姿勢データにより表される。CPU10は、例えば図21に示すように、コントローラ5のピッチ方向の姿勢と投球方向の仰角θとの対応関係を定義した関数またはテーブルを用いて、仰角θを決定する。なお、図21の例では、コントローラ5のピッチ方向の姿勢と仰角θとの対応関係が直線(すなわち一次関数)で示されているが、任意の曲線であっても構わない。これは、後述する他の図面(すなわち図22〜図26、図30)についても同様である。本実施形態では、例えばプレイヤが図17に示すように腕を振る場合、振り強さPが極大点に到達するタイミングが早くなるほど仰角θはより大きくなり、振り強さPが極大点に到達するタイミングが遅くなるほど仰角θはより小さくなる。なお、仰角θが大きすぎたり小さすぎたりすると、仮想ゲーム空間においてボールがリングに到達しない。具体的には、仰角θが、図21に示す成功下限仰角θ1よりも小さい場合や、成功上限仰角θ2よりも大きい場合には、ボールがリングに到達不可能となる。したがって、シュートを成功させるためには、投球時のコントローラ5のピッチ方向の姿勢が、図21に示す成功範囲に収まっている必要がある。すなわち、シュートを成功させるためには、プレイヤは、投球時のコントローラ5のピッチ方向の姿勢が、図21に示す成功範囲内にある間に、振り強さPを極大点に到達させる必要がある。
In the present embodiment, the elevation angle θ in the pitch direction is determined based on the pitch direction posture of the
ステップS23において、CPU10は、ステップS22において決定された仰角θに基づいて、成功下限初速度V1および成功上限初速度V2を計算する。成功下限初速度V1とは、プレイヤキャラクタが、リングに向かってステップS22において決定された仰角θの方向にボールを投球したと仮定(なお、左右方向に関してはリングに向かって真っ直ぐに投球したと仮定)したときに、シュートが成功するためのボールの初速度Vの下限値である。言い換えると、ボールの初速度Vが成功下限初速度V1を下回っている場合には、ボールはリングに到達せず、シュートは失敗する。また、成功上限初速度V2とは、プレイヤキャラクタが、リングに向かってステップS22において決定された仰角θの方向にボールを投球したときに、シュートが成功するためのボールの初速度Vの上限値である。言い換えると、ボールの初速度Vが成功上限初速度V2を上回っている場合には、ボールはリングを越えてしまい、シュートは失敗する。
In step S23, the
ステップS24において、CPU10は、振り強さPの極大値(すなわち、投球時の振り強さP)に基づいて、ボールの初速度Vを決定する。CPU10は、例えば図22に示すように、振り強さPの極大値とボールの初速度Vとの対応関係を定義した関数またはテーブルを用いて、初速度Vを決定する。本実施形態では、図22に示すように、振り強さPの極大値に一定の成功範囲が定められており、振り強さPの極大値が当該成功範囲の下限(成功下限極大値)に一致する場合には、ボールの初速度Vは、成功下限初速度V1と同じ値となり、振り強さPの極大値が当該成功範囲の上限(成功上限極大値)に一致する場合には、ボールの初速度Vは、成功上限初速度V2と同じ値となる。振り強さPの極大値が成功下限極大値を下回る場合には、ボールの初速度Vは成功下限初速度V1よりも小さくなり、ボールはリングに到達せず、シュートは失敗する。同様に、振り強さPの極大値が成功範囲の上限を上回る場合には、ボールの初速度Vは成功上限初速度V2よりも大きくなり、ボールはリングを越えてしまい、シュートは失敗する。また、振り強さPの極大値が予め定められた成功範囲に収まっている場合には、ボールの初速度Vは、成功下限初速度V1から成功上限初速度V2までの範囲内の値に決定される。
In step S24, the
ステップS25において、CPU10は、投球時のZ軸周りの角速度に基づいて、ひねり量Rを計算する。本実施形態では、CPU10は、外部メインメモリ12に記憶されている角速度データから、直近の数サンプル分のZ軸周りの角速度の平均値を、ひねり量Rとして計算する。なお、他の実施形態では、最新のZ軸周りの角速度を、ひねり量Rとして利用してもよい。
In step S25, the
ステップS26において、CPU10は、今回のシュートが、バスケットボールゲームが開始されてから5投目以降かどうかを判断し、今回のシュートが5投目以降である場合には処理はステップS27に進み、そうでない場合(すなわち、今回のシュートが1投目〜4投目のいずれかである場合)には処理はステップS28に進む。
In step S26, the
ステップS27において、CPU10は、外部メインメモリ12に記憶されている「1投目のひねり量R1」〜「4投目のひねり量R4」に基づいて、今回のひねり量R(すなわち、直前のステップS25で計算したひねり量R)を補正する。ステップS27におけるひねり量Rの補正方法については後述する。
In step S27, the
ステップS28において、CPU10は、今回のひねり量R(すなわち、直前のステップS25で計算したひねり量R)の値を、「1投目のひねり量R1」〜「4投目のひねり量R4」のいずれかとして、外部メインメモリ12に記憶する。例えば、今回のシュートが1投目である場合には、今回のひねり量Rを「1投目のひねり量R1」として記憶する。同様に、今回のシュートが2投目である場合には、今回のひねり量Rを「2投目のひねり量R1」として記憶する。
In step S28, the
ステップS29において、CPU10は、外部メインメモリ12に記憶されている「難易度」の値に基づいて、成功下限ひねり量Rminおよび成功上限ひねり量Rmaxを決定する。成功下限ひねり量Rminおよび成功上限ひねり量Rmaxは、シュートを成功させるためのひねり量Rの成功範囲の下限および上限をそれぞれ示す変数であり、それらの値は難易度に応じて可変である。本実施形態では、成功下限ひねり量Rminは負の値であり、成功上限ひねり量Rmaxは正の値である。CPU10は、例えば図23に示すように、難易度と成功下限ひねり量Rminとの対応関係を定義した関数またはテーブルを用いて、成功下限ひねり量Rminを決定する。また、CPU10は、例えば図24に示すように、難易度と成功上限ひねり量Rmaxとの対応関係を定義した関数またはテーブルを用いて、成功上限ひねり量Rmaxを決定する。その結果、本実施形態では、難易度がより高くなるほど、ひねり量Rの成功範囲がより狭くなる。
In step S <b> 29, the
ステップS30において、CPU10は、ステップS27において補正された後のひねり量R(ただし、今回のシュートが1投目〜4投目である場合には、ステップS25において計算されたひねり量R)に基づいて、仮想ゲーム空間におけるボールの投球方向の方位角φを決定する。図20に示すように、投球方向の方位角φは、仮想ゲーム空間においてプレイヤキャラクタから見たリングの方向を表す水平ベクトルを前方ベクトルとしたときに、当該前方ベクトルと水平面に投影した投球方向とがなす角度を表している。
In step S30, the
CPU10は、例えば図25に示すように、ひねり量Rと投球方向の方位角φとの対応関係を定義した関数またはテーブルを用いて、方位角φを決定する。本実施形態では、ひねり量Rの目標値は「0」であり、ひねり量Rが「0」のときに方位角φは「0」となる。すなわち、投球時にコントローラ5がZ軸周りに全く回転していなければ、ボールはリングの中心から左右方向にずれることなく、リングの中心に向かって真っ直ぐに放たれる。一方、投球時にコントローラ5がZ軸周りに回転していれば、その角速度に応じて方位角φの絶対値が大きくなり、ボールがリングの中心から左右方向にずれた方向に放たれる。なお、方位角φが大きすぎたり小さすぎたりすると、仮想ゲーム空間においてボールの軌道がリングから外れる。具体的には、方位角φが図25に示す成功下限方位角φ1よりも小さい場合には、ボールの軌道がリングの左側に外れ、方位角φが図25に示す成功上限方位角φ2よりも大きい場合には、ボールの軌道がリングの右側に外れる。したがって、シュートを成功させるためには、ひねり量Rが図25に示す成功範囲(すなわち目標範囲)に収まっている必要がある。
For example, as shown in FIG. 25, the
なお、ひねり量Rの成功範囲の下限(すなわち、成功下限ひねり量Rmin)および上限(すなわち、成功上限ひねり量Rmax)は、ステップS29において難易度に基づいて決定されたものである。したがって、現在の難易度に応じて、ひねり量Rの成功範囲は変化する。図25は、難易度が「5」であるときのひねり量Rと方位角φの関係を示しており、図26は、難易度が「20」であるときのひねり量Rと方位角φの関係を示している。図25および図26から明らかなように、難易度が高いほど、ひねり量Rの成功範囲が狭くなる。すなわち、難易度が高いほど、シュートを成功させるためにより高精度のシュート操作がプレイヤに要求されることになる。逆に、難易度が低いほど、ひねり量Rの成功範囲が広がるので、同じフォームでシュート操作を行ったとしても、難易度が低いほどボールの軌道がリングの中央に大きく近づくように投球方向の方位角φが補正される。 Note that the lower limit (that is, the lower limit twist amount Rmin) and the upper limit (that is, the upper limit twist amount Rmax) of the success amount of the twist amount R are determined based on the difficulty level in step S29. Therefore, the success range of the twist amount R changes according to the current difficulty level. FIG. 25 shows the relationship between the twist amount R and the azimuth angle φ when the difficulty level is “5”, and FIG. 26 shows the relationship between the twist amount R and the azimuth angle φ when the difficulty level is “20”. Showing the relationship. As apparent from FIGS. 25 and 26, the higher the difficulty level, the narrower the success range of the twist amount R. In other words, the higher the difficulty level, the more accurate the shooting operation is required from the player for successful shooting. On the other hand, the lower the difficulty level, the wider the success range of the twist amount R. Therefore, even if the shooting operation is performed with the same form, the lower the difficulty level, the more the ball trajectory approaches the center of the ring. The azimuth angle φ is corrected.
ステップS31において、CPU10は、仮想ゲーム空間においてプレイヤキャラクタがシュートするように、プレイヤキャラクタのモーションを制御する。そして、CPU10は、ステップS22で決定された投球方向の仰角θ、ステップS24で決定された初速度V、およびステップS30で決定された投球方向の方位角φに基づいて、ボールの移動制御を行う。
In step S31, the
ステップS32において、CPU10は、シュートの成否に応じて、外部メインメモリ12に記憶されている難易度と得点を更新する。具体的には、投球時のコントローラ5のピッチ方向の姿勢が図21に示す成功範囲に収まっており、かつ振り強さPの極大値が図22に示す成功範囲に収まっており、かつ投球時のひねり量Rが図25に示す成功範囲に収まっている場合(この場合、プレイヤキャラクタが放ったボールは結果的にリングを通過する)には、CPU10はシュートが成功したと判断し、そうでない場合には、CPU10はシュートが失敗したと判断する。
In step S <b> 32, the
上記のステップS32において、難易度は基本的に、シュートが成功したときには増加され、シュートが失敗したときには減少される。ただし、難易度の更新方法としては種々のバリエーションが考えられる。以下、ステップS32における難易度の更新方法のバリエーションを説明する。 In step S32 described above, the difficulty level is basically increased when the shoot is successful and decreased when the shoot is unsuccessful. However, various variations can be considered as the method of updating the difficulty level. Hereinafter, the variation of the difficulty level update method in step S32 will be described.
図27は、シュートが成功した場合には現在の難易度に所定値(図27の例では「1」)を加算し、シュートが成功した場合には現在の難易度から所定値(図27の例では「1」)を減算する例である。このようにすることで、プレイヤの熟練度に応じて難易度が適応的に設定されるので、プレイヤにとって、ゲームが易しすぎたり難しすぎたりすることがなくなる。 In FIG. 27, when the shot is successful, a predetermined value (“1” in the example of FIG. 27) is added to the current difficulty level, and when the shot is successful, the predetermined value (FIG. 27) is calculated from the current difficulty level. In the example, “1”) is subtracted. In this way, the difficulty level is adaptively set according to the skill level of the player, so that the game is not too easy or too difficult for the player.
図28は、シュートが成功した場合には現在の難易度に所定値(図28の例では「1」)を加算し、シュートが失敗した場合には難易度を初期値(図28の例では「1」)にリセットする例である。このようにすることで、シュートに失敗したときに難易度が初期値に戻るので、シュートが連続して失敗する可能性が低くなり、プレイヤにとって快適なゲームプレイが可能となる。 In FIG. 28, when the shot is successful, a predetermined value (“1” in the example of FIG. 28) is added to the current difficulty level, and when the shot fails, the difficulty level is set to the initial value (in the example of FIG. 28). This is an example of resetting to “1”). By doing so, the difficulty level returns to the initial value when the shooting fails, so that the possibility of consecutive shooting failures is reduced, and a game play comfortable for the player is possible.
図29は、シュートが成功した場合には現在の難易度に所定値(図27の例では「1」)を加算し、シュートが成功した場合には現在の難易度から所定値(図27の例では「1」)を減算するとともに、シュートの成否に関わらず、1セット(図29の例では5本分のシュート)が終了する毎に難易度を初期値(図28の例では「1」)にリセットする例である。通常、プレイヤが前回のシュート操作から時間間隔をあまり空けずに次のシュート操作を行う場合には比較的高精度のシュート操作が可能であるが、前回のシュート操作から或る程度の時間間隔をおいてから次のシュート操作を行う場合にはシュート操作の精度が落ちる傾向にある。そこで、図29の例のように、1セットが終了する毎に難易度を初期値にリセットすることで、例えば各セット間のプレイヤキャラクタの移動演出などによって各セット間の時間間隔が大きく空く場合でも、各セットにおける最初のシュートが外れる可能性が低くなり、プレイヤにとって快適なゲームプレイが可能となる。 In FIG. 29, when the shot is successful, a predetermined value (“1” in the example of FIG. 27) is added to the current difficulty level, and when the shot is successful, the predetermined value (of FIG. 27) is calculated from the current difficulty level. In the example, “1”) is subtracted, and the difficulty level is set to the initial value (“1” in the example of FIG. 28) every time one set (5 shots in the example of FIG. 29) is completed, regardless of whether the shot is successful or not. )). Normally, when the player performs the next shooting operation without leaving a time interval from the previous shooting operation, a relatively high-precision shooting operation is possible, but a certain time interval from the previous shooting operation is possible. When the next shooting operation is performed, the accuracy of the shooting operation tends to decrease. Therefore, as shown in the example of FIG. 29, when the difficulty level is reset to the initial value every time one set is completed, for example, a time interval between the sets becomes large due to a movement effect of the player character between the sets. However, the possibility that the first shot in each set is missed is reduced, and a game play comfortable for the player is possible.
なお、本実施形態では、上記のようにシュートの成否に応じて難易度を更新しているが、シュートの成否だけでなく、さらに他の条件も加味して難易度を決定するようにしてもよい。例えば、プレイヤが所望の位置にプレイヤキャラクタを移動させてシュートを行わせることができるようなバスケットボールゲームにおいて、上記のようにシュートの成否に応じて更新される難易度を「基本難易度」として外部メインメモリ12に記憶しておき、ステップS29において成功上限ひねり度Rmaxおよび成功下限ひねり度Rminを決定する際には、基本難易度に対して、プレイヤキャラクタとリングの間の距離に応じた難易度オフセットを加算したものを用いて、成功上限ひねり度Rmaxおよび成功下限ひねり度Rminを決定するようにしてもよい。この場合、CPU10は、例えば図30のような関数またはテーブルを用いて難易度オフセットを決定することができる。
In the present embodiment, the difficulty level is updated according to the success or failure of the shoot as described above. However, the difficulty level may be determined by considering not only the success or failure of the shoot but also other conditions. Good. For example, in a basketball game in which the player can move the player character to a desired position and make a shot, the difficulty level updated according to the success or failure of the shot as described above is set as the “basic difficulty level”. When determining the success upper limit twist degree Rmax and the success lower limit twist degree Rmin in the
上記のステップS32が終了すると、シュート処理は終了する。 When step S32 is finished, the shooting process is finished.
次に、図16のステップS27におけるひねり量Rの補正方法について説明する。 Next, a method for correcting the twist amount R in step S27 in FIG. 16 will be described.
本実施形態では、1投目〜4投目のシュートを行った際のひねり量Rを、外部メインメモリ12にそれぞれ「1投目のひねり量R1」〜「4投目のひねり量R4」として記憶しておき、5投目以降のシュート処理時には、これらの「1投目のひねり量R1」〜「4投目のひねり量R4」を利用して、今回のひねり量R(すなわち、直前のステップS25において計算されたひねり量R)を補正する。より具体的には、「1投目のひねり量R1」〜「4投目のひねり量R4」の平均値を算出し、当該算出された平均値を今回のひねり量Rから減算する。
In the present embodiment, the twist amount R when the first to fourth shots are shot is stored in the external
なお、本実施形態では、ゲームにおいて要求されるひねり量Rの目標値は「0」であるため、ひねり量Rは、投球時のZ軸回りの角速度と目標角速度との間のずれを表している。したがって、「1投目のひねり量R1」〜「4投目のひねり量R4」の平均値は、1投目〜4投目のシュートにおいて、投球時のZ軸回りの角速度が目標角速度から平均してどれだけずれていたかを表している。つまり、「1投目のひねり量R1」〜「4投目のひねり量R4」の平均値を計算することによって、シュート操作時のプレイヤの癖を知ることができる(すなわち、投球時のZ軸回りの角速度が目標角速度からどれだけずれる傾向にあるかを知ることができる)。すなわち、本実施形態では、シュート操作に応じて検出されるひねり量Rがゲームにおいて要求されるひねり量Rの目標値(本実施形態では「0」)に対してどのようにずれる傾向にあるかを示す指標(以下、ずれ傾向値と呼ぶ)として、「1投目のひねり量R1」〜「4投目のひねり量R4」の平均値を利用している。ただし、ずれ傾向値の計算方法は、これに限定されない。 In the present embodiment, since the target value of the twist amount R required in the game is “0”, the twist amount R represents a deviation between the angular velocity around the Z axis and the target angular velocity at the time of pitching. Yes. Accordingly, the average value of “twist amount R1 of the first throw” to “twist amount R4 of the fourth throw” is the average of the angular velocity around the Z axis at the time of throwing from the target angular velocity in the shots of the first to fourth throws. It shows how much it has shifted. That is, by calculating an average value of “twist amount R1 of the first throw” to “twist amount R4 of the fourth throw”, it is possible to know the player's habit at the time of shooting operation (that is, the Z axis at the time of pitching). You can see how much the angular velocity around you tends to deviate from the target angular velocity). That is, in the present embodiment, how the twist amount R detected in response to the shooting operation tends to deviate from the target value (“0” in the present embodiment) of the twist amount R required in the game. An average value of “twisting amount R1 of the first throw” to “twisting amount R4 of the fourth throw” is used. However, the method of calculating the deviation tendency value is not limited to this.
上記のようにずれ傾向値に基づいてひねり量Rを補正することで、5投目以降のシュートの際に、プレイヤ毎に固有のシュート操作の癖(すなわち、シュート操作を行う際の腕や手首の動きの癖)を相殺することができる。従来のボタンスイッチの操作などでは、プレイヤ毎に固有の癖が問題になることは無いが、本実施形態のように入力装置8の角速度を利用するゲームでは、プレイヤの腕や手首の動きの癖が大きく影響するため、プレイヤ毎に有利不利が生じてしまう。たとえば、安定した投球動作を繰り返すことができるプレイヤであっても、投球の検出タイミング付近において必ずひねりが発生するような癖を持っているだけで、シュートを成功させることが困難になってしまう。そこで、本実施形態では、1投目〜4投目のシュート操作の際のひねり量Rからプレイヤの癖(すなわち、シュート操作を行ったときのひねり量Rの傾向)を検出し、5投目以降のシュート操作の際には、当該検出したプレイヤの癖を相殺するようにひねり量Rを補正する。これにより、プレイヤに固有の癖が原因で1投目〜4投目のシュートが失敗したとしても、プレイヤが常に一定のフォームでシュート操作を行ってさえいれば、5投目以降のボールの投球方向の方位角φは目標値である「0」になり、シュートが成功することになる。
As described above, the twist amount R is corrected based on the deviation tendency value, so that when a shot is taken after the fifth shot, a shoot operation peculiar to each player (that is, an arm or a wrist when performing the shot operation) This can cancel out the movement 癖). In a conventional button switch operation or the like, a unique wrinkle for each player does not become a problem. However, in a game that uses the angular velocity of the
なお、本実施形態では、バスケットボールゲームにおいて全25本のシュートを行う際に、1投目〜4投目のシュート操作に基づいてプレイヤの癖(すなわちずれ傾向値)を検出しているが、いずれの投球回のシュート操作に基づいてプレイヤの癖を検出するかは任意である。例えば、1投目のシュートから前回のシュートまでのシュート操作に基づいてプレイヤの癖を検出するようにしてもよい。 In the present embodiment, when all 25 shots are made in the basketball game, the player's habit (that is, the deviation tendency value) is detected based on the first to fourth shot shooting operations. It is arbitrary whether the player's habit is detected based on the shooting operation of the pitching times. For example, the player's habit may be detected based on a shooting operation from the first shot to the previous shot.
また、本実施形態では、5投目以降のシュートの際に、ひねり量Rを補正しているが、5投目よりも前のシュート(例えば3投目のシュート)の際にも、それ以前の投球回のシュート操作(例えば1投目および2投目のシュート操作)に基づいてプレイヤの癖を検出して、ひねり量Rを補正するようにしてもよい。 In the present embodiment, the twist amount R is corrected at the time of the fifth and subsequent shots. However, before the fifth shot (for example, the third shot), the twist amount R is corrected. It is also possible to correct the twist amount R by detecting the player's habit based on the shooting operations (for example, the first and second shooting operations).
また、本実施形態では、「1投目のひねり量R1」〜「4投目のひねり量R4」の平均値を算出し、今回のひねり量Rから当該算出された平均値を減算しているが、単純な平均値の代わりに、加重平均値や、最頻値や、中央値など、用途に応じて任意の代表値を利用してもよい。平均を算出する回数は5回に限らず、他の回数であってもよいし、常に最新の所定回数の平均を用いるようにしてもよい。 Further, in the present embodiment, an average value of “twisted twist amount R1” to “fourth twisted amount R4” is calculated, and the calculated average value is subtracted from the current twisted amount R. However, an arbitrary representative value such as a weighted average value, a mode value, or a median value may be used instead of a simple average value. The number of times of calculating the average is not limited to five times, but may be any other number, or the latest predetermined number of times may always be used.
また、本実施形態では、ひねり量Rに関してのみプレイヤの癖を相殺するように補正を行っているが、角速度データに基づいて決定される任意のパラメータに関して、プレイヤの癖を相殺するように補正を行ってもよい。例えば、1投目〜4投目のシュートの際に検出された「振り強さPの極大値」に基づいて、振り強さPの極大値が理想値(例えば、図22の成功範囲の中央値)に対してどのようにずれる傾向にあるかを示すずれ傾向値を計算し、5投目以降のシュートの際に当該ずれ傾向値を用いて「振り強さPの極大値」を補正するようにしてもよい。ステップS22で用いられる「投球時のコントローラのピッチ方向の姿勢」についても同様である。 In this embodiment, the correction is performed so as to cancel the player's heel only with respect to the twist amount R. However, the correction is performed so as to cancel the player's heel with respect to an arbitrary parameter determined based on the angular velocity data. You may go. For example, based on the “maximum value of swing strength P” detected during the first to fourth shots, the maximum value of swing strength P is an ideal value (for example, the center of the success range in FIG. 22). The deviation tendency value indicating how the value tends to deviate from the value) is calculated, and the “maximum value of the swing strength P” is corrected using the deviation tendency value in the shots after the fifth shot. You may do it. The same applies to the “posture in the pitch direction of the controller during pitching” used in step S22.
以上のように、本実施形態によれば、プレイヤが入力装置8を振ってシュート操作を行ったときのボールの投球方向の方位角φの成功範囲を、難易度に応じて変更することができるので、ゲームが単調になりすぎることがない。なお、本実施形態では難易度に応じて方位角φの成功範囲を変化させているが、他の実施形態では、難易度に応じて仰角θの成功範囲または初速度Vの成功範囲を変化させてもよい。
As described above, according to the present embodiment, the success range of the azimuth angle φ in the pitching direction of the ball when the player swings the
また、本実施形態によれば、シュートの成否に応じて難易度を変化させることができるので、プレイヤにとってゲームが簡単すぎたり難しすぎたりすることがない。なお、本実施形態ではシュートの成否に応じて難易度を変化させているが、他の実施形態では、角速度を利用した任意のゲーム操作の成否に応じて難易度を変化させてもよい。 Further, according to the present embodiment, since the difficulty level can be changed according to the success or failure of the shot, the game is not too easy or too difficult for the player. In this embodiment, the difficulty level is changed according to the success or failure of the shot. However, in other embodiments, the difficulty level may be changed according to the success or failure of an arbitrary game operation using the angular velocity.
また、本実施形態によれば、プレイヤがバスケットボールゲームをプレイしている最中にプレイヤのシュート操作の癖を学習して、入力装置8のZ軸回りの角速度を補正するので、プレイヤ毎に固有の癖を相殺することができる。なお、本実施形態では入力装置8のZ軸回りの角速度を補正しているが、他の実施形態では、入力装置8のX軸回りの角速度またはY軸回りの角速度を補正してもよい。
Further, according to the present embodiment, the player learns the trap of the player's shooting operation while playing the basketball game, and corrects the angular velocity around the Z axis of the
なお、本実施形態ではゲーム装置3においてバスケットボールゲームを実行する場合について説明したが、本発明はバスケットボール以外のゲームにも適用できることは言うまでもない。
In the present embodiment, the case where a basketball game is executed in the
例えば、プレイヤが入力装置8を振ることによって、仮想ゲーム空間におけるプレイヤキャラクタがゴルフクラブをスイングしてゴルフボールを飛ばすようなゴルフゲームにおいて、ゴルフボールがフェアウェイで止まったかラフで止まったかによって、各回のスイングの成否を判定し、その判定結果に応じて次回のスイング操作の難易度(すなわちプレイヤによるスイング操作の際に要求される入力装置8の角速度の成功範囲)を変更するようにしてもよい。
For example, in a golf game in which a player character in the virtual game space swings a golf club and flies a golf ball by swinging the
また例えば、上記のようなゴルフゲームにおいて、全18ホールのゴルフコースを回るときに、例えば第1ホールにおけるプレイヤのスイング操作に基づいてプレイヤのスイング操作の癖を学習し、第2ホール以降におけるプレイヤのスイング操作の際に、当該プレイヤの癖が相殺されるように、プレイヤによるスイング操作の際に検出される入力装置8の角速度を補正するようにしてもよい。
Also, for example, in a golf game such as that described above, when a golf course of all 18 holes is visited, for example, the player learns the trap of the swing operation of the player based on the swing operation of the player in the first hole, and the player in the second hole and thereafter In this swing operation, the angular velocity of the
なお、本実施形態のバスケットボールゲームは、一人のプレイヤによってプレイされるものであったが、他の実施形態では、複数のプレイヤが対戦プレイするゲームにおいて、プレイヤ毎に難易度を個別に設定および更新するものであってもよい。例えば、第1プレイヤおよび第2プレイヤの2人のプレイヤが、バスケットボールゲームにおいて互いに異なるチームを操作して対戦プレイを行う場合、第1プレイヤによるシュート操作の成否に応じて第1プレイヤ用の難易度を更新し、第2プレイヤによるシュート操作の成否に応じて第2プレイヤ用の難易度を更新してもよい。これにより、熟練度の異なるプレイヤ同士で対戦プレイする場合でも、プレイヤ毎に、各の熟練度に応じた適切な難易度が設定されるため、一方的なゲーム展開になることを効果的に回避することができる。 The basketball game of this embodiment is played by a single player, but in other embodiments, in a game where a plurality of players play against each other, the difficulty level is individually set and updated for each player. You may do. For example, when two players, a first player and a second player, play a battle play by operating different teams in a basketball game, the difficulty level for the first player depends on the success or failure of the shooting operation by the first player. And the difficulty level for the second player may be updated according to the success or failure of the shooting operation by the second player. As a result, even when players having different skill levels play against each other, an appropriate difficulty level corresponding to each skill level is set for each player, effectively avoiding a one-sided game development. can do.
なお、本実施形態では、振り強さPが極大となり、かつその値が投球閾値より大きい場合に、プレイヤキャラクタにシュートを行わせているが、プレイヤキャラクタにシュートを行わせるタイミングはこれに限定されない。 In this embodiment, when the swing strength P is maximal and the value is larger than the throwing threshold, the player character shoots, but the timing at which the player character shoots is not limited to this. .
また、本実施形態では、難易度の初期値を「1」としているが、難易度の初期値は他の値(例えば「5」)であってもよい。 In the present embodiment, the initial value of the difficulty level is “1”, but the initial value of the difficulty level may be another value (for example, “5”).
また、本実施形態では、プレイヤによるシュート操作に基づいて、ボールの初速度および投球方向を決定しているが、本発明はこれに限定されず、ボール以外の任意のオブジェクトを、プレイヤによって操作される入力装置(コントローラ)の所定軸回りの角速度に基づいて移動制御しても構わない。 Further, in the present embodiment, the initial velocity and throwing direction of the ball are determined based on the shooting operation by the player, but the present invention is not limited to this, and any object other than the ball is operated by the player. The movement control may be performed based on the angular velocity around the predetermined axis of the input device (controller).
また、本実施形態では、ジャイロセンサ55及び56によって3軸方向の角速度を検出したが、1軸又は2軸方向の角速度を検出することによっても本発明を実現することができる。
In the present embodiment, the
また、本実施形態では、入力装置8とゲーム装置3とが無線通信によって接続された態様を用いたが、入力装置8とゲーム装置3とがケーブルを介して電気的に接続されてもかまわない。
In the present embodiment, the
また、本実施形態においては、ゲーム装置3のCPU10がゲームプログラムを実行することによって、上述したフローチャートによる処理が行われたが、他の実施形態においては、上記処理の一部又は全部は、ゲーム装置3が備える専用回路によって行われてもよい。
In the present embodiment, the
1 ゲームシステム
2 テレビ
3 ゲーム装置
4 光ディスク
5 コントローラ
6 マーカ部
7 ジャイロセンサユニット
8 入力装置
10 CPU
11c GPU
11e 内部メインメモリ
12 外部メインメモリ
32i Bボタン
37 加速度センサ
55、56 ジャイロセンサ
63 角速度データ
64 加速度データ
DESCRIPTION OF
11c GPU
11e Internal
Claims (14)
前記角速度データに基づいたゲームを実行するとともに、当該角速度データの値に基づいてゲームの成否を判定するゲーム処理手段と、
ゲームの難易度を設定する難易度設定手段と、
前記難易度設定手段によって設定された難易度に基づいて、前記ゲーム処理手段において成功と判定される角速度データの成功範囲を変更する難易度制御手段と、を備えるゲーム装置。 A game device that performs a game process based on operation data including angular velocity data acquired from an angular velocity sensor provided in a controller,
Game processing means for executing a game based on the angular velocity data and determining success or failure of the game based on a value of the angular velocity data;
Difficulty setting means for setting the difficulty of the game;
A game device comprising: difficulty level control means for changing a success range of angular velocity data determined to be successful by the game processing means based on the difficulty level set by the difficulty level setting means.
前記難易度設定手段は、或る回のゲームの結果が成功であると判定された場合に、当該回のゲームの難易度よりも上がるように、次の回のゲームの難易度を設定する、請求項1に記載のゲーム装置。 The game processing means executes a game based on the angular velocity data a plurality of times, determines success or failure of the game for each of the plurality of games,
The difficulty level setting means sets the difficulty level of the next game so as to be higher than the difficulty level of the game of the current time when it is determined that the result of a certain game is successful. The game device according to claim 1 .
前記難易度設定手段は、或る回のゲームの結果が失敗であると判定された場合に、当該回のゲームの難易度よりも下がるように、次の回のゲームの難易度を設定する、請求項1および3のいずれかに記載のゲーム装置。 The game processing means executes a game based on the angular velocity data a plurality of times, determines success or failure of the game for each of the plurality of games,
The difficulty level setting means sets the difficulty level of the next game so that if the result of a certain game is determined to be unsuccessful, the difficulty level setting means lowers the difficulty level of the game of the current time. the game device according to any one of claims 1 and 3.
前記難易度設定手段は、第1のゲーム操作の難易度と第2のゲーム操作の難易度を個別に設定し、
前記難易度制御手段は、前記難易度設定手段によって設定された第1のゲーム操作の難易度に基づいて、前記ゲーム処理手段において第1のゲーム操作が成功したと判定される第1の角速度データの成功範囲を変更し、前記難易度設定手段によって設定された第2の
ゲーム操作の難易度に基づいて、前記ゲーム処理手段において第2のゲーム操作が成功したと判定される第2の角速度データの成功範囲を変更する、請求項1に記載のゲーム装置。 The game processing means includes first angular velocity data acquired from a first angular velocity sensor provided in a first controller operated by a first player, and a second controller operated by a second player. Based on the second angular velocity data acquired from the second angular velocity sensor provided in the game, a game in which the first player and the second player battle each other is executed, and the first angular velocity data and the second angular velocity are Based on the data value, the success or failure of the first game operation by the first player and the success or failure of the second game operation by the second player are determined respectively.
The difficulty level setting means individually sets the difficulty level of the first game operation and the difficulty level of the second game operation,
The difficulty level control means includes first angular velocity data that is determined by the game processing means that the first game operation is successful based on the difficulty level of the first game operation set by the difficulty level setting means. Second angular velocity data that is determined that the second game operation is successful in the game processing means based on the difficulty level of the second game operation set by the difficulty setting means. The game device according to claim 1, wherein the success range is changed.
前記角速度データに基づいたゲームを実行するとともに、当該角速度データの値に基づいてゲームの成否を判定するゲーム処理手段、
ゲームの難易度を設定する難易度設定手段、および、
前記難易度設定手段によって設定された難易度に基づいて、前記ゲーム処理手段において成功と判定される角速度データの成功範囲を変更する難易度制御手段として機能させるためのゲームプログラム。 A computer of a game device that performs game processing based on operation data including angular velocity data acquired from an angular velocity sensor provided in the controller,
Game processing means for executing a game based on the angular velocity data and determining success or failure of the game based on the value of the angular velocity data;
Difficulty setting means for setting the difficulty of the game, and
A game program for functioning as difficulty level control means for changing a success range of angular velocity data determined to be successful in the game processing means based on the difficulty level set by the difficulty level setting means.
前記難易度設定手段は、或る回のゲームの結果が成功であると判定された場合に、当該回のゲームの難易度よりも上がるように、次の回のゲームの難易度を設定する、請求項7に記載のゲームプログラム。 The game processing means executes a game based on the angular velocity data a plurality of times, determines success or failure of the game for each of the plurality of games,
The difficulty level setting means sets the difficulty level of the next game so as to be higher than the difficulty level of the game of the current time when it is determined that the result of a certain game is successful. The game program according to claim 7 .
前記難易度設定手段は、或る回のゲームの結果が失敗であると判定された場合に、当該回のゲームの難易度よりも下がるように、次の回のゲームの難易度を設定する、請求項7および9のいずれかに記載のゲームプログラム。 The game processing means executes a game based on the angular velocity data a plurality of times, determines success or failure of the game for each of the plurality of games,
The difficulty level setting means sets the difficulty level of the next game so that if the result of a certain game is determined to be unsuccessful, the difficulty level setting means lowers the difficulty level of the game of the current time. The game program according to claim 7 .
る第1のゲーム操作の成否と第2のプレイヤによる第2のゲーム操作の成否をそれぞれ判定し、
前記難易度設定手段は、第1のゲーム操作の難易度と第2のゲーム操作の難易度を個別に設定し、
前記難易度制御手段は、前記難易度設定手段によって設定された第1のゲーム操作の難易度に基づいて、前記ゲーム処理手段において第1のゲーム操作が成功したと判定される第1の角速度データの成功範囲を変更し、前記難易度設定手段によって設定された第2のゲーム操作の難易度に基づいて、前記ゲーム処理手段において第2のゲーム操作が成功したと判定される第2の角速度データの成功範囲を変更する、請求項7に記載のゲームプログラム。 The game processing means includes first angular velocity data acquired from a first angular velocity sensor provided in a first controller operated by a first player, and a second controller operated by a second player. Based on the second angular velocity data acquired from the second angular velocity sensor provided in the game, a game in which the first player and the second player battle each other is executed, and the first angular velocity data and the second angular velocity are Based on the data value, the success or failure of the first game operation by the first player and the success or failure of the second game operation by the second player are determined respectively.
The difficulty level setting means individually sets the difficulty level of the first game operation and the difficulty level of the second game operation,
The difficulty level control means includes first angular velocity data that is determined by the game processing means that the first game operation is successful based on the difficulty level of the first game operation set by the difficulty level setting means. Second angular velocity data that is determined that the second game operation is successful in the game processing means based on the difficulty level of the second game operation set by the difficulty setting means. The game program according to claim 7 , wherein the success range is changed.
前記角速度データに基づいたゲームを実行するとともに、当該角速度データの値に基づいてゲームの成否を判定するゲーム処理手段と、 Game processing means for executing a game based on the angular velocity data and determining success or failure of the game based on a value of the angular velocity data;
ゲームの難易度を設定する難易度設定手段と、 Difficulty setting means for setting the difficulty of the game;
前記難易度設定手段によって設定された難易度に基づいて、前記ゲーム処理手段において成功と判定される角速度データの成功範囲を変更する難易度制御手段と、を備えるゲームシステム。 A game system comprising: difficulty level control means for changing a success range of angular velocity data determined to be successful by the game processing means based on the difficulty level set by the difficulty level setting means.
前記角速度データに基づいたゲームを実行するとともに、当該角速度データの値に基づいてゲームの成否を判定するゲーム処理ステップと、 A game processing step of executing a game based on the angular velocity data and determining success or failure of the game based on a value of the angular velocity data;
ゲームの難易度を設定する難易度設定ステップと、 A difficulty level setting step for setting the difficulty level of the game;
前記難易度設定ステップにおいて設定された難易度に基づいて、前記ゲーム処理ステップにおいて成功と判定される角速度データの成功範囲を変更する難易度制御ステップと、を備えるゲーム処理方法。 A game processing method comprising: a difficulty level control step of changing a success range of angular velocity data determined to be successful in the game processing step based on the difficulty level set in the difficulty level setting step.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009103230A JP5443041B2 (en) | 2009-04-21 | 2009-04-21 | GAME DEVICE AND GAME PROGRAM |
US12/504,906 US9352218B2 (en) | 2009-04-21 | 2009-07-17 | Game apparatus and computer-readable storage medium |
US13/668,655 US8986119B2 (en) | 2009-04-21 | 2012-11-05 | Game apparatus and computer-readable storage medium |
US13/668,759 US8469814B2 (en) | 2009-04-21 | 2012-11-05 | Game apparatus and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009103230A JP5443041B2 (en) | 2009-04-21 | 2009-04-21 | GAME DEVICE AND GAME PROGRAM |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013242693A Division JP5704770B2 (en) | 2013-11-25 | 2013-11-25 | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010252861A JP2010252861A (en) | 2010-11-11 |
JP5443041B2 true JP5443041B2 (en) | 2014-03-19 |
Family
ID=43314498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009103230A Active JP5443041B2 (en) | 2009-04-21 | 2009-04-21 | GAME DEVICE AND GAME PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5443041B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022145734A (en) * | 2020-07-28 | 2022-10-04 | グリー株式会社 | Control program, game device, and control method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9101812B2 (en) * | 2011-10-25 | 2015-08-11 | Aquimo, Llc | Method and system to analyze sports motions using motion sensors of a mobile device |
US11794094B2 (en) * | 2016-10-17 | 2023-10-24 | Aquimo Inc. | Method and system for using sensors of a control device for control of a game |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006068027A (en) * | 2004-08-31 | 2006-03-16 | Nintendo Co Ltd | Game device and game program |
JP4255510B1 (en) * | 2008-10-24 | 2009-04-15 | 任天堂株式会社 | Extended operation unit |
-
2009
- 2009-04-21 JP JP2009103230A patent/JP5443041B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022145734A (en) * | 2020-07-28 | 2022-10-04 | グリー株式会社 | Control program, game device, and control method |
JP7421737B2 (en) | 2020-07-28 | 2024-01-25 | グリー株式会社 | Control program, game device, and control method |
Also Published As
Publication number | Publication date |
---|---|
JP2010252861A (en) | 2010-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8469814B2 (en) | Game apparatus and computer-readable storage medium | |
JP5289031B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5131809B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5430246B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5700758B2 (en) | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD | |
US8888594B2 (en) | Storage medium storing information processing program, information processing apparatus and information processing method | |
EP2392389A1 (en) | Game system, operating device, and game processing method | |
US8764564B2 (en) | Game system, game processing method, recording medium storing game program, and game device | |
JP2012239761A (en) | Game system, game apparatus, game program, and game processing method | |
JP5005627B2 (en) | Information processing program and information processing apparatus | |
JP5498690B2 (en) | GAME PROGRAM AND GAME DEVICE | |
JP5758085B2 (en) | GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD | |
JP5358168B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5719147B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
JP5443041B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5525177B2 (en) | Information processing program and information processing apparatus | |
JP5576721B2 (en) | GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME METHOD | |
JP5704770B2 (en) | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD | |
US8753207B2 (en) | Game system, game processing method, recording medium storing game program, and game device | |
JP5443042B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5420954B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5420955B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP5875169B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME 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 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120330 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131125 |
|
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: 20131212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5443041 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 |