JP5785844B2 - Information processing program, information processing apparatus, information processing system, and information processing method - Google Patents

Information processing program, information processing apparatus, information processing system, and information processing method Download PDF

Info

Publication number
JP5785844B2
JP5785844B2 JP2011225538A JP2011225538A JP5785844B2 JP 5785844 B2 JP5785844 B2 JP 5785844B2 JP 2011225538 A JP2011225538 A JP 2011225538A JP 2011225538 A JP2011225538 A JP 2011225538A JP 5785844 B2 JP5785844 B2 JP 5785844B2
Authority
JP
Japan
Prior art keywords
user
information processing
center
data
input device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011225538A
Other languages
Japanese (ja)
Other versions
JP2013088838A (en
Inventor
悠吾 林
悠吾 林
和也 洲巻
和也 洲巻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2011225538A priority Critical patent/JP5785844B2/en
Priority to EP11194630.7A priority patent/EP2497547B1/en
Priority to US13/333,045 priority patent/US9205327B2/en
Priority to US13/343,913 priority patent/US9345962B2/en
Priority to EP12150272.8A priority patent/EP2497548A3/en
Priority to US13/352,091 priority patent/US9370712B2/en
Priority to EP12153067.9A priority patent/EP2497549B1/en
Priority to US13/362,381 priority patent/US8845430B2/en
Priority to US13/362,289 priority patent/US9522323B2/en
Priority to US13/362,255 priority patent/US20120231882A1/en
Priority to US13/401,054 priority patent/US9492742B2/en
Priority to US13/400,944 priority patent/US9526981B2/en
Priority to US13/402,026 priority patent/US9492743B2/en
Priority to EP12156630.1A priority patent/EP2497551B1/en
Priority to EP12156629A priority patent/EP2497550A3/en
Priority to EP14166174.4A priority patent/EP2781244A3/en
Publication of JP2013088838A publication Critical patent/JP2013088838A/en
Application granted granted Critical
Publication of JP5785844B2 publication Critical patent/JP5785844B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)

Description

本発明は、情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関し、特に例えば、ユーザの動作に基づいた処理を行う情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。   The present invention relates to an information processing program, an information processing apparatus, an information processing system, and an information processing method, and more particularly, for example, an information processing program, an information processing apparatus, an information processing system, and an information processing method for performing processing based on user operations. About.

従来、ユーザが加える荷重の変化に基づいてゲームを行うことができるゲームシステムがある(例えば、特許文献1参照)。一例として、上記特許文献1で開示されたゲームシステムは、荷重センサを備えたボード型コントローラ上にユーザが乗ることによって当該荷重センサが検出した荷重値に基づいてゲーム処理が実行される。   Conventionally, there is a game system in which a game can be performed based on a change in load applied by a user (see, for example, Patent Document 1). As an example, in the game system disclosed in Patent Document 1, a game process is executed based on a load value detected by the load sensor when the user rides on a board type controller including the load sensor.

特開2008−264195号公報JP 2008-264195 A

しかしながら、上記特許文献1で開示されたゲームシステムでは、ボード型コントローラの方向とボード型コントローラ上にユーザが乗るユーザの方向とが予め固定的に定義付けた上でゲーム処理が実行されている。したがって、ユーザは、上記定義付けられた方向に合わせた操作が常に要求され、操作方法が限定されてしまうことになる。例えば、ユーザが上記定義付けられた方向とは異なる方向に向いた状態でボード型コントローラ上に載って操作した場合、ユーザが行った操作をゲーム装置に正確に入力することができないため、ユーザが所望したゲーム処理を行うことができない。   However, in the game system disclosed in Patent Document 1, the game processing is executed after the direction of the board-type controller and the direction of the user on the board-type controller are fixedly defined in advance. Therefore, the user is always required to perform an operation according to the defined direction, and the operation method is limited. For example, when the user is placed on the board type controller and operated in a direction different from the defined direction, the operation performed by the user cannot be accurately input to the game device. The desired game process cannot be performed.

それ故に、本発明の目的は、ユーザの動作を正確に判定して当該動作に応じた処理を行うことができる情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法を提供することである。   Therefore, an object of the present invention is to provide an information processing program, an information processing apparatus, an information processing system, and an information processing method capable of accurately determining a user's operation and performing processing according to the operation. is there.

上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。   In order to achieve the above object, the present invention may employ the following configuration, for example. When interpreting the description of the claims, it is understood that the scope should be interpreted only by the description of the claims, and the description of the claims and the description in this column are contradictory. In that case, priority is given to the claims.

本発明の情報処理プログラムの一構成例は、ユーザの身体を乗せることが可能な入力装置から出力される当該入力装置に加わる荷重に基づいたデータが利用可能であり、当該入力装置から得られたデータを処理する情報処理装置のコンピュータで実行される。情報処理プログラムは、重心位置取得手段、ユーザ方向算出手段、および処理手段として、コンピュータを機能させる。重心位置取得手段は、入力装置から出力されたデータに基づいて、入力装置に加わる荷重における重心位置を繰り返し取得する。ユーザ方向算出手段は、重心位置を用いて、入力装置上で足踏みするユーザ方向を算出する。処理手段は、ユーザ方向に基づいて、所定の処理を行う。   In one configuration example of the information processing program of the present invention, data based on a load applied to the input device, which is output from the input device capable of carrying the user's body, can be used and obtained from the input device. It is executed by a computer of an information processing apparatus that processes data. The information processing program causes the computer to function as a center-of-gravity position acquisition unit, a user direction calculation unit, and a processing unit. The center-of-gravity position acquisition unit repeatedly acquires the center-of-gravity position of the load applied to the input device based on the data output from the input device. The user direction calculation means calculates a user direction to step on the input device using the position of the center of gravity. The processing means performs predetermined processing based on the user direction.

上記によれば、入力装置上におけるユーザ方向を判定して、当該ユーザ方向に応じた処理が可能となる。   According to the above, it is possible to determine the user direction on the input device and perform processing according to the user direction.

また、上記ユーザ方向算出手段は、重心位置の移動方向に基づいて、ユーザ方向を算出してもよい。   Further, the user direction calculation means may calculate the user direction based on the moving direction of the center of gravity position.

上記によれば、入力装置に加わる荷重の重心位置の移動方向によって、容易にユーザ方向を算出することができる。   Based on the above, the user direction can be easily calculated based on the moving direction of the center of gravity position of the load applied to the input device.

また、上記ユーザ方向算出手段は、重心位置取得手段によって異なるタイミングで取得された2つの重心位置を結ぶ直線に垂直な方向候補を用いて、ユーザ方向を算出してもよい。   The user direction calculation means may calculate the user direction using a direction candidate perpendicular to a straight line connecting two centroid positions acquired at different timings by the centroid position acquisition means.

上記によれば、異なるタイミングで取得された2つの重心位置を結ぶ直線に垂直な方向を用いて、容易にユーザ方向を算出することができる。   Based on the above, it is possible to easily calculate the user direction using a direction perpendicular to a straight line connecting two centroid positions acquired at different timings.

また、上記ユーザ方向算出手段は、重心位置取得手段によって異なるタイミングで連続して取得された2つの重心位置を結ぶ直線に垂直な方向候補を用いて、ユーザ方向を算出してもよい。   Further, the user direction calculation means may calculate the user direction using a direction candidate perpendicular to a straight line connecting two gravity center positions acquired successively at different timings by the gravity center position acquisition means.

上記によれば、異なるタイミングで連続して取得された2つの重心位置を結ぶ直線に垂直な方向を用いて、容易にユーザ方向を算出することができる。   Based on the above, it is possible to easily calculate the user direction using a direction perpendicular to a straight line connecting two centroid positions acquired successively at different timings.

また、上記ユーザ方向算出手段は、前回の処理で決定されたユーザ方向を、方向候補が示す方向へ所定の割合で近づけることによって、ユーザ方向を更新してもよい。   The user direction calculation means may update the user direction by bringing the user direction determined in the previous process closer to the direction indicated by the direction candidate at a predetermined rate.

上記によれば、新たに得られた方向候補が示す方向に所定割合近づけることによって、当該方向候補が有する誤差等を取り除きながら、ユーザ動作に応じたユーザ方向に更新することができる。   According to the above, by approaching the direction indicated by the newly obtained direction candidate by a predetermined ratio, it is possible to update the user direction according to the user operation while removing an error or the like of the direction candidate.

また、上記ユーザ方向算出手段は、方向候補が得られた重心位置間の距離が長いほど、割合を大きく設定してもよい。   Further, the user direction calculation means may set the ratio larger as the distance between the gravity center positions where the direction candidates are obtained is longer.

上記によれば、重心位置の移動量が大きい場合にユーザ方向を大きく変化させる重み付けを行って、ユーザ方向をより正確に推定することができる。   According to the above, it is possible to estimate the user direction more accurately by performing weighting that greatly changes the user direction when the movement amount of the gravity center position is large.

また、上記ユーザ方向算出手段は、方向候補が得られた重心位置間の距離が所定の長さより短い場合、前回の処理で決定されたユーザ方向を変化させなくてもよい。   The user direction calculation means may not change the user direction determined in the previous process when the distance between the gravity center positions where the direction candidates are obtained is shorter than a predetermined length.

上記によれば、方向候補を用いてユーザ方向を推定する際の誤差を取り除くことができる。   Based on the above, it is possible to remove an error in estimating the user direction using the direction candidates.

また、上記ユーザ方向算出手段は、異なるタイミングで繰り返し取得された2つの重心位置を結ぶ直線に垂直な方向候補を繰り返し算出し、当該繰り返し算出された複数の方向候補に基づいて1つの方向候補を算出してもよい。   Further, the user direction calculation means repeatedly calculates a direction candidate perpendicular to a straight line connecting two centroid positions repeatedly acquired at different timings, and selects one direction candidate based on the plurality of repeatedly calculated direction candidates. It may be calculated.

上記によれば、複数の方向候補を用いて1つの方向候補を算出することによって、突発的に方向候補に生じる誤差がユーザ方向の推定に与える影響を少なくすることができる。   According to the above, by calculating one direction candidate using a plurality of direction candidates, it is possible to reduce the influence of an error that occurs suddenly in the direction candidate on the estimation of the user direction.

また、上記ユーザ方向算出手段は、直線に垂直な一対の方向のうち、現時点で設定されているユーザ方向に近い方を方向候補として算出してもよい。   The user direction calculation means may calculate a direction candidate that is closer to the currently set user direction from among a pair of directions perpendicular to the straight line.

上記によれば、ユーザ方向が急激に変化しないことを利用して、ユーザ方向をより正確に判定することができる。   According to the above, it is possible to determine the user direction more accurately using the fact that the user direction does not change abruptly.

また、上記ユーザ方向算出手段は、直線に垂直な一対の方向のうち、一方の方向が所定の範囲内である場合、他方の方向を方向候補として算出してもよい。   The user direction calculation means may calculate the other direction as a direction candidate when one direction is within a predetermined range from a pair of directions perpendicular to the straight line.

上記によれば、入力装置上でユーザが取りにくい姿勢におけるユーザ方向を除外することによって、ユーザ方向の判定精度を向上させることができる。   According to the above, it is possible to improve the determination accuracy of the user direction by excluding the user direction in a posture that is difficult for the user to take on the input device.

また、上記ユーザ方向算出手段は、異なるタイミングで繰り返し取得された2つの重心位置を結ぶ直線に垂直な方向で、かつ、当該2つの重心位置の距離を大きさとした方向候補ベクトルを繰り返し算出し、当該繰り返し算出された複数の方向候補ベクトルを加算した1つのベクトルの方向を方向候補として算出してもよい。   Further, the user direction calculation means repeatedly calculates a direction candidate vector in a direction perpendicular to a straight line connecting two centroid positions repeatedly acquired at different timings and having a distance between the two centroid positions. The direction of one vector obtained by adding the plurality of direction candidate vectors calculated repeatedly may be calculated as a direction candidate.

上記によれば、加算されたベクトルの方向が重心の移動量で重み付けされた方向となるため、ユーザ方向をより正確に推定することができる。   According to the above, since the direction of the added vector is a direction weighted by the moving amount of the center of gravity, the user direction can be estimated more accurately.

また、上記ユーザ方向算出手段は、直線に垂直な一対の方向のうち、現時点で設定されているユーザ方向に近い方を方向候補ベクトルの方向として算出してもよい。   Further, the user direction calculation means may calculate a direction candidate vector direction that is closer to the currently set user direction from a pair of directions perpendicular to the straight line.

上記によれば、ユーザ方向が急激に変化しないことを利用して、ユーザ方向をより正確に判定することができる。   According to the above, it is possible to determine the user direction more accurately using the fact that the user direction does not change abruptly.

また、上記ユーザ方向算出手段は、直線に垂直な一対の方向のうち、一方の方向が所定の範囲内である場合、他方の方向を方向候補ベクトルの方向として算出してもよい。   The user direction calculation means may calculate the other direction as the direction of the direction candidate vector when one of the pair of directions perpendicular to the straight line is within a predetermined range.

上記によれば、入力装置上でユーザが取りにくい姿勢におけるユーザ方向を除外することによって、ユーザ方向の判定精度を向上させることができる。   According to the above, it is possible to improve the determination accuracy of the user direction by excluding the user direction in a posture that is difficult for the user to take on the input device.

また、判定線設定手段として、さらにコンピュータを機能させてもよい。上記判定線設定手段は、上記ユーザ方向算出手段が算出したユーザ方向に延びる少なくとも1つの判定線を設定する。この場合、上記処理手段は、重心位置取得手段が繰り返し取得する重心位置が判定線を横断した場合、入力装置上でユーザが足踏みしたと判定し、当該判定に基づいて所定の処理を行ってもよい。   Further, the computer may further function as the determination line setting means. The determination line setting unit sets at least one determination line extending in the user direction calculated by the user direction calculation unit. In this case, the processing means determines that the user has stepped on the input device when the gravity center position repeatedly acquired by the gravity center position acquisition means crosses the determination line, and performs predetermined processing based on the determination. Good.

上記によれば、ユーザ方向を入力装置上の足踏み判定に用いることができる。   Based on the above, the user direction can be used for stepping determination on the input device.

また、足踏み中心位置算出手段として、さらにコンピュータを機能させてもよい。上記足踏み中心位置算出手段は、重心位置取得手段が取得する重心位置に基づいて、入力装置上で足踏みするユーザの足踏み中心位置を算出する。この場合、上記判定線設定手段は、ユーザ方向へ足踏み中心位置を基準とした位置に判定線を設定してもよい。   Further, the computer may further function as stepping center position calculating means. The stepping center position calculating unit calculates the stepping center position of the user who steps on the input device based on the center of gravity position acquired by the center of gravity position acquiring unit. In this case, the determination line setting means may set the determination line at a position with reference to the stepping center position in the user direction.

上記によれば、足踏み判定で用いる判定線を適切な位置に設定することができる。   Based on the above, it is possible to set the determination line used for the stepping determination at an appropriate position.

また、上記判定線設定手段は、足踏み中心位置を中心として所定の間隙を有する位置にそれぞれユーザ方向へ延びる2つの判定線を設定してもよい。上記処理手段は、重心位置が間隙から判定線の一方を横断した場合、入力装置上でユーザが一方の足で足踏みしたと判定し、重心位置が間隙から判定線の他方を横断した場合、入力装置上でユーザが他方の足で足踏みしたと判定し、当該判定に基づいて所定の処理を行ってもよい。   The determination line setting means may set two determination lines extending in the user direction at positions having a predetermined gap with the stepping center position as a center. The processing means determines that the user has stepped on one foot on the input device when the center of gravity position crosses one of the determination lines from the gap, and inputs when the center of gravity position crosses the other of the determination lines from the gap. It may be determined that the user has stepped on the other foot on the device, and a predetermined process may be performed based on the determination.

上記によれば、左足の足踏みおよび右足の足踏みをそれぞれ異なる判定線で判定することによって、より正確な足踏み動作の判定が可能となる。   According to the above, it is possible to determine the stepping motion more accurately by determining the stepping on the left foot and the stepping on the right foot using different determination lines.

また、上記足踏み中心位置算出手段は、重心位置取得手段が繰り返し取得する重心位置に所定の割合で追従する位置に足踏み中心位置を設定してもよい。   Further, the stepping center position calculating means may set the stepping center position at a position that follows the center of gravity repeatedly acquired by the center of gravity position acquiring means at a predetermined rate.

また、上記足踏み中心位置算出手段は、重心位置取得手段が所定期間内に繰り返し取得した重心位置を平均した位置に足踏み中心位置を設定してもよい。   In addition, the stepping center position calculating unit may set the stepping center position at a position obtained by averaging the barycentric positions repeatedly acquired by the barycentric position acquiring unit within a predetermined period.

上記によれば、足踏み中心位置を容易に算出することができる。   Based on the above, the stepping center position can be easily calculated.

また、上記判定線設定手段は、所定の基準方向に対するユーザ方向の角度に応じて、間隙の幅を変化させてもよい。   The determination line setting means may change the width of the gap according to the angle of the user direction with respect to a predetermined reference direction.

上記によれば、入力装置の形状等に合わせて、適切な判定線を設定することができる。   According to the above, an appropriate determination line can be set according to the shape of the input device and the like.

また、上記処理手段は、ユーザ方向に基づいて、仮想世界に設定されたオブジェクトおよび仮想カメラの少なくとも一方の方向を変化させることによって、所定の処理を行ってもよい。   Further, the processing means may perform predetermined processing by changing a direction of at least one of an object set in the virtual world and a virtual camera based on a user direction.

上記によれば、ユーザ方向によって仮想世界におけるオブジェクトや仮想カメラの方向を変化させることができる。   According to the above, the direction of the object or the virtual camera in the virtual world can be changed according to the user direction.

また、本発明は、上記各手段を備える情報処理装置および情報処理システムや上記各手段で行われる動作を含む情報処理方法の形態で実施されてもよい。   In addition, the present invention may be implemented in the form of an information processing apparatus and an information processing system including the above-described units and an information processing method including operations performed by the above units.

本発明によれば、入力装置上におけるユーザ方向を判定して、当該ユーザ方向に応じた処理が可能となる。   According to the present invention, it is possible to determine the user direction on the input device and perform processing according to the user direction.

本発明の一実施形態に係るゲームシステム1を説明するための外観図1 is an external view for explaining a game system 1 according to an embodiment of the present invention. 図1のゲーム装置本体5の機能ブロック図Functional block diagram of the game apparatus body 5 of FIG. 図1のボード型コントローラ9の外観の一例を示す斜視図The perspective view which shows an example of the external appearance of the board type controller 9 of FIG. 図1のボード型コントローラ9の電気的な構成の一例を示すブロック図1 is a block diagram showing an example of an electrical configuration of the board type controller 9 of FIG. 図1のボード型コントローラ9を用いて操作するユーザの様子の一例を示す図The figure which shows an example of the mode of the user who operates using the board type controller 9 of FIG. 図1のモニタ2に表示される画像の一例を示す図The figure which shows an example of the image displayed on the monitor 2 of FIG. ボード型コントローラ9上においてユーザが足踏みする方向を変えた場合にプレイヤオブジェクト正面方向が変化する一例を示す図The figure which shows an example in which a player object front direction changes, when a user changes the stepping direction on the board-type controller 9. 重心位置の移動に応じて推定方向ベクトルが算出される一例を示す図The figure which shows an example in which an estimated direction vector is calculated according to the movement of a gravity center position 算出されたユーザ正面方向ベクトルに応じて設定される足踏み判定線の一例を示す図The figure which shows an example of the step determination line set according to the calculated user front direction vector 図1のゲーム装置本体5のメインメモリに記憶される主なデータおよびプログラムの一例を示す図The figure which shows an example of main data and a program memorize | stored in the main memory of the game device main body 5 of FIG. 図1のゲーム装置本体5において実行される処理の一例を示すフローチャートThe flowchart which shows an example of the process performed in the game device main body 5 of FIG. 図11におけるステップ44の推定方向ベクトル算出処理の一例を示すサブルーチンA subroutine showing an example of the estimated direction vector calculation process of step 44 in FIG. 図11におけるステップ45のユーザ方向ベクトル算出処理の一例を示すサブルーチンA subroutine showing an example of the user direction vector calculation process in step 45 in FIG. 図11におけるステップ46の足踏み判定線設定処理の一例を示すサブルーチンA subroutine showing an example of the stepping determination line setting process of step 46 in FIG. 図11におけるステップ47の動作設定処理の一例を示すサブルーチンA subroutine showing an example of the operation setting process of step 47 in FIG. 推定方向ベクトルの方向を反転させる反転範囲の一例を示す図The figure which shows an example of the inversion range which inverts the direction of an estimated direction vector

図1を参照して、本発明の一実施形態に係る情報処理プログラムを実行する情報処理装置および当該情報処理装置を含む情報処理システムについて説明する。以下、説明を具体的にするために、当該情報処理装置の一例として据置型のゲーム装置本体5を用い、ゲーム装置本体5を含むゲームシステムを用いて説明する。なお、図1は、据置型のゲーム装置3を含むゲームシステム1の一例を示す外観図である。図2は、ゲーム装置本体5の一例を示すブロック図である。以下、当該ゲームシステム1について説明する。   With reference to FIG. 1, an information processing apparatus that executes an information processing program according to an embodiment of the present invention and an information processing system including the information processing apparatus will be described. Hereinafter, for the sake of specific explanation, a stationary game apparatus body 5 will be used as an example of the information processing apparatus, and a game system including the game apparatus body 5 will be described. FIG. 1 is an external view showing an example of a game system 1 including a stationary game apparatus 3. FIG. 2 is a block diagram illustrating an example of the game apparatus body 5. Hereinafter, the game system 1 will be described.

図1において、ゲームシステム1は、表示手段の一例である家庭用テレビジョン受像機(以下、モニタと記載する)2と、モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、ゲーム装置3から出力された音声信号を音声出力するためのスピーカを備える。また、ゲーム装置3は、本願発明の情報処理プログラムの一例となるプログラム(例えば、ゲームプログラム)を記録した光ディスク4と、光ディスク4のプログラムを実行してゲーム画面をモニタ2に表示出力させるためのコンピュータを搭載したゲーム装置本体5と、表示画面に表示されたオブジェクト等を操作するために必要な操作情報をゲーム装置本体5に与えるためのコントローラ7と、ボード型コントローラ9とを含む。なお、ゲームシステム1は、少なくともボード型コントローラ9を用いたゲーム操作に基づいて、ゲーム装置本体5においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をモニタ2等の表示装置に表示するものである。なお、ゲーム装置本体5とコントローラ7およびボード型コントローラ9とは、無線によって無線通信可能に接続される。例えば、上記無線通信は、Bluetooth(登録商標)規格に従って実行されるが、赤外線や無線LANなど他の規格に従って実行されてもよい。   In FIG. 1, a game system 1 includes a home television receiver (hereinafter referred to as a monitor) 2 which is an example of display means, and a stationary game apparatus 3 connected to the monitor 2 via a connection cord. Composed. The monitor 2 includes a speaker for outputting the audio signal output from the game apparatus 3 as audio. In addition, the game apparatus 3 executes an optical disc 4 on which a program (for example, a game program) as an example of the information processing program of the present invention is recorded, and executes the program on the optical disc 4 to display and output a game screen on the monitor 2. It includes a game apparatus main body 5 equipped with a computer, a controller 7 for giving the game apparatus main body 5 operation information necessary for operating objects displayed on the display screen, and a board type controller 9. The game system 1 executes a game process in the game apparatus body 5 based on at least a game operation using the board-type controller 9, and displays a game image obtained by the game process on a display device such as the monitor 2. It is. Note that the game apparatus body 5, the controller 7, and the board type controller 9 are connected so as to be wirelessly communicable. For example, the wireless communication is performed according to the Bluetooth (registered trademark) standard, but may be performed according to another standard such as infrared or wireless LAN.

ゲーム装置本体5は、無線コントローラモジュール19(図2参照)を内蔵する。無線コントローラモジュール19は、コントローラ7および/またはボード型コントローラ9から無線送信されるデータを受信し、ゲーム装置本体5からコントローラ7へデータを送信して、コントローラ7および/またはボード型コントローラ9とゲーム装置本体5とを無線通信によって接続する。また、ゲーム装置本体5には、ゲーム装置本体5に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着される。   The game apparatus body 5 includes a wireless controller module 19 (see FIG. 2). The wireless controller module 19 receives data wirelessly transmitted from the controller 7 and / or the board type controller 9 and transmits data from the game apparatus body 5 to the controller 7, so that the controller 7 and / or the board type controller 9 and the game are transmitted. The apparatus main body 5 is connected by wireless communication. In addition, an optical disk 4 that is an example of an information storage medium that can be used interchangeably with the game apparatus body 5 is attached to and detached from the game apparatus body 5.

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

コントローラ7およびボード型コントローラ9は、無線コントローラモジュール19を内蔵するゲーム装置本体5へ、例えばBluetoothの技術を用いて操作情報等の送信データをそれぞれ無線送信する。コントローラ7は、主にモニタ2の表示画面に表示された選択肢の選択等をするための操作手段である。コントローラ7は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン(十字キー等を含む)とが設けられている。   The controller 7 and the board type controller 9 wirelessly transmit transmission data such as operation information to the game apparatus body 5 incorporating the wireless controller module 19 using, for example, Bluetooth technology. The controller 7 is an operation means for mainly selecting an option displayed on the display screen of the monitor 2. The controller 7 is provided with a housing large enough to be held with one hand, and a plurality of operation buttons (including a cross key and the like) exposed on the surface of the housing.

なお、他の実施形態においてはコントローラ7および/またはボード型コントローラ9とゲーム装置本体5とは有線で接続されてもよい。また、本実施形態では、ゲームシステム1に含まれるコントローラ7およびボード型コントローラ9はそれぞれ1つとするが、ゲーム装置本体5は複数のコントローラ7および複数のボード型コントローラ9と通信可能であり、所定台数のコントローラ7およびボード型コントローラ9をそれぞれ同時に使用することによって複数人でゲームをプレイすることが可能である。   In other embodiments, the controller 7 and / or the board-type controller 9 and the game apparatus body 5 may be connected by wire. In this embodiment, the game system 1 includes one controller 7 and one board-type controller 9, but the game apparatus body 5 can communicate with a plurality of controllers 7 and a plurality of board-type controllers 9. By using the number of controllers 7 and the board type controller 9 at the same time, it is possible to play a game with a plurality of people.

コントローラ7は、例えばプラスチック成型によって形成されたハウジングを有しており、当該ハウジングに複数の操作部(操作ボタン)が設けられている。そして、コントローラ7は、操作部に対する入力状態(各操作ボタンが押下されたか否か)を示す操作データをゲーム装置本体5に送信する。なお、後述する本発明の実施形態においては、コントローラ7を用いることなくゲームをプレイすることが可能である。ボード型コントローラ9の詳細な構成については後述する。   The controller 7 has a housing formed by plastic molding, for example, and a plurality of operation portions (operation buttons) are provided in the housing. Then, the controller 7 transmits operation data indicating an input state to the operation unit (whether or not each operation button is pressed) to the game apparatus body 5. In the embodiment of the present invention to be described later, it is possible to play a game without using the controller 7. The detailed configuration of the board type controller 9 will be described later.

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

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

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

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

上述のように生成された画像データは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをモニタ2に出力する。また、AV−IC15は、システムLSI11において生成された音声データを読み出し、モニタ2のスピーカに出力する。これによって、画像がモニタ2に表示されるとともに音がスピーカから出力される。   The image data generated as described above is read by the AV-IC 15. The AV-IC 15 outputs the read image data to the monitor 2. Further, the AV-IC 15 reads the audio data generated in the system LSI 11 and outputs it to the speaker of the monitor 2. As a result, an image is displayed on the monitor 2 and a sound is output from the speaker.

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

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

入出力プロセッサ31は、図示しない無線通信モジュールやアンテナを介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。また、入出力プロセッサ31は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、上記アンテナ、および上記無線通信モジュールを介して受信し、受信したデータをフラッシュメモリ17に記憶する。フラッシュメモリ17には、ゲーム装置本体5と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体5を利用してプレイしたゲームのセーブデータ(処理の結果データまたは途中データ)が記憶されてもよい。   The input / output processor 31 is connected to a network via a wireless communication module and an antenna (not shown), and can communicate with other game devices and various servers connected to the network. The input / output processor 31 receives data transmitted from other game devices and data downloaded from a download server via the network, the antenna, and the wireless communication module, and receives the received data in the flash memory 17. To remember. In the flash memory 17, in addition to data transmitted and received between the game apparatus body 5 and other game apparatuses and various servers, save data (process result data or halfway) of the game played using the game apparatus body 5 is stored. Data) may be stored.

次に、図3および図4を参照して、ボード型コントローラ9の構成について説明する。図3は、図1に示したボード型コントローラ9の外観の一例を示す斜視図である。図3に示されるように、ボード型コントローラ9は、ユーザがその上に乗る(ユーザの足を乗せる)台9a、台9aに掛かる荷重を検出するための少なくとも4つの荷重センサ94a〜94dを備える。各荷重センサ94a〜94dは、それぞれ台9aに内包されており、図3においてはそれらの配置位置がそれぞれ破線で示されている。なお、以下の説明において、4つの荷重センサ94a〜94dを総称して説明する場合、荷重センサ94と記載することがある。   Next, the configuration of the board type controller 9 will be described with reference to FIGS. 3 and 4. FIG. 3 is a perspective view showing an example of the appearance of the board-type controller 9 shown in FIG. As shown in FIG. 3, the board-type controller 9 includes a base 9a on which the user rides (a user's foot is placed), and at least four load sensors 94a to 94d for detecting a load applied to the base 9a. . Each of the load sensors 94a to 94d is included in the base 9a, and in FIG. 3, their arrangement positions are indicated by broken lines. In the following description, the four load sensors 94a to 94d may be described as the load sensor 94 when collectively described.

台9aは、略直方体に形成されており、上面視で略長方形状である。例えば、台9aは、長方形状の短辺が30cm程度に設定され、長辺が50cm程度に設定される。台9aの上面は、平坦に形成され、ユーザが両足裏をそれぞれ置いて乗るための一対の面が設定されている。具体的には、台9aの上面には、電源ボタン9cが設けられている方向が初期設定においてユーザの後方となるように配置された場合に、ユーザが左足を乗せるための面(図3における左奥側に2重線で囲まれた領域)および左足を乗せるための面(図3における右手前側に2重線で囲まれた領域)がそれぞれ設定されている。そして、台9aの4隅の側面は、例えば部分的に円柱状に張り出すように形成されている。   The base 9a is formed in a substantially rectangular parallelepiped and has a substantially rectangular shape when viewed from above. For example, the base 9a has a rectangular short side set to about 30 cm and a long side set to about 50 cm. The upper surface of the base 9a is formed flat, and a pair of surfaces are set for the user to put on both feet and ride. Specifically, the surface on which the user puts his left foot when the direction in which the power button 9c is provided is arranged to be behind the user in the initial setting (in FIG. 3) A region surrounded by a double line on the far left side) and a surface for placing the left foot (a region surrounded by a double line on the right front side in FIG. 3) are set. And the side surfaces of the four corners of the base 9a are formed, for example, so as to partially protrude in a columnar shape.

台9aにおいて、4つの荷重センサ94a〜94dは、所定の間隔を置いて配置される。当該実施例では、4つの荷重センサ94a〜94dは、台9aの周縁部に、具体的には4隅にそれぞれ配置される。荷重センサ94a〜94dの間隔は、台9aに対するユーザの荷重のかけ方によるゲーム操作の意図をより精度良く検出できるように適宜な値に設定される。例えば、荷重センサ94a〜94dは、ボード型コントローラ9の4隅下部に設けられた4つの脚が配置される箇所にそれぞれ設けられる。   In the table 9a, the four load sensors 94a to 94d are arranged at a predetermined interval. In this embodiment, the four load sensors 94a to 94d are arranged at the peripheral edge of the base 9a, specifically at the four corners. The interval between the load sensors 94a to 94d is set to an appropriate value so that the intention of the game operation according to the user's load applied to the table 9a can be detected with higher accuracy. For example, the load sensors 94 a to 94 d are provided at locations where four legs provided at the lower corners of the board-type controller 9 are arranged.

荷重センサ94は、例えば歪ゲージ(歪センサ)式ロードセルであり、入力された荷重を電気信号に変換する荷重変換器である。荷重センサ94では、荷重入力に応じて、起歪体が変形して歪が生じる。この歪が、起歪体に貼り付けられた歪センサによって電気抵抗の変化に変換され、さらに電圧変化に変換される。したがって、荷重センサ94は、入力荷重を示す電圧信号を出力端子から出力することができる。   The load sensor 94 is, for example, a strain gauge (strain sensor) type load cell, and is a load converter that converts an input load into an electric signal. In the load sensor 94, the strain generating body is deformed and distorted in response to the load input. This strain is converted into a change in electrical resistance by a strain sensor attached to the strain generating body, and further converted into a change in voltage. Therefore, the load sensor 94 can output a voltage signal indicating the input load from the output terminal.

なお、荷重センサ94は、音叉振動式、弦振動式、静電容量式、圧電式、磁歪式、またはジャイロ式のような他の方式の荷重センサであってもよい。   The load sensor 94 may be another type of load sensor such as a tuning fork vibration type, a string vibration type, a capacitance type, a piezoelectric type, a magnetostrictive type, or a gyro type.

図3に戻って、ボード型コントローラ9には、さらに、電源ボタン9cが設けられる。ボード型コントローラ9が起動していない状態で電源ボタン9cが操作(例えば、電源ボタン9cの押下)されると、ボード型コントローラ9の各回路コンポーネント(図4参照)に電力が供給される。ただし、ボード型コントローラ9は、ゲーム装置本体5からの指示に従って電源オンされて各回路コンポーネントに電力供給が開始される場合もある。なお、ボード型コントローラ9は、ユーザが乗っていない状態が一定時間(例えば、30秒)以上継続すると、自動的に電源がオフされてもよい。また、ボード型コントローラ9が起動している状態で、電源ボタン9cが再度操作された場合、電源がオフされて各回路コンポーネントへの電力供給が停止されてもよい。   Returning to FIG. 3, the board-type controller 9 is further provided with a power button 9c. When the power button 9c is operated (for example, the power button 9c is pressed) while the board type controller 9 is not activated, power is supplied to each circuit component (see FIG. 4) of the board type controller 9. However, the board-type controller 9 may be turned on in accordance with an instruction from the game apparatus body 5 to start supplying power to each circuit component. The board-type controller 9 may be automatically turned off when the state in which the user is not on continues for a certain time (for example, 30 seconds) or longer. Further, when the power button 9c is operated again while the board-type controller 9 is activated, the power supply may be turned off and the power supply to each circuit component may be stopped.

図4は、ボード型コントローラ9の電気的な構成の一例を示すブロック図である。なお、図4では、信号およびデータの流れは実線矢印で示され、電力の供給が破線矢印で示されている。   FIG. 4 is a block diagram showing an example of the electrical configuration of the board type controller 9. In FIG. 4, the flow of signals and data is indicated by solid arrows, and the supply of power is indicated by broken arrows.

図4において、ボード型コントローラ9は、その動作を制御するためのマイクロコンピュータ(マイコン)100を含む。マイコン100は、図示しないCPU、ROM、およびRAM等を含み、CPUがROMに記憶されたプログラムに従ってボード型コントローラ9の動作を制御する。   In FIG. 4, the board type controller 9 includes a microcomputer 100 for controlling its operation. The microcomputer 100 includes a CPU, a ROM, a RAM, and the like (not shown), and the CPU controls the operation of the board type controller 9 according to a program stored in the ROM.

マイコン100には、電源ボタン9c、ADコンバータ102、および無線モジュール106が接続される。さらに、無線モジュール106には、アンテナ106aが接続される。4つの荷重センサ94a〜94dは、それぞれADコンバータ102に接続される。   The microcomputer 100 is connected to the power button 9c, the AD converter 102, and the wireless module 106. Further, an antenna 106 a is connected to the wireless module 106. The four load sensors 94a to 94d are connected to the AD converter 102, respectively.

荷重センサ94a〜94dは、入力された荷重を示す信号をそれぞれ出力する。これらの信号は、ADコンバータ102でアナログ信号からデジタルデータに変換されて、マイコン100に入力される。荷重センサ94a〜94dの検出値には荷重センサ94a〜94dの識別情報が付与されて、いずれの荷重センサ94a〜94dの検出値であるかが識別可能にされる。このようにして、マイコン100は、同一時刻における4つの荷重センサ94a〜94dそれぞれの荷重検出値を示すデータを取得することができる。   The load sensors 94a to 94d each output a signal indicating the input load. These signals are converted from analog signals to digital data by the AD converter 102 and input to the microcomputer 100. Identification information of the load sensors 94a to 94d is given to the detection values of the load sensors 94a to 94d so that the detection values of the load sensors 94a to 94d can be identified. In this way, the microcomputer 100 can acquire data indicating the load detection values of the four load sensors 94a to 94d at the same time.

荷重センサ94a〜94dからの検出値を示すデータは、ボード型コントローラ9のボード操作データ(入力データ)として、マイコン100から無線モジュール106およびアンテナ106aを介してゲーム装置本体5に送信される。例えば、ゲーム装置本体5からの命令を受けて荷重検出を行った場合、マイコン100は、ADコンバータ102から荷重センサ94a〜94dの検出値データを受信したことに応じて、当該検出値データをゲーム装置本体5に送信する。なお、マイコン100は、一定時間ごとに上記検出値データをゲーム装置本体5に送信するようにしてもよい。荷重の検出周期よりも送信周期が長い場合には、送信タイミングまでに検出された複数の検出タイミングの荷重値を含むデータを送信すればよい。   Data indicating detection values from the load sensors 94a to 94d is transmitted from the microcomputer 100 to the game apparatus body 5 via the wireless module 106 and the antenna 106a as board operation data (input data) of the board type controller 9. For example, when a load is detected in response to a command from the game apparatus body 5, the microcomputer 100 receives the detected value data of the load sensors 94 a to 94 d from the AD converter 102 and receives the detected value data as a game. It transmits to the apparatus main body 5. Note that the microcomputer 100 may transmit the detection value data to the game apparatus body 5 at regular intervals. When the transmission cycle is longer than the load detection cycle, data including load values at a plurality of detection timings detected up to the transmission timing may be transmitted.

なお、無線モジュール106は、ゲーム装置本体5の無線コントローラモジュール19と同じ無線規格(Bluetooth、無線LANなど)で通信可能にされる。したがって、ゲーム装置本体5のCPU10は、無線コントローラモジュール19等を介して情報取得命令をボード型コントローラ9に送信することができる。このように、ボード型コントローラ9は、無線モジュール106およびアンテナ106aを介して、ゲーム装置本体5からの命令を受信することができる。また、ボード型コントローラ9は、荷重センサ94a〜94dの荷重検出値(または荷重算出値)を含むボード操作データをゲーム装置本体5に送信することができる。   The wireless module 106 can communicate with the same wireless standard (Bluetooth, wireless LAN, etc.) as the wireless controller module 19 of the game apparatus body 5. Therefore, the CPU 10 of the game apparatus body 5 can transmit an information acquisition command to the board type controller 9 via the wireless controller module 19 or the like. Thus, the board type controller 9 can receive commands from the game apparatus body 5 via the wireless module 106 and the antenna 106a. Further, the board-type controller 9 can transmit board operation data including load detection values (or load calculation values) of the load sensors 94 a to 94 d to the game apparatus body 5.

例えば4つの荷重センサ94a〜94dで検出される4つの荷重値の単なる合計値を用いて実行されるようなゲームの場合には、ユーザはボード型コントローラ9の4つの荷重センサ94a〜94dに対して任意の位置をとることができる。つまり、ユーザは、台9aの上の任意の位置に任意の向きで乗ってゲームをプレイすることができる。しかしながら、ゲームの種類によっては、4つの荷重センサ94で検出される荷重値がボード型コントローラ9に対してどのような位置に加えられたのかを識別し、ボード型コントローラ9に対してユーザがどのような方向に向いて乗っているのかを識別して処理を行ってもよい。この場合、ボード型コントローラ9の4つの荷重センサ94から得られた荷重値を用いて、ボード型コントローラ9とユーザとの位置関係を推定し、当該ユーザ方向を方向入力に用いて処理することが可能となる。   For example, in the case of a game that is executed using a mere total value of four load values detected by the four load sensors 94a to 94d, the user performs the four load sensors 94a to 94d of the board type controller 9. Can take any position. That is, the user can play the game by riding in any direction on any position on the table 9a. However, depending on the type of game, the position of the load value detected by the four load sensors 94 is identified with respect to the board-type controller 9, and the user determines which position the board-type controller 9 has. Processing may be performed by identifying whether the vehicle is riding in such a direction. In this case, it is possible to estimate the positional relationship between the board type controller 9 and the user using the load values obtained from the four load sensors 94 of the board type controller 9, and to perform processing using the user direction as a direction input. It becomes possible.

しかしながら、ボード型コントローラ9を用いて方向入力を行う場合、初期設定としてボード型コントローラ9とユーザとの位置関係が把握されている必要がある。この場合、例えば、初期設定において4つの荷重センサ94とユーザとの位置関係を予め規定しておき、当該初期設定においては当該所定の位置関係が得られるようにユーザが台9a上に乗ることが前提とされてもよい。典型的には、台9aの中央に乗ったユーザの前後左右にそれぞれ荷重センサ94a〜94dが2つずつ存在するような位置関係、つまり、ユーザがボード型コントローラ9の台9aの中央に乗った位置関係が初期設定において規定される。この場合、当該実施例では、ボード型コントローラ9の台9aが平面視で矩形状に形成されるとともにその矩形の1辺(長辺)に電源ボタン9cが設けられているので、この電源ボタン9cを目印として利用して、ユーザには電源ボタン9cの設けられた長辺が所定の方向(前、後、左または右)に存在するようにして初期設定において台9aに乗ってもらうことを予め決めておく。このようにすれば、荷重センサ94a〜94dで初期設定において検出される荷重値は、ユーザから見て所定の方向(右前、左前、右後および左後)の荷重値となる。具体的には、電源ボタン9cの設けられた長辺がユーザの後方左右となるように、初期設定においてユーザに台9aに乗ってもらう。この場合、荷重センサ94a〜94dで初期設定において検出される荷重値は、それぞれユーザから見て右後ろの荷重値、左後ろの荷重値、右前の荷重値、および左前の荷重値となる。そして、初期設定後においては、4つの荷重センサ94a〜94dから得られた荷重値を用いて、ボード型コントローラ9に乗っているユーザ方向の変化を推定し、当該ユーザ方向を用いて所定の処理が行われる。   However, when the direction input is performed using the board type controller 9, the positional relationship between the board type controller 9 and the user needs to be grasped as an initial setting. In this case, for example, the positional relationship between the four load sensors 94 and the user is defined in advance in the initial setting, and the user may get on the platform 9a so that the predetermined positional relationship is obtained in the initial setting. It may be assumed. Typically, a positional relationship in which there are two load sensors 94a to 94d on each of the front, rear, left and right of the user who rides on the center of the base 9a, that is, the user gets on the center of the base 9a of the board type controller 9 The positional relationship is defined in the initial setting. In this case, in this embodiment, the base 9a of the board-type controller 9 is formed in a rectangular shape in plan view, and the power button 9c is provided on one side (long side) of the rectangle. As a mark, the user is requested to have the long side provided with the power button 9c in a predetermined direction (front, back, left or right) to get on the base 9a in the initial setting in advance. Decide it. In this way, the load values detected in the initial settings by the load sensors 94a to 94d are the load values in a predetermined direction (right front, left front, right rear, and left rear) as viewed from the user. Specifically, in the initial setting, the user gets on the base 9a so that the long side provided with the power button 9c is the left and right of the user. In this case, the load values detected in the initial setting by the load sensors 94a to 94d are the right rear load value, the left rear load value, the right front load value, and the left front load value as viewed from the user. After the initial setting, a change in the direction of the user riding on the board type controller 9 is estimated using the load values obtained from the four load sensors 94a to 94d, and a predetermined process is performed using the user direction. Is done.

次に、ゲーム装置本体5が行う具体的な処理を説明する前に、図5〜図9を用いてゲーム装置本体5で行う情報処理の概要について説明する。なお、図5は、ボード型コントローラ9を用いて操作するユーザの様子の一例を示す図である。図6は、モニタ2に表示される画像の一例を示す図である。図7は、ボード型コントローラ9上においてユーザが足踏みする方向を変えた場合にプレイヤオブジェクト正面方向(移動方向)が変化する一例を示す図である。図8は、重心位置の移動に応じて推定方向ベクトルが算出される一例を示す図である。図9は、算出されたユーザ正面方向ベクトルに応じて設定される足踏み判定線の一例を示す図である。   Next, before describing specific processing performed by the game apparatus body 5, an overview of information processing performed by the game apparatus body 5 will be described with reference to FIGS. FIG. 5 is a diagram illustrating an example of a state of a user who operates using the board-type controller 9. FIG. 6 is a diagram illustrating an example of an image displayed on the monitor 2. FIG. 7 is a diagram illustrating an example in which the front direction (movement direction) of the player object changes when the direction in which the user steps on the board-type controller 9 is changed. FIG. 8 is a diagram illustrating an example in which the estimated direction vector is calculated according to the movement of the center of gravity position. FIG. 9 is a diagram illustrating an example of a stepping determination line set according to the calculated user front direction vector.

図5に示すように、ユーザは、ボード型コントローラ9上に乗って操作する。そして、ユーザは、モニタ2に表示された画像を見て、ボード型コントローラ9上でのユーザの正面方向を変化させながらボード型コントローラ9上で動作(例えば、足踏み動作や屈伸動作)することによってプレイする。そして、モニタ2には、ボード型コントローラ9上におけるユーザの正面方向(ユーザ方向)と、ボード型コントローラ9上におけるユーザ動作とに応じて、仮想世界においてプレイヤオブジェクトPoが動作(例えば、移動方向や姿勢が変化する動作や移動速度が変化する動作)し、プレイヤオブジェクトPoの位置や方向に応じて仮想世界に設定される仮想カメラの位置や方向を変化させたゲーム画像が表現される。一例として、図5においては、仮想世界内をウォーキング、ジョギング、またはランニングするプレイヤオブジェクトPoが表示されている。そして、ユーザは、ボード型コントローラ9上で、ウォーキング、ジョギング、またはランニングするように足踏みする。この場合、ユーザの足踏み動作に応じた速度で、プレイヤオブジェクトPoが仮想世界内を移動するとともに、ボード型コントローラ9上におけるユーザ方向に応じて仮想世界内におけるプレイヤオブジェクトPoの移動方向が変化する。   As shown in FIG. 5, the user rides on the board type controller 9 to operate. Then, the user looks at the image displayed on the monitor 2 and operates on the board type controller 9 while changing the front direction of the user on the board type controller 9 (for example, a stepping action or a bending action). To play. Then, the player object Po moves in the virtual world according to the front direction (user direction) of the user on the board-type controller 9 and the user action on the board-type controller 9 (for example, the moving direction, A game image in which the position and direction of the virtual camera set in the virtual world are changed according to the position and direction of the player object Po. As an example, in FIG. 5, a player object Po that walks, jogs, or runs in the virtual world is displayed. Then, the user steps on the board type controller 9 to walk, jog, or run. In this case, the player object Po moves in the virtual world at a speed corresponding to the stepping motion of the user, and the moving direction of the player object Po in the virtual world changes according to the user direction on the board type controller 9.

例えば、ボード型コントローラ9上でユーザが足踏みするような動作をした場合、当該足踏み動作に応じた速度でプレイヤオブジェクトPoがウォーキング、ジョギング、またはランニングして仮想世界内を移動する。また、ボード型コントローラ9上でユーザが屈伸するような動作をした場合、当該屈伸動作に応じたジャンプ力でプレイヤオブジェクトPoが仮想世界内をジャンプして移動する。このように、ユーザは、ボード型コントローラ9上の動作によって、プレイヤオブジェクトPoの移動方法や移動速度を変化させることができる。   For example, when the user performs a stepping action on the board type controller 9, the player object Po moves in the virtual world by walking, jogging, or running at a speed corresponding to the stepping action. Further, when the user bends and stretches on the board-type controller 9, the player object Po jumps and moves in the virtual world with a jumping force corresponding to the bending and stretching motion. Thus, the user can change the moving method and moving speed of the player object Po by the operation on the board-type controller 9.

上述したように、ボード型コントローラ9からはボード型コントローラ9上のユーザ動作に応じた荷重検出値が出力される。そして、上記荷重検出値を用いれば、ボード型コントローラ9に加わっている合計荷重やボード型コントローラ9に加わっている荷重の重心位置の算出が可能である。また、上記合計荷重の変化や重心位置の変化を用いれば、ユーザがボード型コントローラ9上でどのような動作をしているのか推定することが可能となる。このようなボード型コントローラ9上で推定されるユーザ動作に応じて、プレイヤオブジェクトPoの移動方法や移動速度が設定される。   As described above, the board type controller 9 outputs a load detection value corresponding to the user operation on the board type controller 9. If the load detection value is used, it is possible to calculate the total load applied to the board type controller 9 and the position of the center of gravity of the load applied to the board type controller 9. Further, if the change in the total load or the change in the position of the center of gravity is used, it is possible to estimate what operation the user is performing on the board type controller 9. The moving method and moving speed of the player object Po are set according to the user action estimated on the board type controller 9 as described above.

また、ボード型コントローラ9上におけるユーザ方向に応じて、仮想世界内におけるプレイヤオブジェクトPoの方向(例えば、プレイヤオブジェクトPoの正面方向や移動方向)が変化する。一例として、図7に示すように、ユーザがボード型コントローラ9上で足踏みしている方向を左に変えた場合(すなわち、ユーザ方向が左方向へ変化した場合)、プレイヤオブジェクトPoが移動する方向(プレイヤオブジェクトPoの正面方向)がプレイヤオブジェクトPoから見て左に変化する。また、ユーザがボード型コントローラ9上で足踏みしている方向を右に変えた場合(すなわち、ユーザ方向が右方向へ変化した場合)、プレイヤオブジェクトPoが移動する方向がプレイヤオブジェクトPoから見て右に変化する。このように、ボード型コントローラ9上におけるユーザ方向をプレイヤオブジェクトPoの姿勢や移動方向に連動させることによって、ユーザはボード型コントローラ9上で仮想世界内を自分自身が移動しているかのようなリアリティある操作が可能となる。なお、プレイヤオブジェクトPoを含む仮想世界画像を生成してモニタ2に表示するための仮想カメラの位置や方向については、上記プレイヤオブジェクトPoの姿勢や移動方向が変化(すなわち、ボード型コントローラ9上におけるユーザ方向が変化)することに応じて変化させてもいいし、変化させなくてもよい。前者の場合、プレイヤオブジェクトPoの方向や位置を上記仮想カメラの向きや位置に連動させることによって、ユーザはさらにモニタ2を介してあたかも仮想世界内を移動しているかのような感覚を味わうことができる。   Further, the direction of the player object Po in the virtual world (for example, the front direction or the moving direction of the player object Po) changes according to the user direction on the board-type controller 9. As an example, as shown in FIG. 7, when the direction in which the user is stepping on the board-type controller 9 is changed to the left (that is, when the user direction is changed to the left), the direction in which the player object Po moves (The front direction of the player object Po) changes to the left when viewed from the player object Po. In addition, when the direction in which the user is stepping on the board-type controller 9 is changed to the right (that is, when the user direction is changed to the right), the direction in which the player object Po moves is the right when viewed from the player object Po. To change. In this way, by linking the user direction on the board type controller 9 with the posture and movement direction of the player object Po, the user can see the reality as if he / she is moving in the virtual world on the board type controller 9. Certain operations are possible. As for the position and direction of the virtual camera for generating a virtual world image including the player object Po and displaying it on the monitor 2, the posture and movement direction of the player object Po change (that is, on the board type controller 9). It may be changed according to the change of the user direction) or may not be changed. In the former case, by linking the direction and position of the player object Po with the direction and position of the virtual camera, the user can further feel as if the user is moving in the virtual world via the monitor 2. it can.

ボード型コントローラ9上におけるユーザ方向を推定する際、ボード型コントローラ9に加わっている荷重の重心位置の動きに基づいて算出される推定方向ベクトルが用いられる。例えば、図8に示すように、推定方向ベクトルは、ボード型コントローラ9の台9a上の位置に対応する所定の座標系(例えば、台9aの中心を原点、台9aの長辺方向をX1軸方向、短辺方向をY1軸方向とするX1Y1座標系)において、異なる時点で得られた2つの上記重心位置(典型的には、連続して得られた2つの重心位置)を結ぶ直線に垂直で、かつ、ボード型コントローラ9の上面に平行(例えば、水平方向)な方向で、当該直線の長さに設定される。すなわち、推定方向ベクトルは、上記重心位置の移動量の長さで、当該重心位置の移動方向に対して垂直方向に設定される。ここで、推定方向ベクトルが設定される上記方向は、上記移動方向に対して左水平方向および右水平方向の2方向が考えられる。後述により明らかとなるが、推定方向ベクトルは、上記2方向のうち、後述の処理において設定されるユーザ方向ベクトルの方向に近い方が選択される。そして、上記ユーザ方向は、上述したように設定された推定方向ベクトルを所定数(例えば、30フレーム分)加算することによって算出されるユーザ方向ベクトルによって推定される。具体的には、上記推定方向ベクトルを得られた時系列順に所定数加算して正規化することによってユーザ方向ベクトルを算出し、当該ユーザ方向ベクトルの方向がボード型コントローラ9上における現時点のユーザ方向であると推定する。   When the user direction on the board type controller 9 is estimated, an estimated direction vector calculated based on the movement of the gravity center position of the load applied to the board type controller 9 is used. For example, as shown in FIG. 8, the estimated direction vector is a predetermined coordinate system corresponding to the position on the board 9a of the board-type controller 9 (for example, the center of the board 9a is the origin, and the long side direction of the board 9a is the X1 axis. In the X1Y1 coordinate system with the direction and the short side direction as the Y1 axis direction), it is perpendicular to a straight line connecting the two centroid positions obtained at different points in time (typically two centroid positions obtained successively). In addition, the length of the straight line is set in a direction parallel to the upper surface of the board-type controller 9 (for example, in the horizontal direction). That is, the estimated direction vector is the length of the movement amount of the centroid position and is set in a direction perpendicular to the movement direction of the centroid position. Here, the direction in which the estimated direction vector is set may be two directions, that is, a left horizontal direction and a right horizontal direction with respect to the moving direction. As will be apparent from the description below, the estimated direction vector is selected from the two directions that is closer to the direction of the user direction vector set in the processing described later. The user direction is estimated by a user direction vector calculated by adding a predetermined number (for example, 30 frames) of the estimated direction vector set as described above. Specifically, a user direction vector is calculated by normalizing the estimated direction vector by adding a predetermined number in the order of the obtained time series, and the direction of the user direction vector is the current user direction on the board type controller 9 It is estimated that.

また、ユーザがボード型コントローラ9上で足踏みする動作の判定においても上記重心位置が用いられる。例えば、上記座標系に、ユーザが足踏み動作において左足を上げて右足を下げた場合に上記重心位置が移動する領域(右足領域)と、ユーザが足踏み動作において右足を上げて左足を下げた場合に上記重心位置が移動する領域(左足領域)とが設定される。例えば、電源ボタン9cが設けられている長辺が後方となるようにユーザがボード型コントローラ9上に乗って足踏みする場合、台9a上における左右(例えば、電源ボタン9cを後方にした左右)に左足領域および右足領域が設定され、左足領域および右足領域の間にはユーザの前後方向に延びる所定幅の中立領域が設定される。そして、上記重心位置が中立領域から右足領域に移動した場合にユーザが左足を上げたと判断し、上記重心位置が中立領域から左足領域に移動した場合にユーザが右足を上げたと判断する。   In addition, the position of the center of gravity is also used in determining the operation of the user stepping on the board type controller 9. For example, in the coordinate system, when the user raises the left foot in the stepping motion and lowers the right foot, the center of gravity moves (right foot region), and when the user raises the right foot and lowers the left foot in the stepping motion An area (left foot area) in which the center of gravity moves is set. For example, when the user steps on the board-type controller 9 so that the long side on which the power button 9c is provided is backward, the left and right on the base 9a (for example, left and right with the power button 9c rearward). A left foot region and a right foot region are set, and a neutral region having a predetermined width extending in the front-rear direction of the user is set between the left foot region and the right foot region. Then, it is determined that the user has raised the left foot when the position of the center of gravity moves from the neutral region to the right foot region, and it is determined that the user has raised the right foot when the position of the center of gravity moves from the neutral region to the left foot region.

なお、ユーザは、ボード型コントローラ9上で向きを変えながら足踏みをすることが考えられる。この場合、図9に示すように、ボード型コントローラ9上においてユーザが足踏みしている動作を判定する際にも上記ユーザ方向ベクトルが用いられる。ここで、上記左足領域、上記右足領域、および上記中立領域それぞれの位置を固定していると、ユーザがボード型コントローラ9上で向きを変えると正確な足踏み判定ができなくなる。このような場合、上記座標系における重心位置の移動を用いて算出されるユーザ方向ベクトルに基づいて、上記座標系における上記左足領域、上記右足領域、および上記中立領域を移動させればよい。例えば、上記中立領域が延びる方向をユーザ方向ベクトルの方向に変化させるとともに、上記中立領域の中心位置がユーザの足踏み中心位置と一致するように上記中立領域を移動させる。そして、当該中立領域の移動に応じて上記左足領域および上記右足領域を移動させる。このように上記左足領域、上記右足領域、および上記中立領域を移動させることによって、ボード型コントローラ9上で向きを変えながらユーザが足踏みしたとしても、正確に足踏み判定を行うことができる。   Note that it is conceivable that the user steps on the board type controller 9 while changing the direction. In this case, as shown in FIG. 9, the user direction vector is also used when determining the action of the user stepping on the board type controller 9. Here, if the positions of the left foot region, the right foot region, and the neutral region are fixed, if the user changes the direction on the board-type controller 9, an accurate stepping determination cannot be made. In such a case, the left foot region, the right foot region, and the neutral region in the coordinate system may be moved based on the user direction vector calculated using the movement of the gravity center position in the coordinate system. For example, the direction in which the neutral region extends is changed to the direction of the user direction vector, and the neutral region is moved so that the center position of the neutral region matches the stepping center position of the user. Then, the left foot region and the right foot region are moved according to the movement of the neutral region. As described above, by moving the left foot region, the right foot region, and the neutral region, even if the user steps on the board-type controller 9, the stepping determination can be performed accurately.

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

図10に示すように、メインメモリのデータ記憶領域には、操作データDa、荷重値データDb、重心位置データDc、推定方向ベクトルデータDd、ユーザ方向ベクトル候補データDe、ユーザ方向ベクトルデータDf、重心移動量データDg、足踏み中心位置データDh、足踏み判定線データDi、オブジェクト動作データDj、走行速度データDk、走行距離データDm、足踏みフラグデータDn、および画像データDo等が記憶される。なお、メインメモリには、図10に示す情報に含まれるデータの他、モニタ2に表示される他のオブジェクト等に関するデータ等、処理に必要なデータ等が適宜記憶される。また、メインメモリのプログラム記憶領域には、情報処理プログラムを構成する各種プログラム群Paが記憶される。   As shown in FIG. 10, the data storage area of the main memory includes operation data Da, load value data Db, centroid position data Dc, estimated direction vector data Dd, user direction vector candidate data De, user direction vector data Df, centroid Movement amount data Dg, stepping center position data Dh, stepping determination line data Di, object motion data Dj, travel speed data Dk, travel distance data Dm, stepping flag data Dn, image data Do, and the like are stored. In addition to the data included in the information shown in FIG. 10, data necessary for processing, such as data related to other objects displayed on the monitor 2, and the like are appropriately stored in the main memory. Various program groups Pa constituting the information processing program are stored in the program storage area of the main memory.

操作データDaは、コントローラ7やボード型コントローラ9から送信データとして送信されてくる一連の操作情報が格納され、最新の操作データに更新される。例えば、操作データDaは、荷重データDa1等を含んでいる。荷重データDa1は、ボード型コントローラ9の荷重センサ94a〜94dがそれぞれ検出した荷重検出値を示すデータである。   The operation data Da stores a series of operation information transmitted as transmission data from the controller 7 or the board type controller 9, and is updated to the latest operation data. For example, the operation data Da includes load data Da1 and the like. The load data Da1 is data indicating load detection values detected by the load sensors 94a to 94d of the board type controller 9, respectively.

なお、ゲーム装置本体5に備える無線コントローラモジュール19は、コントローラ7やボード型コントローラ9から所定周期(例えば、1/200秒毎)に送信される操作情報に含まれるデータ(例えば、荷重検出値を示すデータ)を受信し、無線コントローラモジュール19に備える図示しないバッファに蓄えられる。その後、上記バッファに蓄えられたデータが処理周期である1フレーム毎(例えば、1/60秒毎)に読み出されて、メインメモリの操作データDa(例えば、荷重データDa1)がそれぞれ更新される。   Note that the wireless controller module 19 included in the game apparatus body 5 includes data (for example, a load detection value) included in operation information transmitted from the controller 7 or the board-type controller 9 at a predetermined cycle (for example, every 1/200 second). Data) is received and stored in a buffer (not shown) provided in the wireless controller module 19. Thereafter, the data stored in the buffer is read every frame (for example, every 1/60 seconds) as the processing cycle, and the operation data Da (for example, load data Da1) in the main memory is updated. .

このとき、操作情報を受信する周期と処理周期とが異なるために、上記バッファには複数の時点に受信した操作情報が記述されていることになる。後述する処理の説明においては、後述する各ステップにおいて、複数の時点に受信した操作情報のうち最新の操作情報のみを用いて処理して、次のステップに進める態様を用いる。   At this time, since the cycle for receiving the operation information is different from the processing cycle, the operation information received at a plurality of times is described in the buffer. In the description of the processing to be described later, a mode is used in which processing is performed using only the latest operation information among the operation information received at a plurality of points in time and proceeds to the next step in each step to be described later.

また、後述する処理フローでは、荷重データDa1が処理周期である1フレーム毎に更新される例を用いて説明するが、他の処理周期で更新されてもかまわない。例えば、ボード型コントローラ9からの送信周期毎に荷重データDa1をそれぞれ更新し、当該更新された荷重データDa1を処理周期毎に利用する態様でもかまわない。この場合、荷重データDa1を更新する周期と、他の処理周期とが異なることになる。   Further, in the processing flow to be described later, the load data Da1 will be described by using an example in which the load data Da1 is updated for each frame that is a processing cycle. However, the load data Da1 may be updated in another processing cycle. For example, the load data Da1 may be updated for each transmission cycle from the board-type controller 9, and the updated load data Da1 may be used for each processing cycle. In this case, the cycle for updating the load data Da1 is different from other processing cycles.

荷重値データDbは、ボード型コントローラ9が検出する荷重値を示すデータの集合である。例えば、荷重値データDbは、荷重センサ94a〜94dがそれぞれ検出した荷重の合計値(合計荷重値)を示すデータの集合である。具体的には、荷重値データDbは、時系列的に算出された所定期間内(例えば、30フレーム分)の上記合計荷重値を示すデータの配列であり、配列の各要素に上記合計荷重値を示すデータが時系列に格納される。   The load value data Db is a set of data indicating load values detected by the board type controller 9. For example, the load value data Db is a set of data indicating the total value (total load value) of the loads detected by the load sensors 94a to 94d. Specifically, the load value data Db is an array of data indicating the total load value within a predetermined period (for example, 30 frames) calculated in time series, and the total load value is included in each element of the array. Is stored in time series.

重心位置データDcは、ボード型コントローラ9に加わっている荷重の重心位置を示すデータの集合である。例えば、重心位置データDcは、荷重センサ94a〜94dがそれぞれ検出した荷重値から所定の数式を用いて算出される重心位置を示すデータの集合である。具体的には、重心位置データDcは、時系列的に算出された所定期間内(例えば、31フレーム分以上)の上記重心位置を示すデータの配列であり、配列の各要素に上記重心位置を示すデータが時系列に格納される。   The centroid position data Dc is a set of data indicating the centroid position of the load applied to the board type controller 9. For example, the center-of-gravity position data Dc is a set of data indicating the center-of-gravity position calculated using predetermined formulas from the load values detected by the load sensors 94a to 94d. Specifically, the centroid position data Dc is an array of data indicating the centroid position within a predetermined period (for example, 31 frames or more) calculated in time series. The indicated data is stored in time series.

推定方向ベクトルデータDdは、上記重心位置の動きに基づいて設定される推定方向ベクトル(図8参照)を示すデータの集合である。例えば、推定方向ベクトルデータDdは、前回の処理で算出された重心位置と時系列的に連続する今回の処理で算出された重心位置とを用いて繰り返し算出される推定方向ベクトルを示すデータの集合である。具体的には、推定方向ベクトルデータDdは、時系列的に算出された所定期間内(例えば、30フレーム分)の上記推定方向ベクトルを示すデータの配列であり、配列の各要素に上記推定方向ベクトルを示すデータが時系列に格納される。   The estimated direction vector data Dd is a set of data indicating an estimated direction vector (see FIG. 8) set based on the motion of the center of gravity. For example, the estimated direction vector data Dd is a set of data indicating estimated direction vectors that are repeatedly calculated using the centroid position calculated in the previous process and the centroid position calculated in the current process in time series. It is. Specifically, the estimated direction vector data Dd is an array of data indicating the estimated direction vector within a predetermined period (for example, 30 frames) calculated in time series, and the estimated direction vector is included in each element of the array. Data indicating vectors is stored in time series.

ユーザ方向ベクトル候補データDeは、現時点から所定時間内(例えば、30フレーム分)に得られた推定方向ベクトルを足し合わせて正規化することによって得られるユーザ方向ベクトル候補を示すデータである。   The user direction vector candidate data De is data indicating user direction vector candidates obtained by adding and normalizing estimated direction vectors obtained within a predetermined time (for example, 30 frames) from the present time.

ユーザ方向ベクトルデータDfは、ボード型コントローラ9上におけるユーザ方向を推定したユーザ方向ベクトルを示すデータである。後述により明らかとなるが、ユーザ方向ベクトルの方向は、上記ユーザ方向ベクトル候補の方向に所定の条件に基づいて近づけることによって、逐次更新される。   The user direction vector data Df is data indicating a user direction vector obtained by estimating the user direction on the board type controller 9. As will be described later, the direction of the user direction vector is sequentially updated by bringing the direction of the user direction vector close to the direction of the user direction vector candidate based on a predetermined condition.

重心移動量データDgは、所定期間内における上記重心位置の移動量を示す重心移動量を示すデータである。   The centroid movement amount data Dg is data indicating the centroid movement amount indicating the movement amount of the centroid position within a predetermined period.

足踏み中心位置データDhは、ボード型コントローラ9上において足踏みしているユーザの足踏み中心位置を示すデータである。足踏み判定線データDiは、ユーザ方向ベクトルおよび足踏み中心位置に基づいて算出され、ユーザの足踏み動作を判定するために用いられる各判定線(判定基準線、左足踏み判定線、右足踏み判定線)を示すデータである。   The stepping center position data Dh is data indicating the stepping center position of the user who is stepping on the board type controller 9. The stepping determination line data Di is calculated based on the user direction vector and the stepping center position, and is used to determine each determination line (determination reference line, left footstepping determination line, right footstepping determination line) used for determining the stepping motion of the user. It is the data shown.

オブジェクト動作データDjは、仮想世界におけるプレイヤオブジェクトPoの動作、位置、および方向を示すデータである。走行速度データDkは、仮想世界内を走行(歩行)するプレイヤオブジェクトPoの速度を示すデータである。走行距離データDmは、仮想世界内を走行(歩行)したプレイヤオブジェクトPoの距離を示すデータである。   The object motion data Dj is data indicating the motion, position, and direction of the player object Po in the virtual world. The traveling speed data Dk is data indicating the speed of the player object Po traveling (walking) in the virtual world. The travel distance data Dm is data indicating the distance of the player object Po that has traveled (walked) in the virtual world.

足踏みフラグデータDnは、ボード型コントローラ9上においてユーザが左足を上げて右足で足踏みするような動作をした場合にオンに設定され、右足を上げて左足で足踏みするような動作をした場合にオフに設定される足踏みフラグを示すデータである。   The stepping flag data Dn is set to ON when the user performs an operation such as raising the left foot and stepping with the right foot on the board-type controller 9, and is turned off when performing an operation such as raising the right foot and stepping with the left foot. This is data indicating a stepping flag set to.

画像データDoは、プレイヤオブジェクトデータDo1および背景画像データDo2等を含んでいる。プレイヤオブジェクトデータDo1は、仮想世界にプレイヤオブジェクトPoを配置してゲーム画像を生成するためのデータである。背景画像データDo2は、仮想世界に背景を配置してゲーム画像を生成するためのデータである。   The image data Do includes player object data Do1, background image data Do2, and the like. The player object data Do1 is data for arranging the player object Po in the virtual world and generating a game image. The background image data Do2 is data for arranging a background in the virtual world and generating a game image.

次に、図11〜図16を参照して、ゲーム装置本体5において行われる情報処理の詳細を説明する。なお、図11は、ゲーム装置本体5において実行される情報処理の一例を示すフローチャートである。図12は、図11におけるステップ44の推定方向ベクトル算出処理の一例を示すサブルーチンである。図13は、図11におけるステップ45のユーザ方向ベクトル算出処理の一例を示すサブルーチンである。図14は、図11におけるステップ46の足踏み判定線設定処理の一例を示すサブルーチンである。図15は、図11におけるステップ47の動作設定処理の一例を示すサブルーチンである。図16は、推定方向ベクトルの方向を反転させる反転範囲の一例を示す図である。ここで、図11〜図15に示すフローチャートにおいては、情報処理のうち、ボード型コントローラ9を用いたユーザの操作に応じて、プレイヤオブジェクトPoが動作して表示される処理について主に説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図11〜図15では、CPU10が実行する各ステップを「S」と略称する。   Next, details of information processing performed in the game apparatus body 5 will be described with reference to FIGS. FIG. 11 is a flowchart illustrating an example of information processing executed in the game apparatus body 5. FIG. 12 is a subroutine showing an example of the estimated direction vector calculation process of step 44 in FIG. FIG. 13 is a subroutine showing an example of the user direction vector calculation process in step 45 in FIG. FIG. 14 is a subroutine showing an example of the stepping determination line setting process in step 46 in FIG. FIG. 15 is a subroutine showing an example of the operation setting process of step 47 in FIG. FIG. 16 is a diagram illustrating an example of an inversion range in which the direction of the estimated direction vector is inverted. Here, in the flowcharts shown in FIGS. 11 to 15, the process of displaying the player object Po in response to a user operation using the board-type controller 9 in the information processing will be mainly described. Detailed descriptions of other processes not directly related to the present invention are omitted. 11 to 15, each step executed by the CPU 10 is abbreviated as “S”.

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

図11において、CPU10は、処理の初期設定を行い(ステップ41)、次のステップに処理を進める。例えば、上記ステップ41における初期設定において、CPU10は、仮想世界の設定やプレイヤオブジェクトPoの配置および方向等の初期設定を行って、オブジェクト動作データDj等を更新する。また、上記ステップ41における初期設定では、CPU10は、モニタ2に表示する画像やスピーカから出力する音声を用いて、ボード型コントローラ9の前方方向(例えば、図3に示す電源ボタン9cが設けられている側面を後方側面として、当該後方側面から当該後方側面と相対する前方側面へ向かう方向)をユーザの正面方向としてボード型コントローラ9上に乗るようにユーザを促す。そして、CPU10は、ユーザ方向ベクトルをボード型コントローラ9の前面方向に設定し、ユーザ方向ベクトルデータDfを更新する。さらに、上記ステップ41における初期設定では、以下の情報処理を行うために他のパラメータを初期化する。例えば、CPU10は、上述したメインメモリに格納される各データが示す他のパラメータをそれぞれ所定値(例えば0、空値、またはNull値)に初期化する。   In FIG. 11, the CPU 10 performs initial setting of the process (step 41), and proceeds to the next step. For example, in the initial setting in step 41, the CPU 10 performs the initial setting such as the setting of the virtual world and the arrangement and direction of the player object Po, and updates the object motion data Dj and the like. Further, in the initial setting in step 41, the CPU 10 is provided with a power button 9c shown in the forward direction of the board type controller 9 (for example, the power button 9c shown in FIG. 3) using the image displayed on the monitor 2 and the sound output from the speaker. The user is urged to ride on the board type controller 9 with the side surface being the rear side surface as the front direction of the user (the direction from the rear side surface toward the front side surface facing the rear side surface). Then, the CPU 10 sets the user direction vector in the front direction of the board type controller 9 and updates the user direction vector data Df. Further, in the initial setting in step 41, other parameters are initialized in order to perform the following information processing. For example, the CPU 10 initializes other parameters indicated by the data stored in the main memory described above to predetermined values (for example, 0, null value, or null value).

次に、CPU10は、操作データを取得して(ステップ42)、次のステップに処理を進める。例えば、CPU10は、ボード型コントローラ9から受信した操作データを用いて、当該操作データに含まれる荷重検出値を示すデータを用いて荷重データDa1を更新する。ここで、上記操作データには、荷重センサ94a〜94dがそれぞれ検出した荷重検出値を示すデータが含まれており、荷重センサ94a〜94dの識別情報によって区別された当該データをそれぞれ用いて、荷重データDa1が更新される。なお、操作データを受信する周期と上記ステップ42を行う処理周期とが異なるために、当該処理周期の間に複数回の操作データが受信されてバッファに格納されている。上記ステップ42においては、上記複数回受信された操作データのうち最新の操作データのみを用いて操作データDaが更新される例を用いる。   Next, the CPU 10 acquires operation data (step 42), and proceeds to the next step. For example, the CPU 10 uses the operation data received from the board type controller 9 to update the load data Da1 using data indicating a load detection value included in the operation data. Here, the operation data includes data indicating the load detection values detected by the load sensors 94a to 94d, respectively, and the load data 94a to 94d are used to distinguish the load data. Data Da1 is updated. Since the cycle for receiving the operation data is different from the processing cycle for performing step 42, the operation data is received a plurality of times during the processing cycle and stored in the buffer. The step 42 uses an example in which the operation data Da is updated using only the latest operation data among the operation data received a plurality of times.

次に、CPU10は、荷重値および重心位置を算出して(ステップ43)、次のステップに処理を進める。例えば、CPU10は、荷重データDa1が示す荷重検出値を合計して合計荷重値を算出し、当該合計荷重値を示すデータを用いて荷重値データDbにおける時系列データ配列のうち最新のデータを更新する。具体的には、荷重データDa1は、荷重センサ94a〜94dがそれぞれ検出した最新の荷重検出値を示しているため、当該荷重検出値を合計することによって、上記合計荷重値が算出される。また、CPU10は、荷重データDa1が示す荷重検出値を用いて重心位置を算出し、当該重心位置を示すデータを用いて重心位置データDcにおける時系列データ配列のうち最新のデータを更新する。以下、重心位置の算出方法の一例を説明する。   Next, the CPU 10 calculates the load value and the gravity center position (step 43), and proceeds to the next step. For example, the CPU 10 calculates the total load value by adding the load detection values indicated by the load data Da1, and updates the latest data in the time series data array in the load value data Db using the data indicating the total load value. To do. Specifically, since the load data Da1 indicates the latest load detection values detected by the load sensors 94a to 94d, the total load value is calculated by summing the load detection values. In addition, the CPU 10 calculates the gravity center position using the load detection value indicated by the load data Da1, and updates the latest data in the time series data array in the gravity center position data Dc using the data indicating the gravity center position. Hereinafter, an example of a calculation method of the center of gravity position will be described.

上記重心位置は、ボード型コントローラ9の台9aに加わる荷重の重心位置であり、各荷重センサ94a〜94d(図3参照)が検出する荷重値によって定められる。例えば、上記重心位置は、ボード型コントローラ9の台9a上の位置に対応する所定の座標系(例えば、台9aの中心を原点、台9aの長辺方向をX軸方向、短辺方向をY軸方向とするXY座標系)に基づいた座標値によって表される。そして、荷重センサ94aが検出する荷重値をa、荷重センサ94bが検出する荷重値をb、荷重センサ94cが検出する荷重値をc、荷重センサ94dが検出する荷重値をdとした場合、重心のX軸座標値(X)およびY軸座標値(Y)は、以下の数式を用いて算出することができる。
X=((a+c)―(b+d))×m
Y=((c+d)―(a+b))×n
ここで、mおよびnは、それぞれ予め定められた定数である。このようにして算出される重心位置は、ボード型コントローラ9上のユーザ動作や体重移動(姿勢)に応じて変化する。例えば、ユーザが左足を上げた場合に重心位置のX軸座標値が正の値となり、ユーザが右足を上げた場合に重心位置のX軸座標値が負の値となる。なお、上記重心位置の算出式は単なる一例であり、その他の方法によって重心位置が算出されてもよい。
The position of the center of gravity is the position of the center of gravity of the load applied to the base 9a of the board type controller 9, and is determined by the load value detected by each of the load sensors 94a to 94d (see FIG. 3). For example, the position of the center of gravity is a predetermined coordinate system corresponding to the position of the board-type controller 9 on the base 9a (for example, the center of the base 9a is the origin, the long side direction of the base 9a is the X-axis direction, and the short side direction is Y It is represented by a coordinate value based on an XY coordinate system (axial direction). When the load value detected by the load sensor 94a is a, the load value detected by the load sensor 94b is b, the load value detected by the load sensor 94c is c, and the load value detected by the load sensor 94d is d, the center of gravity The X-axis coordinate value (X) and the Y-axis coordinate value (Y) can be calculated using the following equations.
X = ((a + c) − (b + d)) × m
Y = ((c + d) − (a + b)) × n
Here, m and n are predetermined constants. The center-of-gravity position calculated in this way changes according to the user operation on the board-type controller 9 and weight shift (posture). For example, when the user raises the left foot, the X-axis coordinate value of the center of gravity position becomes a positive value, and when the user raises the right foot, the X-axis coordinate value of the center of gravity position becomes a negative value. The above formula for calculating the center of gravity position is merely an example, and the center of gravity position may be calculated by other methods.

次に、CPU10は、推定方向ベクトルを算出して(ステップ44)、次のステップに処理を進める。以下、図12を参照して、上記ステップ44で行う推定方向ベクトル算出処理について説明する。   Next, the CPU 10 calculates an estimated direction vector (step 44) and proceeds to the next step. Hereinafter, the estimated direction vector calculation process performed in step 44 will be described with reference to FIG.

図12において、CPU10は、前回の処理において重心位置が算出されているか否かを判断する(ステップ51)。例えば、CPU10は、重心位置データDcを参照して、前回の処理ループにおけるステップ43において重心位置が算出されているか否かを判断する。そして、CPU10は、前回の処理において重心位置が算出されている場合、次のステップ52に処理を進める。一方、CPU10は、前回の処理において重心位置が算出されていない場合、当該サブルーチンによる処理を終了する。   In FIG. 12, the CPU 10 determines whether or not the gravity center position has been calculated in the previous process (step 51). For example, the CPU 10 refers to the centroid position data Dc and determines whether or not the centroid position has been calculated in step 43 in the previous processing loop. And CPU10 advances a process to the following step 52, when the gravity center position was calculated in the last process. On the other hand, if the gravity center position has not been calculated in the previous process, the CPU 10 ends the process by the subroutine.

ステップ52において、CPU10は、差分ベクトルを算出し、次のステップに処理を進める。例えば、CPU10は、上記座標系において、前回の処理ループにおいて算出された重心位置から今回の処理ループにおいて算出された重心位置までの差分ベクトルを算出する。   In step 52, the CPU 10 calculates a difference vector and proceeds to the next step. For example, the CPU 10 calculates a difference vector from the centroid position calculated in the previous processing loop to the centroid position calculated in the current processing loop in the coordinate system.

次に、CPU10は、上記差分ベクトルを用いて推定方向ベクトルを算出し(ステップ53)、次のステップに処理を進める。例えば、CPU10は、上記座標系において、上記ステップ52で算出された差分ベクトルに直交する方向で、当該差分ベクトルと同じ長さを有するベクトルを、推定方向ベクトルとして算出する。なお、差分ベクトルに直交する方向は一対の2方向が考えられるが、CPU10は、当該2方向のうち、上記座標系においてユーザ方向ベクトルデータDfが示すユーザ方向ベクトルの方向に近い方向を推定方向ベクトルとして選択する。そして、CPU10は、算出された推定方向ベクトルを示すデータを用いて、推定方向ベクトルデータDdにおける時系列データ配列のうち最新のデータを更新する。   Next, the CPU 10 calculates an estimated direction vector using the difference vector (step 53), and proceeds to the next step. For example, the CPU 10 calculates a vector having the same length as the difference vector in the direction orthogonal to the difference vector calculated in step 52 in the coordinate system as an estimated direction vector. The direction orthogonal to the difference vector may be a pair of two directions, but the CPU 10 determines an estimated direction vector that is close to the direction of the user direction vector indicated by the user direction vector data Df in the coordinate system. Select as. Then, the CPU 10 updates the latest data in the time series data array in the estimated direction vector data Dd using data indicating the calculated estimated direction vector.

次に、CPU10は、上記ステップ53で算出された推定方向ベクトルが反転範囲内か否かを判断する(ステップ54)。例えば、図16に示すように、ボード型コントローラ9の後方方向付近(例えば、当該後方方向を中心に左右それぞれ15°の範囲)に、推定方向ベクトルの方向を反転させる反転範囲が設定されている。そして、CPU10は、推定方向ベクトルが上記反転範囲内である場合、次のステップ55に処理を進める。一方、CPU10は、推定方向ベクトルが反転範囲内にない場合、当該サブルーチンによる処理を終了する。   Next, the CPU 10 determines whether or not the estimated direction vector calculated in step 53 is within the inversion range (step 54). For example, as shown in FIG. 16, an inversion range for inverting the direction of the estimated direction vector is set in the vicinity of the backward direction of the board-type controller 9 (for example, a range of 15 ° to the left and right with respect to the backward direction). . If the estimated direction vector is within the inversion range, the CPU 10 proceeds to the next step 55. On the other hand, when the estimated direction vector is not within the inversion range, the CPU 10 ends the processing by the subroutine.

ステップ55において、CPU10は、上記ステップ53において算出された推定方向ベクトルの方向を反転させ、反転させた推定方向ベクトルを用いて推定方向ベクトルデータDdにおける時系列データ配列のうち最新のデータを更新して、当該サブルーチンによる処理を終了する。ここで、上記反転範囲は、ボード型コントローラ9の後方方向付近に設けられている。これは、モニタ2を見ながらユーザがプレイすることが基本の遊技姿勢とし、一般的にボード型コントローラ9の前方方向がモニタ2への方向となることを想定している。この場合、ユーザがモニタ2を背にしてボード型コントローラ9の後方方向に向くような遊技姿勢となることが考えにくいため、当該方向に推定方向ベクトルの方向が設定された場合にボード型コントローラ9の前方方向付近に当該方向を反転させることによって、ユーザ方向の判定精度を向上させることができる。このような効果を期待しない場合、上記推定方向ベクトルの方向を反転させる処理は行わなくてもかまわない。この場合、推定方向ベクトルが全方向に設定可能となり、ユーザ方向も全方向へ重み付けされることなく設定されることになるため、ユーザ自身も全方向へ任意に方向指示することが可能となる。   In step 55, the CPU 10 inverts the direction of the estimated direction vector calculated in step 53, and updates the latest data in the time series data array in the estimated direction vector data Dd using the inverted estimated direction vector. Then, the processing by the subroutine is finished. Here, the inversion range is provided in the vicinity of the backward direction of the board-type controller 9. This is based on the assumption that the user plays while watching the monitor 2, and generally the forward direction of the board-type controller 9 is the direction toward the monitor 2. In this case, since it is unlikely that the user will be in a gaming posture with the monitor 2 facing away from the board-type controller 9, the board-type controller 9 is set when the direction of the estimated direction vector is set in that direction. By reversing the direction in the vicinity of the forward direction, the user direction determination accuracy can be improved. When such an effect is not expected, the process of inverting the direction of the estimated direction vector may not be performed. In this case, the estimated direction vector can be set in all directions, and the user direction is set without being weighted in all directions, so that the user can also arbitrarily specify directions in all directions.

図11に戻り、上記ステップ44における推定方向ベクトル算出処理の後、CPU10は、ユーザ方向ベクトルを算出して、次のステップに処理を進める(ステップ45)。以下、図13を参照して、上記ステップ45で行うユーザ方向ベクトル算出処理について説明する。   Returning to FIG. 11, after the estimated direction vector calculation process in step 44, the CPU 10 calculates the user direction vector and proceeds to the next step (step 45). Hereinafter, the user direction vector calculation process performed in step 45 will be described with reference to FIG.

図13において、CPU10は、所定フレーム分の推定方向ベクトルを加算し(ステップ61)、次のステップに処理を進める。例えば、CPU10は、推定方向ベクトルデータDdに格納されている時系列データ配列のうち最新の所定フレーム分(例えば、30フレーム分)のデータを取得し、当該データが示す推定方向ベクトルを足し合わせることによって1つのベクトルを算出する。なお、推定方向ベクトルデータDdに格納されている時系列データ配列の数が上記所定フレーム数未満の場合、当該時系列データ配列分のデータが示す推定方向ベクトルを足し合わせることによって1つのベクトルを算出すればよい。   In FIG. 13, the CPU 10 adds estimated direction vectors for a predetermined frame (step 61), and proceeds to the next step. For example, the CPU 10 acquires data for the latest predetermined frame (for example, 30 frames) from the time-series data array stored in the estimated direction vector data Dd, and adds the estimated direction vectors indicated by the data. To calculate one vector. If the number of time-series data arrays stored in the estimated direction vector data Dd is less than the predetermined number of frames, one vector is calculated by adding the estimated direction vectors indicated by the data for the time-series data array. do it.

次に、CPU10は、上記ステップ61において算出したベクトルを正規化してユーザ方向ベクトル候補を算出し(ステップ62)、次のステップに処理を進める。例えば、CPU10は、上記ステップ61において算出したベクトルを長さ1に正規化してユーザ方向ベクトル候補を算出し、当該ユーザ方向ベクトル候補を用いてユーザ方向ベクトル候補データDeを更新する。なお、ユーザ方向ベクトル候補の方向は、所定フレーム分の推定方向ベクトルを足し合わせたベクトル方向となるが、上述したように推定方向ベクトルの長さが重心位置の移動量に基づいて設定されているため、結果的に重心の移動量で重み付けされた方向となる。   Next, the CPU 10 normalizes the vector calculated in step 61 to calculate a user direction vector candidate (step 62), and proceeds to the next step. For example, the CPU 10 normalizes the vector calculated in step 61 to length 1, calculates a user direction vector candidate, and updates the user direction vector candidate data De using the user direction vector candidate. The direction of the user direction vector candidate is a vector direction obtained by adding the estimated direction vectors for a predetermined frame. As described above, the length of the estimated direction vector is set based on the amount of movement of the centroid position. As a result, the direction is weighted by the amount of movement of the center of gravity.

次に、CPU10は、所定フレーム分(例えば、30フレーム分)の重心移動量Mgを算出し(ステップ63)、次のステップに処理を進める。例えば、CPU10は、重心位置データDcに格納されている時系列データ配列のうち、上記重心移動量Mgを算出するための所定フレーム分に1を加えた最新のフレーム分(例えば、最新の31フレーム分)の重心位置を取得する。そして、CPU10は、連続して取得された重心位置間の移動距離を、それぞれ上記所定フレーム分累積して重心移動量Mgを算出し、算出された重心移動量Mgを用いて重心移動量データDgを更新する。なお、重心位置データDcに格納されている時系列データ配列の数が上記所定フレーム数に1を加えた数未満の場合、当該時系列データ配列分のデータが示す重心位置を取得して、当該重心位置間の移動距離を累積して重心移動量Mgを算出すればよい。   Next, the CPU 10 calculates the center-of-gravity movement amount Mg for a predetermined frame (for example, 30 frames) (step 63), and proceeds to the next step. For example, the CPU 10 of the time-series data array stored in the centroid position data Dc adds the 1st frame to the predetermined frame for calculating the centroid movement amount Mg (for example, the latest 31 frames). To obtain the center of gravity position. Then, the CPU 10 calculates the center-of-gravity movement amount Mg by accumulating the movement distances between the center-of-gravity positions acquired continuously for the predetermined frames, and uses the calculated center-of-gravity movement amount Mg to calculate the center-of-gravity movement amount data Dg. Update. When the number of time-series data arrays stored in the centroid position data Dc is less than the predetermined frame number plus 1, the centroid position indicated by the data for the time-series data array is acquired, The movement distance Mg between the center of gravity positions may be accumulated to calculate the center-of-gravity movement amount Mg.

次に、CPU10は、重心移動量Mgが閾値a1以上で閾値a2未満であるか否かを判断する(ステップ64)。そして、CPU10は、重心移動量Mgが閾値a1以上で閾値a2未満である場合、次のステップ65に処理を進める。一方、CPU10は、重心移動量Mgが閾値a1以上で閾値a2未満でない場合、次のステップ66に処理を進める。ここで、a1<a2であり、例えばボード型コントローラ9の長辺方向の長さを2とした場合、閾値a1=0.75、閾値a2=1.00に設定される。   Next, the CPU 10 determines whether or not the center-of-gravity movement amount Mg is not less than the threshold value a1 and less than the threshold value a2 (step 64). And CPU10 advances a process to the following step 65, when the gravity center movement amount Mg is more than threshold value a1 and less than threshold value a2. On the other hand, when the center-of-gravity movement amount Mg is not less than the threshold value a1 and less than the threshold value a2, the CPU 10 proceeds to the next step 66. Here, when a1 <a2 and, for example, the length of the board-type controller 9 in the long side direction is 2, the threshold value a1 = 0.75 and the threshold value a2 = 1.00 are set.

ステップ65において、CPU10は、重心移動量Mgによって決められる割合P%だけ、ユーザ方向ベクトルの方向がユーザ方向ベクトル候補の方向に近づくようにユーザ方向ベクトルを更新し、当該サブルーチンによる処理を終了する。例えば、ボード型コントローラ9の長辺方向の長さを2とした場合、CPU10は、割合Pを
P={(Mg−a1)/(a2−a1)}*100
で算出する。具体的には、ボード型コントローラ9の長辺方向の長さを2とした場合、割合Pは、
P={(Mg−0.75)/0.25}*100
となる。そして、CPU10は、ユーザ方向ベクトル候補データDeおよびユーザ方向ベクトルデータDfを参照して、ユーザ方向ベクトルの方向がユーザ方向ベクトル候補の方向に割合P%だけ近づくようにユーザ方向ベクトルの方向を変化させ、変化させたユーザ方向ベクトルを用いてユーザ方向ベクトルデータDfを更新する。
In step 65, the CPU 10 updates the user direction vector so that the direction of the user direction vector approaches the direction of the user direction vector candidate by a ratio P% determined by the center-of-gravity movement amount Mg, and ends the processing by the subroutine. For example, when the length in the long side direction of the board-type controller 9 is 2, the CPU 10 sets the ratio P to P = {(Mg-a1) / (a2-a1)} * 100
Calculate with Specifically, when the length of the long side direction of the board-type controller 9 is 2, the ratio P is
P = {(Mg-0.75) /0.25} * 100
It becomes. Then, the CPU 10 refers to the user direction vector candidate data De and the user direction vector data Df, and changes the direction of the user direction vector so that the direction of the user direction vector approaches the direction of the user direction vector candidate by a ratio P%. The user direction vector data Df is updated using the changed user direction vector.

一方、ステップ66において、CPU10は、重心移動量Mgが閾値a2以上であるか否かを判断する。そして、CPU10は、重心移動量Mgが閾値a2以上である場合、次のステップ67に処理を進める。一方、CPU10は、重心移動量Mgが閾値a1未満である場合、ユーザ方向ベクトルを変化させることなく当該サブルーチンによる処理を終了する。   On the other hand, in step 66, the CPU 10 determines whether or not the center-of-gravity movement amount Mg is equal to or greater than the threshold value a2. And CPU10 advances a process to the following step 67, when the gravity center movement amount Mg is more than threshold value a2. On the other hand, if the center-of-gravity movement amount Mg is less than the threshold value a1, the CPU 10 ends the processing by the subroutine without changing the user direction vector.

ステップ67において、CPU10は、ユーザ方向ベクトル候補をそのままユーザ方向ベクトルとしてユーザ方向ベクトルデータDfを更新し、当該サブルーチンによる処理を終了する。   In step 67, the CPU 10 updates the user direction vector data Df using the user direction vector candidate as it is as the user direction vector, and ends the processing by the subroutine.

なお、上述した処理では、重心移動量Mgに応じてユーザ方向ベクトルをユーザ方向候補に近づける割合を変化させる例を用いた。これは、ユーザが足踏みした場合に重心位置がユーザの左右に移動する特性を利用してユーザ方向を推定しているためであり、重心位置の移動量が大きい場合にユーザ方向を変化させる重み付けを行ってユーザ方向をより正確に推定するためである。したがって、このような重み付けが可能となる他のパラメータに応じて、上記割合を変化させてもかまわない。例えば、上記ステップ61において所定フレーム分の推定方向ベクトルを加算した1つのベクトルの長さに応じて、上記割合を変化させてもかまわない。当該ベクトルの長さについても、加算されている推定方向ベクトルの長さが重心位置の移動量に基づいて設定されているため、結果的に重心の移動量に基づいた重み付けが可能なパラメータとして取り扱うことができる。   In the above-described processing, an example is used in which the ratio of the user direction vector to the user direction candidate is changed according to the center-of-gravity movement amount Mg. This is because the user direction is estimated using the characteristic that the gravity center position moves to the left and right of the user when the user steps on, and weighting that changes the user direction when the movement amount of the gravity center position is large. This is in order to estimate the user direction more accurately. Therefore, the ratio may be changed in accordance with other parameters that enable such weighting. For example, the ratio may be changed according to the length of one vector obtained by adding estimated direction vectors for a predetermined frame in step 61. As for the length of the vector, since the length of the estimated direction vector added is set based on the movement amount of the center of gravity position, as a result, it is handled as a parameter that can be weighted based on the movement amount of the center of gravity. be able to.

また、ユーザ方向ベクトルをユーザ方向候補に近づける割合は、0%および100%から選択的に選ばれてもかまわない。例えば、重心移動量Mgが所定の閾値(例えば、閾値a1や閾値a2、またはその間の値)未満であった場合、上記割合を0%に設定、すなわちユーザ方向ベクトルが全くユーザ方向ベクトル候補に近づかないためにユーザ方向ベクトルがそのまま設定される。また、重心移動量Mgが所定の閾値以上であった場合、上記割合を100%に設定、すなわちユーザ方向ベクトル候補がそのままユーザ方向ベクトルとなって設定される。   Further, the ratio of bringing the user direction vector close to the user direction candidate may be selectively selected from 0% and 100%. For example, when the center-of-gravity movement amount Mg is less than a predetermined threshold value (for example, the threshold value a1 or the threshold value a2 or a value therebetween), the above ratio is set to 0%, that is, the user direction vector is completely close to the user direction vector candidate. Therefore, the user direction vector is set as it is. When the center-of-gravity movement amount Mg is equal to or greater than a predetermined threshold, the above ratio is set to 100%, that is, the user direction vector candidate is set as the user direction vector as it is.

図11に戻り、ステップ45におけるユーザ方向ベクトル算出処理の後、CPU10は、足踏み判定線を設定する処理を行い(ステップ46)、次のステップに処理を進める。以下、図14を参照して、上記ステップ46で行う足踏み判定線設定処理について説明する。   Returning to FIG. 11, after the user direction vector calculation processing in step 45, the CPU 10 performs processing for setting a stepping determination line (step 46), and proceeds to the next step. Hereinafter, the stepping determination line setting process performed in step 46 will be described with reference to FIG.

図14において、CPU10は、足踏み中心位置を算出して(ステップ71)、次のステップに処理を進める。例えば、CPU10は、上記座標系(X1,Y1)における足踏み中心位置(MX1,MY1)を
MX1=(b2*MX1a+GX1)/b1
MY1=(b2*MY1a+GY1)/b1
で算出し、算出された足踏み中心位置(MX1,MY1)を用いて足踏み中心位置データDhを更新する。ここで、MX1aおよびMY1aは、前回の処理で算出された足踏み中心位置のX1座標値およびY1座標値を示している。GX1およびGY1は、上記ステップ43で算出された最新の重心位置のX1座標値およびY1座標値を示している。そして、b1およびb2は、それぞれ予め定められた定数であり、例えばb1=180、b2=b1−1=179で設定される。上記数式から明らかなように、当該数式に基づいて算出される足踏み中心位置(MX1,MY1)は、ボード型コントローラ9に加わっている最新の荷重の重心位置に所定の割合(b2/b1)で追従するようにその位置が変化する。このように上記重心位置に所定の割合で追従する位置を算出することによって、ボード型コントローラ9上で足踏みしているユーザの足踏み中心位置を求めることができる。
In FIG. 14, the CPU 10 calculates the stepping center position (step 71) and proceeds to the next step. For example, the CPU 10 sets the stepping center position (MX1, MY1) in the coordinate system (X1, Y1) to MX1 = (b2 * MX1a + GX1) / b1
MY1 = (b2 * MY1a + GY1) / b1
The stepping center position data Dh is updated using the calculated stepping center position (MX1, MY1). Here, MX1a and MY1a indicate the X1 coordinate value and the Y1 coordinate value of the stepping center position calculated in the previous process. GX1 and GY1 indicate the X1 coordinate value and the Y1 coordinate value of the latest center-of-gravity position calculated in step 43 above. B1 and b2 are predetermined constants, for example, set as b1 = 180 and b2 = b1-1 = 179. As is clear from the above formula, the stepping center position (MX1, MY1) calculated based on the formula is a predetermined ratio (b2 / b1) to the barycentric position of the latest load applied to the board-type controller 9. Its position changes to follow. Thus, by calculating the position that follows the position of the center of gravity at a predetermined rate, the stepping center position of the user who is stepping on the board type controller 9 can be obtained.

なお、足踏み中心位置は、他の方法で求めてもかまわない。例えば、直前の所定期間中に得られた重心位置を平均した位置を足踏み中心位置として設定してもかまわない。このように所定期間内の重心位置を平均した位置であっても、ボード型コントローラ9上で足踏みしているユーザの足踏み中心位置を求めることができる。   The stepping center position may be obtained by other methods. For example, a position obtained by averaging the positions of the center of gravity obtained during the immediately preceding predetermined period may be set as the stepping center position. Thus, even if it is the position which averaged the gravity center position in a predetermined period, the stepping center position of the user who is stepping on the board type controller 9 can be calculated | required.

また、足踏み中心位置は、ユーザが足踏みする際に左足を乗せる位置と右足を乗せる位置との中間点を推定するための位置である。すなわち、足踏み中心位置は、ボード型コントローラ9に乗っているユーザの身体中心(身体の重心)から鉛直方向へ延びる直線が、ボード型コントローラ9の台9aと交わる位置を推定するための位置として定義されてもかまわない。このような定義に基づいて、上記足踏み中心位置を他の方法で求めてもかまわない。   Further, the stepping center position is a position for estimating an intermediate point between the position where the user puts the left foot and the position where the right foot is put when the user steps. That is, the stepping center position is defined as a position for estimating a position where a straight line extending in the vertical direction from the body center (the center of gravity of the body) of the user riding on the board-type controller 9 intersects the base 9a of the board-type controller 9. It does not matter. Based on such a definition, the stepping center position may be obtained by other methods.

次に、CPU10は、足踏み中心位置を通るユーザ方向へ判定基準線を設定し(ステップ72)、次のステップに処理を進める。例えば、CPU10は、ユーザ方向ベクトルデータDfおよび足踏み中心位置データDhを参照して、現時点のユーザ方向ベクトルおよび足踏み中心位置を取得し、上記座標系において当該足踏み中心位置を通ってユーザ方向ベクトルの方向(ユーザ方向)に延びる判定基準線(図9参照)を設定する。そして、CPU10は、設定された判定基準線を用いて、足踏み判定線データDiに含まれる判定基準線を示すデータを更新する。   Next, the CPU 10 sets a determination reference line in the user direction passing through the stepping center position (step 72), and proceeds to the next step. For example, the CPU 10 refers to the user direction vector data Df and the stepping center position data Dh, acquires the current user direction vector and the stepping center position, and passes the stepping center position in the coordinate system to the direction of the user direction vector. A determination reference line (see FIG. 9) extending in the (user direction) is set. Then, the CPU 10 updates data indicating the determination reference line included in the stepping determination line data Di using the set determination reference line.

次に、CPU10は、足踏み中心位置およびユーザ方向に応じて、中立領域幅を算出し(ステップ73)、次のステップに処理を進める。例えば、CPU10は、ユーザ方向(ユーザ方向ベクトルの方向)の直線とボード型コントローラ9の前方方向の直線とで成す角のうち、小さい方の角度が大きいほど、中立領域幅を小さく設定する。また、CPU10は、足踏み中心位置がボード型コントローラ9の台9aの中心(すなわち、上記座標系の原点)から離れるほど、中立領域幅を小さく設定する。例えば、ボード型コントローラ9の台9aの大きさは有限であり、台9aの端で足踏みする場合に足踏みすることが難しくなることがある。このような場合であっても、中立領域幅を小さく設定することによって、足踏み判定を正確に行うことができる。   Next, the CPU 10 calculates a neutral region width according to the stepping center position and the user direction (step 73), and proceeds to the next step. For example, the CPU 10 sets the neutral region width to be smaller as the smaller one of the angles formed by the straight line in the user direction (the direction of the user direction vector) and the straight line in the front direction of the board-type controller 9 increases. Further, the CPU 10 sets the neutral region width to be smaller as the stepping center position is further away from the center of the base 9a of the board-type controller 9 (that is, the origin of the coordinate system). For example, the size of the base 9a of the board-type controller 9 is finite, and it may be difficult to step on when stepping on the end of the base 9a. Even in such a case, the stepping determination can be accurately performed by setting the neutral region width to be small.

次に、CPU10は、中立領域幅に基づいて、左足踏み判定線および右足踏み判定線を設定し(ステップ74)、当該サブルーチンによる処理を終了する。例えば、CPU10は、上記判定基準線を中心として両側平行に左足踏み判定線および右足踏み判定線を設定する。なお、CPU10は、ユーザ方向に向かって上記判定基準線の左側に左足踏み判定線を設定し、ユーザ方向に向かって上記判定基準線の右側に右足踏み判定線を設定するとともに、左足踏み判定線と右足踏み判定線との間隙幅が上記中立領域幅となるように左足踏み判定線および右足踏み判定線(図9参照)を設定する。そして、CPU10は、設定された左足踏み判定線および右足踏み判定線を用いて、足踏み判定線データDiに含まれる左足踏み判定線および右足踏み判定線を示すデータを更新する。   Next, the CPU 10 sets a left foot determination line and a right foot determination line based on the neutral region width (step 74), and ends the processing by the subroutine. For example, the CPU 10 sets a left foot determination line and a right foot determination line in parallel on both sides around the determination reference line. The CPU 10 sets a left foot determination line on the left side of the determination reference line toward the user direction, sets a right foot determination line on the right side of the determination reference line toward the user direction, and sets the left foot determination line. The left foot determination line and the right foot determination line (see FIG. 9) are set so that the gap width between the right foot determination line and the right foot determination line becomes the neutral region width. Then, the CPU 10 updates data indicating the left foot determination line and the right foot determination line included in the foot determination line data Di using the set left foot determination line and right foot determination line.

図11に戻り、上記ステップ46における足踏み判定線設定処理の後、CPU10は、動作設定処理を行い(ステップ47)、次のステップに処理を進める。以下、図15を参照して、ステップ47で行う動作設定処理について説明する。   Returning to FIG. 11, after the stepping determination line setting process in step 46, the CPU 10 performs an operation setting process (step 47), and proceeds to the next step. Hereinafter, the operation setting process performed in step 47 will be described with reference to FIG.

図15において、CPU10は、足踏みフラグデータDnを参照して、足踏みフラグがオフに設定されているか否かを判断する(ステップ111)。そして、CPU10は、足踏みフラグがオフに設定されている場合、次のステップ112に処理を進める。一方、CPU10は、足踏みフラグがオンに設定されている場合、次のステップ116に処理を進める。   In FIG. 15, the CPU 10 refers to the stepping flag data Dn to determine whether or not the stepping flag is set to off (step 111). Then, when the stepping flag is set to OFF, the CPU 10 proceeds to the next step 112. On the other hand, when the stepping flag is set to ON, the CPU 10 advances the processing to the next step 116.

ステップ112において、CPU10は、最新の重心位置が中立領域から右足領域へ移動したか否かを判断する。例えば、CPU10は、重心位置データDcが示す最新の重心位置および足踏み判定線データDiが示す右足踏み判定線を用いて、左足踏み判定線および右足踏み判定線で挟まれた中立領域から右足踏み判定線を越えて右足領域へ重心位置が移動したか否かを判断する。そして、CPU10は、最新の重心位置が中立領域から右足領域へ移動した場合、次のステップ113に処理を進める。一方、CPU10は、最新の重心位置が中立領域から右足領域へ移動していない場合、次のステップ116に処理を進める。   In step 112, the CPU 10 determines whether or not the latest center-of-gravity position has moved from the neutral region to the right foot region. For example, the CPU 10 uses the latest center-of-gravity position indicated by the center-of-gravity position data Dc and the right foot-step determination line indicated by the foot-step determination line data Di to determine the right foot step from the neutral region sandwiched between the left foot-step determination line and the right foot-step determination line. It is determined whether or not the center of gravity has moved to the right foot region beyond the line. Then, when the latest center of gravity position moves from the neutral region to the right foot region, the CPU 10 proceeds to the next step 113. On the other hand, when the latest center-of-gravity position has not moved from the neutral region to the right foot region, the CPU 10 proceeds to the next step 116.

ステップ113において、CPU10は、左足を上げる動作にプレイヤオブジェクトPoの動作を設定し、次のステップに処理を進める。例えば、CPU10は、プレイヤオブジェクトPoが左足を上げた状態で、走る、歩く、またはその場で停止するように、プレイヤオブジェクトPoの動作を設定してオブジェクト動作データDjを更新する。ここで、プレイヤオブジェクトPoが走っているのか、歩いているのか、その場で停止しているのかについては、走行速度データDkが示す速度に基づいて設定される。また、CPU10は、ユーザ方向ベクトルデータDfが示すユーザ方向ベクトルの方向に応じて、仮想世界におけるプレイヤオブジェクトPoの方向を設定してオブジェクト動作データDjを更新する。なお、ユーザ方向ベクトルの方向やプレイヤオブジェクトPoの方向に応じて、仮想世界に設定されている仮想カメラの方向や位置を変化させる場合、上記ステップ113において仮想カメラに関するデータが更新される。   In step 113, the CPU 10 sets the action of the player object Po to the action of raising the left foot, and proceeds to the next step. For example, the CPU 10 updates the object motion data Dj by setting the motion of the player object Po so that the player object Po runs, walks, or stops on the spot with the left foot raised. Here, whether the player object Po is running, walking, or stopped on the spot is set based on the speed indicated by the running speed data Dk. Further, the CPU 10 sets the direction of the player object Po in the virtual world according to the direction of the user direction vector indicated by the user direction vector data Df, and updates the object motion data Dj. When the direction and position of the virtual camera set in the virtual world are changed according to the direction of the user direction vector and the direction of the player object Po, the data related to the virtual camera is updated in step 113 described above.

次に、CPU10は、走行速度および走行距離を算出して(ステップ114)、次のステップに処理を進める。例えば、CPU10は、右足を上げる動作に設定されてから現時点までを処理対象期間として、当該処理対象期間の長さ(時間)、当該処理対象期間における合計荷重値の推移、および当該処理対象期間における重心位置の推移の少なくとも1つを用いて、走行速度および走行距離を算出する。   Next, the CPU 10 calculates a traveling speed and a traveling distance (step 114), and proceeds to the next step. For example, the CPU 10 sets the length of the process target period (time), the transition of the total load value in the process target period, and the period of the process target period from the time when the right leg is set to the operation to the current time. A travel speed and a travel distance are calculated using at least one of the transitions of the center of gravity.

一例として、CPU10は、上記処理対象期間の長さ(時間)に基づいて、走行速度(プレイヤオブジェクトPoが移動する速度)を算出し、算出された速度を用いて走行速度データDkを更新する。具体的には、CPU10は、上記処理対象期間の長さが短い程、プレイヤオブジェクトPoが移動する速度を速く算出する。この場合、ユーザがボード型コントローラ9上で足踏みするピッチが短いほどプレイヤオブジェクトPoが仮想世界内を移動する速度が速くなることになる。   As an example, the CPU 10 calculates a traveling speed (speed at which the player object Po moves) based on the length (time) of the processing target period, and updates the traveling speed data Dk using the calculated speed. Specifically, the CPU 10 calculates the speed at which the player object Po moves faster as the length of the processing target period is shorter. In this case, the speed at which the player object Po moves in the virtual world becomes faster as the pitch at which the user steps on the board-type controller 9 is shorter.

また、処理対象期間の長さ(時間)および上述のように算出されたプレイヤオブジェクトPoの移動速度に基づいて、走行距離(プレイヤオブジェクトPoが移動した距離)が算出され、算出された距離を用いて走行距離データDmが更新される。具体的には、CPU10は、処理対象期間の長さおよびプレイヤオブジェクトPoの移動速度に基づいて、当該処理対象期間中にプレイヤオブジェクトPoが仮想世界内を移動した距離を算出する。そして、CPU10は、走行距離データDmが示す走行距離に算出された移動距離を加算することによって新たな走行距離を算出し、当該新たな走行距離を用いて走行距離データDmを更新する。なお、CPU10は、上記新たな走行距離およびプレイヤオブジェクトPoの方向に基づいて、プレイヤオブジェクトPoの仮想世界における新たな配置位置を算出し、当該新たな配置位置を用いてオブジェクト動作データDjを更新する。   Further, a travel distance (a distance traveled by the player object Po) is calculated based on the length (time) of the processing target period and the movement speed of the player object Po calculated as described above, and the calculated distance is used. Thus, the travel distance data Dm is updated. Specifically, the CPU 10 calculates the distance that the player object Po has moved in the virtual world during the processing target period based on the length of the processing target period and the moving speed of the player object Po. Then, the CPU 10 calculates a new travel distance by adding the calculated travel distance to the travel distance indicated by the travel distance data Dm, and updates the travel distance data Dm using the new travel distance. The CPU 10 calculates a new placement position in the virtual world of the player object Po based on the new travel distance and the direction of the player object Po, and updates the object motion data Dj using the new placement position. .

次に、CPU10は、足踏みフラグをオンに設定して足踏みフラグデータDnを更新し(ステップ115)、当該サブルーチンによる処理を終了する。   Next, the CPU 10 sets the stepping flag on to update the stepping flag data Dn (step 115), and ends the processing by the subroutine.

ステップ116において、CPU10は、足踏みフラグデータDnを参照して、足踏みフラグがオンに設定されているか否かを判断する。そして、CPU10は、足踏みフラグがオンに設定されている場合、次のステップ117に処理を進める。一方、CPU10は、足踏みフラグがオフに設定されている場合、次のステップ121に処理を進める。   In step 116, the CPU 10 refers to the stepping flag data Dn to determine whether or not the stepping flag is set to ON. Then, when the stepping flag is set to ON, the CPU 10 advances the processing to the next step 117. On the other hand, when the stepping flag is set to OFF, the CPU 10 proceeds to the next step 121.

ステップ117において、CPU10は、最新の重心位置が中立領域から左足領域へ移動したか否かを判断する。例えば、CPU10は、重心位置データDcが示す最新の重心位置および足踏み判定線データDiが示す左足踏み判定線を用いて、中立領域から左足踏み判定線を越えて左足領域へ重心位置が移動したか否かを判断する。そして、CPU10は、最新の重心位置が中立領域から左足領域へ移動した場合、次のステップ118に処理を進める。一方、CPU10は、最新の重心位置が中立領域から左足領域へ移動していない場合、次のステップ121に処理を進める。   In step 117, the CPU 10 determines whether or not the latest barycentric position has moved from the neutral region to the left foot region. For example, the CPU 10 uses the latest center of gravity position indicated by the center of gravity position data Dc and the left foot determination line indicated by the foot determination line data Di to determine whether the position of the center of gravity has moved from the neutral area to the left foot area beyond the left foot determination line. Judge whether or not. Then, when the latest center-of-gravity position moves from the neutral region to the left foot region, the CPU 10 proceeds to the next step 118. On the other hand, when the latest center-of-gravity position has not moved from the neutral region to the left foot region, the CPU 10 proceeds to the next step 121.

ステップ118において、CPU10は、右足を上げる動作にプレイヤオブジェクトPoの動作を設定し、次のステップに処理を進める。例えば、CPU10は、プレイヤオブジェクトPoが右足を上げた状態で、走る、歩く、またはその場で停止するように、プレイヤオブジェクトPoの動作を設定してオブジェクト動作データDjを更新する。ここで、プレイヤオブジェクトPoが走っているのか、歩いているのか、その場で停止しているのかについては、上記ステップ113と同様に走行速度データDkが示す速度に基づいて設定される。また、CPU10は、ユーザ方向ベクトルデータDfが示すユーザ方向ベクトルの方向に応じて、仮想世界におけるプレイヤオブジェクトPoの方向を設定してオブジェクト動作データDjを更新する。なお、ユーザ方向ベクトルの方向やプレイヤオブジェクトPoの方向に応じて、仮想世界に設定されている仮想カメラの方向や位置を変化させる場合、上記ステップ113において仮想カメラに関するデータが更新される。   In step 118, the CPU 10 sets the action of the player object Po to the action of raising the right foot, and proceeds to the next step. For example, the CPU 10 sets the action of the player object Po and updates the object action data Dj so that the player object Po runs, walks, or stops on the spot with the right foot raised. Here, whether the player object Po is running, walking, or stopped on the spot is set based on the speed indicated by the running speed data Dk as in step 113. Further, the CPU 10 sets the direction of the player object Po in the virtual world according to the direction of the user direction vector indicated by the user direction vector data Df, and updates the object motion data Dj. When the direction and position of the virtual camera set in the virtual world are changed according to the direction of the user direction vector and the direction of the player object Po, the data related to the virtual camera is updated in step 113 described above.

次に、CPU10は、走行速度および走行距離を算出して(ステップ119)、次のステップに処理を進める。例えば、CPU10は、左足を上げる動作に設定されてから現時点までを処理対象期間として、当該処理対象期間の長さ(時間)、当該処理対象期間における合計荷重値の推移、および当該処理対象期間における重心位置の推移の少なくとも1つを用いて、上記ステップ114と同様に、走行速度および走行距離を算出する。   Next, the CPU 10 calculates a travel speed and a travel distance (step 119), and proceeds to the next step. For example, the CPU 10 sets the operation to raise the left foot until the current time as a processing target period, the length (time) of the processing target period, the transition of the total load value in the processing target period, and the processing target period. Using at least one of the transitions of the center of gravity position, the traveling speed and the traveling distance are calculated in the same manner as in step 114 above.

次に、足踏みフラグをオフに設定して足踏みフラグデータDnを更新し(ステップ120)、当該サブルーチンによる処理を終了する。   Next, the stepping flag is set to OFF and the stepping flag data Dn is updated (step 120), and the processing by the subroutine is terminated.

一方、ボード型コントローラ9上においてユーザが右足で足踏みするような動作や左足で足踏みするような動作をしていない場合(例えば、足踏み動作において一方の足を上げている状態や両足を下ろして静止している状態である場合)、CPU10は、現在設定されている動作を継続する動作に設定し(ステップ121)、次のステップに処理を進める。例えば、CPU10は、現時点においてオブジェクト動作として設定されている上げ足はそのままプレイヤオブジェクトPoの動作として設定し、走行速度データDkが示す速度に基づいて、走る、歩く、またはその場で停止する動作を設定して、設定された動作を用いてオブジェクト動作データDjを更新する。また、CPU10は、ユーザ方向ベクトルデータDfが示すユーザ方向ベクトルの方向に応じて、仮想世界におけるプレイヤオブジェクトPoの方向を設定してオブジェクト動作データDjを更新する。なお、ユーザ方向ベクトルの方向やプレイヤオブジェクトPoの方向に応じて、仮想世界に設定されている仮想カメラの方向や位置を変化させる場合、上記ステップ113において仮想カメラに関するデータが更新される。   On the other hand, when the user does not perform an operation of stepping with the right foot or a stepping with the left foot on the board-type controller 9 (for example, a state where one foot is raised or both feet are lowered in the stepping motion) In this case, the CPU 10 sets the operation that is currently set to continue (step 121), and proceeds to the next step. For example, the CPU 10 sets the raising leg currently set as the object action as it is as the action of the player object Po, and performs the action of running, walking, or stopping on the spot based on the speed indicated by the running speed data Dk. Set and update the object motion data Dj using the set motion. Further, the CPU 10 sets the direction of the player object Po in the virtual world according to the direction of the user direction vector indicated by the user direction vector data Df, and updates the object motion data Dj. When the direction and position of the virtual camera set in the virtual world are changed according to the direction of the user direction vector and the direction of the player object Po, the data related to the virtual camera is updated in step 113 described above.

次に、CPU10は、走行速度および走行距離を算出して(ステップ122)、当該サブルーチンによる処理を終了する。例えば、CPU10は、走行速度データDkが示す速度を所定値だけ減衰させ、減衰後の速度を用いて走行速度データDkを更新する。具体的には、CPU10は、プレイヤオブジェクトPoの速度に基づいて、プレイヤオブジェクトPoが仮想世界内を移動した距離を算出し、走行距離データDmが示す走行距離に算出された移動距離を加算することによって新たな走行距離を算出して、当該新たな走行距離を用いて走行距離データDmを更新する。また、CPU10は、上記新たな走行距離およびプレイヤオブジェクトPoの方向に基づいて、プレイヤオブジェクトPoの仮想世界における新たな配置位置を算出し、当該新たな配置位置を用いてオブジェクト動作データDjを更新する。   Next, the CPU 10 calculates a traveling speed and a traveling distance (step 122), and ends the processing by the subroutine. For example, the CPU 10 attenuates the speed indicated by the traveling speed data Dk by a predetermined value, and updates the traveling speed data Dk using the attenuated speed. Specifically, the CPU 10 calculates the distance traveled by the player object Po in the virtual world based on the speed of the player object Po, and adds the calculated travel distance to the travel distance indicated by the travel distance data Dm. To calculate a new travel distance and update the travel distance data Dm using the new travel distance. Further, the CPU 10 calculates a new placement position of the player object Po in the virtual world based on the new travel distance and the direction of the player object Po, and updates the object motion data Dj using the new placement position. .

図11に戻り、上記ステップ47における動作設定処理の後、CPU10は、表示制御処理を行って(ステップ48)、次のステップに処理を進める。例えば、CPU10は、オブジェクト動作データDjが示すオブジェクトの動作、位置、および方向に基づいて、プレイヤオブジェクトPoを動作させて仮想世界に配置してモニタ2に表示する。また、CPU10は、走行速度データDkおよび走行距離データDmに基づいて、走行情報(例えば、文字情報)を生成してモニタ2に表示してもよい。   Returning to FIG. 11, after the operation setting process in step 47, the CPU 10 performs a display control process (step 48) and proceeds to the next step. For example, the CPU 10 moves the player object Po based on the motion, position, and direction of the object indicated by the object motion data Dj, places the player object Po in the virtual world, and displays it on the monitor 2. Further, the CPU 10 may generate travel information (for example, character information) based on the travel speed data Dk and the travel distance data Dm and display it on the monitor 2.

次に、CPU10は、ゲームを終了するか否かを判断する(ステップ49)。ゲームを終了する条件としては、例えば、ゲームオーバーやゲームクリアとなる条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。CPU10は、ゲームを終了しない場合に上記ステップ42に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。   Next, the CPU 10 determines whether or not to end the game (step 49). As a condition for ending the game, for example, a condition that a game is over or a game is cleared is satisfied, or a user performs an operation to end the game. If the game is not finished, the CPU 10 returns to step 42 and repeats the process. If the game is finished, the process according to the flowchart is finished.

このように、上述した処理によれば、ユーザがボード型コントローラ9上で足踏みしている方向を判定できるため、ユーザの動作を正確に判定することが可能である。例えば、当該方向を方向入力とすることによって、様々な情報処理に対する操作入力として用いることが可能となる。   As described above, according to the above-described processing, the direction in which the user is stepping on the board-type controller 9 can be determined, so that the user's operation can be accurately determined. For example, by using the direction as a direction input, it can be used as an operation input for various information processing.

なお、上述した実施例では、ユーザがボード型コントローラ9上で足踏みしているユーザ方向に応じて、仮想世界におけるプレイヤオブジェクトPoの方向を変化させる処理を行う例を用いたが、当該ユーザ方向に応じて他の処理を行ってもかまわない。例えば、上記ユーザ方向に応じて、モニタ2に表示する仮想世界を生成するための仮想カメラの方向を変化させる処理を行ってもかまわない。この場合、ユーザがボード型コントローラ9上で足踏みしている方向に応じて仮想世界に対する視線方向が変化するため、ユーザが仮想世界を歩いた場合に見える仮想世界をモニタ2に表示することが可能となり、あたかも仮想世界内にいるかのような画像を表示することが可能となる。このように、上記ユーザ方向は、仮想世界における様々なキャラクタ、オブジェクト、仮想カメラ等の方向を制御するために用いることができる。   In the above-described embodiment, the example in which the process of changing the direction of the player object Po in the virtual world according to the user direction in which the user is stepping on the board type controller 9 is used. Other processing may be performed depending on the case. For example, a process of changing the direction of the virtual camera for generating the virtual world to be displayed on the monitor 2 according to the user direction may be performed. In this case, since the line-of-sight direction with respect to the virtual world changes according to the direction in which the user is stepping on the board-type controller 9, the virtual world that can be seen when the user walks in the virtual world can be displayed on the monitor 2. Thus, it is possible to display an image as if it is in the virtual world. Thus, the user direction can be used to control the direction of various characters, objects, virtual cameras, etc. in the virtual world.

また、上述した実施例では、上記ユーザ方向に応じて、足踏み判定線(中立領域)の方向を変化させることによって、ボード型コントローラ9上で足踏みしているユーザ動作を正確に判定している。すなわち、足踏み判定線(中立領域)を固定した状態で足踏み動作を判定する場合、ユーザがボード型コントローラ9上で足踏み方向を変えた場合に正確な動作判定が困難となるが、当該方向変化に応じて足踏み判定線(中立領域)を変化させることによって正確な動作判定が可能となる。このように、上記ユーザ方向は、仮想世界におけるオブジェクトや仮想カメラの方向を制御するだけでなく、ユーザ動作を判定するための判定ラインの制御にも有効であり、他の判定処理の条件変更に用いることができることは言うまでもない。   In the embodiment described above, the user's stepping on the board type controller 9 is accurately determined by changing the direction of the stepping determination line (neutral region) according to the user direction. That is, when determining the stepping motion with the stepping determination line (neutral region) fixed, it is difficult to accurately determine the motion when the user changes the stepping direction on the board-type controller 9, but the direction change Accordingly, it is possible to perform accurate motion determination by changing the stepping determination line (neutral region). Thus, the user direction is effective not only for controlling the direction of objects and virtual cameras in the virtual world, but also for controlling the determination line for determining the user action, and for changing the conditions of other determination processes. It goes without saying that it can be used.

一例として、上述した足踏み判定線(中立領域)を、ユーザがボード型コントローラ9上で屈伸(ジャンプ)する動作の判定に用いることができる。例えば、最新の中心位置が中立領域内にあり、かつ、合計荷重値が所定の閾値(例えば、ユーザの体重に所定の割合を加算した値)以上に到達した場合に、ユーザがボード型コントローラ9上で屈伸する動作を行ったと判断する。このような動作判定においても、中立領域がユーザ方向に応じて変化させることができるため、当該動作判定をより正確に行うことができる。   As an example, the above-described stepping determination line (neutral region) can be used to determine an operation in which the user bends and stretches (jumps) on the board type controller 9. For example, when the latest center position is in the neutral region and the total load value reaches or exceeds a predetermined threshold (for example, a value obtained by adding a predetermined ratio to the user's body weight), the user performs the board-type controller 9. Judged that the movement of bending up and down was performed. Also in such a motion determination, since the neutral region can be changed according to the user direction, the motion determination can be performed more accurately.

また、上述した説明では、ユーザがボード型コントローラ9上で足踏みしているユーザ方向に応じて、即時にオブジェクトや仮想カメラの方向制御が連動するような処理例を用いた。しかしながら、ユーザ方向の変化に応じて、所定の時間遅れてオブジェクトや仮想カメラの方向制御が行われるような処理でもかまわない。この場合、ユーザ方向が変わった後に、所定時間遅れて当該向きの変化に追従してオブジェクトや仮想カメラの方向が変化することになる。   Further, in the above description, a processing example is used in which the direction control of the object or the virtual camera is immediately linked in accordance with the direction of the user who is stepping on the board type controller 9. However, a process in which the direction control of the object or the virtual camera is performed with a predetermined time delay according to the change in the user direction may be performed. In this case, after the user direction changes, the direction of the object or the virtual camera changes following the change in the direction after a predetermined time delay.

また、上述した情報処理例では、推定方向ベクトルの方向が反転範囲内である場合に当該推定方向ベクトルの方向を反転させて判定精度を向上させているが、他の処理段階において方向を反転させる処理を行ってもかまわない。例えば、上記ステップ65またはステップ67の処理においてユーザ方向ベクトルの方向を更新する際、新たに設定されるユーザ方向ベクトルの方向が上記反転範囲内である場合に、当該ユーザ方向ベクトルの方向を反転させてもかまわない。この場合、上記ステップ54およびステップ55における推定方向ベクトルの方向反転処理に、ユーザ方向ベクトルの方向反転処理をさらに加えてもいいし、推定方向ベクトルの方向反転処理の代わりにユーザ方向ベクトルの方向反転処理を行ってもかまわない。   In the information processing example described above, when the direction of the estimated direction vector is within the inversion range, the direction of the estimated direction vector is inverted to improve the determination accuracy. However, the direction is inverted in another processing stage. Processing may be performed. For example, when updating the direction of the user direction vector in the process of step 65 or step 67, if the direction of the user direction vector newly set is within the inversion range, the direction of the user direction vector is reversed. It doesn't matter. In this case, the direction inversion process of the user direction vector may be further added to the direction inversion process of the estimated direction vector in step 54 and step 55. Processing may be performed.

また、上述した情報処理例では、推定方向ベクトルを複数加算することによってユーザ方向ベクトル候補の方向を算出しているが、1つの推定方向ベクトルの方向をそのままユーザ方向ベクトル候補の方向としてもかまわない。この場合、上記ステップ44で推定方向ベクトルが算出された後、ステップ45の処理を行い、ステップ61の処理を行わずにステップ62において当該推定方向ベクトルを正規化してユーザ方向ベクトル候補が算出される。このような場合であっても、ユーザ方向ベクトル候補を得た1つの推定方向ベクトルを算出するために用いられた2つの重心間長さを、重心移動量Mgに設定することによって、重心間長さが長い場合にユーザ方向を変化させる重み付けが可能となる。   In the information processing example described above, the direction of the user direction vector candidate is calculated by adding a plurality of estimated direction vectors. However, the direction of one estimated direction vector may be used as the direction of the user direction vector candidate as it is. . In this case, after the estimated direction vector is calculated in step 44, the process of step 45 is performed, and the estimated direction vector is normalized in step 62 without performing the process of step 61, and the user direction vector candidate is calculated. . Even in such a case, the length between the centroids is set by setting the length between the centroids used to calculate one estimated direction vector obtained from the user direction vector candidate as the centroid movement amount Mg. When the length is long, weighting for changing the user direction is possible.

また、上述した処理例では、異なるタイミングで連続して算出された2つの重心位置を結ぶ差分ベクトルを用いて、繰り返し推定方向ベクトルを算出している。しかしながら、推定方向ベクトルは、他の重心位置を用いて算出されてもかまわない。例えば、異なるタイミングで算出された2つの重心位置であれば連続して算出されたものでなくてもよく、1つの重心位置と、当該重心位置が算出されてから所定時間後に算出された重心位置とを用いて推定方向ベクトルを算出してもかまわない。   Further, in the above-described processing example, the repeatedly estimated direction vector is calculated using a difference vector connecting two centroid positions continuously calculated at different timings. However, the estimated direction vector may be calculated using other barycentric positions. For example, two centroid positions calculated at different timings may not be calculated continuously, and one centroid position and the centroid position calculated a predetermined time after the centroid position is calculated. The estimated direction vector may be calculated using.

また、上述した処理例では、2本の判定線(左足踏み判定線、右足踏み判定線)を用いて、ユーザがボード型コントローラ9上で足踏みする動作の判定を行っている。このように中立領域を設けることによって、判定線付近を重心位置が様々な方向へ移動する場合であっても、何度も足踏み判定することを防止することができる。なお、このような効果を期待しない場合、ユーザの足踏みを判定するための判定線は、1本(例えば、基準判定線;図9参照)でもかまわない。この場合、当該判定線を一方から他方へ重心位置が横断した場合にユーザが一方の足で足踏みしたと判定し、当該判定線を他方から一方へ重心位置が横断した場合にユーザが他方の足で足踏みしたと判定する。   Further, in the processing example described above, the operation of the user stepping on the board-type controller 9 is determined using two determination lines (a left foot determination line and a right foot determination line). By providing the neutral region in this way, it is possible to prevent stepping determination many times even when the position of the center of gravity moves in various directions around the determination line. When such an effect is not expected, the number of determination lines for determining the user's stepping may be one (for example, a reference determination line; see FIG. 9). In this case, it is determined that the user has stepped on one foot when the position of the center of gravity crosses the determination line from one to the other, and the user moves the other foot when the position of the center of gravity crosses the determination line from one to the other. Judge that you stepped on.

また、上述したゲーム例では、プレイヤオブジェクトPoを少なくとも含む仮想世界の画像をモニタ2に表示したが、他の態様の仮想世界の画像をモニタ2に表示してもかまわない。例えば、プレイヤオブジェクトPoを表示せずに、プレイヤオブジェクトPoから見た主観視点の仮想世界画像をモニタ2に表示してもよい。この場合、モニタ2に主観視点で表示されている仮想世界の奥行方向は、プレイヤオブジェクトPoの移動方向と同じであってもいいし、プレイヤオブジェクトPoの移動方向と異なっていてもよい。モニタ2に主観視点で表示されている仮想世界の奥行方向と、プレイヤオブジェクトPoの移動方向と同じである場合、移動方向を奥行方向とした仮想世界がモニタ2に表示されるために、移動方向を設定する操作が直感的で当該移動方向をユーザが所望する方向に合わせることが容易となることは言うまでもない。   Further, in the above-described game example, the virtual world image including at least the player object Po is displayed on the monitor 2, but the virtual world image of another aspect may be displayed on the monitor 2. For example, the virtual world image of the subjective viewpoint viewed from the player object Po may be displayed on the monitor 2 without displaying the player object Po. In this case, the depth direction of the virtual world displayed on the monitor 2 from the subjective viewpoint may be the same as the moving direction of the player object Po, or may be different from the moving direction of the player object Po. When the depth direction of the virtual world displayed on the monitor 2 from the subjective viewpoint is the same as the movement direction of the player object Po, the virtual world with the movement direction as the depth direction is displayed on the monitor 2. It goes without saying that the operation for setting the value is intuitive and it is easy to adjust the moving direction to the direction desired by the user.

また、上述したシステム例では、仮想世界を表示するために1つの据置型の画像表示装置(モニタ2)を用いているが、可搬型の画像表示装置を用いてもかまわない。例えば、ユーザが可搬型の画像表示装置を把持して当該画像表示装置の画像を見ながら、ボード型コントローラ9上で足踏みする操作を行う場合、足踏みする方向を変えた場合であっても把持している画像表示装置自体の方向も変えることができるため、ユーザにとって仮想世界の画像が見やすく、ゲームの臨場感も高まることが考えられる。この場合、上述した1つの据置型の画像表示装置(モニタ2)に代えて可搬型の画像表示装置を用いてもいいし、据置型の画像表示装置に加えて可搬型の画像表示装置も用いるシステムであってもかまわない。   In the system example described above, one stationary image display device (monitor 2) is used to display the virtual world. However, a portable image display device may be used. For example, when the user performs a stepping operation on the board-type controller 9 while holding the portable image display device and viewing the image of the image display device, the user holds it even when the stepping direction is changed. The direction of the displayed image display device itself can also be changed, so that it is easy for the user to see the image of the virtual world and the realism of the game can be enhanced. In this case, a portable image display device may be used instead of the one stationary image display device (monitor 2) described above, and a portable image display device is used in addition to the stationary image display device. It can be a system.

また、上述した処理例においては、ボード型コントローラ9を用いて判定されたユーザ動作に応じて、プレイヤオブジェクトPoが仮想世界内を走ったり歩いたりする画像がモニタ2に表示される例を用いたが、他の情報処理にも本発明が適用できることは言うまでもない。例えば、ボード型コントローラ9を用いて判定されたユーザ動作に応じて、プレイヤオブジェクトPoが仮想世界内で自転車や一輪車等の乗り物を操って移動する画像がモニタ2に表示されてもかまわない。   Further, in the processing example described above, an example is used in which an image in which the player object Po runs or walks in the virtual world is displayed on the monitor 2 in accordance with the user action determined using the board-type controller 9. However, it goes without saying that the present invention can be applied to other information processing. For example, an image may be displayed on the monitor 2 in which the player object Po moves by manipulating a vehicle such as a bicycle or a unicycle in the virtual world in accordance with a user action determined using the board-type controller 9.

また、上述した説明では、ボード型コントローラ9に4つの荷重センサ94を設けているが、上記処理においてボード型コントローラ9に加わっている荷重の重心位置の情報が取得できれば、荷重センサ94を5つ以上も設けてもいいし、荷重センサ94を3つ設けてもかまわない。   In the above description, the board type controller 9 is provided with four load sensors 94. However, if the information on the center of gravity position of the load applied to the board type controller 9 in the above process can be acquired, the five load sensors 94 are provided. The above may also be provided, or three load sensors 94 may be provided.

上述した説明では、コントローラ7とゲーム装置本体5とが無線通信によって接続されるとともに、ボード型コントローラ9とゲーム装置本体5とが無線通信によって接続された態様を用いたが、他の態様によって無線通信が行われてもかまわない。第1の例として、ボード型コントローラ9の操作データがコントローラ7へ無線送信され、ボード型コントローラ9から受信した操作データと共にコントローラ7の操作データを、コントローラ7がゲーム装置本体5へ無線送信する。この場合、コントローラ7とゲーム装置本体5とが無線通信によって直接的に接続されるが、ボード型コントローラ9とゲーム装置本体5とはコントローラ7を介した無線通信によって接続されることになる。第2の例として、コントローラ7の操作データがボード型コントローラ9へ無線送信され、コントローラ7から受信した操作データと共にボード型コントローラ9の操作データを、ボード型コントローラ9がゲーム装置本体5へ無線送信する。この場合、ボード型コントローラ9とゲーム装置本体5とが無線通信によって直接的に接続されるが、コントローラ7とゲーム装置本体5とはボード型コントローラ9を介した無線通信によって接続されることになる。第3の例として、コントローラ7とボード型コントローラ9とがケーブルを介して電気的に接続され、ボード型コントローラ9の操作データが当該ケーブルを介してコントローラ7へ送信される。そして、ボード型コントローラ9から上記ケーブルを介して受信した操作データと共にコントローラ7の操作データを、コントローラ7がゲーム装置本体5へ無線送信する。第4の例として、コントローラ7とボード型コントローラ9とがケーブルを介して電気的に接続され、コントローラ7の操作データが当該ケーブルを介してボード型コントローラ9へ送信される。そして、コントローラ7から上記ケーブルを介して受信した操作データと共にボード型コントローラ9の操作データを、ボード型コントローラ9がゲーム装置本体5へ無線送信する。   In the above description, the controller 7 and the game apparatus body 5 are connected by wireless communication, and the board type controller 9 and the game apparatus body 5 are connected by wireless communication. It does not matter if communication is performed. As a first example, the operation data of the board type controller 9 is wirelessly transmitted to the controller 7, and the controller 7 wirelessly transmits the operation data of the controller 7 together with the operation data received from the board type controller 9 to the game apparatus body 5. In this case, the controller 7 and the game apparatus body 5 are directly connected by wireless communication, but the board type controller 9 and the game apparatus body 5 are connected by wireless communication via the controller 7. As a second example, the operation data of the controller 7 is wirelessly transmitted to the board-type controller 9, and the operation data of the board-type controller 9 is wirelessly transmitted to the game apparatus body 5 together with the operation data received from the controller 7. To do. In this case, the board-type controller 9 and the game apparatus body 5 are directly connected by wireless communication, but the controller 7 and the game apparatus body 5 are connected by wireless communication via the board-type controller 9. . As a third example, the controller 7 and the board type controller 9 are electrically connected via a cable, and operation data of the board type controller 9 is transmitted to the controller 7 via the cable. Then, the controller 7 wirelessly transmits the operation data of the controller 7 together with the operation data received from the board type controller 9 via the cable to the game apparatus body 5. As a fourth example, the controller 7 and the board type controller 9 are electrically connected via a cable, and operation data of the controller 7 is transmitted to the board type controller 9 via the cable. Then, the board-type controller 9 wirelessly transmits the operation data of the board-type controller 9 to the game apparatus body 5 together with the operation data received from the controller 7 via the cable.

また、コントローラ7および/またはボード型コントローラ9とゲーム装置本体5とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7および/またはボード型コントローラ9に接続されたケーブルをゲーム装置本体5の接続端子に接続する。第1の例として、コントローラ7とゲーム装置本体5とが第1のケーブルを介して電気的に接続され、ボード型コントローラ9とゲーム装置本体5とも第2のケーブルを介して電気的に接続される。第2の例として、コントローラ7とゲーム装置本体5との間のみがケーブルを介して電気的に接続される。この場合、ボード型コントローラ9の操作データは、コントローラ7へ無線送信された後に上記ケーブルを介してゲーム装置本体5に送信されてもいいし、ボード型コントローラ9から直接ゲーム装置本体5に無線送信されてもよい。第3の例として、ボード型コントローラ9とゲーム装置本体5との間のみがケーブルを介して電気的に接続される。この場合、コントローラ7の操作データは、ボード型コントローラ9へ無線送信された後に上記ケーブルを介してゲーム装置本体5に送信されてもいいし、コントローラ7から直接ゲーム装置本体5に無線送信されてもよい。   Further, the controller 7 and / or the board type controller 9 and the game apparatus body 5 may be electrically connected via a cable. In this case, the cable connected to the controller 7 and / or the board type controller 9 is connected to the connection terminal of the game apparatus body 5. As a first example, the controller 7 and the game apparatus body 5 are electrically connected via a first cable, and the board-type controller 9 and the game apparatus body 5 are also electrically connected via a second cable. The As a second example, only the controller 7 and the game apparatus body 5 are electrically connected via a cable. In this case, the operation data of the board type controller 9 may be wirelessly transmitted to the controller 7 and then transmitted to the game apparatus body 5 via the cable, or directly transmitted from the board type controller 9 to the game apparatus body 5 directly. May be. As a third example, only the board type controller 9 and the game apparatus main body 5 are electrically connected via a cable. In this case, the operation data of the controller 7 may be transmitted wirelessly to the board-type controller 9 and then transmitted to the game apparatus body 5 via the cable, or directly transmitted from the controller 7 to the game apparatus body 5. Also good.

また、上記実施例では、据置型のゲーム装置3を用いて説明したが、携帯型のゲーム装置や一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。何れの装置であっても、当該装置とボード型コントローラ9とを無線または有線で接続することによって、本発明を実現することができる。   In the above embodiment, the stationary game apparatus 3 has been described. However, the information processing program of the present invention is executed by an information processing apparatus such as a portable game apparatus or a general personal computer. May be realized. In another embodiment, the present invention is not limited to a game device, and may be any portable electronic device such as a PDA (Personal Digital Assistant), a mobile phone, a personal computer, a camera, or the like. In any device, the present invention can be realized by connecting the device and the board type controller 9 wirelessly or by wire.

また、上述した説明では情報処理をゲーム装置本体5で行う例を用いたが、上記情報処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置本体5が他の装置(例えば、サーバや他のゲーム装置)と通信可能に構成されている場合、上記情報処理における処理ステップは、ゲーム装置本体5および当該他の装置が協働することによって実行してもよい。一例として、他の装置において、プレイヤオブジェクトPoおよび仮想世界等を設定する処理が行われ、ゲーム装置本体5からオブジェクト動作データ、走行速度データ、走行距離データ等が他の装置へ送信されて、上記情報処理が行われることが考えられる。そして、他の装置で生成された仮想世界を示す画像データがゲーム装置本体5へ送信され、当該仮想世界がモニタ2に表示される。このように、上記情報処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述した情報処理と同様の処理が可能となる。なお、上記情報処理における処理ステップの少なくとも一部をボード型コントローラ9(マイコン100)で行ってもよい。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置本体5のCPU10が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置本体5が備える専用回路によって上記処理の一部または全部が行われてもよい。   Moreover, although the example which performs information processing with the game device main body 5 was used in the above description, at least a part of the processing steps in the information processing may be performed with another device. For example, when the game apparatus body 5 is configured to be communicable with another apparatus (for example, a server or another game apparatus), the game apparatus body 5 and the other apparatus cooperate in the processing step in the information processing. It may be executed by doing. As an example, processing for setting the player object Po, the virtual world, and the like is performed in another device, and object motion data, travel speed data, travel distance data, and the like are transmitted from the game apparatus body 5 to the other device, and It is conceivable that information processing is performed. Then, image data indicating the virtual world generated by another device is transmitted to the game apparatus main body 5, and the virtual world is displayed on the monitor 2. In this way, by performing at least a part of the processing steps in the information processing with another device, processing similar to the information processing described above can be performed. Note that at least a part of the processing steps in the information processing may be performed by the board-type controller 9 (microcomputer 100). Further, the above-described information processing can be executed by cooperation between one processor or a plurality of processors included in an information processing system including at least one information processing apparatus. In the above embodiment, the CPU 10 of the game apparatus body 5 executes the predetermined program, so that the process according to the above-described flowchart is performed. All may be done.

また、上述したゲーム装置本体5の形状や、コントローラ7やボード型コントローラ9の形状および各種操作ボタンやセンサの形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、表示態様、判定に用いられる値等は、単なる一例に過ぎず他の順序、表示態様、値であっても、本発明を実現できることは言うまでもない。   In addition, the shape of the game apparatus body 5 described above, the shape of the controller 7 or the board-type controller 9, and the shape, number, and installation position of various operation buttons and sensors are merely examples, and other shapes, numbers, and It goes without saying that the present invention can be realized even at the installation position. In addition, the processing order, setting value, display mode, value used for determination, and the like used in the information processing described above are merely examples, and the present invention can be realized even in other orders, display modes, and values. Needless to say.

また、上記情報処理プログラム(ゲームプログラム)は、光ディスク4等の外部記憶媒体を通じてゲーム装置本体5に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体5に供給されてもよい。また、情報処理プログラムは、ゲーム装置本体5内部の不揮発性記憶装置に予め記録されていてもよい。なお、情報処理プログラムを記憶する情報記憶媒体としては、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープなどでもよい。また、上記情報処理プログラムを記憶する情報記憶媒体としては、不揮発性半導体メモリや揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。   The information processing program (game program) may be supplied not only to the game apparatus body 5 through an external storage medium such as the optical disc 4 but also to the game apparatus body 5 through a wired or wireless communication line. Further, the information processing program may be recorded in advance in a nonvolatile storage device inside the game apparatus body 5. The information storage medium for storing the information processing program may be a CD-ROM, DVD, or an optical disk storage medium similar to them, a flexible disk, a hard disk, a magneto-optical disk, a magnetic tape, or the like. The information storage medium for storing the information processing program may be a nonvolatile semiconductor memory or a volatile memory. Such a storage medium can be referred to as a computer-readable recording medium. For example, the various functions described above can be provided by causing a computer or the like to read and execute the programs of these recording media.

以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。   Although the present invention has been described in detail above, the above description is merely illustrative of the present invention in all respects and is not intended to limit the scope thereof. It goes without saying that various improvements and modifications can be made without departing from the scope of the present invention. It is understood that the scope of the present invention should be construed only by the claims. Moreover, it is understood that those skilled in the art can implement an equivalent range from the description of the specific embodiments of the present invention based on the description of the present invention and the common general technical knowledge. In addition, it is to be understood that the terms used in the present specification are used in the meaning normally used in the art unless otherwise specified. Thus, unless defined otherwise, all technical and technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. In case of conflict, the present specification, including definitions, will control.

本発明に係る情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法は、ユーザの動作を正確に判定することができ、ユーザの動作に基づいた処理等を行う情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法として有用である。   An information processing program, an information processing apparatus, an information processing system, and an information processing method according to the present invention can accurately determine a user's operation and perform processing based on the user's operation. It is useful as an apparatus, an information processing system, and an information processing method.

1…ゲームシステム
2…モニタ
706…スピーカ
3…ゲーム装置
4…光ディスク
5…ゲーム装置本体
10…CPU
11…システムLSI
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
19…無線コントローラモジュール
23…アンテナ
31…入出力プロセッサ
32…GPU
34…VRAM
35…内部メインメモリ
7…コントローラ
100…マイコン
106…無線モジュール
9…ボード型コントローラ
94…荷重センサ
102…ADコンバータ
DESCRIPTION OF SYMBOLS 1 ... Game system 2 ... Monitor 706 ... Speaker 3 ... Game device 4 ... Optical disk 5 ... Game device main body 10 ... CPU
11 ... System LSI
12 ... External main memory 13 ... ROM / RTC
14 ... Disk drive 15 ... AV-IC
16 ... AV connector 17 ... Flash memory 19 ... Wireless controller module 23 ... Antenna 31 ... Input / output processor 32 ... GPU
34 ... VRAM
35 ... Internal main memory 7 ... Controller 100 ... Microcomputer 106 ... Wireless module 9 ... Board type controller 94 ... Load sensor 102 ... AD converter

Claims (23)

ユーザの身体を乗せることが可能な入力装置から出力される当該入力装置に加わる荷重に基づいたデータが利用可能であり、当該入力装置から得られたデータを処理する情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記コンピュータを
前記入力装置から出力されたデータに基づいて、当該入力装置に加わる荷重における重心位置を繰り返し取得する重心位置取得手段と、
前記重心位置を用いて、前記入力装置上で足踏みするユーザ方向を算出するユーザ方向算出手段と、
前記ユーザ方向に基づいて、所定の処理を行う処理手段として機能させる、情報処理プログラム。
Data based on the load applied to the input device that is output from the input device that can carry the user's body is available, and is executed by the computer of the information processing device that processes the data obtained from the input device. An information processing program,
Centroid position acquisition means for repeatedly acquiring the centroid position of the load applied to the input device based on the data output from the input device;
User direction calculation means for calculating a user direction to step on the input device using the center of gravity position;
An information processing program that functions as processing means for performing predetermined processing based on the user direction.
前記ユーザ方向算出手段は、前記重心位置の移動方向に基づいて、前記ユーザ方向を算出する、請求項1に記載の情報処理プログラム。   The information processing program according to claim 1, wherein the user direction calculation unit calculates the user direction based on a moving direction of the barycentric position. 前記ユーザ方向算出手段は、前記重心位置取得手段によって異なるタイミングで取得された2つの重心位置を結ぶ直線に垂直な方向候補を用いて、前記ユーザ方向を算出する、請求項1または2に記載の情報処理プログラム。   3. The user direction calculation unit according to claim 1, wherein the user direction calculation unit calculates the user direction using a direction candidate perpendicular to a straight line connecting two centroid positions acquired at different timings by the centroid position acquisition unit. Information processing program. 前記ユーザ方向算出手段は、前記重心位置取得手段によって異なるタイミングで連続して取得された2つの重心位置を結ぶ直線に垂直な方向候補を用いて、前記ユーザ方向を算出する、請求項1乃至3のいずれか1つに記載の情報処理プログラム。   The user direction calculation means calculates the user direction using a direction candidate perpendicular to a straight line connecting two centroid positions successively acquired at different timings by the centroid position acquisition means. An information processing program according to any one of the above. 前記ユーザ方向算出手段は、前回の処理で決定された前記ユーザ方向を、前記方向候補が示す方向へ所定の割合で近づけることによって、前記ユーザ方向を更新する、請求項3または4のいずれか1つに記載の情報処理プログラム。   The user direction calculation means updates the user direction by bringing the user direction determined in the previous process closer to the direction indicated by the direction candidate at a predetermined rate. Information processing program described in 1. 前記ユーザ方向算出手段は、前記方向候補が得られた重心位置間の距離が長いほど、前記割合を大きく設定する、請求項5に記載の情報処理プログラム。   The information processing program according to claim 5, wherein the user direction calculation unit sets the ratio larger as the distance between the gravity center positions where the direction candidates are obtained is longer. 前記ユーザ方向算出手段は、前記方向候補が得られた重心位置間の距離が所定の長さより短い場合、前回の処理で決定された前記ユーザ方向を変化させない、請求項6に記載の情報処理プログラム。   The information processing program according to claim 6, wherein the user direction calculation unit does not change the user direction determined in the previous process when the distance between the gravity center positions where the direction candidates are obtained is shorter than a predetermined length. . 前記ユーザ方向算出手段は、異なるタイミングで繰り返し取得された2つの重心位置を結ぶ直線に垂直な方向候補を繰り返し算出し、当該繰り返し算出された複数の方向候補に基づいて1つの方向候補を算出する、請求項3乃至7のいずれか1つに記載の情報処理プログラム。   The user direction calculation unit repeatedly calculates a direction candidate perpendicular to a straight line connecting two gravity center positions repeatedly acquired at different timings, and calculates one direction candidate based on the plurality of repeatedly calculated direction candidates. The information processing program according to any one of claims 3 to 7. 前記ユーザ方向算出手段は、前記直線に垂直な一対の方向のうち、現時点で設定されている前記ユーザ方向に近い方を前記方向候補として算出する、請求項3乃至8のいずれか1つに記載の情報処理プログラム。   The said user direction calculation means calculates the direction near the said user direction currently set among the pair of directions perpendicular | vertical to the said straight line as said direction candidate. Information processing program. 前記ユーザ方向算出手段は、前記直線に垂直な一対の方向のうち、一方の方向が所定の範囲内である場合、他方の方向を前記方向候補として算出する、請求項3乃至9のいずれか1つに記載の情報処理プログラム。   10. The user direction calculating unit according to claim 3, wherein, when one direction is within a predetermined range, the other direction is calculated as the direction candidate when the direction is within a predetermined range. Information processing program described in 1. 前記ユーザ方向算出手段は、異なるタイミングで繰り返し取得された2つの重心位置を結ぶ直線に垂直な方向で、かつ、当該2つの重心位置の距離を大きさとした方向候補ベクトルを繰り返し算出し、当該繰り返し算出された複数の方向候補ベクトルを加算した1つのベクトルの方向を前記方向候補として算出する、請求項3乃至7のいずれか1つに記載の情報処理プログラム。   The user direction calculation means repeatedly calculates a direction candidate vector in a direction perpendicular to a straight line connecting two centroid positions repeatedly acquired at different timings, and having a distance between the two centroid positions. The information processing program according to any one of claims 3 to 7, wherein a direction of one vector obtained by adding the plurality of calculated direction candidate vectors is calculated as the direction candidate. 前記ユーザ方向算出手段は、前記直線に垂直な一対の方向のうち、現時点で設定されている前記ユーザ方向に近い方を前記方向候補ベクトルの方向として算出する、請求項11に記載の情報処理プログラム。   The information processing program according to claim 11, wherein the user direction calculation unit calculates, as a direction of the direction candidate vector, a direction closer to the user direction set at present among a pair of directions perpendicular to the straight line. . 前記ユーザ方向算出手段は、前記直線に垂直な一対の方向のうち、一方の方向が所定の範囲内である場合、他方の方向を前記方向候補ベクトルの方向として算出する、請求項11または12記載の情報処理プログラム。   The said user direction calculation means calculates the other direction as a direction of the said direction candidate vector, when one direction is in a predetermined range among a pair of directions perpendicular | vertical to the said straight line. Information processing program. 前記ユーザ方向算出手段が算出したユーザ方向に延びる少なくとも1つの判定線を設定する判定線設定手段として、さらに前記コンピュータを機能させ、
前記処理手段は、前記重心位置取得手段が繰り返し取得する重心位置が前記判定線を横断した場合、前記入力装置上でユーザが足踏みしたと判定し、当該判定に基づいて前記所定の処理を行う、請求項1乃至13のいずれか1つに記載の情報処理プログラム。
The computer further functions as determination line setting means for setting at least one determination line extending in the user direction calculated by the user direction calculation means,
The processing means determines that the user has stepped on the input device when the gravity center position repeatedly acquired by the gravity center position acquisition means crosses the determination line, and performs the predetermined processing based on the determination. The information processing program according to any one of claims 1 to 13.
前記重心位置取得手段が取得する重心位置に基づいて、前記入力装置上で足踏みするユーザの足踏み中心位置を算出する足踏み中心位置算出手段として、さらに前記コンピュータを機能させ、
前記判定線設定手段は、前記ユーザ方向へ前記足踏み中心位置を基準とした位置に前記判定線を設定する、請求項14に記載の情報処理プログラム。
Based on the center-of-gravity position acquired by the center-of-gravity position acquisition unit, the computer further functions as a stepping center position calculating unit that calculates a stepping center position of a user stepping on the input device,
The information processing program according to claim 14, wherein the determination line setting means sets the determination line at a position with respect to the stepping center position in the user direction.
前記判定線設定手段は、前記足踏み中心位置を中心として所定の間隙を有する位置にそれぞれ前記ユーザ方向へ延びる2つの前記判定線を設定し、
前記処理手段は、前記重心位置が前記間隙から前記判定線の一方を横断した場合、前記入力装置上でユーザが一方の足で足踏みしたと判定し、前記重心位置が前記間隙から前記判定線の他方を横断した場合、前記入力装置上でユーザが他方の足で足踏みしたと判定し、当該判定に基づいて前記所定の処理を行う、請求項15に記載の情報処理プログラム。
The determination line setting means sets the two determination lines extending in the user direction at positions having a predetermined gap around the stepping center position,
The processing means determines that the user has stepped on one foot on the input device when the position of the center of gravity crosses one of the determination lines from the gap, and the center of gravity position of the determination line extends from the gap. The information processing program according to claim 15, wherein when crossing the other, it is determined that the user has stepped on the other foot on the input device, and the predetermined processing is performed based on the determination.
前記足踏み中心位置算出手段は、前記重心位置取得手段が繰り返し取得する重心位置に所定の割合で追従する位置に前記足踏み中心位置を設定する、請求項15または16に記載の情報処理プログラム。   The information processing program according to claim 15 or 16, wherein the stepping center position calculating unit sets the stepping center position at a position that follows the center of gravity repeatedly acquired by the center of gravity position acquiring unit at a predetermined rate. 前記足踏み中心位置算出手段は、前記重心位置取得手段が所定期間内に繰り返し取得した重心位置を平均した位置に前記足踏み中心位置を設定する、請求項15または16に記載の情報処理プログラム。   The information processing program according to claim 15 or 16, wherein the stepping center position calculating unit sets the stepping center position at a position obtained by averaging the barycentric positions repeatedly acquired by the barycentric position acquiring unit within a predetermined period. 前記判定線設定手段は、所定の基準方向に対する前記ユーザ方向の角度に応じて、前記間隙の幅を変化させる、請求項16に記載の情報処理プログラム。   The information processing program according to claim 16, wherein the determination line setting unit changes a width of the gap according to an angle of the user direction with respect to a predetermined reference direction. 前記処理手段は、前記ユーザ方向に基づいて、仮想世界に設定されたオブジェクトおよび仮想カメラの少なくとも一方の方向を変化させることによって、前記所定の処理を行う、請求項1乃至19のいずれか1つに記載の情報処理プログラム。   The said processing means performs the said predetermined process by changing the direction of at least one of the object and virtual camera which were set to the virtual world based on the said user direction. Information processing program described in 1. ユーザの身体を乗せることが可能な入力装置から出力される当該入力装置に加わる荷重に基づいたデータが利用可能であり、当該入力装置から得られたデータを処理する情報処理装置であって、
前記入力装置から出力されたデータに基づいて、当該入力装置に加わる荷重における重心位置を繰り返し取得する重心位置取得手段と、
前記重心位置を用いて、前記入力装置上で足踏みするユーザ方向を算出するユーザ方向算出手段と、
前記ユーザ方向に基づいて、所定の処理を行う処理手段とを備える、情報処理装置。
Data based on the load applied to the input device that is output from the input device that can carry the user's body is available, and is an information processing device that processes data obtained from the input device,
Based on the data output from the input device, center of gravity position acquisition means for repeatedly acquiring the center of gravity position in the load applied to the input device;
User direction calculation means for calculating a user direction to step on the input device using the center of gravity position;
An information processing apparatus comprising processing means for performing predetermined processing based on the user direction.
複数の装置が通信可能に構成され、ユーザの身体を乗せることが可能な入力装置から出力される当該入力装置に加わる荷重に基づいたデータが利用可能であり、当該入力装置から得られたデータを処理する情報処理システムであって、
前記入力装置から出力されたデータに基づいて、当該入力装置に加わる荷重における重心位置を繰り返し取得する重心位置取得手段と、
前記重心位置を用いて、前記入力装置上で足踏みするユーザ方向を算出するユーザ方向算出手段と、
前記ユーザ方向に基づいて、所定の処理を行う処理手段とを備える、情報処理システム。
A plurality of devices are configured to be communicable, and data based on the load applied to the input device that is output from the input device that can carry the user's body is available, and the data obtained from the input device can be used. An information processing system for processing,
Based on the data output from the input device, center of gravity position acquisition means for repeatedly acquiring the center of gravity position in the load applied to the input device;
User direction calculation means for calculating a user direction to step on the input device using the center of gravity position;
An information processing system comprising processing means for performing predetermined processing based on the user direction.
ユーザの身体を乗せることが可能な入力装置から出力される当該入力装置に加わる荷重に基づいたデータが利用可能であり、当該入力装置から得られたデータを処理することが可能な少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行される情報処理方法であって、
前記入力装置から出力されたデータに基づいて、当該入力装置に加わる荷重における重心位置を繰り返し取得する重心位置取得ステップと、
前記重心位置を用いて、前記入力装置上で足踏みするユーザ方向を算出するユーザ方向算出ステップと、
前記ユーザ方向に基づいて、所定の処理を行う処理ステップとを含む、情報処理方法。
Data based on a load applied to the input device that is output from the input device that can carry the user's body is available, and at least one information that can process the data obtained from the input device An information processing method executed by cooperation between one processor or a plurality of processors included in an information processing system constituted by a processing device,
Based on the data output from the input device, a center-of-gravity position acquisition step of repeatedly acquiring the center-of-gravity position in the load applied to the input device;
A user direction calculating step of calculating a user direction to step on the input device using the barycentric position;
A processing step of performing a predetermined process based on the user direction.
JP2011225538A 2011-03-08 2011-10-13 Information processing program, information processing apparatus, information processing system, and information processing method Active JP5785844B2 (en)

Priority Applications (16)

Application Number Priority Date Filing Date Title
JP2011225538A JP5785844B2 (en) 2011-10-13 2011-10-13 Information processing program, information processing apparatus, information processing system, and information processing method
EP11194630.7A EP2497547B1 (en) 2011-03-08 2011-12-20 Information processing program, information processing apparatus, information processing system, and information processing method
US13/333,045 US9205327B2 (en) 2011-03-08 2011-12-21 Storage medium having information processing program stored thereon, information processing apparatus, information processing system, and information processing method
US13/343,913 US9345962B2 (en) 2011-03-08 2012-01-05 Storage medium having stored thereon information processing program, information processing apparatus, information processing system, and information processing method
EP12150272.8A EP2497548A3 (en) 2011-03-08 2012-01-05 Information processing program, information processing apparatus, information processing system, and information processing method
US13/352,091 US9370712B2 (en) 2011-03-08 2012-01-17 Information processing system, information processing apparatus, storage medium having information processing program stored therein, and image display method for controlling virtual objects based on at least body state data and/or touch position data
EP12153067.9A EP2497549B1 (en) 2011-03-08 2012-01-30 Information processing program, information processing apparatus, information processing system, and information processing method
US13/362,289 US9522323B2 (en) 2011-03-08 2012-01-31 Storage medium having stored thereon information processing program, information processing apparatus, information processing system, and information processing method
US13/362,381 US8845430B2 (en) 2011-03-08 2012-01-31 Storage medium having stored thereon game program, game apparatus, game system, and game processing method
US13/362,255 US20120231882A1 (en) 2011-03-08 2012-01-31 Storage medium having stored thereon game program, game apparatus, game system, and game processing method
US13/401,054 US9492742B2 (en) 2011-03-08 2012-02-21 Storage medium having stored thereon information processing program, information processing apparatus, information processing system, and information processing method
US13/400,944 US9526981B2 (en) 2011-03-08 2012-02-21 Storage medium having stored thereon information processing program, information processing apparatus, information processing system, and information processing method
US13/402,026 US9492743B2 (en) 2011-03-08 2012-02-22 Storage medium having stored thereon information processing program, information processing apparatus, information processing system, and information processing method
EP12156630.1A EP2497551B1 (en) 2011-03-08 2012-02-23 Information processing program, information processing apparatus, information processing system, and information processing method
EP12156629A EP2497550A3 (en) 2011-03-08 2012-02-23 Information processing program, information processing apparatus, information processing system, and information processing method
EP14166174.4A EP2781244A3 (en) 2011-03-08 2012-02-23 Information processing program, information processing apparatus, information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011225538A JP5785844B2 (en) 2011-10-13 2011-10-13 Information processing program, information processing apparatus, information processing system, and information processing method

Publications (2)

Publication Number Publication Date
JP2013088838A JP2013088838A (en) 2013-05-13
JP5785844B2 true JP5785844B2 (en) 2015-09-30

Family

ID=48532736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011225538A Active JP5785844B2 (en) 2011-03-08 2011-10-13 Information processing program, information processing apparatus, information processing system, and information processing method

Country Status (1)

Country Link
JP (1) JP5785844B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019040555A (en) * 2017-08-29 2019-03-14 ソニー株式会社 Information processing apparatus, information processing method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3314314B2 (en) * 1993-07-23 2002-08-12 日本電信電話株式会社 Information processing device
JP5356765B2 (en) * 2008-10-01 2013-12-04 株式会社バンダイナムコゲームス PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
JP5436909B2 (en) * 2009-03-30 2014-03-05 任天堂株式会社 Information processing program, information processing apparatus, information processing system, and information processing method

Also Published As

Publication number Publication date
JP2013088838A (en) 2013-05-13

Similar Documents

Publication Publication Date Title
US9205327B2 (en) Storage medium having information processing program stored thereon, information processing apparatus, information processing system, and information processing method
JP5792971B2 (en) Information processing system, information processing program, and information processing method
US9480918B2 (en) Computer-readable storage medium having information processing program stored therein and information processing apparatus
JP5689705B2 (en) Information processing system, information processing program, information processing device, input device, and information processing method
US11446564B2 (en) Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method
JP5610735B2 (en) Information processing program, information processing apparatus, information processing method, and information processing system
US9561442B2 (en) Storage medium having image processing program stored thereon and image processing apparatus
EP2392990A2 (en) Input for computer device using pattern-based computer vision
JP2008136694A (en) Program, information storage medium and game apparatus
US8523678B2 (en) Game apparatus and game program
JP5785844B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP6041466B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP5806510B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP5687545B2 (en) Information processing program, information processing system, and information processing method
JP6246991B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP2010082341A (en) Program, information storage medium, and game console
JP5864121B2 (en) Information processing program, information processing system, and information processing method
JP5759233B2 (en) Information processing program, information processing system, and information processing method
JP2012252469A (en) Information processing program, information processor, information processing system, and information processing method
JP2023166045A (en) Information processing program, information processing device, information processing system and information processing method
CN117180744A (en) Game operation method based on bar-shaped somatosensory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150521

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150727

R150 Certificate of patent or registration of utility model

Ref document number: 5785844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250