JP5074343B2 - GAME DEVICE AND GAME PROGRAM - Google Patents
GAME DEVICE AND GAME PROGRAM Download PDFInfo
- Publication number
- JP5074343B2 JP5074343B2 JP2008268601A JP2008268601A JP5074343B2 JP 5074343 B2 JP5074343 B2 JP 5074343B2 JP 2008268601 A JP2008268601 A JP 2008268601A JP 2008268601 A JP2008268601 A JP 2008268601A JP 5074343 B2 JP5074343 B2 JP 5074343B2
- Authority
- JP
- Japan
- Prior art keywords
- input device
- game
- behavior
- determination
- ball
- 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
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 change the state of a game object in accordance with an input given from an input device.
従来、加速度センサを備えた入力装置をユーザが操作し、当該加速度センサからの出力を利用して当該入力装置の動きを判別する装置が開発されている。例えば、グローブを模したゲームコントローラに3軸加速度センサを備え、当該加速度センサからの出力を利用してゲームを楽しむゲーム装置が開示されている(例えば、特許文献1参照)。 2. Description of the Related Art Conventionally, a device has been developed in which a user operates an input device provided with an acceleration sensor and discriminates the movement of the input device using an output from the acceleration sensor. For example, a game device is disclosed that includes a three-axis acceleration sensor in a game controller simulating a glove and enjoys a game using an output from the acceleration sensor (see, for example, Patent Document 1).
上記特許文献1に開示されたコントローラ(グローブ)は、センサX、センサY、およびセンサZを有する3軸加速度センサを備えている。そして、ゲーム装置は、センサYに対して急激に大きな値が入ってきた場合に、当該センサYから得た出力波形を遡って値0前後の時点を時点t0とする。そして、上記出力波形において急激に小さな値を得てから、その後に値0前後を得た時点を時点t1とする。一方、時点t0〜t1の期間に検出された加速度をセンサXおよびセンサZの出力波形からそれぞれ抽出し、それぞれの成分の出力波形を用いてパンチの種類(例えば、ストレート、フック、アッパー等)を判定している。具体的には、上記ゲーム装置は、センサXからの出力波形が若干正の値を示し、センサZからの出力波形の変化がないとき、プレイヤがストレートパンチを放ったと判定する。また、上記ゲーム装置は、センサXが動作開始時にその出力波形が負の値を示した後に正の値を示し、センサZからの出力波形の変化がないとき、プレイヤがフックパンチを放ったと判定する。さらに、上記ゲーム装置は、センサXからの出力波形が不定形を示し、センサZからの出力波形が大きな負の値を示した後に正の値を示したとき、プレイヤがアッパーパンチを放ったと判定する。
しかしながら、図27に示すように、上記特許文献1で開示されたゲーム装置は、時点t0〜t1までのモーション認識期間に取得した加速度を示す出力波形を用いてパンチの判定を行うので、実際にプレイヤが放ったパンチを判別できるのはプレイヤがパンチを放った後(時点t1以降)となる。なお、上記特許文献1には、パンチを判別した後に対戦相手キャラクタ(他のキャラクタ)にパンチがヒットする演出が行われるが、プレイヤの操作対象となるプレイヤキャラクタがパンチを放つアニメーションを表現することは何ら記載されていない。しかしながら、上記特許文献1のゲーム装置でプレイヤキャラクタがパンチを放つアニメーションを表現する場合には、モーション認識期間が終了してからアニメーション処理を開始することになるため、モーション認識に対する遅延が生じ、操作感が損なわれることになる。このように、モーション認識をリアルタイムにゲーム処理に反映させることができないため、プレイヤの操作に対してリアルタイムな演出ができないという問題がある。
However, as shown in FIG. 27, the game device disclosed in
それ故に、本発明の目的は、入力装置から与えられた入力に応じてゲームオブジェクトの状態を変化させるゲームにおいて、当該入力に応答してリアルタイムにオブジェクトを変化させることが可能なゲーム装置およびゲームプログラムを提供することである。 Therefore, an object of the present invention is to provide a game device and a game program capable of changing an object in real time in response to an input in a game in which the state of the game object is changed in accordance with an input given from the input device. Is to provide.
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。 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の発明は、入力装置(7)に与えられた入力に応じてオブジェクト(BC、PC)の状態を変化させるゲーム処理を行うゲーム装置(3)である。ゲーム装置は、記憶手段(33)、データ取得手段(CPU30が実行するS61、S64、S77、S92;以下、ステップ番号のみを示す)、第1挙動設定手段(S75、S76、S94)、第1オブジェクト処理手段(S94)、第2挙動設定手段(S104、S106)、第2オブジェクト処理手段(S107)、および表示制御手段(S75、S76、S94、S104、S107、S109)を備える。データ取得手段は、入力装置の動きに応じて出力される操作情報(Da)を逐次取得して記憶手段に記憶する。第1挙動設定手段は、入力装置に加えられた振りの開始から終了までの期間に含まれる認識期間であって、操作情報を用いて入力装置の動きを決定する当該認識期間(モーション認識処理を行う時刻T1〜T4)の一部である第1の判定期間(時刻T1〜T2)中に取得された操作情報に応じて、その第1の判定期間後のオブジェクトの状態を示す第1挙動情報(TR1、打つアニメーション、空振りアニメーション)を設定する。第1オブジェクト処理手段は、第1挙動情報に基づいて、第1の判定期間後(時刻T2〜T4)にオブジェクトの状態を逐次変化させる(S92〜S95)。第2挙動設定手段は、第1の判定期間より後に終了し、かつ、認識期間の少なくとも一部である第2の判定期間(時刻T1〜T4)中に取得された操作情報に応じて、その第2の判定期間後のオブジェクトの状態を示す第2挙動情報(TR2、アニメーション調整)を設定する。第2オブジェクト処理手段は、少なくとも第2挙動情報に基づいて、第2の判定期間後(時刻T4以降)にオブジェクトの状態を逐次変化させる(S106〜S108)。表示制御手段は、オブジェクトの状態に応じて、そのオブジェクトの画像を表示手段(2)に逐次表示させる。
A first invention is a game device (3) that performs a game process for changing a state of an object (BC, PC) in accordance with an input given to the input device (7). The game device includes storage means (33), data acquisition means (S61, S64, S77, S92 executed by
第2の発明は、上記第1の発明において、第2オブジェクト処理手段は、第2の判定期間後の同じ時点における第1挙動情報および第2挙動情報それぞれに基づいたオブジェクトの状態を所定の割合(ratio)で平均化し、第2挙動情報に基づいたオブジェクトの状態がその平均化に寄与する割合を時間経過に応じて漸増的に大きくしてオブジェクトの状態を逐次変化させる(時刻T4〜T5)。 In a second aspect based on the first aspect, the second object processing means determines the state of the object based on each of the first behavior information and the second behavior information at the same time after the second determination period at a predetermined ratio. (Ratio) is averaged, and the state of the object based on the second behavior information gradually increases with the passage of time, and the state of the object is sequentially changed (time T4 to T5). .
第3の発明は、上記第1および第2の発明のいずれかにおいて、第1挙動情報および第2挙動情報は、それぞれ仮想ゲーム世界におけるオブジェクトの位置を示す情報(TR1、TR2)である。第1オブジェクト処理手段および第2オブジェクト処理手段は、第1挙動情報および第2挙動情報の少なくとも一方に基づいて示される仮想ゲーム世界における位置にオブジェクトを移動させる。 In a third invention according to any one of the first and second inventions, the first behavior information and the second behavior information are information (TR1, TR2) each indicating a position of the object in the virtual game world. The first object processing means and the second object processing means move the object to a position in the virtual game world indicated based on at least one of the first behavior information and the second behavior information.
第4の発明は、上記第1の発明において、第1挙動情報および第2挙動情報は、予め決められた一連の動作を示す情報(アニメーション)である。第1オブジェクト処理手段は、第1挙動情報によって示される一連の動作をオブジェクトに行わせて状態を変更する。第2オブジェクト処理手段は、第2挙動情報によって示される一連の動作をオブジェクトに行わせて状態を変更する。 In a fourth aspect based on the first aspect, the first behavior information and the second behavior information are information (animation) indicating a predetermined series of operations. The first object processing means changes the state by causing the object to perform a series of operations indicated by the first behavior information. The second object processing means changes the state by causing the object to perform a series of operations indicated by the second behavior information.
第5の発明は、上記第3の発明において、ゲーム装置は、判定手段(S62、S65、S67、S78、S79、S93、S95、S103)をさらに備える。判定手段は、操作情報を用いて入力装置が動いたことを判定して、その入力装置の移動速度を判定する(S103)。第1の判定期間、第2の判定期間、および認識期間は、入力装置が動いたことを判定手段が判定したとき(時刻T1)に開始される。第1挙動設定手段は、予め決められた初速度に応じて(S91)、オブジェクトが仮想ゲーム世界を移動する位置を示す第1挙動情報を設定する。第2挙動設定手段は、第2の判定期間において判定された入力装置の速度に基づいて設定する初速度に応じて、オブジェクトが仮想ゲーム世界を移動する位置を示す第2挙動情報を設定する。 In a fifth aspect based on the third aspect, the game apparatus further comprises determination means (S62, S65, S67, S78, S79, S93, S95, S103). The determination means determines that the input device has moved using the operation information, and determines the moving speed of the input device (S103). The first determination period, the second determination period, and the recognition period are started when the determination unit determines that the input device has moved (time T1). The first behavior setting means sets first behavior information indicating a position where the object moves in the virtual game world according to a predetermined initial speed (S91). The second behavior setting means sets second behavior information indicating a position where the object moves in the virtual game world according to the initial speed set based on the speed of the input device determined in the second determination period.
第6の発明は、上記第5の発明において、判定手段は、さらに操作情報を用いて所定方向(Z軸)を回転軸として入力装置本体が回転した動作を判定する(S101、S102)。第2挙動設定手段は、第2の判定期間において判定された入力装置本体の回転動作(θ)に応じてオブジェクトに与える回転(S)を設定し、その回転が与えられたオブジェクトが仮想ゲーム世界を移動する位置を示す第2挙動情報を設定する。 In a sixth aspect based on the fifth aspect, the determination means further determines an operation in which the input device main body is rotated about the predetermined direction (Z axis) as the rotation axis using the operation information (S101, S102). The second behavior setting means sets the rotation (S) to be given to the object in accordance with the rotation operation (θ) of the input device main body determined in the second determination period, and the object to which the rotation is applied is the virtual game world. 2nd behavior information which shows the position which moves is set.
第7の発明は、上記第5の発明において、判定手段は、さらに操作情報を用いて入力装置が動く前の姿勢を判定する(S63)。第1挙動設定手段は、判定手段が判定した入力装置の姿勢(UD)に応じてオブジェクトが移動する方向を設定し、その方向へオブジェクトが仮想ゲーム世界を移動する位置を示す第1挙動情報を設定する。 In a seventh aspect based on the fifth aspect, the determination means further determines a posture before the input device moves using the operation information (S63). The first behavior setting means sets the direction in which the object moves according to the attitude (UD) of the input device determined by the determination means, and the first behavior information indicating the position where the object moves in the virtual game world in that direction. Set.
第8の発明は、上記第5乃至第7の発明のいずれかにおいて、ゲーム処理は、仮想ゲーム世界においてプレイヤキャラクタ(PC)がボール(BC)を打撃してそのボールを飛ばすゲームを実行する処理である。オブジェクトは、仮想ゲーム世界を移動するボールを表すボールオブジェクト(BC)である。第1挙動設定手段および第2挙動設定手段がそれぞれ設定する初速度は、仮想ゲーム世界においてプレイヤキャラクタがボールオブジェクトを打撃したときに与えられるそのボールオブジェクトの速度である。第1挙動情報および第2挙動情報は、打撃以降にボールオブジェクトが移動する仮想ゲーム世界における軌跡である。 According to an eighth aspect of the present invention, in any one of the fifth to seventh aspects, the game process is a process of executing a game in which a player character (PC) hits a ball (BC) and throws the ball in the virtual game world. It is. The object is a ball object (BC) representing a ball moving in the virtual game world. The initial speed set by each of the first behavior setting means and the second behavior setting means is the speed of the ball object given when the player character hits the ball object in the virtual game world. The first behavior information and the second behavior information are trajectories in the virtual game world in which the ball object moves after hitting.
第9の発明は、上記第4の発明において、ゲーム処理は、仮想ゲーム世界においてプレイヤキャラクタが所持するアイテムをスイングしてボールを打撃してそのボールを飛ばすゲームを実行する処理である。ゲーム装置は、判定手段を、さらに備える。判定手段は、操作情報を用いて入力装置が動いたことを判定して、その入力装置が動く方向およびその入力装置の移動速度を少なくとも判定する。オブジェクトは、プレイヤキャラクタを表すプレイヤオブジェクトである。第1挙動設定手段は、第1の判定期間において判定された入力装置の動く方向(左振り、右振り)に応じたスイング方向にプレイヤキャラクタがアイテムを振る一連の動作を第1挙動情報として設定する。第2挙動設定手段は、第2の判定期間において判定された入力装置の移動速度に応じたスイング速度でプレイヤキャラクタがスイング方向にアイテムを振る一連の動作を第2挙動情報として設定する。 In a ninth aspect based on the fourth aspect, the game processing is processing for swinging an item possessed by the player character in the virtual game world and hitting the ball to fly the ball. The game device further includes determination means. The determination means determines that the input device has moved using the operation information, and determines at least the moving direction of the input device and the moving speed of the input device. The object is a player object that represents a player character. The first behavior setting means sets, as the first behavior information, a series of actions in which the player character swings an item in a swing direction corresponding to the moving direction of the input device (left swing, right swing) determined in the first determination period. To do. The second behavior setting means sets, as the second behavior information, a series of actions in which the player character swings an item in the swing direction at a swing speed corresponding to the moving speed of the input device determined in the second determination period.
第10の発明は、上記第1乃至第9の発明のいずれかにおいて、入力装置は、その入力装置に生じる加速度を検出する加速度センサ(701)を備えている。操作情報は、入力装置の動きに応じて加速度センサから出力される加速度データ(Da)を含む。 In a tenth aspect based on any one of the first to ninth aspects, the input device includes an acceleration sensor (701) for detecting an acceleration generated in the input device. The operation information includes acceleration data (Da) output from the acceleration sensor in accordance with the movement of the input device.
第11の発明は、上記第1の発明において、ゲーム装置は、判定手段をさらに備える。判定手段は、操作情報を用いて入力装置が振られていることを判定して、少なくともその入力装置が振られた方向を判定する。認識期間および第2の判定期間は、判定手段によって入力装置が振られていることが判定されてから振り終わりが判定されるまでの期間である。第1の判定期間は、判定手段によって入力装置が振られていることが判定されてから入力装置が振られている方向が判定されるまでの期間である。 In an eleventh aspect based on the first aspect, the game apparatus further includes a determination unit. The determination means determines that the input device is being shaken using the operation information, and determines at least the direction in which the input device is shaken. The recognition period and the second determination period are a period from when it is determined that the input device is shaken by the determination unit to when the end of the swing is determined. The first determination period is a period from when the determination unit determines that the input device is being shaken to when the direction in which the input device is being shaken is determined.
第12の発明は、入力装置に与えられた入力に応じてオブジェクトの状態を変化させるゲーム処理を行うゲーム装置のコンピュータ(30)で実行されるゲームプログラムである。ゲームプログラムは、データ取得ステップ、第1挙動設定ステップ、第1オブジェクト処理ステップ、第2挙動設定ステップ、第2オブジェクト処理ステップ、および表示制御ステップをコンピュータに実行させる。データ取得ステップは、入力装置の動きに応じて出力される操作情報を逐次取得してメモリ(33)に記憶する。第1挙動設定ステップは、入力装置に加えられた振りの開始から終了までの期間に含まれる認識期間であって、操作情報を用いて入力装置の動きを決定する当該認識期間の一部である第1の判定期間中に取得された操作情報に応じて、その第1の判定期間後のオブジェクトの状態を示す第1挙動情報を設定する。第1オブジェクト処理ステップは、第1挙動情報に基づいて、第1の判定期間後にオブジェクトの状態を逐次変化させる。第2挙動設定ステップは、第1の判定期間より後に終了し、かつ、認識期間の少なくとも一部である第2の判定期間中に取得された操作情報に応じて、その第2の判定期間後のオブジェクトの状態を示す第2挙動情報を設定する。第2オブジェクト処理ステップは、少なくとも第2挙動情報に基づいて、第2の判定期間後にオブジェクトの状態を逐次変化させる。表示制御ステップは、オブジェクトの状態に応じて、そのオブジェクトの画像を表示装置に逐次表示させる。 A twelfth aspect of the present invention is a game program executed by a computer (30) of a game device that performs a game process for changing the state of an object in accordance with an input given to the input device. The game program causes the computer to execute a data acquisition step, a first behavior setting step, a first object processing step, a second behavior setting step, a second object processing step, and a display control step. In the data acquisition step, operation information output in accordance with the movement of the input device is sequentially acquired and stored in the memory (33). The first behavior setting step is a recognition period included in a period from the start to the end of the swing applied to the input device, and is a part of the recognition period in which the movement of the input device is determined using the operation information. First behavior information indicating the state of the object after the first determination period is set according to the operation information acquired during the first determination period. The first object processing step sequentially changes the state of the object after the first determination period based on the first behavior information. The second behavior setting step ends after the first determination period, and after the second determination period, according to the operation information acquired during the second determination period that is at least a part of the recognition period. The second behavior information indicating the state of the object is set. The second object processing step sequentially changes the state of the object after the second determination period based on at least the second behavior information. In the display control step, an image of the object is sequentially displayed on the display device in accordance with the state of the object.
第13の発明は、上記第12の発明において、第2オブジェクト処理ステップでは、第2の判定期間後の同じ時点における第1挙動情報および第2挙動情報それぞれに基づいたオブジェクトの状態が所定の割合で平均化され、第2挙動情報に基づいたオブジェクトの状態がその平均化に寄与する割合が時間経過に応じて漸増的に大きくされてオブジェクトの状態を逐次変化させる。 In a thirteenth aspect based on the twelfth aspect, in the second object processing step, the state of the object based on each of the first behavior information and the second behavior information at the same time after the second determination period is a predetermined ratio. The rate at which the object state based on the second behavior information contributes to the averaging is gradually increased as time passes, and the object state is sequentially changed.
第14の発明は、上記第12および第13の発明のいずれかにおいて、第1挙動情報および第2挙動情報は、それぞれ仮想ゲーム世界におけるオブジェクトの位置を示す情報である。第1オブジェクト処理ステップおよび第2オブジェクト処理ステップでは、第1挙動情報および第2挙動情報の少なくとも一方に基づいて示される仮想ゲーム世界における位置にオブジェクトを移動させる。 In a fourteenth aspect based on any one of the twelfth and thirteenth aspects, the first behavior information and the second behavior information are information indicating the position of the object in the virtual game world. In the first object processing step and the second object processing step, the object is moved to a position in the virtual game world indicated based on at least one of the first behavior information and the second behavior information.
第15の発明は、上記第12の発明において、第1挙動情報および第2挙動情報は、予め決められた一連の動作を示す情報である。第1オブジェクト処理ステップでは、第1挙動情報によって示される一連の動作をオブジェクトに行わせて状態が変更される。第2オブジェクト処理ステップでは、第2挙動情報によって示される一連の動作をオブジェクトに行わせて状態が変更される。 In a fifteenth aspect based on the twelfth aspect, the first behavior information and the second behavior information are information indicating a predetermined series of operations. In the first object processing step, the state is changed by causing the object to perform a series of actions indicated by the first behavior information. In the second object processing step, the state is changed by causing the object to perform a series of actions indicated by the second behavior information.
第16の発明は、上記第14の発明において、ゲームプログラムは、判定ステップをさらにコンピュータに実行させる。判定ステップは、操作情報を用いて入力装置が動いたことを判定して、その入力装置の移動速度を判定する。第1の判定期間、第2の判定期間、および認識期間は、入力装置が動いたことを判定ステップで判定されたときに開始される。第1挙動設定ステップでは、予め決められた初速度に応じて、オブジェクトが仮想ゲーム世界を移動する位置を示す第1挙動情報が設定される。第2挙動設定ステップでは、第2の判定期間において判定された入力装置の速度に基づいて設定する初速度に応じて、オブジェクトが仮想ゲーム世界を移動する位置を示す第2挙動情報が設定される。 In a sixteenth aspect based on the fourteenth aspect, the game program further causes the computer to execute a determination step. The determination step determines that the input device has moved using the operation information, and determines the moving speed of the input device. The first determination period, the second determination period, and the recognition period are started when it is determined in the determination step that the input device has moved. In the first behavior setting step, first behavior information indicating a position where the object moves in the virtual game world is set according to a predetermined initial speed. In the second behavior setting step, second behavior information indicating a position where the object moves in the virtual game world is set according to the initial speed set based on the speed of the input device determined in the second determination period. .
第17の発明は、上記第16の発明において、判定ステップでは、さらに操作情報を用いて所定方向を回転軸として入力装置本体が回転した動作が判定される。第2挙動設定ステップでは、第2の判定期間において判定された入力装置本体の回転動作に応じてオブジェクトに与える回転が設定され、その回転が与えられたオブジェクトが仮想ゲーム世界を移動する位置を示す第2挙動情報が設定される。 In a seventeenth aspect based on the sixteenth aspect, in the determination step, an operation in which the input device main body is rotated about a predetermined direction as a rotation axis is further determined using the operation information. In the second behavior setting step, a rotation to be given to the object is set according to the rotation operation of the input device main body determined in the second determination period, and the position to which the object to which the rotation is given moves in the virtual game world is indicated. Second behavior information is set.
第18の発明は、上記第16の発明において、判定ステップでは、さらに操作情報を用いて入力装置が動く前の姿勢が判定される。第1挙動設定ステップでは、判定ステップで判定した入力装置の姿勢に応じてオブジェクトが移動する方向が設定され、その方向へオブジェクトが仮想ゲーム世界を移動する位置を示す第1挙動情報が設定される。 In an eighteenth aspect based on the sixteenth aspect, in the determination step, the posture before the input device moves is further determined using the operation information. In the first behavior setting step, a direction in which the object moves is set according to the attitude of the input device determined in the determination step, and first behavior information indicating a position in which the object moves in the virtual game world is set in that direction. .
第19の発明は、上記第16乃至第18の発明のいずれかにおいて、ゲーム処理は、仮想ゲーム世界においてプレイヤキャラクタがボールを打撃してそのボールを飛ばすゲームを実行する処理である。オブジェクトは、仮想ゲーム世界を移動するボールを表すボールオブジェクトである。第1挙動設定ステップおよび第2挙動設定ステップでそれぞれ設定される初速度は、仮想ゲーム世界においてプレイヤキャラクタがボールオブジェクトを打撃したときに与えられるそのボールオブジェクトの速度である。第1挙動情報および第2挙動情報は、打撃以降にボールオブジェクトが移動する仮想ゲーム世界における軌跡である。 In a nineteenth aspect based on any one of the sixteenth to eighteenth aspects, the game processing is processing for executing a game in which a player character hits a ball and flies the ball in the virtual game world. The object is a ball object representing a ball moving in the virtual game world. The initial speed set in each of the first behavior setting step and the second behavior setting step is the speed of the ball object given when the player character hits the ball object in the virtual game world. The first behavior information and the second behavior information are trajectories in the virtual game world in which the ball object moves after hitting.
第20の発明は、上記第15の発明において、ゲーム処理は、仮想ゲーム世界においてプレイヤキャラクタが所持するアイテムをスイングしてボールを打撃してそのボールを飛ばすゲームを実行する処理である。ゲームプログラムは、判定ステップをさらにコンピュータに実行させる。判定ステップは、操作情報を用いて入力装置が動いたことを判定して、その入力装置が動く方向およびその入力装置の移動速度を少なくとも判定する。オブジェクトは、プレイヤキャラクタを表すプレイヤオブジェクトである。第1挙動設定ステップでは、第1の判定期間において判定された入力装置の動く方向に応じたスイング方向にプレイヤキャラクタがアイテムを振る一連の動作が第1挙動情報として設定される。第2挙動設定ステップでは、第2の判定期間において判定された入力装置の移動速度に応じたスイング速度でプレイヤキャラクタがスイング方向にアイテムを振る一連の動作が第2挙動情報として設定される。 In a twentieth aspect according to the fifteenth aspect, the game process is a process of executing a game in which a player character swings an item possessed by a player character and hits the ball to fly the ball in the virtual game world. The game program further causes the computer to execute a determination step. The determination step determines that the input device has moved using the operation information, and determines at least the moving direction of the input device and the moving speed of the input device. The object is a player object that represents a player character. In the first behavior setting step, a series of actions in which the player character swings the item in the swing direction corresponding to the moving direction of the input device determined in the first determination period is set as the first behavior information. In the second behavior setting step, a series of actions in which the player character swings the item in the swing direction at the swing speed corresponding to the moving speed of the input device determined in the second determination period is set as the second behavior information.
第21の発明は、上記第12乃至第20の発明のいずれかにおいて、入力装置は、その入力装置に生じる加速度を検出する加速度センサを備えている。操作情報は、入力装置の動きに応じて加速度センサから出力される加速度データを含む。 In a twenty-first aspect, in any one of the twelfth to twentieth aspects, the input device includes an acceleration sensor that detects acceleration generated in the input device. The operation information includes acceleration data output from the acceleration sensor in accordance with the movement of the input device.
第22の発明は、上記第12の発明において、ゲームプログラムは、判定ステップをさらにコンピュータに実行させる。判定ステップは、操作情報を用いて入力装置が振られていることを判定して、少なくともその入力装置が振られた方向を判定する。認識期間および第2の判定期間は、判定ステップで入力装置が振られていることが判定されてから振り終わりが判定されるまでの期間である。第1の判定期間は、判定ステップで入力装置が振られていることが判定されてから入力装置が振られている方向が判定されるまでの期間である。 In a twenty-second aspect based on the twelfth aspect, the game program causes the computer to further execute a determination step. In the determination step, it is determined that the input device is being shaken using the operation information, and at least the direction in which the input device is shaken is determined. The recognition period and the second determination period are periods from when it is determined in the determination step that the input device is being shaken until the end of the swing is determined. The first determination period is a period from when it is determined in the determination step that the input device is being shaken to when the direction in which the input device is being shaken is determined.
上記第1の発明によれば、入力装置を用いてプレイヤが操作入力を行う際、当該操作入力を判定する期間の一部期間でオブジェクトの状態に対して当該操作入力を反映させる処理を開始するため、操作入力に対する遅延を解消でき、操作感が損なわれることがない。また、上記判定する期間終了後に上記期間後に取得した操作入力もオブジェクトの状態に対して反映させる処理を行うため、プレイヤが行った操作入力を正確に反映した処理を行いながら、リアルタイムな演出が可能となる。 According to the first aspect, when the player performs an operation input using the input device, a process of reflecting the operation input on the state of the object is started in a part of the period for determining the operation input. Therefore, the delay with respect to the operation input can be eliminated, and the operational feeling is not impaired. In addition, since the operation input acquired after the determination period is reflected on the state of the object after the determination period, a real-time effect is possible while performing a process that accurately reflects the operation input performed by the player. It becomes.
上記第2の発明によれば、第1挙動情報に基づいた状態から第2挙動情報に基づいた状態へオブジェクトを徐々に変更できるため、リアルタイムな演出を自然に行うことができる。 According to the second aspect, since the object can be gradually changed from the state based on the first behavior information to the state based on the second behavior information, a real-time effect can be naturally performed.
上記第3の発明によれば、操作入力に応じてオブジェクトを移動させる処理を、操作入力に対する遅延を解消しながらリアルタイムな演出が可能となる。 According to the third aspect, the processing for moving the object according to the operation input can be performed in real time while eliminating the delay with respect to the operation input.
上記第4の発明によれば、操作入力に応じてオブジェクトに一連の動作を行わせる処理を、操作入力に対する遅延を解消しながらリアルタイムな演出が可能となる。 According to the fourth aspect of the present invention, the processing for causing the object to perform a series of actions according to the operation input can be performed in real time while eliminating the delay with respect to the operation input.
上記第5の発明によれば、入力装置を動かした速度をオブジェクトの状態に対して反映させる処理を行うため、プレイヤが行った操作入力を正確に反映した処理をリアルタイムに行うことができる。 According to the fifth aspect, since the process of reflecting the speed at which the input device is moved is reflected on the state of the object, the process that accurately reflects the operation input performed by the player can be performed in real time.
上記第6の発明によれば、入力装置を回転させた動作をオブジェクトの状態に対して反映させる処理を行うため、プレイヤが行った操作入力を正確に反映した処理をリアルタイムに行うことができる。 According to the sixth aspect of the invention, since the process of rotating the input device is reflected on the state of the object, the process that accurately reflects the operation input performed by the player can be performed in real time.
上記第7の発明によれば、入力装置を動かす前の姿勢をオブジェクトの状態に対して反映させる処理を行うため、プレイヤが行った操作入力を正確に反映した処理をリアルタイムに行うことができる。 According to the seventh aspect, since the process of reflecting the posture before moving the input device on the state of the object is performed, the process that accurately reflects the operation input performed by the player can be performed in real time.
上記第8の発明によれば、仮想ゲーム世界においてボールを打撃するテニスゲーム等を再現する場合において、プレイヤが行った操作入力をボール軌跡にリアルタイムに反映させた演出が可能となる。 According to the eighth aspect, in reproducing a tennis game or the like that hits a ball in the virtual game world, it is possible to produce an effect in which the operation input performed by the player is reflected in real time on the ball trajectory.
上記第9の発明によれば、仮想ゲーム世界においてボールを打撃するテニスゲーム等を再現する場合において、プレイヤが行った操作入力をプレイヤキャラクタのスイング動作にリアルタイムに反映させた演出が可能となる。 According to the ninth aspect, when reproducing a tennis game or the like that hits a ball in the virtual game world, it is possible to produce an effect in which the operation input performed by the player is reflected in real time on the swing motion of the player character.
上記第10の発明によれば、入力装置に備えられた加速度センサから出力される加速度データを用いることによって、当該入力装置の動きを判定することができる。 According to the tenth aspect, the motion of the input device can be determined by using the acceleration data output from the acceleration sensor provided in the input device.
上記第11の発明によれば、入力装置を用いてプレイヤが操作入力を行う際、当該操作入力を判定する期間途中までのオブジェクトの状態に対して当該操作入力を反映させる処理を開始するため、操作入力に対する遅延を解消でき、操作感が損なわれることがない。また、上記判定する期間終了後に上記期間途中の後に取得した操作入力もオブジェクトの状態に対して反映させる処理を行うため、プレイヤが行った操作入力を正確に反映した処理を行いながら、リアルタイムな演出が可能となる。 According to the eleventh aspect, when the player performs an operation input using the input device, the process of reflecting the operation input on the state of the object until the middle of the period for determining the operation input is started. The delay with respect to the operation input can be eliminated, and the operational feeling is not impaired. In addition, since the operation input obtained after the determination period ends and after the middle of the period is also reflected on the state of the object, a real-time effect is performed while performing the process that accurately reflects the operation input performed by the player. Is possible.
本発明のゲームプログラムによれば、上述したゲーム装置と同様の効果を得ることができる。 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を一例として説明する。なお、図1は、当該ゲームシステム1を説明するための外観図である。以下、据置型ゲーム装置を一例にして、当該ゲームシステム1について説明する。
A game device according to an embodiment of the present invention will be described with reference to FIG. Hereinafter, for the sake of specific explanation, a
図1において、当該ゲームシステム1は、家庭用テレビジョン受像機等のスピーカ2aを備えたディスプレイ(以下、モニタと記載する)2に、接続コードを介して接続される据置型ゲーム装置(以下、単にゲーム装置と記載する)3および当該ゲーム装置3に操作情報を与えるコントローラ7によって構成される。ゲーム装置3は、接続端子を介して受信ユニット6が接続される。受信ユニット6は、コントローラ7から無線送信される送信データを受信し、コントローラ7とゲーム装置3とは無線通信によって接続される。また、ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が脱着される。ゲーム装置3の上部主面には、当該ゲーム装置3の電源ON/OFFスイッチ、ゲーム処理のリセットスイッチ、およびゲーム装置3上部の蓋を開くOPENスイッチが設けられている。ここで、プレイヤがOPENスイッチを押下することによって上記蓋が開き、光ディスク4の脱着が可能となる。
In FIG. 1, the
また、ゲーム装置3には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード5が必要に応じて着脱自在に装着される。ゲーム装置3は、光ディスク4に記憶されたゲームプログラムなどを実行することによって、その結果をゲーム画像としてモニタ2に表示する。さらに、ゲーム装置3は、外部メモリカード5に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置3のプレイヤは、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。
Further, an
コントローラ7は、その内部に備える通信部75(後述)から受信ユニット6が接続されたゲーム装置3へ、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて送信データを無線送信する。コントローラ7は、主にモニタ2に表示されるゲーム空間に登場するプレイヤオブジェクトを操作するための操作手段である。コントローラ7は、複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。また、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力する。なお、本実施例では、撮像情報演算部74による撮像情報を用いないため、マーカ8Lおよび8Rを設置しなくてもかまわない。
The
次に、図2を参照して、ゲーム装置3の構成について説明する。なお、図2は、ゲーム装置3の機能ブロック図である。
Next, the configuration of the
図2において、ゲーム装置3は、各種プログラムを実行する例えばリスク(RISC)CPU(セントラルプロセッシングユニット)30を備える。CPU30は、図示しないブートROMに記憶された起動プログラムを実行し、メインメモリ33等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。CPU30には、メモリコントローラ31を介して、GPU(Graphics Processing Unit)32、メインメモリ33、DSP(Digital Signal Processor)34、およびARAM(Audio RAM)35が接続される。また、メモリコントローラ31には、所定のバスを介して、コントローラI/F(インターフェース)36、ビデオI/F37、外部メモリI/F38、オーディオI/F39、およびディスクI/F41が接続され、それぞれ受信ユニット6、モニタ2、外部メモリカード5、スピーカ2a、およびディスクドライブ40が接続されている。
In FIG. 2, the
GPU32は、CPU30の命令に基づいて画像処理を行うものあり、例えば、3Dグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。GPU32は、図示しない画像処理専用のメモリやメインメモリ33の一部の記憶領域を用いて画像処理を行う。GPU32は、これらを用いてモニタ2に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ31およびビデオI/F37を介してモニタ2に出力する。
The
メインメモリ33は、CPU30で使用される記憶領域であって、CPU30の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ33は、CPU30によって光ディスク4から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ33に記憶されたゲームプログラムや各種データ等がCPU30によって実行される。
The
DSP34は、ゲームプログラム実行時にCPU30において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのARAM35が接続される。ARAM35は、DSP34が所定の処理(例えば、先読みしておいたゲームプログラムやサウンドデータの記憶)を行う際に用いられる。DSP34は、ARAM35に記憶されたサウンドデータを読み出し、メモリコントローラ31およびオーディオI/F39を介してモニタ2に備えるスピーカ2aに出力させる。
The
メモリコントローラ31は、データ転送を統括的に制御するものであり、上述した各種I/Fが接続される。コントローラI/F36は、例えば4つのコントローラI/F36a〜36dで構成され、それらが有するコネクタを介して嵌合可能な外部機器とゲーム装置3とを通信可能に接続する。例えば、受信ユニット6は、上記コネクタと嵌合し、コントローラI/F36を介してゲーム装置3と接続される。上述したように受信ユニット6は、コントローラ7からの送信データを受信し、コントローラI/F36を介して当該送信データをCPU30へ出力する。ビデオI/F37には、モニタ2が接続される。外部メモリI/F38には、外部メモリカード5が接続され、その外部メモリカード5に設けられたバックアップメモリ等とアクセス可能となる。オーディオI/F39にはモニタ2に内蔵されるスピーカ2aが接続され、DSP34がARAM35から読み出したサウンドデータやディスクドライブ40から直接出力されるサウンドデータをスピーカ2aから出力可能に接続される。ディスクI/F41には、ディスクドライブ40が接続される。ディスクドライブ40は、所定の読み出し位置に配置された光ディスク4に記憶されたデータを読み出し、ゲーム装置3のバスやオーディオI/F39に出力する。
The
図3および図4を参照して、本発明の入力装置の一例であるコントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面後方から見た斜視図である。
With reference to FIG. 3 and FIG. 4, the
図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
3 and 4, the
ハウジング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
なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、リング状に4方向の操作部分を備えたプッシュスイッチとその中央に設けられたセンタスイッチとを複合した複合スイッチを上記十字キー72aの代わりに設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。また、少なくとも4つの方向(前後左右)をそれぞれ示すスイッチに対して、プレイヤによって押下されたスイッチに応じて操作信号を出力する操作部を上記十字キー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, instead of the cross key 72a, a composite switch in which a push switch having a four-direction operation portion in a ring shape and a center switch provided at the center thereof may be provided. Further, an operation unit that outputs an operation signal according to the tilt direction by tilting a tiltable stick protruding from the upper surface of the
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、Xボタン、Yボタン、およびBボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、セレクトスイッチ、メニュースイッチ、およびスタートスイッチ等としての機能が割り当てられる。これら操作ボタン72b〜72gは、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの機能が割り当てられるが、本発明の説明とは直接関連しないため詳細な説明を省略する。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
A plurality of
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
An
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7から受信ユニット6へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
A plurality of
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7を把持したときに当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばAボタンとして機能する操作部であり、シューティングゲームにおけるトリガスイッチや、プレイヤオブジェクトを所定オブジェクトに対して注目させる操作等に用いられる。
On the other hand, a recess is formed on the lower surface of the
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。また、ハウジング70の後面には、コネクタ73が設けられている。コネクタ73は、例えば32ピンのエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。なお、本発明は、この撮像情報演算部74からの情報を使用しなくても実現可能であるため、ここではこれ以上の説明を省略する。
An
ここで、説明を具体的にするために、コントローラ7に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するXYZ軸をコントローラ7に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をZ軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をZ軸正方向とする。また、コントローラ7の上下方向をY軸とし、ハウジング71の上面(十字キー72a等が設けられた面)方向をY軸正方向とする。さらに、コントローラ7の左右方向をX軸とし、ハウジング71の左側面(図3では表されずに図4で表されている側面)方向をX軸正方向とする。
Here, in order to explain specifically, a coordinate system set for the
次に、図5を参照して、コントローラ7の内部構造について説明する。なお、図5(a)は、コントローラ7の上筐体(ハウジング71の一部)を外した状態を示す斜視図である。図5(b)は、コントローラ7の下筐体(ハウジング71の一部)を外した状態を示す斜視図である。ここで、図5(b)に示す基板700は、図5(a)に示す基板700の裏面から見た斜視図となっている。
Next, the internal structure of the
図5(a)において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、水晶振動子703、無線モジュール753、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751(図6参照)に接続される。加速度センサ701は、コントローラ7が配置された3次元空間における傾きや振動等の算出に用いることができる加速度を検出して出力する。
5A, a
より詳細には、図6に示すように、コントローラ7は3軸の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向(図3に示すY軸)、左右方向(図3に示すX軸)、および前後方向(図3に示すZ軸)で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、X軸とY軸(または他の対になった軸)のそれぞれに沿った直線加速度のみを検知する2軸の加速度検出手段を使用してもよい。例えば、この3軸または2軸の加速度センサ701は、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能であるタイプのものでもよい。加速度センサ701は、シリコン微細加工されたMEMS(Micro Electro Mechanical Systems:微小電子機械システム)の技術に基づいた静電容量式(静電容量結合式)であることが好ましい。しかしながら、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて3軸または2軸の加速度センサ701が提供されてもよい。
More specifically, as shown in FIG. 6, the
当業者には公知であるように、加速度センサ701に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、その2軸または3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
As known to those skilled in the art, the acceleration detection means used in the
しかしながら、加速度センサ701から出力される加速度の信号に対して追加の処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、静的な加速度(重力加速度)が検知されると、加速度センサ701からの出力を用いて、傾斜角度と検知された加速度とを用いた演算によって重力ベクトルに対する対象(コントローラ7)の傾きを判定することができる。このように、加速度センサ701をマイコン751(または他のプロセッサ)と組み合わせて用いることによって、コントローラ7の傾き、姿勢または位置を判定することができる。同様に、加速度センサ701を備えるコントローラ7が例えば後述するようにユーザの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7のさまざまな動きおよび/または位置を算出することができる。他の実施例では、加速度センサ701は、信号をマイコン42に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
However, it is understood by those skilled in the art that additional information regarding the
また、無線モジュール753およびアンテナ754を有する通信部75によって、コントローラ7がワイヤレスコントローラとして機能する。なお、水晶振動子703は、後述するマイコン751の基本クロックを生成する。
Further, the
一方、図5(b)において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。そして、操作ボタン72iが撮像情報演算部74の後方の基板700の下主面上に取り付けられていて、それよりさらに後方に、電池705が収容される。電池705とコネクタ73との間の基板700の下主面上には、バイブレータ704が取り付けられる。このバイブレータ704は、例えば振動モータやソレノイドであってよい。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
On the other hand, in FIG. 5B, an imaging
次に、図6を参照して、コントローラ7の内部構成について説明する。なお、図6は、コントローラ7の構成を示すブロック図である。
Next, the internal configuration of the
撮像情報演算部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
加速度センサ701は、上述したようにコントローラ7の上下方向(Y軸方向)、左右方向(X軸方向)、および前後方向(Z軸方向)の3軸成分に分けてそれぞれ加速度を検知して出力するセンサである。加速度センサ701が検知した3軸成分の加速度を示すデータは、それぞれ通信部75へ出力される。この加速度センサ701から出力される加速度データに基づいて、コントローラ7の動きを判定することができる。なお、加速度センサ701は、特定のアプリケーションで必要なデータに応じて何れか2軸に対してそれぞれ加速度を検出する加速度センサが用いられてもかまわない。
As described above, the
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。
The
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの3軸方向の加速度信号(X、Y、およびZ軸方向加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、X、Y、およびZ軸方向加速度データ、処理結果データ)を受信ユニット6へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から受信ユニット6への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(登録商標)で構成される通信部75の送信間隔は5msである。マイコン751は、受信ユニット6への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からのX、Y、およびZ軸方向加速度データ、および撮像情報演算部74からの処理結果データがコントローラ7から送信される。そして、ゲーム装置3の受信ユニット6でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、X、Y、およびZ軸方向加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU30は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、Bluetooth(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
An operation signal (key data) from the
次に、ゲーム装置3が行う具体的な処理を説明する前に、本ゲーム装置3で行うゲームの概要について説明する。図7に示すように、コントローラ7は、全体として大人や子供の片手で把持可能な大きさである。そして、ゲームシステム1でコントローラ7を用いてゲームをプレイするためには、コントローラ7の前面がプレイヤの前方方向に向くようにプレイヤが一方の手(例えば右手)でコントローラ7を把持する。例えば、プレイヤは、親指をコントローラ7の左側面に添え、手のひらをコントローラ7の上面に添え、人差し指、中指、薬指、小指をコントローラ7下面に添えて、コントローラ7の前面がプレイヤの前方方向に露出させて、あたかもテニスラケットを握っているようにコントローラ7を把持する。
Next, before describing specific processing performed by the
プレイヤは、モニタ2で表現されているゲーム画像に合わせて、コントローラ7を把持している腕を当該プレイヤから見て右から左へ振ったり(以下、「左振り」と記載する)、コントローラ7を把持している腕を当該プレイヤから見て左から右へ振ったり(以下、「右振り」と記載する)することによって、コントローラ7から操作情報(例えば、X、Y、およびZ軸方向加速度データ)をゲーム装置3に与える。プレイヤは、上述した左振りや右振りに加えて、コントローラ7を下から上へ振り上げながらの左振りや右振り、コントローラ7を上から下へ振り下ろしながらの左振りや右振り、コントローラ7を右や左にひねりながらの左振りや右振り等を行うことによって、コントローラ7から様々なX、Y、およびZ軸方向加速度データをゲーム装置3に与えることができる。本発明は、コントローラ7から与えられた入力に応じてゲームオブジェクトの状態を変化させるゲームを実現するものであるが、プレイヤがコントローラ7の本体を動かすことを入力の一例とし、そのコントローラ7の動きに応じた加速度データの推移を用いてゲームオブジェクトの状態を変化させるゲーム例を用いて説明する。
The player swings the arm holding the
図8に示すように、コントローラ7から受信したX、Y、およびZ軸方向加速度データに応じて、モニタ2にテニスゲーム等が表現される。具体的には、仮想ゲーム空間に設定されたテニスコートが3次元のゲーム画像としてモニタ2に表現される。そして、仮想ゲーム空間に、プレイヤが操作するプレイヤキャラクタPC、当該プレイヤキャラクタPCの相手選手となる相手キャラクタEC、およびテニスコート上で移動するテニスボールを示すボールキャラクタBC等が配置されてモニタ2に表現される。なお、プレイヤキャラクタPCおよびボールキャラクタBCが、コントローラ7から与えられた入力に応じて状態が変化する本発明のオブジェクトに相当する。以下、説明を具体的にするためにテニスゲームを表現するゲームプログラムが光ディスク4に記憶されており、CPU30がテニスゲーム処理の中でコントローラ7の動きをオブジェクト(プレイヤキャラクタPCやボールキャラクタBC)の状態に反映する処理について説明する。
As shown in FIG. 8, a tennis game or the like is represented on the monitor 2 in accordance with X, Y, and Z-axis direction acceleration data received from the
プレイヤキャラクタPCは、テニスラケットを持っており、仮想ゲーム空間に設定されたテニスコート上に配置される。そして、プレイヤがコントローラ7を振る動作に応じて、プレイヤキャラクタPCもテニスラケットを振るアニメーションが表現される。そして、到来するボールキャラクタBCをプレイヤキャラクタPCがテニスラケットで打ち返した場合、当該テニスラケットで打撃されたボールキャラクタBCが相手キャラクタEC側のコートに向かって飛んでいく。つまり、プレイヤがコントローラ7を把持して振る動作を行うことによって、同様にテニスラケットを振る動作をプレイヤキャラクタPCが表現することになり、プレイヤはあたかもテニスラケットを振ってテニスをしているような仮想的なスポーツゲームを体験できる。
The player character PC has a tennis racket and is placed on the tennis court set in the virtual game space. Then, an animation in which the player character PC also swings the tennis racket is expressed in accordance with the motion of the player swinging the
例えば、プレイヤキャラクタPCが右打ちのテニスプレイヤを表現している場合、プレイヤがコントローラ7を把持して「左振り」することによって、プレイヤキャラクタPCがフォアハンドでテニスラケットをスイングする。一方、プレイヤがコントローラ7を把持して「右振り」することによって、プレイヤキャラクタPCがバックハンドでテニスラケットをスイングする。つまり、プレイヤがコントローラ7を振る方向に応じて、プレイヤキャラクタPCが同じ方向にテニスラケットをスイングする動作を行う。
For example, when the player character PC represents a right-handed tennis player, the player character PC swings the tennis racket with the forehand by holding the
また、プレイヤがコントローラ7を振るタイミングや速度に応じて、プレイヤキャラクタPCがスイングしたテニスラケットで打撃されたボールキャラクタBCが飛ぶ方向や速度が変化する。さらに、プレイヤがコントローラ7を上下に振り上げ/振り下ろしながら左振りや右振りをすることによって、ボールキャラクタBCの軌道高さが変化する。また、プレイヤがコントローラ7を右や左にひねりながら振ることによって、いわゆるトップスピンやアンダースピンを加えたようなボールキャラクタBCを相手キャラクタECに打ち返すことができる。後述により明らかとなるがこれらの動作は、コントローラ7から出力されるX、Y、およびZ軸方向加速度データを用いて区別および判定することが可能であり、プレイヤがコントローラ7に加えた様々な動作を反映したテニスゲームを表現することができる。
Further, the direction and speed of the ball character BC that is hit with the tennis racket on which the player character PC swings changes according to the timing and speed at which the player swings the
まず、コントローラ7が振られたか否かを判定する方法について説明する。まず、Z軸方向加速度データが閾値を越えるZ軸正方向の値を示しているとき、ゲーム装置3は、プレイヤがコントローラ7を振ったと判定する。例えば、コントローラ7が静止状態である場合、加速度センサ701は、重力加速度9.8m/s2を超える加速度を検出することはない。一方、上述したようにプレイヤがコントローラ7を把持して腕を振った場合、コントローラ7の前端部が円弧状の軌跡を描いて移動するため、遠心力の影響によってZ軸正方向(図3参照)の加速度が検出される。本実施例では、重力加速度以上の閾値を設定し、Z軸方向加速度データが当該閾値を超える加速度を示している場合、プレイヤがコントローラ7を振っていると判定する。
First, a method for determining whether or not the
次に、図9を参照して、コントローラ7を振られていると判定されているときに、XおよびY軸方向加速度データによって、コントローラ7が振られている方向を判定する方法について説明する。なお、図9(a)〜図9(d)は、XおよびY軸方向加速度データがそれぞれ示す加速度の正負および大きさをX軸およびY軸としたグラフの一例である。そして、所得時間毎(例えば5ms毎)に同時に得られたXおよびY軸方向加速度データが示す加速度を順にX−Y座標系にプロットしている。図9(a)〜図9(d)では、同時に得られたXおよびY軸方向加速度データが示す加速度をそれぞれ点Pとして示しており、データが得られた順に矢印で結んで示している。また、図9(a)〜図9(d)は、重力加速度を含む一切の加速度が加速度センサ701に付加されていない状態の加速度データの値を原点(X、Y)=(0,0)で示し、重力加速度の大きさを「1」(破線で示す位置に対応)として示している。
Next, a method for determining the direction in which the
コントローラ7を把持して振った場合、振り始めは加速して振り終わりは減速となる。したがって、コントローラ7には、振り始めで振っている方向と同じ方向の加速度が生じた後、徐々に加速度の大きさが減少して、振り終わりで振っている方向とは逆の方向に加速度が生じる。一方、一般的に、加速度センサ701から出力される加速度ベクトル(あるいは、加速度の正負)は、コントローラ7の加速方向とは真逆のベクトルとなる。したがって、加速度センサ701は、コントローラ7の振り始めで振っている方向とは逆の方向に加速度を検出した後、徐々に加速度の大きさが減少して、振り終わりで振っている方向と同じ方向に加速度を検出する。
When the
例えば、コントローラ7の上面を上に向けて水平に左振りで加速(つまり、コントローラ7の加速方向がX軸正方向)したとき、加速度センサ701から得られる加速度ベクトルとしてはX軸負方向のベクトルが得られることになる。したがって、振っている際に同時に得られたXおよびY軸方向加速度データが示す加速度をX−Y座標系にプロットしていくと、コントローラ7の振り始めの加速時はX軸負方向からプロットが始まる。そして、コントローラ7の振り終わりは減速となるためX軸正方向にプロットされる。さらに、加速度センサ701には、常に重力加速度が作用しているため、鉛直方向(ここでは、Y軸負方向)に大きさ「1」の加速度を検出している。したがって、コントローラ7の上面を上に向けて水平に左振りしたとき、X軸方向の加速度がX軸負方向からX軸正方向(X+方向)へ順次推移しながらY軸方向の加速度が「−1」で一定となった点Pが順にX−Y座標系にプロットされる(図9(a))。
For example, when acceleration is performed by swinging leftward with the upper surface of the
また、コントローラ7の上面をプレイヤから見て左90°方向に向けて水平に左振りで加速(つまり、コントローラ7の加速方向がY軸正方向)したとき、加速度センサ701から得られる加速度ベクトルとしてはY軸負方向のベクトルが得られることになる。したがって、振っている際に同時に得られたXおよびY軸方向加速度データが示す加速度をX−Y座標系にプロットしていくと、コントローラ7の振り始めの加速時はY軸負方向からプロットが始まる。そして、コントローラ7の振り終わりは減速となるためY軸正方向にプロットされる。さらに、加速度センサ701には、常に重力加速度が作用しているため、鉛直方向(ここでは、X軸正方向)に大きさ「1」の加速度を検出している。したがって、コントローラ7の上面をプレイヤから見て左90°方向に向けて水平に左振りしたとき、X軸方向の加速度が「+1」一定でY軸方向の加速度がY軸負方向からY軸正方向(Y+方向)へ順次推移する点Pが順にX−Y座標系にプロットされる(図9(b))。
As the acceleration vector obtained from the
また、コントローラ7の上面を下に向けて水平に左振りで加速(つまり、コントローラ7の加速方向がX軸負方向)したとき、加速度センサ701から得られる加速度ベクトルとしてはX軸正方向のベクトルが得られることになる。したがって、振っている際に同時に得られたXおよびY軸方向加速度データが示す加速度をX−Y座標系にプロットしていくと、コントローラ7の振り始めの加速時はX軸正方向からプロットが始まる。そして、コントローラ7の振り終わりは減速となるためX軸負方向にプロットされる。さらに、加速度センサ701には、常に重力加速度が作用しているため、鉛直方向(ここでは、Y軸正方向)に大きさ「1」の加速度を検出している。したがって、コントローラ7の上面を下に向けて水平に左振りしたとき、X軸方向の加速度がX軸正方向からX軸負方向(X−方向)へ順次推移しながらY軸方向の加速度が「+1」で一定となった点Pが順にX−Y座標系にプロットされる(図9(c))。
Further, when acceleration is performed by swinging leftward with the upper surface of the
さらに、コントローラ7の上面をプレイヤから見て右90°方向に向けて水平に左振りで加速(つまり、コントローラ7の加速方向がY軸負方向)したとき、加速度センサ701から得られる加速度ベクトルとしてはY軸正方向のベクトルが得られることになる。したがって、振っている際に同時に得られたXおよびY軸方向加速度データが示す加速度をX−Y座標系にプロットしていくと、コントローラ7の振り始めの加速時はY軸正方向からプロットが始まる。そして、コントローラ7の振り終わりは減速となるためY軸負方向にプロットされる。さらに、加速度センサ701には、常に重力加速度が作用しているため、鉛直方向(ここでは、X軸負方向)に大きさ「1」の加速度を検出している。したがって、コントローラ7の上面をプレイヤから見て右90°方向に向けて水平に左振りしたとき、X軸方向の加速度が「−1」一定でY軸方向の加速度がY軸正方向からY軸負方向(Y−方向)へ順次推移する点Pが順にX−Y座標系にプロットされる(図9(d))。
Further, when the upper surface of the
このように、プレイヤがコントローラ7を把持して左振りを行ったとき、プレイヤがコントローラ7を把持する方向によって、XおよびY軸方向加速度データから得られる加速度の変化傾向が異なる。しかしながら、図9(a)〜図9(d)を見れば明らかなように、プレイヤがコントローラ7を左振りしたとき、点Pが全てX−Y座標系の原点を中心に右回りに推移している。一方、プレイヤがコントローラ7を右振りしたとき、加速度が左振りとは逆の傾向を示すことは明らかであり、点Pが全てX−Y座標系の原点を中心に左回りに推移することになる。つまり、X−Y座標系の原点を基準にプロット点Pが推移していく周回方向を算出すれば、プレイヤがコントローラ7を振っている方向(コントローラ7の移動方向)を判定することが可能となる。プロット点Pが推移していく周回方向とコントローラ7が振られている方向との関係は、座標軸の設定、加速度センサの特性、X−Y座標系の設定等によって変わるものであり、適宜各設定に応じて関係を調整すればよい。具体的には、得られた加速度データに基づいた重力加速度の方向(図9(a)〜図9(d)に示す破線矢印方向)を基準とし、当該重力加速度の方向に対する加速度データの推移方向を解析すれば、コントローラ7が振られている方向を正確に判定することができる。
Thus, when the player holds the
しかしながら、現実にはプレイヤがコントローラ7を振る前に行うバックスイング(振りかぶり)やひねり等の影響によって、上記X−Y座標系にプロットされる点Pの推移は、図10に示すような複雑な曲線を描く場合が多い。例えば、図10は左振りによる推移の一例であるが、振り始めに原点に対して左回りの推移(点P1〜点P3;推移L)が現れた後に、右回りの推移(点P3〜点P10;推移R)が現れるため、推移Lの時点で振り方向を判定すると右振りと判定されてしまう。推移Lは、加速度の大きさが相対的に小さいデータ群であるが、これはバックスイングの振りの強さが弱いからである。また、原点から放射方向に近い推移をしているが、これは右振りや左振りとは異なる方向にコントローラ7が振られることによるものである。したがって、このように加速度の大きさが相対的に小さく、原点から放射方向に近い推移をするデータ群は、振り方向を判断するには信頼性の低いデータであるといえる。したがって、推移Rのように、加速度の大きさが相対的に大きいデータ群であり、原点を中心とした周回方向に近い推移を用いて判断すれば、正確に振り方向を判定できるといえる。換言すると、振り方向を判断するには、加速度の大きさが相対的に大きなデータほど信頼度が高く、原点を中心とした周回方向に近い推移ほど信頼度が高くなることになる。
However, in reality, the transition of the point P plotted in the XY coordinate system is complicated as shown in FIG. 10 due to the influence of backswing (swinging) and twisting performed before the player swings the
上記信頼度は、時系列的に連続する2つの加速度データと原点とを結ぶ三角形の面積で表すことができる。例えば、図11に示すように、時系列的に隣接する点P4およびP5と原点とをそれぞれ結ぶ直線で囲まれた三角形の面積A45を考える。この場合、加速度の大きさが相対的に大きな点Pを用いて三角形を形成すると、面積A45が大きくなる。また、原点を中心とした周回方向に近い推移をする点Pを用いて三角形を形成すると、面積A45が大きくなる。つまり、面積A45の大きさによって、上記信頼度を表すことができることがわかる。 The reliability can be expressed by a triangular area connecting two acceleration data that are continuous in time series and the origin. For example, as shown in FIG. 11, consider an area A45 of a triangle surrounded by straight lines connecting points P4 and P5 adjacent in time series and the origin. In this case, if the triangle is formed using the point P having a relatively large acceleration, the area A45 becomes large. In addition, when a triangle is formed using the point P that changes in the circulation direction around the origin, the area A45 increases. That is, it can be seen that the reliability can be expressed by the size of the area A45.
図12は、図10で示した時系列的に連続する点P1〜P3において、隣接するそれぞれの2点と原点とによって形成された三角形を累積した領域の面積A13と、点P3〜P6において、隣接するそれぞれの2点と原点とによって形成された三角形を累積した領域の面積A36(面積A13は、面積A36の一部に重複)とを示す図である。図12に示すように、面積A13は、原点に対して左回りの推移を示す点P1〜P3を用いて算出された三角形の累積面積である。一方、面積A36は、原点に対して右回りの推移を示す点P3〜P6を用いて算出された三角形の累積面積である。図12から明らかなように、面積A13は、面積A36より極めて小さくなっている。本実施例では、右回りの三角形の面積および左回りの三角形の面積を時系列に沿って累計し、一方の累計が閾値を超えた場合、当該超えた累計面積を形成している三角形に含まれる点Pの推移が右回りか左回りかに基づいて、振り方向を判定する。これによって、信頼度の低いデータの影響を排除しながら正確な振り方向を判定することができる。ここで、振り始めから振り終わりまでの全ての点Pを解析すれば、より正しい振り方向の判定が可能であると考えられるが、本実施例では、振り動作の途中の早い段階で振り方向の判定を行うために閾値を基準とした判定が行われる。つまり、プレイヤがコントローラ7を振り終わる前(モーション認識処理途中)に振り方向の判定が行われ、コントローラ7が振られたと判定されてからコントローラ7の振り方向を判定するまでの期間が本発明の第1の判定期間に相当する。
FIG. 12 shows an area A13 of a region in which triangles formed by two adjacent points and the origin are accumulated at points P1 to P3 that are continuous in time series shown in FIG. It is a figure which shows area A36 (area A13 overlaps with a part of area A36) of the area | region which accumulated the triangle formed by each two adjacent points and the origin. As shown in FIG. 12, the area A <b> 13 is a cumulative area of triangles calculated using points P <b> 1 to P <b> 3 that show a counterclockwise transition with respect to the origin. On the other hand, the area A36 is a cumulative area of triangles calculated using points P3 to P6 showing a clockwise transition with respect to the origin. As is apparent from FIG. 12, the area A13 is much smaller than the area A36. In the present embodiment, the area of the clockwise triangle and the area of the counterclockwise triangle are accumulated along the time series, and if one of the accumulated values exceeds the threshold value, it is included in the triangle forming the exceeding accumulated area. The swing direction is determined based on whether the transition of the point P is clockwise or counterclockwise. Thereby, it is possible to determine an accurate swing direction while eliminating the influence of data with low reliability. Here, if all the points P from the start to the end of swing are analyzed, it can be considered that the correct swing direction can be determined. However, in this embodiment, the swing direction is determined at an early stage during the swing operation. In order to make a determination, a determination based on a threshold is performed. That is, the period from the determination of the swing direction before the player finishes swinging the controller 7 (during the motion recognition process) to the determination of the swing direction of the
次に、プレイヤがコントローラ7を振る速度の判定について説明する。プレイヤがコントローラ7を速く振ると、加速から減速までの期間が相対的に短くなる。一方、プレイヤがコントローラ7を遅く振ると、加速から減速までの期間が相対的に長くなる。つまり、同じ振り幅でプレイヤがコントローラ7を振った場合、プレイヤがコントローラ7を速く振るほどX−Y座標系にプロットされる点Pの間隔(以下、データ間隔と記載することがある)が広くなる。したがって、時系列的に連続する点Pの間隔をそれぞれ判定して、プレイヤがコントローラ7を振る速度を算出することができる。本実施例では、振り始めから振り終わりまでの全ての点Pを解析して、時系列的に連続する点Pの間隔のうち、最も間隔が広いものを抽出して振る速度を算出する。
Next, the determination of the speed at which the player swings the
次に、図13〜図15を参照して、コントローラ7が振られているときに、XおよびY軸方向加速度データによって、コントローラ7がひねられている方向を判定する方法について説明する。なお、図13は、コントローラ7のひねり方向を説明するための斜視図である。図14(a)〜図14(c)は、コントローラ7に加えられたひねりに応じて、XおよびY軸方向加速度データがそれぞれ示す加速度の値を示すグラフの一例である。図15は、図14(a)〜図14(c)の角度θに応じて算出されるスピンパラメータSの一例を示すグラフである。なお、図14(a)〜図14(c)は、図9と同様に点Pが得られた順に矢印で結んで示し、重力加速度を含む一切の加速度が加速度センサ701に付加されていない状態の加速度データの値を原点(X、Y)=(0、0)としている。
Next, a method of determining the direction in which the
図13において、プレイヤは、コントローラ7を把持して左振りまたは右振りでスイングするとき、さらにZ軸を中心として「左ひねり」または「右ひねり」をコントローラ7に加えることができる。ここで、「左ひねり」とは、プレイヤから見てZ軸を中心とした反時計方向にコントローラ7を回転させることを示している。また、「右ひねり」とは、プレイヤから見てZ軸を中心とした時計方向にコントローラ7を回転させることを示している。これらのひねり判定の結果は、ボールキャラクタBCに加えられるスピン(トップスピンやバックスピン)に反映される。
In FIG. 13, when the player holds the
ここで、コントローラ7が振られているときに、コントローラ7がひねられた角度を判定するには、振り始めから振り終わりまでのXおよびY軸方向加速度データを解析する必要がある。本実施例では、振り始めに得られるXおよびY軸方向加速度データを示す点Ps(つまり、X−Y座標系へ最初にプロットする始点)と振り終わりに得られるXおよびY軸方向加速度データを示す点Pe(つまり、X−Y座標系へ最後にプロットする終点)とを用いて、コントローラ7がひねられた角度を判定する。
Here, in order to determine the twisted angle when the
例えば、図14(a)は、コントローラ7の上面を上に向けた状態を維持(つまり、「ひねりなし」)して水平に左振りしたときに、振り始めから振り終わりまでに得られるXおよびY軸方向加速度データの一例を示している。そして、始点Psおよび原点を結ぶ直線から終点Peおよび原点を結ぶ直線までの間に形成される角度θ(以下、始点Psから終点Peまでの角度θと記載する)を算出し、当該角度θに応じたスピンパラメータSを設定する。この場合、コントローラ7に作用する重力方向が一定であるため、中程度の角度θが得られる。ここで、角度θは、X−Y座標系の原点から始点Psに向かうベクトルと原点から終点Peに向かうベクトルとが成す角度の絶対値を算出することによって求めることができる。
For example, FIG. 14A shows X and X obtained from the start to the end of swinging when the
図14(b)は、コントローラ7の上面を上に向けた状態から「左ひねり」を加えながら水平に左振りしたときに、振り始めから振り終わりまでに得られるXおよびY軸方向加速度データの一例を示している。この場合、コントローラ7に作用する重力方向がひねりに応じて右回りに変化していくため、「ひねりなし」で得られる角度θより「左ひねり」で得られる始点Psから終点Peまでの角度θが大きくなる。
FIG. 14B shows X and Y-axis direction acceleration data obtained from the start to the end of swinging when the
図14(c)は、コントローラ7の上面を上に向けた状態から「右ひねり」を加えながら水平に左振りしたときに、振り始めから振り終わりまでに得られるXおよびY軸方向加速度データの一例を示している。この場合、コントローラ7に作用する重力方向がひねりに応じて左回りに変化していくため、「ひねりなし」で得られる角度θより「右ひねり」で得られる始点Psから終点Peまでの角度θが小さくなる。
FIG. 14C shows X and Y-axis acceleration data obtained from the start to the end of swinging when the
このように、始点Psから終点Peまでの角度θに注目すれば、振っているときにコントローラ7に加えられたひねり方向やひねり角度を判定することができる。例えば、コントローラ7が「左振り」されているとき、角度θが閾値より大きい場合「左ひねり」、角度θが閾値より小さい場合「右ひねり」と判定することができる。なお、コントローラ7が「右振り」されているときは、これらの傾向が逆に現れる。すなわち、コントローラ7が「右振り」されているとき、角度θが閾値より大きい場合「右ひねり」、角度θが閾値より小さい場合「左ひねり」と判定することができる。つまり、X軸方向加速度データおよびY軸方向加速度データがX−Y座標系における座標点として示す始点Psおよび終点Peを用いて、X軸およびY軸に対して互いに直交するZ軸を回転軸としたコントローラ7の回転動作を判定することができる。このように、プレイヤがコントローラ7を振った速度やひねりながら振った回転動作の判定は、振り終わった後(モーション認識処理終了後)に行われる。なお、コントローラ7が振られたと判定されてからコントローラ7の振り速度や回転動作を判定するまで(つまり、プレイヤがコントローラ7を振り終わるまで)の期間が本発明の第2の判定期間に相当する。
In this way, by paying attention to the angle θ from the start point Ps to the end point Pe, the twist direction and twist angle applied to the
また、「ひねりなし」で得られる角度θの大きさ(図14(a))を基準とした角度θの大きさの差に応じて、プレイヤがコントローラ7をひねった回転の量を決定することができる。本実施例では、所定の変換テーブルを用いて、ひねり認識に用いた角度θを当該角度θの大きさに応じてスピンパラメータSに置き換えて、その後のゲーム処理を行っている。スピンパラメータSは、例えば角度θの大きさに応じて決定される−1.0〜1.0の浮動小数である。そして、ゲーム処理においては、S=−1.0のときにバックスピンの最大効果を与え、S=1.0のときにトップスピンの最大効果を与えるものとする。
In addition, the amount of rotation by which the player twists the
例えば、図15に示すように、角度θ≦30°のときは、スピンパラメータS=−1.0に変換する。30°<角度θ≦70°のときは、スピンパラメータS=−1.0〜0.0の間で線形に変化させて変換する。70°<角度θ≦120°のときは、スピンパラメータS=0.0に変換する。120°<角度θ≦160°のときは、スピンパラメータS=0.0〜1.0の間で線形に変化させて変換する。160°<角度θのときは、スピンパラメータS=1.0に変換する。これらの変換テーブルを調整することによって、コントローラ7に対するひねりをゲーム処理に反映させる効果を調整することができる。
For example, as shown in FIG. 15, when the angle θ ≦ 30 °, the spin parameter S is converted to −1.0. When 30 ° <angle θ ≦ 70 °, conversion is performed by changing linearly between the spin parameters S = −1.0 to 0.0. When 70 ° <angle θ ≦ 120 °, the spin parameter S is converted to 0.0. When 120 ° <angle θ ≦ 160 °, conversion is performed by changing linearly between spin parameters S = 0.0 to 1.0. When 160 ° <angle θ, the spin parameter S is converted to 1.0. By adjusting these conversion tables, the effect of reflecting the twist on the
次に、図16および図17を参照して、コントローラ7が振り上げられているまたは振り下ろされている状態を判定する方法について説明する。なお、図16(a)〜図16(c)は、コントローラ7の上下方向に傾けた状態とそれらの座標軸との関係を説明するための図である。図17は、Z軸方向加速度データに応じて算出される上下角度UDの一例を示すグラフである。
Next, a method for determining a state in which the
本実施例では、振り始め前のコントローラ7の上下方向に基づいて、コントローラ7が振り上げられているまたは振り下ろされているかを判定している。例えば、プレイヤがコントローラ7を振り始める前に当該コントローラ7の前面を水平から所定の角度以上に下方向へ向けていたとき、プレイヤがコントローラ7を振り上げてスイングしたと判定する。一方、プレイヤがコントローラ7を振り始める前に当該コントローラ7の前面を水平から所定の角度以上に上方向へ向けていたとき、プレイヤがコントローラ7を振り下ろしてスイングしたと判定する。
In this embodiment, it is determined whether the
具体的には、コントローラ7が振られていると判定されたとき、その直前の数フレームに対して得られたZ軸方向加速度データに基づいて、振り始め前のコントローラ7の上下方向を判定する。例えば、図16(a)に示すように、プレイヤがコントローラ7を振り始める前に当該コントローラ7が水平である場合、重力加速度がY軸負方向に作用するためZ軸方向加速度データには当該重力加速度の影響が現れない。一方、図16(b)に示すように、プレイヤがコントローラ7を振り始める前に当該コントローラ7の前面を水平から上方向に向けている場合、重力加速度がY軸負方向およびZ軸負方向に作用するためZ軸方向加速度データが当該重力加速度の影響によってZ軸負方向の加速度を示す。また、図16(c)に示すように、プレイヤがコントローラ7を振り始める前に当該コントローラ7の前面を水平から下方向に向けている場合、重力加速度がY軸負方向およびZ軸正方向に作用するためZ軸方向加速度データが当該重力加速度の影響によってZ軸正方向の加速度を示す。つまり、プレイヤがコントローラ7を振り始める前のZ軸方向加速度データを解析すれば、プレイヤがコントローラ7を振り始める前の上下方向が判定できる。
Specifically, when it is determined that the
本実施例では、得られたZ軸方向加速度データをメインメモリ33に格納し、コントローラ7が振られていると判定されたときに、その直前の30フレーム分に対して得られたZ軸方向加速度データの平均値Zaveをコントローラ7の上下角度UDに変換し、その後のゲーム処理を行っている。
In this embodiment, the obtained Z-axis direction acceleration data is stored in the
例えば、図17に示すように、平均値Zave≦−0.2Gのときは、上下角度UD=60°に変換する。−0.2G<平均値Zave≦1.0Gのときは、上下角度UD=60°〜−60°の間で線形に変化させて変換する。1.0G<平均値Zaveのときは、上下角度UD=−60°に変換する。ここで、平均値Zaveに対して変換される上下角度UDのバランスがZ軸正方向に寄っているが、これは振り始めでは必ずZ軸方向加速度データがZ軸正方向に振れているため、その影響を考慮したためである。これらの変換テーブルを調整することによって、コントローラ7の振り始め前に得られたZ軸方向加速度データをゲーム処理に反映させる効果を調整することができる。
For example, as shown in FIG. 17, when the average value Zave ≦ −0.2G, the vertical angle UD is converted to 60 °. When −0.2 G <average value Zave ≦ 1.0 G, conversion is performed by linearly changing the vertical angle UD = 60 ° to −60 °. When 1.0 G <average value Zave, the vertical angle UD is converted to −60 °. Here, the balance of the vertical angle UD converted with respect to the average value Zave is shifted in the positive direction of the Z-axis, but this is because the acceleration data in the Z-axis direction always swings in the positive direction of the Z-axis at the start of swinging. This is because the influence is taken into consideration. By adjusting these conversion tables, it is possible to adjust the effect of reflecting the Z-axis direction acceleration data obtained before the
次に、ゲームシステム1において行われるゲーム処理の詳細を説明する。まず、図18を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図18は、ゲーム装置3のメインメモリ33に記憶される主なデータを示す図である。
Next, the details of the game process performed in the
図18に示すように、メインメモリ33には、加速度データDa、上下角度データDb、左回り累積面積データDc、右回り累積面積データDd、第1ボール軌道データDe、第2ボール軌道データDf、第1ダミーボールデータDg、第2ダミーボールデータDh、ボールキャラクタデータDi、始点−終点角度データDj、スピンパラメータDk、最大プロット間隔データDl、カウントデータDm、および画像データDn等が記憶される。なお、メインメモリ33には、図18に示す情報に含まれるデータの他、ゲームに登場するプレイヤキャラクタPCや相手キャラクタEC等に関するデータ(位置データ等)や仮想ゲーム空間に関するデータ(地形データ等)等、ゲーム処理に必要なデータが記憶される。
As shown in FIG. 18, the
加速度データDaは、コントローラ7から送信データとして送信されてくる一連の操作情報に含まれる加速度データであり、得られた加速度データを所定フレーム分(例えば、ゲーム処理間隔である1フレーム(1/60秒)に対して30フレーム分)格納する。加速度データDaには、加速度センサ701がX、Y、およびZ軸の3軸成分に分けてそれぞれ検出したX軸方向加速度データDa1、Y軸方向加速度データDa2、およびZ軸方向加速度データDa3が含まれる。なお、ゲーム装置3に備える受信ユニット6は、コントローラ7から所定間隔例えば5msごとに送信される操作情報に含まれる加速度データDaを受信し、受信ユニット6に備える図示しないバッファに蓄えられる。その後、ゲーム処理間隔である1フレーム毎に読み出されてメインメモリ33に記憶される。
The acceleration data Da is acceleration data included in a series of operation information transmitted as transmission data from the
上下角度データDbは、振り始め前にコントローラ7から得られたZ軸方向加速度データDa3に応じて算出された上下角度UD(図16、図17参照)を示すデータである。左回り累積面積データDcは、X−Y座標系において、原点に対して左回りに推移する加速度データを用いて形成された三角形の面積(図12参照)を累積したデータである。右回り累積面積データDdは、X−Y座標系において、原点に対して右回りに推移する加速度データを用いて形成された三角形の面積(図12参照)を累積したデータである。
The vertical angle data Db is data indicating the vertical angle UD (see FIGS. 16 and 17) calculated according to the Z-axis direction acceleration data Da3 obtained from the
第1ボール軌道データDeは、後述するモーション認識処理における初期段階(第1の判定期間)におけるデータに基づいて、ボールキャラクタBCが仮想ゲーム空間内を移動する軌道(第1ボール軌道TR1;本発明の第1挙動情報の一例)を算出したデータである。第2ボール軌道データDfは、モーション認識処理の全期間(第2の判定期間)において得られたデータに基づいて、ボールキャラクタBCが仮想ゲーム空間内を移動する軌道(第2ボール軌道TR2;本発明の第2挙動情報の一例)を算出したデータである。第1ダミーボール位置データDgは、第1ダミーボール速度データDg1および第1ダミーボール位置データDg2を含み、第1ボール軌道データDeで示される軌道に沿って移動させる第1ダミーボールの速度および位置を示す仮想ゲーム空間に対する速度ベクトルデータおよび位置座標データである。第2ダミーボール位置データDhは、第2ダミーボール速度データDh1および第2ダミーボール位置データDh2を含み、第2ボール軌道データDfで示される軌道に沿って移動させる第2ダミーボールの速度および位置を示す仮想ゲーム空間に対する速度ベクトルデータおよび位置座標データである。ボールキャラクタデータDiは、ボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2を含み、ボールキャラクタBCの現在の速度および位置を示す仮想ゲーム空間に対する速度ベクトルデータおよび位置座標データである。 The first ball trajectory data De is a trajectory (first ball trajectory TR1; the present invention) in which the ball character BC moves in the virtual game space based on data in an initial stage (first determination period) in a motion recognition process described later. Is an example of the first behavior information. The second ball trajectory data Df is a trajectory (second ball trajectory TR2; book) in which the ball character BC moves in the virtual game space based on data obtained in the entire period of the motion recognition process (second determination period). It is the data which calculated the example of the 2nd behavior information of invention. The first dummy ball position data Dg includes first dummy ball speed data Dg1 and first dummy ball position data Dg2, and the speed and position of the first dummy ball to be moved along the track indicated by the first ball track data De. These are velocity vector data and position coordinate data for a virtual game space. The second dummy ball position data Dh includes second dummy ball speed data Dh1 and second dummy ball position data Dh2, and the speed and position of the second dummy ball to be moved along the track indicated by the second ball track data Df. These are velocity vector data and position coordinate data for a virtual game space. Ball character data Di includes ball character speed data Di1 and ball character position data Di2, and is speed vector data and position coordinate data for a virtual game space indicating the current speed and position of ball character BC.
始点−終点角度データDjは、上記X−Y座標系において、始点Psから終点Peまでの角度θ(図14参照)を示すデータである。スピンパラメータDkは、角度θを置き換えることによって得られるスピンパラメータS(図15参照)を示すデータである。最大プロット間隔データDlは、モーション認識処理の全期間において得られたXおよびY軸方向加速度データに基づいて、X−Y座標系にプロットした場合に時系列的に連続する間隔が最大となるデータ間隔を示すデータである。カウントデータDmは、後述するフローチャートで用いられるカウント値を示すデータである。 The start point-end point angle data Dj is data indicating an angle θ (see FIG. 14) from the start point Ps to the end point Pe in the XY coordinate system. The spin parameter Dk is data indicating the spin parameter S (see FIG. 15) obtained by replacing the angle θ. The maximum plot interval data Dl is data in which the interval that is continuous in time series becomes maximum when plotted in the XY coordinate system based on the X and Y axis direction acceleration data obtained during the entire period of the motion recognition process. This is data indicating the interval. The count data Dm is data indicating a count value used in a flowchart described later.
画像データDnは、プレイヤキャラクタ画像データDn1およびボール画像データDn2等を含み、仮想ゲーム世界にプレイヤキャラクタPCやボールキャラクタBCを配置してゲーム画像を生成するためのデータである。 The image data Dn includes player character image data Dn1, ball image data Dn2, and the like, and is data for arranging a player character PC and a ball character BC in the virtual game world to generate a game image.
次に、図19〜図26を参照して、ゲーム装置3において行われるゲーム処理の詳細を説明する。なお、図19は、ゲーム装置3において実行されるゲーム処理の流れを示すフローチャートである。図20は、図19におけるステップ51の初期モーション認識処理の詳細な動作を示すサブルーチンである。図21は、図19におけるステップ52のアニメーション開始処理の詳細な動作を示すサブルーチンである。図22は、図19におけるステップ53の第1挙動処理の詳細な動作を示すサブルーチンである。図23は、図19におけるステップ54の第2挙動処理の詳細な動作を示すサブルーチンである。図24は、モーション認識処理、アニメーション処理、およびボール挙動処理がそれぞれ行われるタイミングを示す図である。図25は、スピンパラメータSに応じて決定されるボール挙動の一例を示す図である。図26は、第1ボール軌道TR1および第2ボール軌道TR2の一例を示す図である。なお、図19〜図23に示すフローチャートにおいては、ゲーム処理のうち、プレイヤがコントローラ7を振ることによるゲーム操作に基づいて行われるゲーム処理について説明し、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。また、図19〜図23では、CPU30が実行する各ステップを「S」と略称する。
Next, with reference to FIGS. 19 to 26, details of the game process performed in the
ゲーム装置3の電源が投入されると、ゲーム装置3のCPU30は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ33等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリ33に読み込まれ、CPU30によって当該ゲームプログラムの実行が開始される。図12〜図15に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。
When the power of the
図19において、CPU30は、初期モーション認識処理(ステップ51)、アニメーション開始処理(ステップ52)、第1挙動処理(ステップ53)、および第2挙動処理(ステップ54)を順に行う。なお、これらの詳細な動作内容については、後述する。そして、CPU30は、ゲームを終了するか否かを判断する(ステップ55)。ゲームを終了する条件としては、例えば、ゲームオーバーとなる条件(例えば、プレイヤキャラクタがプレイするテニスゲームが終了する等)が満たされたことや、プレイヤがゲームを終了する操作を行ったこと等がある。CPU30は、ゲームを終了しない場合に上記ステップ51に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
In FIG. 19, the
図20を参照して、上記ステップ51における初期モーション認識処理の動作について説明する。まず、CPU30は、コントローラ7から受信した操作情報に含まれる加速度データを取得し(ステップ61)、処理を次のステップに進める。そして、CPU30は、取得した加速度データを加速度データDaとしてメインメモリ33に記憶する。ここで、ステップ61で取得される加速度データには、加速度センサ701がX、Y、およびZ軸の3軸成分に分けてそれぞれ検出したX、Y、およびZ軸方向加速度データが含まれている。ここでは、通信部75は、所定の時間間隔(例えば5ms間隔)で操作情報をゲーム装置3へ送信しており、受信ユニット6に備える図示しないバッファに少なくとも加速度データが蓄えられる。そして、CPU30は、ゲーム処理単位である1フレーム毎にバッファに蓄えられた加速度データを取得してメインメモリ33に格納する。
With reference to FIG. 20, the operation | movement of the initial motion recognition process in the said step 51 is demonstrated. First, the
次に、CPU30は、取得した加速度データを用いて、コントローラ7がプレイヤによって振られたか否かを判断する(ステップ62)。具体的には、CPU30は、上記ステップ61で取得したZ軸方向加速度データが閾値を越えたZ軸正方向の値を示しているとき、プレイヤがコントローラ7を振ったと判定する。そして、CPU30は、コントローラ7が振られている場合、処理を次のステップ63に進める。一方、CPU30は、コントローラ7が振られていない場合、上記ステップ61に戻って処理を繰り返す。
Next, the
ステップ63において、CPU30は、振り始め前のコントローラ7の上下方向を判定し、処理を次のステップに進める。具体的には、CPU30は、メインメモリ33に格納されている過去数フレーム(例えば、30フレーム)分のZ軸方向加速度データDa3の平均値Zaveを算出する。そして、CPU30は、平均値Zaveを上下角度UDに変換(図17参照)して、当該上下角度UDを示すデータを上下角度データDbとして格納する。
In
次に、CPU30は、コントローラ7から受信した操作情報に含まれる加速度データをステップ61と同様の処理によって取得し(ステップ64)、当該取得した加速度データのZ軸方向データが閾値以下であるかどうかに基づいてプレイヤがコントローラ7を振る動作を終了したか否かを判断する(ステップ65)。そして、CPU30は、コントローラ7を振る動作が継続している場合、処理を次のステップ66に進める。一方、CPU30は、コントローラ7を振る動作が終了している場合、上記ステップ51に戻って処理を繰り返す。
Next, the
ステップ66において、CPU30は、上記ステップ64で所得した加速度データに基づいて、X−Y座標系における原点との間で形成される三角形面積を累積し、処理を次のステップに進める。具体的には、図12を参照して説明したように、上記ステップ64で所得した加速度データがX−Y座標系の原点に対して左回りに推移している場合、CPU30は、適宜形成された三角形の面積を左回り累積面積データDcに累積して格納する。一方、CPU30は、上記ステップ64で所得した加速度データがX−Y座標系の原点に対して右回りに推移している場合、適宜形成された三角形の面積を右回り累積面積データDdに累積して格納する。
In step 66, the
次に、CPU30は、上記ステップ64で所得した加速度データによってX−Y座標系にプロットされる間隔(データ間隔)を判定し(ステップ67)、処理を次のステップに進める。具体的には、CPU30は、得られたデータ間隔が、現在最大プロット間隔データDlに格納されているデータ間隔より広い場合、当該最大プロット間隔データDlを得られたデータ間隔に更新する。一方、CPU30は、得られたデータ間隔が、現在最大プロット間隔データDlに格納されているデータ間隔と同じまたは狭い場合、そのまま処理を次のステップに進める。
Next, the
次に、CPU30は、左回り累積面積データDcが示す累積面積および右回り累積面積データDdが示す累積面積の何れか一方が閾値を超えたか否かを判断する(ステップ68)。そして、CPU30は、累積面積の何れか一方が閾値を超えた場合、当該サブルーチンによる処理を終了して上記ステップ52に処理を進める。一方、CPU30は、累積面積が何れも閾値を超えていない場合、上記ステップ64に戻って処理を繰り返す。
Next, the
図21を参照して、上記ステップ52におけるアニメーション開始処理の動作について説明する。上記ステップ68の処理の後、CPU30は、コントローラ7に対して振られた方向を判定し(ステップ71)、処理を次のステップに進める。例えば、上記ステップ68において、左回り累積面積データDcが示す累積面積が閾値を超えたと判定された場合、加速度データが上述したX−Y座標系の原点を中心に左回りに推移しているとしてプレイヤがコントローラ7を「右振り」(図7参照)していると判定される。一方、上記ステップ68において、右回り累積面積データDdが示す累積面積が閾値を超えたと判定された場合、加速度データが上述したX−Y座標系の原点を中心に右回りに推移しているとしてプレイヤがコントローラ7を「左振り」(図7参照)していると判定する。
With reference to FIG. 21, the operation of the animation start process in
これらステップ68およびステップ71による処理から明らかなように、上記ステップ71は、左回り累積面積データDcが示す累積面積および右回り累積面積データDdが示す累積面積の何れか一方が閾値を超えた場合に実行され、プレイヤがコントローラ7を振り終わることによって実行される処理ではない。図24に示すように、プレイヤがコントローラ7を振り始めてから振り終わるまでの動作を認識する処理(モーション認識処理)は、時刻T1〜T4まで行われている。一方、プレイヤキャラクタPCがテニスラケットを振るアニメーションを表現する処理(アニメーション処理)は、時刻T2以降に行われ、モーション認識処理の途中から開始される。つまり、コントローラ7に対する振り方向がコントローラ7を振り始めてから振り終わるまでの途中段階(第1の判定期間終了時)で判定されて、ゲーム画像に反映されることになる。ここで、上記ステップ51の初期モーション認識処理は、モーション認識処理のうち、時刻T1〜T2で行われる処理となる。
As is clear from the processing in these
なお、閾値を超えた累積面積の区別とコントローラ7が振られている方向との関係は、コントローラ7における座標軸の設定、加速度センサの特性、X−Y座標系の設定等によって変わるものであり、適宜各設定に応じて関係を調整すればよい。具体的には、得られた加速度データに基づいた重力加速度の方向を基準として、閾値を超えた累積面積の区別と振り方向との関係を解析すれば、コントローラ7が振られている方向を正確に判定することができる。
The relationship between the cumulative area exceeding the threshold and the direction in which the
次に、CPU30は、プレイヤキャラクタPCがボールキャラクタBCを打ち返す当たりを判定し(ステップ72)、プレイヤキャラクタPCが空振りするか否かを判断する(ステップ73)。ここで、ここまで実行したステップでは、プレイヤキャラクタPCがラケットを振る動作を開始していない。しかしながら、CPU30は、現時点のプレイヤキャラクタPCの位置およびその後の予想位置と、現時点のボールキャラクタBCの位置およびその後の予想軌道と、プレイヤキャラクタPCがテニスラケットを振る方向等とのデータから、到来するボールキャラクタBCを今回のスイングによって打ち返す当たりを予測して判定することが可能である。そして、CPU30は、プレイヤキャラクタPCが空振りすると予測される場合、プレイヤキャラクタPCが空振りするアニメーションをモニタ2に表示する処理を開始し(ステップ76)、上記ステップ55に進んで処理を行う。一方、CPU30は、プレイヤキャラクタPCがボールキャラクタBCを打ち返すと予測される場合、処理を次のステップ74に進める。
Next, the
ステップ74において、CPU30は、現時点からプレイヤキャラクタPCがボールキャラクタBCを打ち返すまでの時間tを算出し、カウントを開始してカウントデータDnを更新する。そして、CPU30は、プレイヤキャラクタPCがボールキャラクタBCを打ち返すアニメーションをモニタ2に表示する処理を開始し(ステップ75)、処理を次のステップに進める。なお、打ち返すアニメーションは、上下角度UDに応じたスイングで表現される。つまり、上下角度UDで示される上下方向に向けてプレイヤキャラクタPCがテニスラケットを振り上げるまたは振り下ろすようなアニメーションが表現される。なお、プレイヤがコントローラ7を振り終わる前に判定された情報に基づいて表示されるアニメーションは、予め決められたプレイヤキャラクタPCの一連の動作であって、本発明の第1挙動情報の一例に相当する。
In
次に、CPU30は、コントローラ7から受信した操作情報に含まれる加速度データを取得し(ステップ77)、当該取得した加速度データに基づいてプレイヤがコントローラ7を振る動作を終了したか否かを判断する(ステップ78)。そして、CPU30は、コントローラ7を振る動作が継続している場合、処理を次のステップ79に進める。一方、CPU30は、コントローラ7を振る動作が終了している場合、処理を次のステップ101に進める。なお、ステップ77における加速度データの取得処理については、上述したステップ61と同様であるため詳細な説明を省略する。また、ステップ78における振り判定方法についても、ステップ77で取得した加速度データを用いることを除いて上述したステップ62と同様であるため、詳細な説明を省略する。
Next, the
ステップ79において、CPU30は、上記ステップ77で所得した加速度データによってX−Y座標系にプロットされる間隔(データ間隔)を判定する。なお、ステップ79におけるデータ間隔判定処理については、ステップ77で取得した加速度データを用いることを除いて上記ステップ67と同様であるため詳細な説明を省略する。次に、CPU30は、現在のカウントデータDnのカウント値が時間tに到達したか否かを判断する(ステップ80)。そして、CPU30は、現在のカウント値が時間tに未到達である場合、カウントデータDnのカウント値を更新して(ステップ81)、上記ステップ77に戻って処理を繰り返す。一方、CPU30は、現在のカウント値が時間tに到達した場合、当該サブルーチンによる処理を終了して上記ステップ53に処理を進める。
In step 79, the
図22を参照して、上記ステップ53における第1挙動処理の動作について説明する。上記ステップ80の処理の後、CPU30は、ボールキャラクタBCを打ち返す初速度、方向、および位置を算出して当該位置にボールキャラクタBCを表示し(ステップ91)、処理を次のステップに進める。具体的には、CPU30は、ボールキャラクタBCの速度および方向を速度ベクトル(vx、vy、vz)で示し、当該速度ベクトルを示すデータをボールキャラクタ速度データDi1に格納する。ここで、速度ベクトル(vx、vy、vz)は、その大きさは固定値で設定される。そして、速度ベクトル(vx、vy、vz)の方向は、プレイヤがコントローラ7を振る方向、コントローラ7を振り始めたタイミングとボールキャラクタBCが到来するタイミングとの関係、および上下角度UD等に基づいて設定される。具体的には、ボールキャラクタBCが打ち返される左右方向は、プレイヤキャラクタPCがテニスラケットを振る左右方向(つまり、コントローラ7の振り方向)とボールキャラクタBCを打撃するタイミング(つまり、コントローラ7の振り始めのタイミング)で決定される。また、ボールキャラクタBCが打ち返される上下方向は、プレイヤキャラクタPCがテニスラケットを振る上下方向(つまり、上下角度UD)で決定される。例えば、上下角度UDが正の角度であるときは振り下ろしであるため、ボールキャラクタBCの速度ベクトルが当該上下角度UDの数値に応じた低い方向に設定される。また、上下角度UDが負の角度であるときは振り上げであるため、ボールキャラクタBCの速度ベクトルが当該上下角度UDの数値に応じた高い方向に設定される。また、CPU30は、ボールキャラクタBCがプレイヤキャラクタPCのテニスラケットで打撃された位置を仮想ゲーム空間の位置座標(x、y、z)で示し、当該位置座標を示すデータをボールキャラクタ位置データDi2に格納する。
With reference to FIG. 22, the operation of the first behavior process in step 53 will be described. After the process of
次に、CPU30は、コントローラ7から受信した操作情報に含まれる加速度データを取得する(ステップ92)。そして、CPU30は、上記ステップ92で所得した加速度データによってX−Y座標系にプロットされる間隔(データ間隔)を判定して(ステップ93)、処理を次のステップに進める。なお、ステップ92における加速度データの取得処理については、上述したステップ61と同様であるため詳細な説明を省略する。また、ステップ93におけるデータ間隔判定処理については、ステップ92で取得した加速度データを用いることを除いて上記ステップ67と同様であるため詳細な説明を省略する。
Next, the
次に、CPU30は、現在のボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2に格納された速度ベクトル(vx、vy、vz)および位置座標(x、y、z)に基づいて第1ボール軌道TR1を算出し、ボールキャラクタBCを当該第1ボール軌道TR1に沿って移動させてモニタ2に表示する(ステップ94)。CPU30は、仮想ゲーム空間に現実世界の物理法則(例えば、重力、空気の抵抗、風の影響)を擬似的に、または厳密に定義し、速度ベクトル(vx、vy、vz)、位置座標(x、y、z)、スピンパラメータS(ここでは、S=0.0)、および当該物理法則に基づいて第1ボール軌道TR1を算出して第1ボール軌道データDeに格納する。そして、第1ボール軌道TR1に沿って移動するようにボールキャラクタBCの速度ベクトル(vx、vy、vz)および位置座標(x、y、z)を新たに算出する。そして、CPU30は、新たな速度ベクトル(vx、vy、vz)および位置座標(x、y、z)をボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2に格納して、位置座標(x、y、z)にボールキャラクタBCをモニタ2に表示する。そして、CPU30は、処理を次のステップに進める。このように、第1ボール軌道TR1は、プレイヤがコントローラ7を振り終わる前(第1の判定期間)に取得されたコントローラ7からの操作情報に応じて算出され、以降の時間経過に応じてボールキャラクタBCの位置(状態)を制御する情報(第1挙動情報)となる。
Next, the
次に、CPU30は、上記ステップ92で取得した加速度データに基づいてプレイヤがコントローラ7を振る動作を終了したか否かを判断する(ステップ95)。そして、CPU30は、コントローラ7を振る動作が継続している場合、上記ステップ92に戻って処理を繰り返す。一方、CPU30は、コントローラ7を振る動作が終了している場合、処理を次のステップ54に進める。なお、ステップ95における振り判定方法については、ステップ92で取得した加速度データを用いることを除いて上述したステップ62と同様であるため、詳細な説明を省略する。
Next, the
上記ステップ91〜ステップ95の処理から明らかなように、第1挙動処理とはボールキャラクタBCが打撃されてからプレイヤがコントローラ7を振り終わるまでの処理である。図24に示すように、ボールキャラクタBCが打ち返される挙動を表現する処理(ボール挙動処理)は、時刻T3以降に行われ、モーション認識処理の途中から開始される。つまり、コントローラ7を振り始めてから振り終わるまでの途中段階で判定された操作情報(加速度データ)に基づいて、ボールキャラクタBCが打ち返される様子がゲーム画像に反映されることになる。ここで、上記ステップ52のアニメーション開始処理は、アニメーション処理のうち、時刻T2〜T3で行われる処理となる。また、上記ステップ53の第1挙動処理は、ボール挙動処理のうち、時刻T3〜T4で行われる処理となる。また、後述する第2挙動処理は、プレイヤがコントローラ7を振り終わった後にボールキャラクタBCが打ち返される挙動を表現する処理であり、ボール挙動処理のうち、時刻T4以降に行われる処理となる。
As is apparent from the processing in steps 91 to 95, the first behavior processing is processing from when the ball character BC is hit until the player finishes swinging the
図23を参照して、上記ステップ54における第2挙動処理の動作について説明する。上記ステップ95の処理の後、CPU30は、始点Psから終点Peまでの角度θ(図14参照)を算出し、始点−終点角度データDjに格納する(ステップ101)。次に、CPU30は、角度θをスピンパラメータSに変換(図15参照)し、スピンパラメータDkに格納する(ステップ102)。そして、CPU30は、最大プロット間隔データDlに格納されたデータ間隔に基づいて、第2ダミーボールの速度ベクトル(v2x、v2y、v2z)を算出し、第2ダミーボール速度データDh1に格納して(ステップ103)、処理を次のステップに進める。
With reference to FIG. 23, the operation | movement of the 2nd behavior process in the said step 54 is demonstrated. After the process of step 95, the
ここで、第2ダミーボールの速度ベクトル(v2x、v2y、v2z)は、プレイヤキャラクタPCがテニスラケットでボールキャラクタBCを打撃した時点(図24に示す時刻T3)まで遡り、上記データ間隔(つまり、コントローラ7を振った速度)による影響を加えてボールキャラクタBCの速度ベクトルを再算出するものである。したがって、速度ベクトル(v2x、v2y、v2z)の大きさは、上記データ間隔に応じて設定される。具体的には、上記データ間隔が相対的に広いときは速度ベクトルの大きさを相対的に大きく設定し、上記データ間隔が相対的に狭いときは速度ベクトルの大きさを相対的に狭く設定する。そして、速度ベクトル(v2x、v2y、v2z)の方向は、上記ステップ91と同様に設定する。
Here, the velocity vector (v2x, v2y, v2z) of the second dummy ball goes back to the time when the player character PC hits the ball character BC with the tennis racket (time T3 shown in FIG. 24), and the data interval (that is, The velocity vector of the ball character BC is recalculated with the influence of the velocity of the
次に、CPU30は、上記ステップ75で開始しているプレイヤキャラクタPCがボールキャラクタBCを打ち返すアニメーションを調整する処理を行ってモニタ2に表示し(ステップ104)、処理を次のステップに進める。これは、上記ステップ75(図24に示す時刻T2)ではプレイヤがコントローラ7を振った左右および上下方向および振るタイミングが判明しているだけであるため、それらの情報のみに基づいたアニメーションが開始されている。しかしながら、ステップ104(図24に示す時刻T4)ではプレイヤがコントローラ7に加えたひねり角度やコントローラ7を振った速度がさらに判明しているため、より多くの情報に基づいたアニメーションを再現できる。つまり、上記ステップ104からは、上記ステップ75から開始されているアニメーションを、ひねり角度から判明したトップスピンやバックスピンを加えるスイングや上記データ間隔から判明したスイング速度が反映されたアニメーションに調整してモニタ2に表示する。なお、プレイヤがコントローラ7を振り始めてから振り終わるまでの情報に基づいて調整されるアニメーションは、予め決められたプレイヤキャラクタPCの一連の動作であって、本発明の第2挙動情報の一例に相当する。
Next, the
次に、CPU30は、ボールキャラクタ位置データDi2を参照し、ボールキャラクタBCが仮想ゲーム空間における所定の空間まで到達したか否かを判断する(ステップ105)。ここで、所定の空間とは、例えば、仮想ゲーム空間に設定された相手コート上の空間やテニスコート外(アウト)の空間である。そして、CPU30は、ボールキャラクタBCが所定の空間まで到達していない場合、処理を次のステップ106に進める。一方、CPU30は、ボールキャラクタBCが所定の空間に到達している場合、処理を次のステップ109に進める。
Next, the
ステップ106において、CPU30は、第1ボール軌道TR1および第2ボール軌道TR2を算出し、第1ボール軌道TR1から第2ボール軌道TR2へボールキャラクタBCの軌道を補間する処理を行う。そして、CPU30は、補間された軌道に沿ってボールキャラクタBCを移動させてボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2を更新し、当該ボールキャラクタBCをモニタ2に表示して(ステップ107)、処理を次のステップ108に進める。
In
図25および図26を参照して、第2ボール軌道TR2および補間処理について説明する。上記ステップ94で算出される第1ボール軌道TR1は、初期モーション認識処理で認識された情報(コントローラ7の左右および上下振り方向、振るタイミング)のみで算出されたボールキャラクタBCの軌道である。一方、第2ボール軌道TR2は、モーション認識処理全体で認識可能な情報(コントローラ7へのひねり角度および振り速度)を加えて算出されるボールキャラクタBCの軌道である。
The second ball trajectory TR2 and the interpolation process will be described with reference to FIGS. The first ball trajectory TR1 calculated in the
第2ボール軌道TR2は、第1ボール軌道TR1と同様に仮想ゲーム空間に現実世界の物理法則を定義して、速度ベクトル(v2x、v2y、v2z)、位置座標(x2、y2、z2)、スピンパラメータS、および当該物理法則に基づいて算出され第2ボール軌道データDfに格納される。CPU30は、ボールキャラクタBCがプレイヤキャラクタPCのテニスラケットで打撃された位置を位置座標(x2、y2、z2)および上記ステップ103で求められた速度ベクトル(v2x、v2y、v2z)を用いて、第1ボール軌道TR1と同様に算出される軌道にスピンパラメータSの影響を加えて第2ボール軌道TR2を算出する。このように、第2ボール軌道TR2は、プレイヤがコントローラ7を振り始めてから振り終わるまで(第2の判定期間)に取得されたコントローラ7からの操作情報に応じて算出され、以降の時間経過に応じてボールキャラクタBCの位置(状態)を制御する情報(第2挙動情報)となる。
Similarly to the first ball trajectory TR1, the second ball trajectory TR2 defines real world physics in the virtual game space, and includes a velocity vector (v2x, v2y, v2z), position coordinates (x2, y2, z2), spin It is calculated based on the parameter S and the physical law and is stored in the second ball trajectory data Df. The
図25に示すように、プレイヤがコントローラ7に「左ひねり」を加えながら「左振り」する、またはプレイヤがコントローラ7に「右ひねり」を加えながら「右振り」すると、スピンパラメータS>0.0となって「トップスピン」が表現される。一方、プレイヤがコントローラ7に「右ひねり」を加えながら「左振り」する、またはプレイヤがコントローラ7に「左ひねり」を加えながら「右振り」すると、スピンパラメータS<0.0となって「バックスピン」が表現される。CPU30は、スピンパラメータSがトップスピンを示す場合(S>0.0)、軌道が縦方向に急降下するように変化させる。また、CPU30は、スピンパラメータSがバックスピンを示す場合(S<0.0)、縦方向に飛距離が増加するように、かつ、振り方向に応じて横方向に曲がる(「左振り」では右に曲がり、「右振り」では左に曲がる)ように軌道を変化させる。そして、CPU30は、スピンパラメータSがスピンなしを示す場合(S=0.0)、軌道にスピンパラメータSによる変化を加えない。
As shown in FIG. 25, when the player “turns left” while adding “left twist” to the
図24および図26に示すように、第2ボール軌道TR2は、コントローラ7が振り終わった時刻T4で算出されるため、モニタ2に表示されているボールキャラクタBCが既に第1ボール軌道TR1に沿って移動している(図26の時刻T3〜T4間の太線)。一方、プレイヤがコントローラ7をスイングして得られたデータを全て反映した軌道は第2ボール軌道TR2であるため、ボールキャラクタBCの軌道を第1ボール軌道TR1から第2ボール軌道TR2に変更して移動させるのが望ましい。したがって、プレイヤに違和感を与えずにボールキャラクタBCを第2ボール軌道TR2に沿って移動させるためには、第1ボール軌道TR1から第2ボール軌道TR2までスムーズに接続しなければならない(図26の時刻T4〜T5間の太線)。本実施例では、第1ボール軌道TR1から第2ボール軌道TR2まで接続する過程(図16に示す時刻T4〜T5)で、それぞれの軌道に沿って表示されないダミーボールを飛ばし、それらのダミーボール位置の間を補間する位置をボールキャラクタBCの位置としている。
As shown in FIGS. 24 and 26, since the second ball trajectory TR2 is calculated at time T4 when the
CPU30は、第1ボール軌道TR1に沿って飛ばすダミーボールを第1ダミーボールB1とし、第1ダミーボール速度(v1x、v1y、v1z)および第1ダミーボール位置(x1、y1、z1)を第1ダミーボールのボールパラメータとする。また、CPU30は、第2ボール軌道TR2に沿って飛ばすダミーボールを第2ダミーボールB2とし、第2ダミーボール速度(v2x、v2y、v2z)および第2ダミーボール位置(x2、y2、z2)を第2ダミーボールのボールパラメータとする。そして、補間に要する時間(図26に示す時刻T5−T4)として補間時間Tiを設定する。
The
まず、時刻T4において、CPU30は、ボールキャラクタデータDiに格納されているボールキャラクタ速度(vx、vy、vz)およびボールキャラクタ位置(x、y、z)をそれぞれ第1ダミーボール速度(v1x、v1y、v1z)および第1ダミーボール位置(x1、y1、z1)として、第1ダミーボールデータDgに格納する。一方、第2ダミーボールデータDhに基づいて、第2ダミーボールB2を第2ボール軌道TR2に沿って時刻T4に相当する位置まで移動させ、第2ダミーボールデータDhを更新する。
First, at time T4, the
時刻T4〜T5の間の時刻Tnにおいて、CPU30は、第1ダミーボールB1および第2ダミーボールB2それぞれのボールパラメータを物理計算で更新し、それぞれ第1ボール軌道TR1および第2ボール軌道TR2に沿ってフレーム毎に移動させる。そして、CPU30は、以下の数式を用いてそれらのダミーボールを補間する位置および速度を算出して、ボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2を更新する(図26の時刻T4〜T5間の太線)。
ratio=(Tn−T4)÷Ti
x = x2 × ratio + x1 × (1.0 − ratio)
y = y2 × ratio + y1 × (1.0 − ratio)
z = z2 × ratio + z1 × (1.0 − ratio)
vx = v2x × ratio + v1x × (1.0 − ratio)
vy = v2y × ratio + v1y × (1.0 − ratio)
vz = v2z × ratio + v1z × (1.0 − ratio)このように、時刻T4〜T5の間のボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2は、経過時刻毎の第1ダミーボールB1および第2ダミーボールB2それぞれの速度および位置を所定割合で重み付けをして平均化して求められている。
At time Tn between times T4 and T5, the
ratio = (Tn−T4) ÷ Ti
x = x2 * ratio + x1 * (1.0-ratio)
y = y2 * ratio + y1 * (1.0-ratio)
z = z2 * ratio + z1 * (1.0-ratio)
vx = v2x * ratio + v1x * (1.0-ratio)
vy = v2y * ratio + v1y * (1.0-ratio)
vz = v2z × ratio + v1z × (1.0−ratio) In this way, the ball character speed data Di1 and the ball character position data Di2 between the times T4 and T5 are the first dummy ball B1 and the first The speed and position of each of the two dummy balls B2 are weighted at a predetermined ratio and averaged.
時刻T5以降では、CPU30は、第1ダミーボールB1および第2ダミーボールB2を破棄する。そして、CPU30は、現在のボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2に格納された速度ベクトル(vx、vy、vz)および位置座標(x、y、z)に基づいて第2ボール軌道TR2を算出し、第2ボール軌道TR2に沿ってボールキャラクタBCを移動させてボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2を更新し、当該ボールキャラクタBCをモニタ2に表示する(図26の時刻T5以降の太線)。
After time T5, the
図23に戻り、ステップ108において、CPU30は、ボールキャラクタBCが相手キャラクタECに打ち返された、またはボールキャラクタBCがアウトになった(コート外に直接出る)か否かを判断する。そして、CPU30は、ボールキャラクタBCが相手キャラクタECに打ち返されておらず、アウトにもなっていない場合、上記ステップ106に戻って処理を繰り返す。一方、CPU30は、ボールキャラクタBCが相手キャラクタECに打ち返された。またはアウトになった場合、当該サブルーチンによる処理を終了して、上記ステップ55に処理を進める。
Returning to FIG. 23, in step 108, the
一方、上記ステップ105において、ボールキャラクタBCが所定の空間に到達している場合、CPU30は、ボールキャラクタBCを当該第1ボール軌道TR1に沿って移動させてモニタ2に表示し(ステップ109)、処理を次のステップに進める。CPU30は、現在のボールキャラクタ速度データDi1およびボールキャラクタ位置データDi2に格納された速度ベクトル(vx、vy、vz)および位置座標(x、y、z)に基づいて第1ボール軌道TR1を算出し、ボールキャラクタBCを当該第1ボール軌道TR1に沿って移動させてモニタ2に表示する。このステップ109は、上記ステップ94と同様の処理であるため、これ以上の説明を省略する。
On the other hand, when the ball character BC has reached the predetermined space in
次に、CPU30は、ボールキャラクタBCが相手キャラクタECに打ち返された、またはボールキャラクタBCがアウトになった(コート外に直接出る)か否かを判断する(ステップ110)。そして、CPU30は、ボールキャラクタBCが相手キャラクタECに打ち返されておらず、アウトにもなっていない場合、上記ステップ109に戻って処理を繰り返す。一方、CPU30は、ボールキャラクタBCが相手キャラクタECに打ち返された。またはアウトになった場合、当該サブルーチンによる処理を終了して、上記ステップ55に処理を進める。
Next, the
このように、コントローラ7を用いてプレイヤが操作入力を行う際、当該操作入力を判定する期間途中でゲームオブジェクトの状態に対して当該操作入力を反映させる処理を開始するため、操作入力に対する遅延を解消でき、操作感が損なわれることがない。また、上記判定する期間終了後に上記期間途中の後に取得した操作入力もゲームオブジェクトの状態に対して反映させる処理を行うため、プレイヤが行った操作入力を正確に反映した処理を行いながら、リアルタイムな演出が可能となる。
As described above, when the player performs an operation input using the
なお、第1ボール軌道TR1、第2ボール軌道TR2、およびプレイヤキャラクタPCのアニメーションを設定するために用いられる操作情報を取得する期間として、プレイヤがコントローラ7を振り始めてからモーション認識処理途中で振り方向が判定されるまでの期間(第1の判定期間)と、プレイヤがコントローラ7を振り始めてから振り終わるまでの期間(モーション認識処理全期間;第2の判定期間)とを設定した。しかしながら、他の基準で判定期間を設定してもかまわない。
Note that, as a period for acquiring operation information used to set the animation of the first ball trajectory TR1, the second ball trajectory TR2, and the player character PC, the swing direction in the middle of the motion recognition process after the player starts swinging the
例えば、モーション認識処理を行う期間に対して、3つ以上の判定期間を設定し、それぞれの判定期間中に取得された操作情報をゲームオブジェクトの状態に反映させてもかまわない。この場合、設定された判定期間に応じて、それぞれボール軌道等が設定されるため、ゲームオブジェクトの状態を変更するための挙動情報がさらに多く設定されることになる。例えば、フレーム毎(ゲーム処理単位毎)に判定期間を設定することによって挙動情報を連続的に設定して、ゲームオブジェクトの状態を連続的に変更してもかまわない。 For example, three or more determination periods may be set for the period during which the motion recognition process is performed, and the operation information acquired during each determination period may be reflected in the state of the game object. In this case, since the ball trajectory or the like is set according to the set determination period, more behavior information for changing the state of the game object is set. For example, the behavior information may be set continuously by setting the determination period for each frame (for each game processing unit), and the state of the game object may be changed continuously.
また、1つの判定期間が分割されていてもかまわない。例えば、上述したコントローラ7のひねり動作の判別は、始点Psと終点Peとを用いて行われるため、ひねり動作のみを判別するための判定期間としてはプレイヤがコントローラ7を振り始めた時点と振り終わった時点だけでもかまわない。この場合、ひねり動作のみを判別するための判定期間は、プレイヤがコントローラ7を振り始めた時点を含む期間と振り終わった時点を含む期間との2つの期間で設定される。
One determination period may be divided. For example, since the determination of the twisting motion of the
さらに、モーション認識処理に対して設定される複数の判定期間は、一部の期間が重複して設定されてもいいし、重複期間なく互いに連続して設定されてもいいし、判定期間の間に所定の期間をおいて離れて設定されてもかまわない。本発明で設定される判定期間は、モーション認識処理を行う期間に対して設定されるものであり、それらの判定期間中に得られた操作情報をリアルタイムにゲームオブジェクトの状態に反映させればよい。なお、本発明の第2の判定期間は、少なくとも第1の判定期間以降に終了し、第1の判定期間で取得する操作情報より時系列的に新しい操作情報を取得できる期間として設定される。 Furthermore, as for the plurality of determination periods set for the motion recognition process, a part of the periods may be set overlapping, or may be set consecutively without overlapping periods, or between the determination periods. May be set apart at a predetermined period. The determination period set in the present invention is set for a period during which motion recognition processing is performed, and operation information obtained during these determination periods may be reflected in the state of the game object in real time. . Note that the second determination period of the present invention is set as a period that ends at least after the first determination period and can acquire new operation information in time series from the operation information acquired in the first determination period.
また、上述した処理手順では、第1ボール軌道TR1および第2ボール軌道TR2の算出をフレーム毎に行う(つまり、ステップ94、ステップ106、およびステップ109で処理ループの中で行う)ように説明したが、他の手順で軌道計算をしてもかまわない。例えば、1度算出された第1ボール軌道TR1および第2ボール軌道TR2をメモリに記憶しておき、適宜記憶された軌道データを利用してもかまわない。この場合、処理ループの前(例えば、ステップ91の後、ステップ103の後)に第1ボール軌道TR1および/または第2ボール軌道TR2を算出しておけば、フレーム毎に軌道計算をする必要がなくなる。
In the processing procedure described above, it has been described that the calculation of the first ball trajectory TR1 and the second ball trajectory TR2 is performed for each frame (that is, performed in the processing loop in
また、上述した説明では、コントローラ7から出力される3軸加速度データを用いてテニスゲームを行う例を説明したが、他のゲーム処理にも用いることができる。例えば、プレイヤキャラクタが何らかのオブジェクトを振るゲーム(卓球、バドミントン、野球、剣で斬る等)に適用できることは言うまでもない。また、上述した説明では、コントローラ7の動きを判別するゲーム装置をゲームシステム1に適用した例を説明したが、加速度センサを備えた入力装置によって操作される一般的なパーソナルコンピュータなどの情報処理装置にも適用することができる。例えば、判別された入力装置の動きに応じて、情報処理装置が表示しているデータが移動したり、情報処理装置が情報を表示しているページを変更したり、図形を描いたりする等、情報処理装置による判別結果に基づいて様々な処理を行うことができる。さらに、ゲーム装置は、判別した入力装置の動きに応じて、当該入力装置の動きを示す動きデータを作成して他の装置に出力してもかまわない。
In the above description, the example in which the tennis game is performed using the triaxial acceleration data output from the
また、コントローラ7に設けられた加速度センサ701は、好ましくは互いに直交する3軸成分に分けてそれぞれ検出して出力する3軸加速度センサを用いて説明したが、少なくとも直交する2軸成分をそれぞれ検出する加速度センサを用いてもかまわない。例えば、コントローラ7が配置された3次元空間における加速度をXおよびY軸(図3、図4参照)の2軸成分に分けてそれぞれ検出して出力する加速度センサを用いても、上述した左右振り方向の判定やひねり方向の判定を行うことができる。この場合、上述した説明でZ軸成分の加速度を用いて判定していた振り始めおよび振り終わりの判定ができなくなるが、XおよびY軸に対する加速度成分から得られる左右振りによって生じる遠心力成分を用いて振り始めおよび振り終わりを判定してもいいし、加速度センサ701とは異なる他のセンサを用いて振り始めおよび振り終わりを判定してもかまわない。また、プレイヤがコントローラ7をスイングするときは操作ボタン72の何れかを押下するようなゲームルールを設定して、当該操作ボタン72の何れかが押下されている期間に応じて振り始めおよび振り終わりを判定してもかまわない。
In addition, the
また、上述した説明では、プレイヤがコントローラ7の本体を動かすことを入力の一例とし、そのコントローラ7の動きに応じた加速度データの推移を用いてゲームオブジェクトの状態を変化させるゲームを用いて説明したが、他の態様でもかまわない。例えば、プレイヤがコントローラ7の本体を動かすことを入力とし、撮像情報演算部74(図6参照)から出力される処理結果データの推移を用いてゲームオブジェクトの状態を変化させるゲームでもかまわない。撮像情報演算部74から出力される処理結果データは、上記加速度データと同様にコントローラ7の動きに応じて変化するため、同様に本発明に用いることができる。また、コントローラ7の動きを判定する位置センサ等の他のセンサを、コントローラ7に内蔵またはコントローラ7の外部に設置し、当該センサからの出力の推移を用いてゲームオブジェクトの状態を変化させるゲームでもかまわない。
Further, in the above description, it is described using a game in which the player moves the main body of the
また、上述した説明では、コントローラ7とゲーム装置3とが無線通信によって接続された態様を用いたが、コントローラ7とゲーム装置3とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7に接続されたケーブルをゲーム装置3の接続端子に接続する。
In the above description, the
また、コントローラ7から無線送信される送信データを受信する受信手段として、ゲーム装置3の接続端子に接続された受信ユニット6を用いて説明したが、ゲーム装置3の本体内部に設けられた受信モジュールによって当該受信手段を構成してもかまわない。この場合、受信モジュールが受信した送信データは、所定のバスを介してCPU30に出力される。
Further, the reception unit 6 connected to the connection terminal of the
また、上述したコントローラ7の形状や、それらに設けられている操作部72の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、コントローラ7における撮像情報演算部74の位置(撮像情報演算部74の光入射口)は、ハウジング71の前面でなくてもよく、ハウジング71の外部から光を取り入れることができれば他の面に設けられてもかまわない。
In addition, the shape of the
本発明に係るゲーム装置およびゲームプログラムは、入力装置から与えられた入力に応じてゲームオブジェクトの状態を変化させるゲームにおいて、当該入力に応答してリアルタイムにオブジェクトを変化させることができ、ゲームコントローラの動きに応じてゲームオブジェクトが操作されるゲームや入力装置の動きに応じて表示情報等が移動する情報処理等に適用できる。 The game device and the game program according to the present invention can change an object in real time in response to the input in a game in which the state of the game object is changed according to an input given from the input device. The present invention can be applied to a game in which a game object is operated according to movement, information processing in which display information moves according to movement of an input device, and the like.
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
30…CPU
31…メモリコントローラ
32…GPU
33…メインメモリ
34…DSP
35…ARAM
36…コントローラI/F
37…ビデオI/F
38…外部メモリI/F
39…オーディオI/F
40…ディスクドライブ
41…ディスクI/F
4…光ディスク
5…外部メモリカード
6…受信ユニット
7…コントローラ
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
703…水晶振動子
704…バイブレータ
705…電池
8…マーカ
DESCRIPTION OF
31 ...
33 ...
35 ... ARAM
36 ... Controller I / F
37 ... Video I / F
38 ... External memory I / F
39 ... Audio I / F
40 ...
DESCRIPTION OF SYMBOLS 4 ...
703 ...
Claims (22)
記憶手段と、
前記入力装置の動きに応じて出力される操作情報を逐次取得して前記記憶手段に記憶するデータ取得手段と、
前記入力装置に加えられた振りの開始から終了までの期間に含まれる認識期間であって、前記操作情報を用いて前記入力装置の動きを決定する当該認識期間の一部である第1の判定期間中に取得されて前記記憶手段に記憶された操作情報に応じて、当該第1の判定期間後の前記オブジェクトの状態を示す第1挙動情報を設定する第1挙動設定手段と、
前記第1挙動情報に基づいて、前記第1の判定期間後に前記オブジェクトの状態を逐次変化させる第1オブジェクト処理手段と、
前記第1の判定期間より後に終了し、かつ、前記認識期間の少なくとも一部である第2の判定期間中に取得されて前記記憶手段に記憶された操作情報に応じて、当該第2の判定期間後の前記オブジェクトの状態を示す第2挙動情報を設定する第2挙動設定手段と、
少なくとも前記第2挙動情報に基づいて、前記第2の判定期間後に前記オブジェクトの状態を逐次変化させる第2オブジェクト処理手段と、
前記オブジェクトの状態に応じて、当該オブジェクトの画像を表示手段に逐次表示させる表示制御手段とを備える、ゲーム装置。 A game device for performing a game process for changing the state of an object in a virtual game world according to a movement given to an input device,
Storage means;
Data acquisition means for sequentially acquiring operation information output according to the movement of the input device and storing the operation information in the storage means;
A first determination that is a recognition period included in a period from the start to the end of a swing applied to the input device and is a part of the recognition period in which the operation information is used to determine the movement of the input device First behavior setting means for setting first behavior information indicating a state of the object after the first determination period in accordance with operation information acquired during the period and stored in the storage means ;
First object processing means for sequentially changing the state of the object after the first determination period based on the first behavior information;
The second determination is made according to the operation information that ends after the first determination period and is acquired during the second determination period that is at least part of the recognition period and stored in the storage means. Second behavior setting means for setting second behavior information indicating the state of the object after the period;
Second object processing means for sequentially changing the state of the object after the second determination period based on at least the second behavior information;
A game apparatus comprising: display control means for sequentially displaying an image of the object on a display means in accordance with the state of the object.
前記第1オブジェクト処理手段は、前記第1挙動情報に基づいて示される仮想ゲーム世界における位置に前記オブジェクトを移動させ、
前記第2オブジェクト処理手段は、少なくとも前記第2挙動情報に基づいて示される仮想ゲーム世界における位置に前記オブジェクトを移動させることを特徴とする、請求項1および2のいずれかに記載のゲーム装置。 Each of the first behavior information and the second behavior information is information indicating the position of the object in the virtual game world,
The first object processing means moves the object to a position in the virtual game world indicated based on the first behavior information,
The second object processing means is characterized by moving the object to a position in the virtual game world represented on the basis of at least the second behavior information, the game device according to any one of claims 1 and 2 .
前記第1オブジェクト処理手段は、前記第1挙動情報によって示される一連の動作を前記オブジェクトに行わせて状態を変更し、
前記第2オブジェクト処理手段は、前記第2挙動情報によって示される一連の動作を前記オブジェクトに行わせて状態を変更することを特徴とする、請求項1に記載のゲーム装置。 The first behavior information and the second behavior information are information indicating a predetermined series of operations,
The first object processing means changes the state by causing the object to perform a series of operations indicated by the first behavior information,
The game apparatus according to claim 1, wherein the second object processing unit changes the state by causing the object to perform a series of actions indicated by the second behavior information.
前記第1の判定期間、前記第2の判定期間、および前記認識期間は、前記入力装置が動いたことを前記判定手段が判定したときに開始され、
前記第1挙動設定手段は、予め決められた初速度に応じて、前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第1挙動情報を設定し、
前記第2挙動設定手段は、前記第2の判定期間において判定された前記入力装置の速度に基づいて設定する初速度に応じて、前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第2挙動情報を設定することを特徴とする、請求項3に記載のゲーム装置。 The game device further includes a determination unit that determines that the input device has moved using the operation information and determines a moving speed of the input device,
The first determination period, the second determination period, and the recognition period are started when the determination unit determines that the input device has moved,
The first behavior setting means sets the first behavior information indicating a position where the object moves in the virtual game world according to a predetermined initial speed,
The second behavior setting means indicates the second behavior indicating a position where the object moves in the virtual game world according to an initial speed set based on the speed of the input device determined in the second determination period. Information is set, The game device of Claim 3 characterized by the above-mentioned.
前記第2挙動設定手段は、前記第2の判定期間において判定された前記入力装置本体の回転動作に応じて前記オブジェクトに与える回転を設定し、当該回転が与えられた前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第2挙動情報を設定することを特徴とする、請求項5に記載のゲーム装置。 The determination means further determines an operation in which the input device body is rotated about a predetermined direction as a rotation axis using the operation information,
The second behavior setting means sets a rotation to be given to the object in accordance with a rotation operation of the input device main body determined in the second determination period, and the object to which the rotation is given determines a virtual game world. The game device according to claim 5, wherein the second behavior information indicating a moving position is set.
前記第1挙動設定手段は、前記判定手段が判定した前記入力装置の姿勢に応じて前記オブジェクトが移動する方向を設定し、当該方向へ前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第1挙動情報を設定することを特徴とする、請求項5に記載のゲーム装置。 The determination means further determines a posture before the input device moves using the operation information,
The first behavior setting means sets a direction in which the object moves according to the attitude of the input device determined by the determination means, and indicates the first position where the object moves in the virtual game world in the direction. 6. The game apparatus according to claim 5, wherein behavior information is set.
前記オブジェクトは、仮想ゲーム世界を移動する前記ボールを表すボールオブジェクトであり、
前記第1挙動設定手段および前記第2挙動設定手段がそれぞれ設定する初速度は、仮想ゲーム世界において前記プレイヤキャラクタが前記ボールオブジェクトを打撃したときに与えられる当該ボールオブジェクトの速度であり、
前記第1挙動情報および前記第2挙動情報は、前記打撃以降に前記ボールオブジェクトが移動する仮想ゲーム世界における軌跡であることを特徴とする、請求項5乃至7のいずれかに記載のゲーム装置。 The game process is a process of executing a game in which a player character hits a ball and flies the ball in the virtual game world,
The object is a ball object representing the ball moving in the virtual game world,
The initial speed set by each of the first behavior setting means and the second behavior setting means is a speed of the ball object given when the player character hits the ball object in the virtual game world,
The game apparatus according to claim 5, wherein the first behavior information and the second behavior information are trajectories in a virtual game world in which the ball object moves after the hit.
前記ゲーム装置は、前記操作情報を用いて前記入力装置が動いたことを判定して、当該入力装置が動く方向および当該入力装置の移動速度を少なくとも判定する判定手段を、さらに備え、
前記オブジェクトは、前記プレイヤキャラクタを表すプレイヤオブジェクトであり、
前記第1挙動設定手段は、前記第1の判定期間において判定された前記入力装置の動く方向に応じたスイング方向に前記プレイヤキャラクタが前記アイテムを振る一連の動作を前記第1挙動情報として設定し、
前記第2挙動設定手段は、前記第2の判定期間において判定された前記入力装置の移動速度に応じたスイング速度で前記プレイヤキャラクタが前記スイング方向に前記アイテムを振る一連の動作を前記第2挙動情報として設定することを特徴とする、請求項4に記載のゲーム装置。 The game process is a process of executing a game of swinging an item possessed by a player character in a virtual game world and hitting the ball to fly the ball,
The game device further includes a determination unit that determines that the input device has moved using the operation information and determines at least a moving direction of the input device and a moving speed of the input device,
The object is a player object representing the player character,
The first behavior setting means sets, as the first behavior information, a series of actions in which the player character swings the item in a swing direction corresponding to the moving direction of the input device determined in the first determination period. ,
The second behavior setting means performs a series of actions in which the player character swings the item in the swing direction at a swing speed corresponding to the moving speed of the input device determined in the second determination period. The game device according to claim 4, wherein the game device is set as information.
前記操作情報は、前記入力装置の動きに応じて前記加速度センサから出力される加速度データを含むことを特徴とする、請求項1乃至9のいずれかに記載のゲーム装置。 The input device includes an acceleration sensor that detects acceleration generated in the input device;
The game apparatus according to claim 1, wherein the operation information includes acceleration data output from the acceleration sensor in accordance with a movement of the input device.
前記認識期間および前記第2の判定期間は、前記判定手段によって前記入力装置が振られていることが判定されてから振り終わりが判定されるまでの期間であり、
前記第1の判定期間は、前記判定手段によって前記入力装置が振られていることが判定されてから前記入力装置が振られている方向が判定されるまでの期間であることを特徴とする、請求項1に記載のゲーム装置。 The game device further includes a determination unit that determines that the input device is swung using the operation information, and determines at least a direction in which the input device is swung.
The recognition period and the second determination period are a period from when the determination unit determines that the input device is being shaken to when the end of the swing is determined,
The first determination period is a period from when the determination unit determines that the input device is being shaken to when the direction in which the input device is being shaken is determined. The game device according to claim 1.
前記コンピュータに、
前記入力装置の動きに応じて出力される操作情報を逐次取得してメモリに記憶するデータ取得ステップと、
前記入力装置に加えられた振りの開始から終了までの期間に含まれる認識期間であって、前記操作情報を用いて前記入力装置の動きを決定する当該認識期間の一部である第1の判定期間中に取得されて前記記憶手段に記憶された操作情報に応じて、当該第1の判定期間後の前記オブジェクトの状態を示す第1挙動情報を設定する第1挙動設定ステップと、
前記第1挙動情報に基づいて、前記第1の判定期間後に前記オブジェクトの状態を逐次変化させる第1オブジェクト処理ステップと、
前記第1の判定期間より後に終了し、かつ、前記認識期間の少なくとも一部である第2の判定期間中に取得されて前記記憶手段に記憶された操作情報に応じて、当該第2の判定期間後の前記オブジェクトの状態を示す第2挙動情報を設定する第2挙動設定ステップと、
少なくとも前記第2挙動情報に基づいて、前記第2の判定期間後に前記オブジェクトの状態を逐次変化させる第2オブジェクト処理ステップと、
前記オブジェクトの状態に応じて、当該オブジェクトの画像を表示装置に逐次表示させる表示制御ステップとを実行させる、ゲームプログラム。 A game program that is executed by a computer of a game device that performs a game process for changing the state of an object in a virtual game world according to a movement given to an input device,
In the computer,
A data acquisition step of sequentially acquiring operation information output according to the movement of the input device and storing it in a memory;
A first determination that is a recognition period included in a period from the start to the end of a swing applied to the input device and is a part of the recognition period in which the operation information is used to determine the movement of the input device A first behavior setting step for setting first behavior information indicating a state of the object after the first determination period, in accordance with operation information acquired during the period and stored in the storage unit ;
A first object processing step of sequentially changing the state of the object after the first determination period based on the first behavior information;
The second determination is made according to the operation information that ends after the first determination period and is acquired during the second determination period that is at least part of the recognition period and stored in the storage means. A second behavior setting step for setting second behavior information indicating the state of the object after the period;
A second object processing step of sequentially changing the state of the object after the second determination period based on at least the second behavior information;
A game program for executing a display control step of sequentially displaying an image of the object on a display device in accordance with the state of the object.
前記第1オブジェクト処理ステップでは、前記第1挙動情報に基づいて示される仮想ゲーム世界における位置に前記オブジェクトを移動させ、
前記第2オブジェクト処理ステップでは、少なくとも前記第2挙動情報に基づいて示される仮想ゲーム世界における位置に前記オブジェクトを移動させることを特徴とする、請求項12および13のいずれかに記載のゲームプログラム。 Each of the first behavior information and the second behavior information is information indicating the position of the object in the virtual game world,
In the first object processing step , the object is moved to a position in the virtual game world indicated based on the first behavior information,
Wherein in the second object processing step, and moving the object to a position in the virtual game world represented on the basis of at least the second behavior information, game program according to any one of claims 12 and 13 .
前記第1オブジェクト処理ステップでは、前記第1挙動情報によって示される一連の動作を前記オブジェクトに行わせて状態が変更され、
前記第2オブジェクト処理ステップでは、前記第2挙動情報によって示される一連の動作を前記オブジェクトに行わせて状態が変更されることを特徴とする、請求項12に記載のゲームプログラム。 The first behavior information and the second behavior information are information indicating a predetermined series of operations,
In the first object processing step, the state is changed by causing the object to perform a series of operations indicated by the first behavior information,
The game program according to claim 12, wherein in the second object processing step, the state is changed by causing the object to perform a series of actions indicated by the second behavior information.
前記第1の判定期間、前記第2の判定期間、および前記認識期間は、前記入力装置が動いたことを前記判定ステップで判定されたときに開始され、
前記第1挙動設定ステップでは、予め決められた初速度に応じて、前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第1挙動情報が設定され、
前記第2挙動設定ステップでは、前記第2の判定期間において判定された前記入力装置の速度に基づいて設定する初速度に応じて、前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第2挙動情報が設定されることを特徴とする、請求項14に記載のゲームプログラム。 The game program causes the computer to further execute a determination step of determining that the input device has moved using the operation information and determining a moving speed of the input device,
The first determination period, the second determination period, and the recognition period are started when it is determined in the determination step that the input device has moved,
In the first behavior setting step, the first behavior information indicating a position where the object moves in the virtual game world is set according to a predetermined initial speed,
In the second behavior setting step, the second behavior indicating a position where the object moves in the virtual game world according to an initial speed set based on the speed of the input device determined in the second determination period. Information is set, The game program of Claim 14 characterized by the above-mentioned.
前記第2挙動設定ステップでは、前記第2の判定期間において判定された前記入力装置本体の回転動作に応じて前記オブジェクトに与える回転が設定され、当該回転が与えられた前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第2挙動情報が設定されることを特徴とする、請求項16に記載のゲームプログラム。 In the determination step, an operation in which the input device body is rotated about a predetermined direction as a rotation axis is further determined using the operation information,
In the second behavior setting step, a rotation to be given to the object is set in accordance with a rotation operation of the input device main body determined in the second determination period, and the object to which the rotation is applied changes the virtual game world. The game program according to claim 16, wherein the second behavior information indicating a moving position is set.
前記第1挙動設定ステップでは、前記判定ステップで判定した前記入力装置の姿勢に応じて前記オブジェクトが移動する方向が設定され、当該方向へ前記オブジェクトが仮想ゲーム世界を移動する位置を示す前記第1挙動情報が設定されることを特徴とする、請求項16に記載のゲームプログラム。 In the determination step, a posture before the input device moves is further determined using the operation information,
In the first behavior setting step, a direction in which the object moves is set according to the posture of the input device determined in the determination step, and the first movement position indicates the position where the object moves in the virtual game world in the direction. The game program according to claim 16, wherein behavior information is set.
前記オブジェクトは、仮想ゲーム世界を移動する前記ボールを表すボールオブジェクトであり、
前記第1挙動設定ステップおよび前記第2挙動設定ステップでそれぞれ設定される初速度は、仮想ゲーム世界において前記プレイヤキャラクタが前記ボールオブジェクトを打撃したときに与えられる当該ボールオブジェクトの速度であり、
前記第1挙動情報および前記第2挙動情報は、前記打撃以降に前記ボールオブジェクトが移動する仮想ゲーム世界における軌跡であることを特徴とする、請求項16乃至18のいずれかに記載のゲームプログラム。 The game process is a process of executing a game in which a player character hits a ball and flies the ball in the virtual game world,
The object is a ball object representing the ball moving in the virtual game world,
The initial speed set in each of the first behavior setting step and the second behavior setting step is a speed of the ball object given when the player character hits the ball object in the virtual game world,
The game program according to any one of claims 16 to 18, wherein the first behavior information and the second behavior information are trajectories in a virtual game world in which the ball object moves after the hit.
前記ゲームプログラムは、前記操作情報を用いて前記入力装置が動いたことを判定して、当該入力装置が動く方向および当該入力装置の移動速度を少なくとも判定する判定ステップを、さらに前記コンピュータに実行させ、
前記オブジェクトは、前記プレイヤキャラクタを表すプレイヤオブジェクトであり、
前記第1挙動設定ステップでは、前記第1の判定期間において判定された前記入力装置の動く方向に応じたスイング方向に前記プレイヤキャラクタが前記アイテムを振る一連の動作が前記第1挙動情報として設定され、
前記第2挙動設定ステップでは、前記第2の判定期間において判定された前記入力装置の移動速度に応じたスイング速度で前記プレイヤキャラクタが前記スイング方向に前記アイテムを振る一連の動作が前記第2挙動情報として設定されることを特徴とする、請求項15に記載のゲームプログラム。 The game process is a process of executing a game of swinging an item possessed by a player character in a virtual game world and hitting the ball to fly the ball,
The game program further causes the computer to execute a determination step of determining that the input device has moved using the operation information and determining at least a moving direction of the input device and a moving speed of the input device. ,
The object is a player object representing the player character,
In the first behavior setting step, a series of actions in which the player character swings the item in a swing direction corresponding to the moving direction of the input device determined in the first determination period is set as the first behavior information. ,
In the second behavior setting step, a series of actions in which the player character swings the item in the swing direction at a swing speed according to the moving speed of the input device determined in the second determination period is the second behavior. The game program according to claim 15, wherein the game program is set as information.
前記操作情報は、前記入力装置の動きに応じて前記加速度センサから出力される加速度データを含むことを特徴とする、請求項12乃至20のいずれかに記載のゲームプログラム。 The input device includes an acceleration sensor that detects acceleration generated in the input device;
The game program according to any one of claims 12 to 20, wherein the operation information includes acceleration data output from the acceleration sensor in accordance with movement of the input device.
前記認識期間および前記第2の判定期間は、前記判定ステップで前記入力装置が振られていることが判定されてから振り終わりが判定されるまでの期間であり、
前記第1の判定期間は、前記判定ステップで前記入力装置が振られていることが判定されてから前記入力装置が振られている方向が判定されるまでの期間であることを特徴とする、請求項12に記載のゲームプログラム。 The game program uses the operation information to determine that the input device is being shaken, and further causes the computer to execute a determination step of determining at least the direction in which the input device is shaken,
The recognition period and the second determination period are a period from when it is determined that the input device is shaken in the determination step to when the end of swing is determined.
The first determination period is a period from when it is determined in the determination step that the input device is being shaken to when the direction in which the input device is being shaken is determined. The game program according to claim 12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008268601A JP5074343B2 (en) | 2008-10-17 | 2008-10-17 | GAME DEVICE AND GAME PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008268601A JP5074343B2 (en) | 2008-10-17 | 2008-10-17 | GAME DEVICE AND GAME PROGRAM |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006067771A Division JP4330593B2 (en) | 2006-03-13 | 2006-03-13 | GAME DEVICE AND GAME PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009006198A JP2009006198A (en) | 2009-01-15 |
JP5074343B2 true JP5074343B2 (en) | 2012-11-14 |
Family
ID=40321856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008268601A Active JP5074343B2 (en) | 2008-10-17 | 2008-10-17 | GAME DEVICE AND GAME PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5074343B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5545438B2 (en) * | 2010-05-12 | 2014-07-09 | 株式会社セガ | Game device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11114230A (en) * | 1997-10-09 | 1999-04-27 | Taisei Corp | Virtual ski experience apparatus |
JP4801854B2 (en) * | 2001-08-03 | 2011-10-26 | 株式会社バンダイナムコゲームス | Program, information storage medium, and game device |
JP4028708B2 (en) * | 2001-10-19 | 2007-12-26 | 株式会社コナミデジタルエンタテインメント | GAME DEVICE AND GAME SYSTEM |
JP3439204B2 (en) * | 2002-01-11 | 2003-08-25 | コナミ株式会社 | Video game equipment |
JP4029102B2 (en) * | 2005-12-26 | 2008-01-09 | 株式会社コナミデジタルエンタテインメント | Video game program, video game apparatus, and video game control method |
-
2008
- 2008-10-17 JP JP2008268601A patent/JP5074343B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009006198A (en) | 2009-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4330593B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP4151982B2 (en) | Motion discrimination device and motion discrimination program | |
JP4202366B2 (en) | Motion discrimination device and motion discrimination program | |
US8721442B2 (en) | Recording medium recording game program and game apparatus | |
JP5188682B2 (en) | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME CONTROL METHOD | |
EP2302487B1 (en) | Storage medium with information processing program and information processing apparatus for detecting swing direction of input device | |
JP5173174B2 (en) | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD | |
JP5334595B2 (en) | GAME DEVICE AND GAME PROGRAM | |
JP4789984B2 (en) | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD | |
JP5074343B2 (en) | GAME DEVICE AND GAME PROGRAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110829 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110902 |
|
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: 20120808 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120823 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5074343 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150831 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |