JP2021068477A - Information processing program, information processor, information processing system and information processing method - Google Patents

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

Info

Publication number
JP2021068477A
JP2021068477A JP2021008657A JP2021008657A JP2021068477A JP 2021068477 A JP2021068477 A JP 2021068477A JP 2021008657 A JP2021008657 A JP 2021008657A JP 2021008657 A JP2021008657 A JP 2021008657A JP 2021068477 A JP2021068477 A JP 2021068477A
Authority
JP
Japan
Prior art keywords
data
vibration data
information processing
controller
vibration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021008657A
Other languages
Japanese (ja)
Other versions
JP6973967B2 (en
Inventor
浩一 久馬
Koichi Kyuma
浩一 久馬
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
Priority claimed from JP2017001840A external-priority patent/JP6829608B2/en
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2021008657A priority Critical patent/JP6973967B2/en
Publication of JP2021068477A publication Critical patent/JP2021068477A/en
Application granted granted Critical
Publication of JP6973967B2 publication Critical patent/JP6973967B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide an information processing program, an information processor, an information processing system and an information processing method that can provide appropriate vibration, in a system operative using multiple handling devices, according to how the handling device is used.SOLUTION: A system, when a first operating mode by which a first handling device and a second handling device are used as one set is set, generates first vibration data for vibration of a first vibrator and second vibration data for vibration of a second vibrator, when a second operation mode by which either one of the handling devices is used is set, generates third vibration data based on the first vibration data and the second vibration data. The system, then transmits the first vibration data to the first handling device and transmits the second vibration data to the second handling device if the first operating mode is set, and transmits the third vibration data to the handling device used in the second operating mode if the second operating mode is set.SELECTED DRAWING: Figure 18

Description

本発明は、複数の操作装置を用いて操作可能な情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。 The present invention relates to an information processing program, an information processing device, an information processing system, and an information processing method that can be operated by using a plurality of operating devices.

従来、コントローラを縦持ちしてプレイ可能であるとともに、コントローラを横持ちしてプレイ可能なゲームシステムがある(例えば、特許文献1参照)。 Conventionally, there is a game system in which a controller can be held vertically for play and a controller can be held horizontally for play (see, for example, Patent Document 1).

特開2007−301038号公報JP-A-2007-301038

しかしながら、上記特許文献1で開示されたゲームシステムでは、コントローラを横持ちしてプレイする場合とコントローラを縦持ちしてプレイする場合とにおいて、当該コントローラ内のバイブレータの動作を異ならせることについて何ら考慮されていない。すなわち、上記特許文献1で開示されたゲームシステムでは、コントローラの使い方に応じて適切にバイブレータを制御することについては考慮されていない。 However, in the game system disclosed in Patent Document 1, the operation of the vibrator in the controller is considered to be different between the case where the controller is held horizontally and the case where the controller is held vertically. It has not been. That is, in the game system disclosed in Patent Document 1, it is not considered to appropriately control the vibrator according to the usage of the controller.

それ故、本発明の目的は、複数の操作装置を用いて操作可能なシステムにおいて、当該操作装置の使い方に応じて適切な振動を与えることができる情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法を提供することである。 Therefore, an object of the present invention is an information processing program, an information processing device, an information processing system, which can give an appropriate vibration according to the usage of the operating device in a system that can be operated by using a plurality of operating devices. And to provide information processing methods.

上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。 In order to achieve the above object, the present invention may adopt, for example, the following configuration. 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 inconsistent. In that case, the description of the scope of claims takes precedence.

本発明の情報処理プログラムの一構成例は、第1の振動子を有する第1の操作装置および第2の振動子を有する第2の操作装置のそれぞれと通信可能な情報処理装置に含まれるコンピュータで実行される。情報処理プログラムは、操作方式設定手段、振動データ生成手段、および振動データ送信手段として、コンピュータを機能させる。操作方式設定手段は、第1の操作装置と第2の操作装置とを1組として用いる第1の操作方式および当該第1の操作装置と当該第2の操作装置とのいずれかを用いる第2の操作方式の一方に操作方式を設定する。振動データ生成手段は、第1の操作方式が設定されている場合に第1の振動子を振動させるための第1振動データと第2の振動子を振動させるための第2振動データとを生成し、第2の操作方式が設定されている場合に当該第1振動データおよび当該第2振動データに基づいて第3振動データを生成する。振動データ送信手段は、第1の操作方式が設定されている場合に第1振動データを第1の操作装置に送信するとともに第2振動データを第2の操作装置に送信し、第2の操作方式が設定されている場合に当該第2の操作方式で用いられる第1の操作装置または第2の操作装置に第3振動データを送信する。 An example of the configuration of the information processing program of the present invention is a computer included in an information processing device capable of communicating with each of a first operating device having a first oscillator and a second operating device having a second oscillator. Is executed by. The information processing program causes the computer to function as an operation method setting means, a vibration data generation means, and a vibration data transmission means. The operation method setting means is a first operation method using the first operation device and the second operation device as a set, and a second operation method using either the first operation device and the second operation device. Set the operation method to one of the operation methods of. The vibration data generation means generates first vibration data for vibrating the first vibrator and second vibration data for vibrating the second vibrator when the first operation method is set. Then, when the second operation method is set, the third vibration data is generated based on the first vibration data and the second vibration data. The vibration data transmitting means transmits the first vibration data to the first operating device and the second vibration data to the second operating device when the first operating method is set, and the second operation When the method is set, the third vibration data is transmitted to the first operating device or the second operating device used in the second operating method.

上記によれば、第1の操作装置と第2の操作装置とを1組として用いる第1の操作方式の場合、それぞれの操作装置を異なる振動データに基づいて振動させることができるため、それぞれの操作装置に応じた適切な振動を与えることが可能となる。また、第1の操作装置と第2の操作装置とのいずれかを用いる第2の操作方式の場合、2つの操作装置それぞれが振動するための振動データに基づいて1つの操作装置用の振動データが生成され、当該振動データが当該いずれかの操作装置に送信される。したがって、第1の操作方式と第2の操作方式とのいずれかが設定されている場合であっても、同一の振動データに基づく適切な振動を与えることが可能となる。 According to the above, in the case of the first operation method in which the first operation device and the second operation device are used as a set, each operation device can be vibrated based on different vibration data. It is possible to give appropriate vibration according to the operating device. Further, in the case of the second operation method using either the first operation device and the second operation device, the vibration data for one operation device is based on the vibration data for each of the two operation devices to vibrate. Is generated and the vibration data is transmitted to one of the operating devices. Therefore, even when either the first operation method or the second operation method is set, it is possible to give appropriate vibration based on the same vibration data.

また、上記振動データ生成手段は、第2の操作方式が設定されている場合、第1振動データによる振動波形の振幅と第2振動データによる振動波形の振幅との大きい方を所定時間単位毎に選択し、当該選択された振動データを第3振動データとして生成してもよい。 Further, when the second operation method is set, the vibration data generation means sets the larger of the amplitude of the vibration waveform based on the first vibration data and the amplitude of the vibration waveform based on the second vibration data for each predetermined time unit. It may be selected and the selected vibration data may be generated as the third vibration data.

上記によれば、第3振動データを生成する場合に、全体として振幅がより大きなものを選択することが可能となるため、入力される振動波形全体の特徴を維持したまま、ユーザに対して振動刺激を与えることができる。 According to the above, when generating the third vibration data, it is possible to select the one having a larger amplitude as a whole, so that the user vibrates while maintaining the characteristics of the entire input vibration waveform. Can be stimulating.

また、上記振動データ生成手段は、第2の操作方式が設定されている場合、第1振動データによる振動波形と第2振動データによる振動波形とを重ね合わせることによって第3振動データを生成してもよい。 Further, when the second operation method is set, the vibration data generation means generates the third vibration data by superimposing the vibration waveform based on the first vibration data and the vibration waveform based on the second vibration data. May be good.

上記によれば、第3振動データを生成する場合に、振動を欠落させることなく互いに重なり合った振動をユーザに対して知覚させることができる。 According to the above, when the third vibration data is generated, the user can perceive the vibrations that overlap each other without losing the vibrations.

また、上記情報処理プログラムは、操作データ受信手段および処理手段として、さらにコンピュータを機能させてもよい。操作データ受信手段は、第1の操作装置に対する第1の操作に応じた第1操作データおよび当該第1の操作とは異なる第2の操作に応じた第2操作データを、当該第1の操作装置から受信する。処理手段は、第1の操作方式が設定されている場合に第1操作データに応じて所定の情報処理を行うとともに、第2の操作方式が設定されて当該第2の操作方式において第1の操作装置が用いられる場合に第2の操作データに応じて当該情報処理と同じ情報処理を行う。 Further, the information processing program may further function as a computer as an operation data receiving means and a processing means. The operation data receiving means receives the first operation data corresponding to the first operation for the first operation device and the second operation data corresponding to the second operation different from the first operation in the first operation. Receive from the device. When the first operation method is set, the processing means performs predetermined information processing according to the first operation data, and the second operation method is set and the first operation method is the first. When the operation device is used, the same information processing as the information processing is performed according to the second operation data.

上記によれば、第1の操作方式によって操作する場合と第2の操作方式によって操作する場合とにおいて、異なる操作に対して同じ情報処理が行うことが可能であるため、バリエーションに富んだ操作方法を設定することができる。 According to the above, since the same information processing can be performed for different operations in the case of operating by the first operation method and the case of operating by the second operation method, there are a wide variety of operation methods. Can be set.

また、上記処理手段は、所定のアプリケーションが実行されている場合に、第1の操作方式が設定されているときに第1操作データに応じて所定の情報処理を行い、第2の操作方式が設定されて当該第2の操作方式において第1の操作装置が用いられるときに第2の操作データに応じて所定の情報処理と同じ情報処理を行ってもよい。 Further, when the predetermined application is being executed, the processing means performs predetermined information processing according to the first operation data when the first operation method is set, and the second operation method is performed. When the first operation device is used in the second operation method that has been set, the same information processing as the predetermined information processing may be performed according to the second operation data.

上記によれば、同一のアプリケーションが実行されて複数の操作方式が設定できる場合であっても、適切な振動を与えることができる。 According to the above, even when the same application is executed and a plurality of operation methods can be set, appropriate vibration can be given.

また、上記情報処理プログラムは、操作データ受信手段および処理手段として、さらにコンピュータを機能させてもよい。操作データ受信手段は、第1の操作装置に対する第1の操作に応じた第1操作データおよび当該第1の操作とは異なる第2の操作に応じた第2操作データを当該第1の操作装置から受信し、第2の操作装置に対する第3の操作に応じた第3操作データを当該第2の操作装置から受信する。処理手段は、第1の操作方式が設定されている場合に第1操作データおよび第3操作データに応じて所定の情報処理を行うとともに、第2の操作方式が設定されて当該第2の操作方式において第1の操作装置が用いられる場合に第2の操作データに応じて当該情報処理と同じ情報処理を行う。 Further, the information processing program may further function as a computer as an operation data receiving means and a processing means. The operation data receiving means receives the first operation data corresponding to the first operation with respect to the first operation device and the second operation data corresponding to the second operation different from the first operation to the first operation device. The third operation data corresponding to the third operation with respect to the second operation device is received from the second operation device. When the first operation method is set, the processing means performs predetermined information processing according to the first operation data and the third operation data, and the second operation method is set and the second operation is performed. When the first operating device is used in the method, the same information processing as the information processing is performed according to the second operating data.

上記によれば、第1の操作方式において第1の操作装置および第2の操作装置の両方を用いて行う操作に対して行われる情報処理と同じ情報処理を、第2の操作方式において第1の操作装置のみを用いて行う操作によって行うことができるため、バリエーションに富んだ操作方法を設定することができる。 According to the above, the same information processing as the information processing performed for the operation performed by using both the first operation device and the second operation device in the first operation method is performed in the second operation method. Since it can be performed by the operation performed using only the operation device of, it is possible to set a wide variety of operation methods.

また、上記情報処理プログラムは、操作データ受信手段および処理手段として、さらにコンピュータを機能させてもよい。操作データ受信手段は、第1の操作装置に対する第1の操作に応じた第1操作データを、当該第1の操作装置から受信する。処理手段は、第1の操作方式が設定されている場合に第1操作データに応じて所定の情報処理を行うとともに、第2の操作方式が設定されて当該第2の操作方式において第1の操作装置が用いられる場合に第1の操作データに応じて当該情報処理とは異なる情報処理を行う。 Further, the information processing program may further function as a computer as an operation data receiving means and a processing means. The operation data receiving means receives the first operation data corresponding to the first operation on the first operation device from the first operation device. When the first operation method is set, the processing means performs predetermined information processing according to the first operation data, and the second operation method is set and the first operation method is the first. When an operating device is used, information processing different from the information processing is performed according to the first operation data.

上記によれば、第1の操作方式によって操作する場合と第2の操作方式によって操作する場合とにおいて、同じ操作が行われたとしても異なる情報処理が行うことが可能であるため、バリエーションに富んだ操作方法を設定することができる。 According to the above, there are many variations because different information processing can be performed even if the same operation is performed in the case of operating by the first operation method and the case of operating by the second operation method. However, the operation method can be set.

また、上記処理手段は、所定の情報処理としてゲーム処理を行ってもよい。 Further, the processing means may perform game processing as predetermined information processing.

上記によれば、ゲーム処理を行う際に、適切な振動を第1の操作装置および/または第2の操作装置に与えることができる。 According to the above, when performing the game processing, appropriate vibration can be given to the first operating device and / or the second operating device.

また、上記設定手段は、ゲーム処理におけるゲームを開始する前に操作方式を設定してもよい。 Further, the setting means may set the operation method before starting the game in the game processing.

上記によれば、ゲームを開始する前に、ユーザが所望する操作方式を設定することができる。 According to the above, the operation method desired by the user can be set before starting the game.

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

本発明によれば、2つの操作装置を用いる操作方式および1つの操作装置を用いる操作方式の何れであっても、適切な振動を当該操作装置のユーザに与えることが可能となる。 According to the present invention, it is possible to give an appropriate vibration to the user of the operation device regardless of the operation method using two operation devices or the operation method using one operation device.

本実施形態における情報処理システム1の一例において、本体装置2に左コントローラ3および右コントローラ4を装着した状態を示す図The figure which shows the state which attached the left controller 3 and the right controller 4 to the main body apparatus 2 in the example of the information processing system 1 in this embodiment 本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図The figure which shows an example of the state which the left controller 3 and the right controller 4 are removed from the main body device 2, respectively. 本体装置2の一例を示す六面図Six views showing an example of the main unit 2 左コントローラ3の一例を示す六面図Six views showing an example of the left controller 3 右コントローラ4の一例を示す六面図Six views showing an example of the right controller 4 本実施形態における情報処理システムの他の例の全体構成を示す図The figure which shows the whole structure of another example of the information processing system in this embodiment. クレードル5の一例の外観構成を示す図The figure which shows the appearance composition of an example of a cradle 5. 本体装置2の内部構成の一例を示すブロック図Block diagram showing an example of the internal configuration of the main unit 2 情報処理システム1の内部構成の一例を示すブロック図Block diagram showing an example of the internal configuration of the information processing system 1 クレードル5の内部構成の一例を示すブロック図Block diagram showing an example of the internal configuration of the cradle 5 離脱状態において、1人のユーザが左コントローラ3および右コントローラ4の組を把持して情報処理システム1を利用する様子の一例を示す図The figure which shows an example of how one user holds a set of a left controller 3 and a right controller 4 and uses an information processing system 1 in a detached state. 離脱状態において、1人のユーザが左コントローラ3および右コントローラ4の組を把持して情報処理システム1を利用する様子の一例を示す図The figure which shows an example of how one user holds a set of a left controller 3 and a right controller 4 and uses an information processing system 1 in a detached state. 離脱状態において、1人のユーザが左コントローラ3および右コントローラ4の組を把持して情報処理システム1を利用する様子の一例を示す図The figure which shows an example of how one user holds a set of a left controller 3 and a right controller 4 and uses an information processing system 1 in a detached state. 左コントローラ3および右コントローラ4を動かすことによってプレイするゲームにおいて表示されるゲーム画像例を示す図The figure which shows the example of the game image displayed in the game played by moving the left controller 3 and the right controller 4. 左コントローラ3および右コントローラ4を動かすことによってプレイするゲームにおいて表示されるゲーム画像例を示す図The figure which shows the example of the game image displayed in the game played by moving the left controller 3 and the right controller 4. 左コントローラ3および右コントローラ4を動かすことによってプレイするゲームにおいて表示されるゲーム画像例を示す図The figure which shows the example of the game image displayed in the game played by moving the left controller 3 and the right controller 4. 左コントローラ3および右コントローラ4を装着可能な付属機器の一例を示す図The figure which shows an example of the accessory device which can attach the left controller 3 and the right controller 4. 離脱状態において、1人のユーザが左コントローラ3および右コントローラ4の一方を把持して情報処理システム1を利用する様子の一例を示す図The figure which shows an example of a state in which one user holds one of the left controller 3 and the right controller 4 and uses the information processing system 1 in the detached state. 操作方式毎の操作内容に対するプレイヤオブジェクトPOの動作を示す操作対応テーブルの一例An example of an operation correspondence table showing the operation of the player object PO with respect to the operation content for each operation method 選択方式によって振動データを生成する方法の一例を説明するための図The figure for demonstrating an example of the method of generating vibration data by a selection method. 高周波側および低周波側をまとめて判定する場合に用いられる合成モジュールの一例を示す図The figure which shows an example of the synthesis module used when the high frequency side and the low frequency side are judged collectively. 加算方式によって振動データを生成する方法の一例を説明するための図The figure for demonstrating an example of the method of generating vibration data by an addition method. 本体装置2のDRAM85に設定されるデータ領域の一例を示す図The figure which shows an example of the data area set in the DRAM 85 of the main body apparatus 2. 情報処理システム1で実行されるゲーム処理の一例を示すフローチャートA flowchart showing an example of game processing executed by the information processing system 1. 図24におけるステップS146において行われる縦持ちゲーム処理の詳細の一例を示すサブルーチンSubroutine showing a detailed example of the vertical holding game processing performed in step S146 in FIG. 24 図24におけるステップS148において行われる拡張グリップゲーム処理の詳細の一例を示すサブルーチンA subroutine showing a detailed example of the extended grip game processing performed in step S148 in FIG. 24. 図24におけるステップS149において行われる横持ちゲーム処理の詳細の一例を示すサブルーチンSubroutine showing a detailed example of the horizontal game processing performed in step S149 in FIG. 24

以下、本実施形態の一例に係る情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法について説明する。本実施形態におけるゲームシステムの一例となる情報処理システム1は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とによって構成される。また、上記情報処理システムの他の態様は、上記構成にクレードル5(図6、図7等参照)を加えて構成されることもある。本実施形態における情報処理システム1は、本体装置2に対して左コントローラ3および右コントローラ4が着脱可能であり、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用でき、また、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(図2参照)。また、情報処理システム1は、本体装置2に画像を表示する態様での利用と、テレビ等の他の表示装置に画像を表示させる態様での利用が可能である。前者の態様において、情報処理システム1は、携帯型装置(例えば、携帯ゲーム機)として利用することができる。また、後者の態様において、情報処理システム1は、据置型装置(例えば、据置型ゲーム機)として利用することができる。 Hereinafter, an information processing program, an information processing device, an information processing system, and an information processing method according to an example of the present embodiment will be described. The information processing system 1 which is an example of the game system in the present embodiment is composed of a main body device (information processing device; which functions as a game device main body in the present embodiment) 2, a left controller 3, and a right controller 4. In addition, another aspect of the information processing system may be configured by adding a cradle 5 (see FIGS. 6, 7, etc.) to the above configuration. In the information processing system 1 of the present embodiment, the left controller 3 and the right controller 4 are detachable from the main body device 2, and the left controller 3 and the right controller 4 are mounted on the main body device 2 and integrated. The main unit 2 and the left controller 3 and the right controller 4 can be used as separate bodies (see FIG. 2). Further, the information processing system 1 can be used in a mode of displaying an image on the main body device 2 and in a mode of displaying an image on another display device such as a television. In the former aspect, the information processing system 1 can be used as a portable device (for example, a portable game machine). Further, in the latter aspect, the information processing system 1 can be used as a stationary device (for example, a stationary game machine).

図1は、本実施形態における情報処理システム1の一例において、本体装置2に左コントローラ3および右コントローラ4を装着した状態を示す図である。図1に示すように、情報処理システム1は、本体装置2と、左コントローラ3と、右コントローラ4とを含む。左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、情報処理システム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。なお、本実施形態においては、情報処理システム1は、横長の形状であるものとする。つまり、本実施形態においては、情報処理システム1の主面の長手方向を横方向(左右方向とも言う)と呼び、当該主面の短手方向を縦方向(上下方向とも言う)と呼び、主面に垂直な方向を奥行方向(前後方向とも言う)と呼ぶこととする。また、情報処理システム1における方向をわかりやすくするために、情報処理システム1に対する3軸(xyz軸)方向を定義する。具体的には、図1に示すように、情報処理システム1においてディスプレイ12が設けられている前面から背面に向かうディスプレイ12の奥行方向をz軸正方向とし、当該奥行方向に対して垂直な横方向において右から左に向かう方向(右コントローラ4の装着位置から左コントローラ3の装着位置に向かう方向)をx軸正方向とし、当該奥行方向および当該横方向に対して垂直な上下方向において下から上に向かうディスプレイ12に沿った方向をy軸正方向とする。 FIG. 1 is a diagram showing a state in which a left controller 3 and a right controller 4 are attached to a main body device 2 in an example of the information processing system 1 in the present embodiment. As shown in FIG. 1, the information processing system 1 includes a main body device 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 are mounted on the main body device 2 and integrated with each other. The main device 2 is a device that executes various processes (for example, game processes) in the information processing system 1. The main body device 2 includes a display 12. The left controller 3 and the right controller 4 are devices including an operation unit for inputting by the user. In the present embodiment, the information processing system 1 has a horizontally long shape. That is, in the present embodiment, the longitudinal direction of the main surface of the information processing system 1 is referred to as the lateral direction (also referred to as the horizontal direction), and the lateral direction of the main surface is referred to as the vertical direction (also referred to as the vertical direction). The direction perpendicular to the surface is called the depth direction (also called the front-back direction). Further, in order to make the direction in the information processing system 1 easy to understand, the three-axis (xyz-axis) directions with respect to the information processing system 1 are defined. Specifically, as shown in FIG. 1, the depth direction of the display 12 from the front to the back where the display 12 is provided in the information processing system 1 is set to the z-axis positive direction, and the lateral direction is perpendicular to the depth direction. The direction from right to left (the direction from the mounting position of the right controller 4 to the mounting position of the left controller 3) is the positive x-axis direction, and from the bottom in the depth direction and the vertical direction perpendicular to the lateral direction. The direction along the upward display 12 is defined as the y-axis positive direction.

図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。なお、本実施形態において、1人のユーザが操作する「操作装置」は、1つのコントローラ(例えば、左コントローラ3および右コントローラ4の一方)でも複数のコントローラ(例えば、左コントローラ3および右コントローラ4の両方、またはさらに他のコントローラを含んでもよい)でもよく、当該「操作装置」は、1以上のコントローラによって構成可能となる。以下、本体装置2と左コントローラ3および右コントローラ4との具体的な構成の一例について説明する。 FIG. 2 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are removed from the main body device 2, respectively. As shown in FIGS. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main body device 2. In the following, the term "controller" may be used as a general term for the left controller 3 and the right controller 4. In the present embodiment, the "operation device" operated by one user may be one controller (for example, one of the left controller 3 and the right controller 4) or a plurality of controllers (for example, the left controller 3 and the right controller 4). , Or even other controllers may be included), and the "operating device" can be configured by one or more controllers. Hereinafter, an example of a specific configuration of the main unit 2, the left controller 3, and the right controller 4 will be described.

図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。本実施形態においては、ハウジング11は、横長の形状であるものとする。本体装置2は、本体装置2が横長となる向きで利用されることが可能である。また、本体装置2が縦長となる向きで利用されることも可能である。その場合には、ハウジング11を縦長の形状であるものと見なしてもよい。 FIG. 3 is a six-view view showing an example of the main body device 2. As shown in FIG. 3, the main body device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front surface, that is, the surface on which the display 12 is provided) has a substantially rectangular shape. In the present embodiment, the housing 11 has a horizontally long shape. The main body device 2 can be used in a direction in which the main body device 2 is horizontally long. It is also possible to use the main body device 2 in a vertically long orientation. In that case, the housing 11 may be regarded as having a vertically long shape.

なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。 The shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Further, the main body device 2 alone or the integrated device in which the left controller 3 and the right controller 4 are mounted on the main body device 2 may be a portable device. Further, the main body device 2 or the integrated device may be a handheld device. Further, the main body device 2 or the integrated device may be a portable device.

図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が取得または生成した画像(静止画であってもよいし、動画であってもよい)を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。 As shown in FIG. 3, the main body device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays an image (which may be a still image or a moving image) acquired or generated by the main unit device 2. In the present embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any kind of display device.

また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。 Further, the main body device 2 includes a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is of a method capable of multi-touch input (for example, a capacitance method). However, the touch panel 13 may be of any kind, and may be, for example, a type capable of single-touch input (for example, a resistance film type).

本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図8に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。 The main body device 2 includes a speaker (that is, the speaker 88 shown in FIG. 8) inside the housing 11. As shown in FIG. 3, speaker holes 11a and 11b are formed on the main surface of the housing 11. Then, the output sound of the speaker 88 is output from these speaker holes 11a and 11b, respectively.

また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21とを備える。 Further, the main body device 2 includes a left terminal 17 for the main body device 2 to perform wired communication with the left controller 3, and a right terminal 21 for the main body device 2 to perform wired communication with the right controller 4.

図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、情報処理システム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28と音量ボタン26aおよび26bとを備える。 As shown in FIG. 3, the main body device 2 includes a slot 23. The slot 23 is provided on the upper side surface of the housing 11. The slot 23 has a shape in which a predetermined type of storage medium can be mounted. The predetermined type of storage medium is, for example, a storage medium (for example, a dedicated memory card) dedicated to the information processing system 1 and an information processing device of the same type. A predetermined type of storage medium stores, for example, data used in the main unit 2 (for example, save data of an application) and / or a program executed in the main unit 2 (for example, an application program). Used to do. Further, the main body device 2 includes a power button 28 and volume buttons 26a and 26b.

本体装置2は、下側端子27を備える。下側端子27は、本体装置2が、後述するクレードル5と通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。 The main body device 2 includes a lower terminal 27. The lower terminal 27 is a terminal for the main body device 2 to communicate with the cradle 5 described later. In this embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector).

図4は、左コントローラ3の一例を示す六面図であり、図示されているxyz方向は、左コントローラ3の正面図における3軸方向を示している。図4に示すように、左コントローラ3は、ハウジング31を備える。また、本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図1に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。 FIG. 4 is a six-view view showing an example of the left controller 3, and the xyz direction shown shows the three-axis directions in the front view of the left controller 3. As shown in FIG. 4, the left controller 3 includes a housing 31. Further, in the present embodiment, the housing 31 has a vertically long shape, that is, a shape long in the vertical direction (that is, the y-axis direction shown in FIG. 1). The left controller 3 can also be gripped in a vertically elongated direction when it is removed from the main body device 2. The housing 31 has a shape and size that can be gripped with one hand, particularly with the left hand, when gripped in a vertically elongated direction. Further, the left controller 3 can be gripped in a horizontally long direction. When the left controller 3 is gripped in a horizontally long direction, it may be gripped with both hands.

左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32が、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部の一例である。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。 The left controller 3 includes an analog stick 32. As shown in FIG. 4, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 is an example of a direction input unit capable of inputting a direction. By tilting the analog stick 32, the user can input the direction according to the tilting direction (and input the size according to the tilting angle). The left controller 3 may be provided with a cross key, a slide stick capable of slide input, or the like as a direction input unit instead of the analog stick. Further, in the present embodiment, it is possible to input by pressing the analog stick 32.

左コントローラ3は、各種操作ボタンを備える。まず、左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33〜36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および、左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37、−(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。 The left controller 3 includes various operation buttons. First, the left controller 3 has four operation buttons 33 to 36 (specifically, a right direction button 33, a down direction button 34, an up direction button 35, and a left direction button 36) on the main surface of the housing 31. Be prepared. Further, the left controller 3 includes a recording button 37 and a − (minus) button 47. The left controller 3 includes a first L button 38 and a ZL button 39 on the upper left of the side surface of the housing 31. Further, the left controller 3 includes a second L button 43 and a second R button 44 on the side surface of the housing 31 on the side to be mounted when mounted on the main body device 2. These operation buttons are used to give instructions according to various programs (for example, OS programs and application programs) executed by the main unit 2.

また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。 Further, the left controller 3 includes a terminal 42 for the left controller 3 to perform wired communication with the main body device 2.

図5は、右コントローラ4の一例を示す六面図であり、図示されているxyz方向は、右コントローラ4の正面図における3軸方向を示している。図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。 FIG. 5 is a six-view view showing an example of the right controller 4, and the xyz direction shown shows the three-axis directions in the front view of the right controller 4. As shown in FIG. 5, the right controller 4 includes a housing 51. In the present embodiment, the housing 51 has a vertically long shape, that is, a vertically long shape. The right controller 4 can also be gripped in a vertically elongated direction when it is removed from the main body device 2. The housing 51 has a shape and size that can be gripped with one hand, particularly with the left hand, when gripped in a vertically elongated direction. Further, the right controller 4 can be gripped in a horizontally long direction. When the right controller 4 is gripped in a horizontally long direction, it may be gripped with both hands.

右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。本実施形態においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53〜56(具体的には、Aボタン53、Bボタン54、Xボタン55、および、Yボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4はハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。 Like the left controller 3, the right controller 4 includes an analog stick 52 as a direction input unit. In the present embodiment, the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3. Further, the right controller 4 may be provided with a cross key, a slide stick capable of slide input, or the like instead of the analog stick. Further, like the left controller 3, the right controller 4 has four operation buttons 53 to 56 (specifically, the A button 53, the B button 54, the X button 55, and the Y button 56) on the main surface of the housing 51. ) Is provided. Further, the right controller 4 includes a + (plus) button 57 and a home button 58. Further, the right controller 4 includes a first R button 60 and a ZR button 61 on the upper right side of the side surface of the housing 51. Further, like the left controller 3, it includes a second L button 65 and a second R button 66.

また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。 Further, the right controller 4 includes a terminal 64 for the right controller 4 to perform wired communication with the main body device 2.

図6は、本実施形態における情報処理システムの他の例の全体構成を示す図である。図6に示すように、一例として、クレードル5は、左コントローラ3および右コントローラ4を本体装置2から取り外した状態で本体装置2のみを載置することが可能である。また、さらに他の例として、クレードル5は、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置を載置することも可能である。また、クレードル5は、ディスプレイ12とは別体の外部表示装置の一例である据置型モニタ6(例えば、据置型テレビ)と通信可能である(有線通信であってもよいし、無線通信であってもよい)。詳細は後述するが、上記一体型装置または本体装置2単体をクレードル5に載置した場合、情報処理システムは、本体装置2が取得または生成した画像を据置型モニタ6に表示することができる。また、本実施形態においては、クレードル5は、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードル5は、ハブ装置(具体的には、USBハブ)の機能を有する。 FIG. 6 is a diagram showing an overall configuration of another example of the information processing system according to the present embodiment. As shown in FIG. 6, as an example, the cradle 5 can mount only the main body device 2 with the left controller 3 and the right controller 4 removed from the main body device 2. Further, as yet another example, the cradle 5 can also mount an integrated device in which the left controller 3 and the right controller 4 are mounted on the main body device 2. Further, the cradle 5 can communicate with a stationary monitor 6 (for example, a stationary television) which is an example of an external display device separate from the display 12 (wired communication or wireless communication). May be). Although the details will be described later, when the integrated device or the main body device 2 alone is placed on the cradle 5, the information processing system can display the image acquired or generated by the main body device 2 on the stationary monitor 6. Further, in the present embodiment, the cradle 5 has a function of charging the mounted integrated device or the main body device 2 alone. Further, the cradle 5 has a function of a hub device (specifically, a USB hub).

図7は、クレードル5の一例の外観構成を示す図である。クレードル5は、上記一体型装置または本体装置2のみを着脱可能に載置する(装着するとも言える)ことが可能なハウジングを有する。本実施形態においては、図7に示すように、ハウジングは、溝71aが形成される第1支持部71と、略平面状の第2支持部72とを有する。 FIG. 7 is a diagram showing an external configuration of an example of the cradle 5. The cradle 5 has a housing on which only the integrated device or the main body device 2 can be detachably placed (or can be said to be mounted). In the present embodiment, as shown in FIG. 7, the housing has a first support portion 71 in which the groove 71a is formed, and a substantially flat second support portion 72.

図7に示すように、第1支持部71に形成される溝71aは、上記一体型装置の下側部分の形状に応じた形状を有する。具体的には、溝71aは、上記一体型装置の下側部分を挿入可能な形状であり、より具体的には、上記本体装置2の下側部分と略一致する形状である。したがって、上記一体型装置の下側部分を溝71aに挿入することによって、上記一体型装置をクレードル5に載置することができる。また、第2支持部72は、その下側部分が溝71aに挿入された上記一体型装置の表面(すなわち、ディスプレイ12が設けられる面)を支持する。この第2支持部72によって、クレードル5は、上記一体型装置をより安定的に支持することができる。なお、図7に示すハウジングの形状は一例であり、他の実施形態においては、クレードル5のハウジングは、上記本体装置2を載置することが可能な任意の形状であってよい。 As shown in FIG. 7, the groove 71a formed in the first support portion 71 has a shape corresponding to the shape of the lower portion of the integrated device. Specifically, the groove 71a has a shape into which the lower portion of the integrated device can be inserted, and more specifically, a shape that substantially matches the lower portion of the main body device 2. Therefore, the integrated device can be placed on the cradle 5 by inserting the lower portion of the integrated device into the groove 71a. Further, the second support portion 72 supports the surface of the integrated device (that is, the surface on which the display 12 is provided) whose lower portion is inserted into the groove 71a. The second support portion 72 allows the cradle 5 to more stably support the integrated device. The shape of the housing shown in FIG. 7 is an example, and in another embodiment, the housing of the cradle 5 may have an arbitrary shape on which the main body device 2 can be placed.

図7に示すように、また、クレードル5は、クレードル5が上記一体型装置と通信を行うための本体端子73を備える。図7に示すように、本体端子73は、第1支持部71に形成される溝71aの底面に設けられる。より具体的には、本体端子73は、上記一体型装置がクレードル5に装着される場合に、本体装置2の下側端子27が接触する位置に設けられる。本実施形態においては、本体端子73は、USBコネクタ(より具体的には、オス側コネクタ)である。 As shown in FIG. 7, the cradle 5 also includes a main body terminal 73 for the cradle 5 to communicate with the integrated device. As shown in FIG. 7, the main body terminal 73 is provided on the bottom surface of the groove 71a formed in the first support portion 71. More specifically, the main body terminal 73 is provided at a position where the lower terminal 27 of the main body device 2 comes into contact with the integrated device when the integrated device is mounted on the cradle 5. In the present embodiment, the main body terminal 73 is a USB connector (more specifically, a male connector).

図7では図示しないが、クレードル5は、ハウジングの背面に端子(本実施形態においては、複数の端子を有する。具体的には、クレードル5は、図10に示すモニタ用端子132、電源端子134、および拡張用端子137)を有する。これらの端子の詳細については後述する。 Although not shown in FIG. 7, the cradle 5 has terminals on the back surface of the housing (in this embodiment, the cradle 5 has a plurality of terminals. Specifically, the cradle 5 has a monitor terminal 132 and a power supply terminal 134 shown in FIG. , And an expansion terminal 137). Details of these terminals will be described later.

図8は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図8に示す各構成要素81〜98を備える。これらの構成要素81〜98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。 FIG. 8 is a block diagram showing an example of the internal configuration of the main body device 2. The main body device 2 includes the components 81 to 98 shown in FIG. 8 in addition to the configuration shown in FIG. Some of these components 81-98 may be mounted as electronic components on an electronic circuit board and housed in a housing 11.

本体装置2は、CPU(Central Processing Unit)81を備える。CPU81は、本体装置2において実行される各種の情報処理を実行する情報処理部である。CPU81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、各スロット23および24に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。 The main body device 2 includes a CPU (Central Processing Unit) 81. The CPU 81 is an information processing unit that executes various types of information processing executed in the main unit 2. The CPU 81 stores an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 84, or an external storage medium mounted in each of the slots 23 and 24). By executing, various types of information processing are executed.

本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、CPU81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。 The main unit 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85 as an example of an internal storage medium built therein. The flash memory 84 and the DRAM 85 are connected to the CPU 81. The flash memory 84 is a memory mainly used for storing various data (which may be a program) stored in the main unit 2. The DRAM 85 is a memory used for temporarily storing various types of data used in information processing.

本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、CPU81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、CPU81の指示に応じて行う。 The main unit 2 includes a slot interface (hereinafter, abbreviated as “I / F”) 91. Slots I / F91 are connected to the CPU 81. The slot I / F 91 is connected to the slot 23, and reads and writes data to a predetermined type of storage medium (for example, a dedicated memory card) mounted in the slot 23 according to the instruction of the CPU 81.

CPU81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。 The CPU 81 executes the above-mentioned information processing by appropriately reading and writing data between the flash memory 84 and the DRAM 85 and each of the above-mentioned storage media.

本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、CPU81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi−Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。 The main body device 2 includes a network communication unit 82. The network communication unit 82 is connected to the CPU 81. The network communication unit 82 communicates with an external device (specifically, wireless communication) via the network. In the present embodiment, the network communication unit 82 connects to the wireless LAN and communicates with the external device by a method compliant with the Wi-Fi standard as the first communication mode. In addition, the network communication unit 82 performs wireless communication with another main unit 2 of the same type by a predetermined communication method (for example, communication by an original protocol or infrared communication) as a second communication mode. The wireless communication according to the second communication mode can be wirelessly communicated with another main body device 2 arranged in the closed local network area, and directly communicates between the plurality of main body devices 2. This realizes a function that enables so-called "local communication" in which data is transmitted and received.

本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、CPU81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。 The main body device 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the CPU 81. The controller communication unit 83 wirelessly communicates with the left controller 3 and / or the right controller 4. The communication method between the main unit 2 and the left controller 3 and the right controller 4 is arbitrary, but in the present embodiment, the controller communication unit 83 has Bluetooth (between the left controller 3 and the right controller 4). Communicate in accordance with the standard of (registered trademark).

CPU81は、上述の左側端子17、右側端子21、および、下側端子27に接続される。CPU81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、CPU81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、CPU81は、クレードル5と通信を行う場合、下側端子27を介してクレードル5へデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードル5に装着された場合、本体装置2は、クレードル5を介してデータ(例えば、画像データや音声データ)を据置型モニタ6に出力することができる。 The CPU 81 is connected to the left side terminal 17, the right side terminal 21, and the lower terminal 27 described above. When performing wired communication with the left controller 3, the CPU 81 transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Further, when performing wired communication with the right controller 4, the CPU 81 transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Further, when communicating with the cradle 5, the CPU 81 transmits data to the cradle 5 via the lower terminal 27. As described above, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively. Further, when the integrated device in which the left controller 3 and the right controller 4 are mounted in the main body device 2 or the main body device 2 alone is mounted in the cradle 5, the main body device 2 receives data (for example, image data) via the cradle 5. And audio data) can be output to the stationary monitor 6.

ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、ユーザは、複数の左コントローラ3および複数の右コントローラ4を用いて本体装置2に対する入力を行うことができる。 Here, the main body device 2 can perform communication at the same time (in other words, in parallel) with the plurality of left controllers 3. Further, the main body device 2 can perform communication at the same time (in other words, in parallel) with the plurality of right controllers 4. Therefore, the user can input to the main body device 2 by using the plurality of left controllers 3 and the plurality of right controllers 4.

本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とCPU81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、CPU81へ出力する。 The main body device 2 includes a touch panel controller 86 which is a circuit for controlling the touch panel 13. The touch panel controller 86 is connected between the touch panel 13 and the CPU 81. Based on the signal from the touch panel 13, the touch panel controller 86 generates, for example, data indicating the position where the touch input is performed, and outputs the data to the CPU 81.

また、ディスプレイ12は、CPU81に接続される。CPU81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。 Further, the display 12 is connected to the CPU 81. The CPU 81 displays an image generated (for example, by executing the above-mentioned information processing) and / or an image acquired from the outside on the display 12.

本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、CPU81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。すなわち、コーデック回路87は、CPU81から音声データを受け取った場合、当該音声データに対してD/A変換を行って得られる音声信号をスピーカ88または音声入出力端子25へ出力する。これによって、スピーカ88あるいは音声入出力端子25に接続された音声出力部(例えば、イヤホン)から音が出力される。また、コーデック回路87は、音声入出力端子25から音声信号を受け取った場合、音声信号に対してA/D変換を行い、所定の形式の音声データをCPU81へ出力する。また、音量ボタン26は、CPU81に接続される。CPU81は、音量ボタン26に対する入力に基づいて、スピーカ88または上記音声出力部から出力される音量を制御する。 The main body device 2 includes a codec circuit 87 and a speaker (specifically, a left speaker and a right speaker) 88. The codec circuit 87 is connected to the speaker 88 and the audio input / output terminal 25, and is also connected to the CPU 81. The codec circuit 87 is a circuit that controls the input / output of audio data to the speaker 88 and the audio input / output terminal 25. That is, when the codec circuit 87 receives the voice data from the CPU 81, the codec circuit 87 outputs the voice signal obtained by performing D / A conversion on the voice data to the speaker 88 or the voice input / output terminal 25. As a result, sound is output from the audio output unit (for example, earphones) connected to the speaker 88 or the audio input / output terminal 25. When the codec circuit 87 receives an audio signal from the audio input / output terminal 25, the codec circuit 87 performs A / D conversion on the audio signal and outputs audio data in a predetermined format to the CPU 81. Further, the volume button 26 is connected to the CPU 81. The CPU 81 controls the volume output from the speaker 88 or the voice output unit based on the input to the volume button 26.

本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびCPU81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、CPU81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。 The main body device 2 includes a power control unit 97 and a battery 98. The power control unit 97 is connected to the battery 98 and the CPU 81. Although not shown, the power control unit 97 is connected to each unit of the main unit 2 (specifically, each unit that receives power from the battery 98, the left side terminal 17, and the right side terminal 21). The power control unit 97 controls the power supply from the battery 98 to each of the above units based on the command from the CPU 81.

また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル5)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。 Further, the battery 98 is connected to the lower terminal 27. When an external charging device (for example, a cradle 5) is connected to the lower terminal 27 and power is supplied to the main body device 2 via the lower terminal 27, the supplied power is charged to the battery 98.

図9は、情報処理システム1の内部構成の一例を示すブロック図である。なお、情報処理システム1のうちの本体装置2に関する内部構成の詳細については、図8で示しているため図9では省略している。 FIG. 9 is a block diagram showing an example of the internal configuration of the information processing system 1. The details of the internal configuration of the main unit 2 of the information processing system 1 are shown in FIG. 8 and are omitted in FIG.

左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。図9に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。 The left controller 3 includes a communication control unit 101 that communicates with the main body device 2. As shown in FIG. 9, the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main body device 2 by both wired communication via the terminal 42 and wireless communication not via the terminal 42. The communication control unit 101 controls the communication method performed by the left controller 3 with respect to the main unit device 2. That is, when the left controller 3 is attached to the main body device 2, the communication control unit 101 communicates with the main body device 2 via the terminal 42. When the left controller 3 is removed from the main body device 2, the communication control unit 101 performs wireless communication with the main body device 2 (specifically, the controller communication unit 83). Wireless communication between the controller communication unit 83 and the communication control unit 101 is performed according to, for example, a Bluetooth® standard.

また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。 Further, the left controller 3 includes a memory 102 such as a flash memory. The communication control unit 101 is composed of, for example, a microcomputer (also referred to as a microprocessor), and executes various processes by executing firmware stored in the memory 102.

左コントローラ3は、各ボタン103(具体的には、ボタン33〜39,43,および44)を備える。また、左コントローラ3は、アナログスティック(図9では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。 The left controller 3 includes each button 103 (specifically, buttons 33 to 39, 43, and 44). Further, the left controller 3 includes an analog stick (described as “stick” in FIG. 9) 32. Each button 103 and the analog stick 32 repeatedly output information about the operation performed to itself to the communication control unit 101 at an appropriate timing.

左コントローラ3は、加速度センサ104を備える。本実施形態においては、加速度センサ104は、所定の3軸(例えば、図4に示すxyz軸)方向に沿った直線加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。また、左コントローラ3は、角速度センサ105を備える。本実施形態においては、角速度センサ105は、所定の3軸(例えば、図4に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105は、それぞれ通信制御部101に接続される。そして、加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。 The left controller 3 includes an acceleration sensor 104. In the present embodiment, the acceleration sensor 104 detects the magnitude of linear acceleration along predetermined three axes (for example, the xyz axis shown in FIG. 4). The acceleration sensor 104 may detect acceleration in the uniaxial direction or the biaxial direction. Further, the left controller 3 includes an angular velocity sensor 105. In the present embodiment, the angular velocity sensor 105 detects the angular velocity around three predetermined axes (for example, the xyz axis shown in FIG. 4). The angular velocity sensor 105 may detect the angular velocity around one axis or two axes. The acceleration sensor 104 and the angular velocity sensor 105 are connected to the communication control unit 101, respectively. Then, the detection results of the acceleration sensor 104 and the angular velocity sensor 105 are repeatedly output to the communication control unit 101 at appropriate timings.

通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、または、センサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。 The communication control unit 101 receives information related to input (specifically, information related to operation or detection result by the sensor) from each input unit (specifically, each button 103, analog stick 32, each sensor 104 and 105). ) To get. The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main unit device 2. The operation data is repeatedly transmitted once at a predetermined time. The interval at which the information regarding the input is transmitted to the main body device 2 may or may not be the same for each input unit.

上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。 By transmitting the operation data to the main body device 2, the main body device 2 can obtain the input made to the left controller 3. That is, the main body device 2 can determine the operation for each button 103 and the analog stick 32 based on the operation data. Further, the main body device 2 can calculate information on the movement and / or posture of the left controller 3 based on the operation data (specifically, the detection results of the acceleration sensor 104 and the angular velocity sensor 105).

左コントローラ3は、振動によってユーザに通知を行うための振動子107を備える。本実施形態においては、振動子107は、本体装置2からの指令によって制御される。すなわち、通信制御部101は、本体装置2からの上記指令を受け取ると、当該指令に従って振動子107を駆動させる。ここで、左コントローラ3は、コーデック部106を備える。通信制御部101は、上記指令を受け取ると、指令に応じた制御信号をコーデック部106へ出力する。コーデック部106は、通信制御部101からの制御信号を増幅して、振動子107を駆動させるための駆動信号を生成して振動子107へ与える。これによって振動子107が動作する。 The left controller 3 includes an oscillator 107 for notifying the user by vibration. In the present embodiment, the oscillator 107 is controlled by a command from the main body device 2. That is, when the communication control unit 101 receives the above command from the main body device 2, the communication control unit 101 drives the oscillator 107 in accordance with the command. Here, the left controller 3 includes a codec unit 106. When the communication control unit 101 receives the command, the communication control unit 101 outputs a control signal corresponding to the command to the codec unit 106. The codec unit 106 amplifies the control signal from the communication control unit 101, generates a drive signal for driving the oscillator 107, and supplies the drive signal to the oscillator 107. As a result, the oscillator 107 operates.

振動子107は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅、周波数で振動をさせることができる。本実施形態において、本体装置2から左コントローラ3に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施形態においては、波形そのものを示す情報を送信するようにしてもよいが、振幅と周波数とだけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅と周波数との数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部106は、通信制御部101から取得される振幅と周波数との値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子107を駆動させる。したがって、本体装置2は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子107を振動させる振幅と周波数とを制御することができる。なお、本体装置2から左コントローラ3に送信される振幅と周波数とは、1つに限らず、2つ以上送信するようにしてもよい。その場合、コーデック部106は、受信された複数の振幅および周波数それぞれが示す波形を合成することで、振動子107を制御する電圧の波形を生成することができる。 More specifically, the oscillator 107 is a linear vibration motor. Unlike a normal motor that rotates, the linear vibration motor is driven in a predetermined direction according to the input voltage, so that the linear vibration motor can be vibrated with an amplitude and a frequency corresponding to the waveform of the input voltage. In the present embodiment, the vibration control signal transmitted from the main body device 2 to the left controller 3 may be a digital signal representing a frequency and an amplitude for each unit time. In another embodiment, information indicating the waveform itself may be transmitted, but the amount of communication data can be reduced by transmitting only the amplitude and frequency. Further, in order to further reduce the amount of data, instead of the numerical values of the amplitude and frequency at that time, only the difference from the previous value may be transmitted. In this case, the codec unit 106 converts the digital signal indicating the value of the amplitude and the frequency acquired from the communication control unit 101 into an analog voltage waveform, and inputs the voltage according to the waveform to input the vibrator 107. To drive. Therefore, the main body device 2 can control the amplitude and frequency of vibrating the vibrator 107 at that time by changing the amplitude and frequency to be transmitted for each unit time. The amplitude and frequency transmitted from the main unit 2 to the left controller 3 are not limited to one, and two or more may be transmitted. In that case, the codec unit 106 can generate a waveform of the voltage that controls the vibrator 107 by synthesizing the waveforms indicated by the plurality of received amplitudes and frequencies.

左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。 The left controller 3 includes a power supply unit 108. In this embodiment, the power supply unit 108 includes a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and is also connected to each part of the left controller 3 (specifically, each part that receives power from the battery).

図9に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。 As shown in FIG. 9, the right controller 4 includes a communication control unit 111 that communicates with the main body device 2. Further, the right controller 4 includes a memory 112 connected to the communication control unit 111. The communication control unit 111 is connected to each component including the terminal 64. The communication control unit 111 and the memory 112 have the same functions as the communication control unit 101 and the memory 102 of the left controller 3. Therefore, the communication controller 111 can be used with the main unit 2 for both wired communication via the terminal 64 and wireless communication not via the terminal 64 (specifically, communication according to the Bluetooth® standard). Communication is possible, and the right controller 4 controls the communication method performed with respect to the main unit 2.

右コントローラ4は、左コントローラ3の各入力部と同様の各入力部(具体的には、各ボタン113、アナログスティック52、加速度センサ114、および、角速度センサ115)を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。 The right controller 4 includes each input unit (specifically, each button 113, an analog stick 52, an acceleration sensor 114, and an angular velocity sensor 115) similar to each input unit of the left controller 3. Each of these input units has the same function as each input unit of the left controller 3 and operates in the same manner.

また、右コントローラ4は、振動子117およびコーデック部116を備える。振動子117およびコーデック部116は、左コントローラ3の振動子107およびコーデック部106と同様に動作する。すなわち、通信制御部111は、本体装置2からの指令に従って、コーデック部116を用いて振動子117を動作させる。 Further, the right controller 4 includes an oscillator 117 and a codec unit 116. The oscillator 117 and the codec unit 116 operate in the same manner as the oscillator 107 and the codec unit 106 of the left controller 3. That is, the communication control unit 111 operates the oscillator 117 using the codec unit 116 in accordance with the command from the main body device 2.

右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。 The right controller 4 includes a power supply unit 118. The power supply unit 118 has the same function as the power supply unit 108 of the left controller 3 and operates in the same manner.

図10は、クレードル5の内部構成の一例を示すブロック図である。なお、図10において、本体装置2に関する内部構成の詳細については、図8で示しているので省略している。 FIG. 10 is a block diagram showing an example of the internal configuration of the cradle 5. Note that, in FIG. 10, the details of the internal configuration of the main body device 2 are shown in FIG. 8 and are omitted.

図10に示すように、クレードル5は、変換部131およびモニタ用端子132を備える。変換部131は、本体端子73およびモニタ用端子132と接続される。変換部131は、本体装置2から受信した画像(映像とも言える)および音声に関する信号の形式を、据置型モニタ6へ出力する形式へと変換する。ここで、本実施形態においては、本体装置2は、ディスプレイポート信号(すなわち、DisplayPortの規格に従った信号)として画像および音声の信号をクレードル5へ出力する。また、本実施形態においては、クレードル5と据置型モニタ6との間の通信は、HDMI(登録商標)の規格に基づく通信が用いられる。すなわち、モニタ用端子132は、HDMI端子であり、クレードル5と据置型モニタ6とがHDMIケーブルによって接続される。そして、変換部131は、本体装置2から本体端子73を介して受信されるディスプレイポート信号(具体的には、映像および音声を表す信号)を、HDMI信号へ変換する。変換されたHDMI信号は、モニタ用端子132を介して据置型モニタ6へ出力される。 As shown in FIG. 10, the cradle 5 includes a conversion unit 131 and a monitor terminal 132. The conversion unit 131 is connected to the main body terminal 73 and the monitor terminal 132. The conversion unit 131 converts the format of the image (which can be said to be video) and audio signals received from the main unit 2 into a format of outputting to the stationary monitor 6. Here, in the present embodiment, the main unit 2 outputs an image and audio signal to the cradle 5 as a display port signal (that is, a signal according to the DisplayPort standard). Further, in the present embodiment, the communication between the cradle 5 and the stationary monitor 6 is based on the HDMI (registered trademark) standard. That is, the monitor terminal 132 is an HDMI terminal, and the cradle 5 and the stationary monitor 6 are connected by an HDMI cable. Then, the conversion unit 131 converts the display port signal (specifically, a signal representing video and audio) received from the main body device 2 via the main body terminal 73 into an HDMI signal. The converted HDMI signal is output to the stationary monitor 6 via the monitor terminal 132.

クレードル5は、電力制御部133および電源端子134を備える。電源端子134は、図示しない充電装置(例えば、ACアダプタ等)を接続するための端子である。本実施形態においては、電源端子134にACアダプタが接続されており、クレードル5には商用電源が供給されているものとする。電力制御部133は、クレードル5に対して本体装置2が装着された場合、本体端子73を介して電源端子134からの電力を本体装置2へ供給する。これによって、本体装置2のバッテリ98が充電される。 The cradle 5 includes a power control unit 133 and a power supply terminal 134. The power supply terminal 134 is a terminal for connecting a charging device (for example, an AC adapter or the like) (not shown). In the present embodiment, it is assumed that the AC adapter is connected to the power supply terminal 134 and the cradle 5 is supplied with commercial power. When the main body device 2 is attached to the cradle 5, the power control unit 133 supplies power from the power supply terminal 134 to the main body device 2 via the main body terminal 73. As a result, the battery 98 of the main body device 2 is charged.

また、クレードル5は、接続処理部136および拡張用端子137を備える。拡張用端子137は、他の装置を接続するための端子である。本実施形態においては、クレードル5は、拡張用端子137として、複数(より具体的には3つ)のUSB端子を備える。接続処理部136は、本体端子73および各拡張用端子137に接続される。接続処理部136は、USBハブとしての機能を有し、例えば、拡張用端子137に接続された装置と、本体端子73に接続された本体装置2との間の通信を管理する(すなわち、ある装置からの信号を他の装置へ適宜分配して送信する)。上記のように、本実施形態においては、情報処理システム1は、クレードル5を介して他の装置との通信を行うことが可能である。なお、接続処理部136は、通信速度を変換したり、拡張用端子137に接続された装置に対する電力供給を行ったりすることが可能であってもよい。 Further, the cradle 5 includes a connection processing unit 136 and an expansion terminal 137. The expansion terminal 137 is a terminal for connecting another device. In the present embodiment, the cradle 5 includes a plurality of (more specifically, three) USB terminals as expansion terminals 137. The connection processing unit 136 is connected to the main body terminal 73 and each expansion terminal 137. The connection processing unit 136 has a function as a USB hub, and manages (that is, is) communication between, for example, a device connected to the expansion terminal 137 and a main body device 2 connected to the main body terminal 73. The signal from the device is appropriately distributed and transmitted to other devices). As described above, in the present embodiment, the information processing system 1 can communicate with other devices via the cradle 5. The connection processing unit 136 may be capable of converting the communication speed and supplying power to the device connected to the expansion terminal 137.

以上に説明したように、本実施形態における情報処理システム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードル5に左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ6に画像(および音声)を出力可能である。以下、左コントローラ3および右コントローラ4を本体装置2から取り外した状態で、クレードル5に本体装置2単体を装着することによって据置型モニタ6に画像(および音声)を出力する利用態様における情報処理システムを用いて説明する。 As described above, in the information processing system 1 in the present embodiment, the left controller 3 and the right controller 4 are detachable from the main body device 2. Further, an image (and sound) can be output to the stationary monitor 6 by mounting the integrated device in which the left controller 3 and the right controller 4 are mounted on the main body device 2 or the main body device 2 alone on the cradle 5. Hereinafter, an information processing system in a usage mode in which an image (and sound) is output to a stationary monitor 6 by mounting the main unit 2 alone on a cradle 5 with the left controller 3 and the right controller 4 removed from the main unit 2. Will be described using.

上述のように、本実施形態においては、左コントローラ3および右コントローラ4を本体装置2から外した状態(「離脱状態」と呼ぶ)で情報処理システム1を利用することも可能である。離脱状態で情報処理システム1を利用してアプリケーション(例えば、ゲームアプリケーション)に対する操作を行う場合の態様としては、1人のユーザが左コントローラ3および右コントローラ4の両方を用いる態様が考えられる。なお、1人のユーザが左コントローラ3および右コントローラ4の両方を用いる場合、左コントローラ3と右コントローラ4とを接合して1つの操作装置として機能させる付属機器(例えば、後述する拡張グリップ210)を用いることも可能である。また、離脱状態で情報処理システム1を利用してアプリケーション(例えば、ゲームアプリケーション)に対する操作を行う場合の他の態様としては、1人のユーザが左コントローラ3および右コントローラ4の一方を用いる態様が考えられる。なお、当該利用態様によって複数のユーザが同じアプリケーションを用いて操作する場合は、複数のユーザが左コントローラ3および右コントローラ4の一方をそれぞれ用いる態様や、左コントローラ3および右コントローラ4の組を複数組用意してそれぞれのユーザが当該複数組のうちの1組を用いる態様等が考えられる。 As described above, in the present embodiment, it is also possible to use the information processing system 1 in a state in which the left controller 3 and the right controller 4 are removed from the main body device 2 (referred to as “disengagement state”). As a mode in which an operation for an application (for example, a game application) is performed by using the information processing system 1 in the detached state, a mode in which one user uses both the left controller 3 and the right controller 4 can be considered. When one user uses both the left controller 3 and the right controller 4, an accessory device (for example, an expansion grip 210 described later) that joins the left controller 3 and the right controller 4 to function as one operating device. It is also possible to use. Further, as another mode in which the information processing system 1 is used to operate the application (for example, a game application) in the detached state, one user uses one of the left controller 3 and the right controller 4. Conceivable. When a plurality of users operate using the same application according to the usage mode, a mode in which a plurality of users use one of the left controller 3 and the right controller 4, respectively, or a plurality of pairs of the left controller 3 and the right controller 4 are used. It is conceivable that a set is prepared and each user uses one of the plurality of sets.

図11〜図13は、離脱状態において、1人のユーザが左コントローラ3および右コントローラ4の組を把持して情報処理システム1を利用する様子の一例を示す図である。図11〜図13に示すように、離脱状態において、ユーザは、左コントローラ3を左手で把持し、右コントローラ4を右手で把持して操作を行いながら、据置型モニタ6に表示された画像を見ることができる。 11 to 13 are diagrams showing an example of a state in which one user grips a set of the left controller 3 and the right controller 4 and uses the information processing system 1 in the detached state. As shown in FIGS. 11 to 13, in the detached state, the user grips the left controller 3 with his left hand and grips the right controller 4 with his right hand to operate the image displayed on the stationary monitor 6. You can see it.

例えば、本実施例では、ユーザは、縦長の略板状である左コントローラ3の長手方向の下方向(図1に示す下方向(y軸負方向))が鉛直方向になるとともに、本体装置2に装着された際に当該本体装置2と接する側面(スライダ40が設けられている側面)が前方に向き、かつ、左コントローラ3の主面(アナログスティック32等が設けられる面)が右に向くように左コントローラ3を左手で把持する。つまり、ユーザの左手によって把持されている左コントローラ3は、x軸負方向がユーザの前方を向き、z軸正方向が左を向いた状態となる。また、ユーザは、縦長の略板状である右コントローラ4の長手方向の下方向(図1に示す上下方向(y軸負方向))が鉛直方向になるとともに、本体装置2に装着された際に当該本体装置2と接する側面(スライダ62が設けられている側面)が前方に向き、かつ、右コントローラ4の主面(アナログスティック52等が設けられる面)が左に向くように右コントローラ4を右手で把持する。つまり、ユーザの右手によって把持されている右コントローラ4は、x軸正方向がユーザの前方を向き、z軸正方向が右を向いた状態となる。 For example, in this embodiment, the user can see that the downward direction (downward direction (y-axis negative direction) shown in FIG. 1) of the left controller 3 which is vertically long and substantially plate-shaped is the vertical direction, and the main body device 2 The side surface (the side surface provided with the slider 40) in contact with the main body device 2 faces forward, and the main surface (the surface provided with the analog stick 32 or the like) of the left controller 3 faces right. The left controller 3 is gripped with the left hand as described above. That is, the left controller 3 held by the left hand of the user is in a state in which the negative direction of the x-axis faces the front of the user and the positive direction of the z-axis faces the left. Further, when the user is mounted on the main body device 2 while the downward direction in the longitudinal direction (vertical direction (y-axis negative direction) shown in FIG. 1) of the right controller 4, which is vertically long and substantially plate-shaped, becomes the vertical direction. The right controller 4 so that the side surface (the side surface provided with the slider 62) in contact with the main body device 2 faces forward and the main surface (the surface provided with the analog stick 52 or the like) of the right controller 4 faces left. With your right hand. That is, the right controller 4 held by the user's right hand is in a state in which the x-axis positive direction faces the front of the user and the z-axis positive direction faces the right.

このように、左手で左コントローラ3を把持し右手で右コントローラ4を把持した状態(以下、このような操作方式を縦持ち操作方式として、当該方向に把持された左コントローラ3および右コントローラ4の姿勢を基本姿勢と記載することがある)から、各コントローラを上下左右前後に動かしたり、各コントローラを回転させたり、各コントローラを振り動かしたりすることによって、各コントローラの動きや姿勢に応じてゲームプレイが行われる。そして、上記ゲームプレイにおいて、左コントローラ3の加速度センサ104は、上記xyz軸方向の加速度をそれぞれ操作入力として検出可能であり、角速度センサ105は、上記xyz軸方向周りの角速度をそれぞれ操作入力として検出可能である。また、右コントローラ4の加速度センサ114は、上記xyz軸方向の加速度をそれぞれ操作入力として検出可能であり、角速度センサ115は、上記xyz軸方向周りの角速度をそれぞれ操作入力として検出可能である。さらに、上記縦持ち操作では、ユーザの左手の親指によって第1Lボタン38を押下する操作が可能となり、ユーザの右手の親指によって第1Rボタン60を押下する操作が可能となり、当該ボタン操作によるゲームプレイも行われる。 In this way, a state in which the left controller 3 is gripped by the left hand and the right controller 4 is gripped by the right hand (hereinafter, such an operation method is defined as a vertical holding operation method, and the left controller 3 and the right controller 4 are gripped in the relevant direction. Since the posture is sometimes described as the basic posture), by moving each controller up, down, left, right, front and back, rotating each controller, and swinging each controller, the game is played according to the movement and posture of each controller. Play is done. Then, in the game play, the acceleration sensor 104 of the left controller 3 can detect the acceleration in the xyz axis direction as an operation input, and the angular velocity sensor 105 detects the angular velocity around the xyz axis direction as an operation input. It is possible. Further, the acceleration sensor 114 of the right controller 4 can detect the acceleration in the xyz axis direction as an operation input, and the angular velocity sensor 115 can detect the angular velocity around the xyz axis direction as an operation input. Further, in the vertical holding operation, the operation of pressing the first L button 38 with the thumb of the user's left hand is possible, the operation of pressing the first R button 60 with the thumb of the user's right hand is possible, and the game play by the button operation is possible. Is also done.

また、本実施例では、左コントローラ3および右コントローラ4を把持してゲームプレイする場合、当該ゲーム状況に応じて、左コントローラ3および/または右コントローラ4に振動が与えられる。上述したように、左コントローラ3は、振動子107を有しており、右コントローラ4は、振動子117を有している。本体装置2のCPU81は、実行しているゲーム状況に応じて振動データを左コントローラ3および/または右コントローラ4に送信することによって、当該振動データに応じた振幅および周波数で振動子107および/または振動子117を振動させることができる。 Further, in the present embodiment, when the left controller 3 and the right controller 4 are gripped and the game is played, the left controller 3 and / or the right controller 4 is vibrated according to the game situation. As described above, the left controller 3 has an oscillator 107, and the right controller 4 has an oscillator 117. The CPU 81 of the main unit 2 transmits vibration data to the left controller 3 and / or the right controller 4 according to the game situation being executed, so that the vibrator 107 and / or has an amplitude and frequency corresponding to the vibration data. The vibrator 117 can be vibrated.

次に、図14〜図16は、左コントローラ3および右コントローラ4を動かすことによってプレイするゲームにおいて表示されるゲーム画像例を示す図である。図14に示すように、本ゲーム例では、プレイヤオブジェクトPOと敵オブジェクトEOとが対戦するゲーム(例えば、ボクシングゲーム)の画像が据置型モニタ6に表示される。そして、左コントローラ3および右コントローラ4を操作するユーザは、左コントローラ3本体および/または右コントローラ4本体を振り動かしたり、左コントローラ3本体および/または右コントローラ4本体の姿勢を変化させたり、操作ボタン(例えば、第1Lボタン38や第1Rボタン60)を押下したりすることによって、プレイヤオブジェクトPOを操作することができる。 Next, FIGS. 14 to 16 are diagrams showing an example of a game image displayed in a game played by moving the left controller 3 and the right controller 4. As shown in FIG. 14, in this game example, an image of a game (for example, a boxing game) in which the player object PO and the enemy object EO play against each other is displayed on the stationary monitor 6. Then, the user who operates the left controller 3 and the right controller 4 swings the left controller 3 main body and / or the right controller 4 main body, changes the posture of the left controller 3 main body and / or the right controller 4 main body, and operates. The player object PO can be operated by pressing a button (for example, the first L button 38 or the first R button 60).

例えば、左コントローラ3を振り動かすことによってプレイヤオブジェクトPOの左グラブ(左拳)を模した第1オブジェクトG1の動作を制御することができ、右コントローラ4を振り動かすことによってプレイヤオブジェクトPOの右グラブ(右拳)を模した第2オブジェクトG2の動作を制御することができる。具体的には、ユーザが左コントローラ3を把持している左手を用いて左パンチを繰り出すように振る操作を行った場合、敵オブジェクトEOが配置されている場所に向かってプレイヤオブジェクトPOの左グラブを模した第1オブジェクトG1が移動する。また、ユーザが右コントローラ4を把持している右手を用いて右パンチを繰り出すように振る操作を行った場合、敵オブジェクトEOが配置されている場所に向かってプレイヤオブジェクトPOの右グラブを模した第2オブジェクトG2が移動する。 For example, by swinging the left controller 3, the operation of the first object G1 that imitates the left grab (left fist) of the player object PO can be controlled, and by swinging the right controller 4, the right grab of the player object PO can be controlled. It is possible to control the operation of the second object G2 that imitates (right fist). Specifically, when the user performs an operation of swinging the left punch by using the left hand holding the left controller 3, the left grab of the player object PO toward the place where the enemy object EO is arranged. The first object G1 imitating the above moves. Further, when the user performs an operation of swinging the right punch by using the right hand holding the right controller 4, the right grab of the player object PO is imitated toward the place where the enemy object EO is arranged. The second object G2 moves.

具体的には、左コントローラ3および右コントローラ4の何れも動かしていない状態(図14に示す状態)から、右コントローラ4を前方(右コントローラ4のx軸正方向)に押し出すように振り動かした場合、図15に示すように右コントローラ4の動きに応じてプレイヤオブジェクトPOの第2オブジェクトG2が敵オブジェクトEOに向かって移動する。これによって、敵オブジェクトEOに対してプレイヤオブジェクトPOが右パンチを繰り出したようなゲーム画像が表示される。また、左コントローラ3および右コントローラ4の何れも動かしていない状態から、左コントローラ3を前方(左コントローラ3のx軸負方向)に押し出すように振り動かした場合、左コントローラ3の動きに応じてプレイヤオブジェクトPOの第1オブジェクトG1が敵オブジェクトEOに向かって移動する。これによって、敵オブジェクトEOに対してプレイヤオブジェクトPOが左パンチを繰り出したようなゲーム画像が表示される。 Specifically, the right controller 4 was swung forward (the x-axis positive direction of the right controller 4) from the state in which neither the left controller 3 nor the right controller 4 was moved (the state shown in FIG. 14). In this case, as shown in FIG. 15, the second object G2 of the player object PO moves toward the enemy object EO according to the movement of the right controller 4. As a result, a game image in which the player object PO punches right with respect to the enemy object EO is displayed. Further, when the left controller 3 is swung forward (in the negative direction of the x-axis of the left controller 3) from the state where neither the left controller 3 nor the right controller 4 is moving, the movement of the left controller 3 is increased. The first object G1 of the player object PO moves toward the enemy object EO. As a result, a game image in which the player object PO punches left with respect to the enemy object EO is displayed.

ここで、第1オブジェクトG1が移動開始する際の移動方向は、左コントローラ3を押し出すように振り動かした際の左コントローラ3の姿勢によって設定される。また、第2オブジェクトG2が移動開始する際の移動方向は、右コントローラ4を押し出すように動かした際の右コントローラ4の姿勢によって設定される。例えば、図15に示したように、右コントローラ4がx軸正方向に移動した場合、当該移動における右コントローラ4のロール方向の姿勢に応じて第2オブジェクトG2の移動方向が設定される。一例として、本実施例では、右コントローラ4が移動している期間において、実空間において重力加速度が作用している方向を基準とした右コントローラ4のy軸方向の傾きを算出し、当該y軸方向の傾きに基づいて第2オブジェクトG2の移動方向を算出している。具体的には、右コントローラ4が上記基準姿勢に対して右方向にロール回転した姿勢であることを上記y軸方向の傾きが示す場合、仮想空間の右方向に向かって第2オブジェクトG2が移動する。また、右コントローラ4が上記基準姿勢に対して左方向にロール回転した姿勢であることを上記y軸方向の傾きが示す場合、仮想空間の左方向に向かって第2オブジェクトG2が移動する。そして、それぞれ右方向または左方向に移動方向がずれる角度については、上記y軸方向の傾き角度に応じてそれぞれ算出される。 Here, the moving direction when the first object G1 starts moving is set by the posture of the left controller 3 when the left controller 3 is swung to push it out. Further, the moving direction when the second object G2 starts moving is set by the posture of the right controller 4 when the right controller 4 is moved so as to push it out. For example, as shown in FIG. 15, when the right controller 4 moves in the positive direction of the x-axis, the moving direction of the second object G2 is set according to the posture of the right controller 4 in the roll direction in the movement. As an example, in this embodiment, the inclination of the right controller 4 in the y-axis direction with reference to the direction in which the gravitational acceleration is acting in the real space is calculated during the period when the right controller 4 is moving, and the y-axis is calculated. The moving direction of the second object G2 is calculated based on the inclination of the direction. Specifically, when the inclination in the y-axis direction indicates that the right controller 4 is in a posture in which the right controller 4 is rolled to the right with respect to the reference posture, the second object G2 moves toward the right in the virtual space. To do. Further, when the inclination in the y-axis direction indicates that the right controller 4 is in a posture in which the right controller 4 is rolled to the left with respect to the reference posture, the second object G2 moves toward the left in the virtual space. Then, the angles at which the moving directions deviate to the right or left are calculated according to the inclination angles in the y-axis direction.

また、本ゲーム例では、仮想空間においてプレイヤオブジェクトPOと敵オブジェクトEOとの距離が相対的に遠い場合であってもパンチを繰り出すことが可能であり、プレイヤオブジェクトPOの腕が伸びることによって、第1オブジェクトG1および第2オブジェクトG2が相対的に長い距離を移動することができる。そして、第1オブジェクトG1または第2オブジェクトG2は、他のオブジェクト(例えば、敵オブジェクトEO)と衝突するか所定の距離移動した後に移動を終了し、当該第1オブジェクトG1および第2オブジェクトG2がそれぞれ移動開始した移動開始位置(例えば、図14に示すプレイヤオブジェクトPOの手元)まで戻る。第1オブジェクトG1および第2オブジェクトG2が移動開始位置まで戻ることによって、敵オブジェクトEOに向かう次の移動が可能となる。言い換えると、次のパンチを出すことができるようになる。したがって、上記移動開始位置から第1オブジェクトG1または第2オブジェクトG2が移動を開始してから再び当該移動開始位置まで戻るまでの時間が一般的なボクシングゲームより相対的に長くなる。 Further, in this game example, it is possible to deliver a punch even when the distance between the player object PO and the enemy object EO is relatively long in the virtual space, and the arm of the player object PO is extended to obtain the first punch. One object G1 and a second object G2 can travel a relatively long distance. Then, the first object G1 or the second object G2 collides with another object (for example, the enemy object EO) or moves a predetermined distance, and then ends the movement, and the first object G1 and the second object G2 respectively end the movement. It returns to the movement start position (for example, the hand of the player object PO shown in FIG. 14) where the movement has started. When the first object G1 and the second object G2 return to the movement start position, the next movement toward the enemy object EO becomes possible. In other words, you will be able to make the next punch. Therefore, the time from the start of movement of the first object G1 or the second object G2 to the return to the movement start position from the movement start position is relatively longer than that of a general boxing game.

本ゲーム例では、このような移動時間を利用して、第1オブジェクトG1または第2オブジェクトG2が移動中(典型的には、敵オブジェクトEOの方向へ移動している期間)であっても、左コントローラ3または右コントローラ4の姿勢や動きに応じて移動する軌道を変化させることができる。例えば、上述した第1オブジェクトG1または第2オブジェクトG2の移動開始時の左コントローラ3または右コントローラ4の姿勢から左コントローラ3または右コントローラ4がロール方向に回転した場合やヨー方向に回転した場合、当該回転に応じて第1オブジェクトG1または第2オブジェクトG2の軌道を変化させる。 In this game example, using such a movement time, even if the first object G1 or the second object G2 is moving (typically, a period during which the first object G1 or the second object G2 is moving in the direction of the enemy object EO). The moving trajectory can be changed according to the posture and movement of the left controller 3 or the right controller 4. For example, when the left controller 3 or the right controller 4 rotates in the roll direction or the yaw direction from the posture of the left controller 3 or the right controller 4 at the start of movement of the first object G1 or the second object G2 described above, The trajectory of the first object G1 or the second object G2 is changed according to the rotation.

一例として、本実施例では、第1オブジェクトG1または第2オブジェクトG2の移動開始後の左コントローラ3または右コントローラ4のx軸周りの回転速度(角速度)を上記ロール方向の回転として、当該x軸周りの回転速度に基づいて移動中の第1オブジェクトG1または第2オブジェクトG2の軌道を変化させる。具体的には、第1オブジェクトG1が移動中に左コントローラ3がx軸を中心として右方向にロール回転した回転速度が得られた場合、仮想空間の右方向に第1オブジェクトG1の軌道を変化させ、左コントローラ3がx軸を中心として左方向にロール回転した回転速度が得られた場合、仮想空間の左方向に第1オブジェクトG1の軌道を変化させる。また、第2オブジェクトG2が移動中に右コントローラ4がx軸を中心として右方向にロール回転した回転速度が得られた場合、仮想空間の右方向に第2オブジェクトG2の軌道を変化させ、右コントローラ4がx軸を中心として左方向にロール回転した回転速度が得られた場合、仮想空間の左方向に第2オブジェクトG2の軌道を変化させる。 As an example, in this embodiment, the rotation speed (angular velocity) around the x-axis of the left controller 3 or the right controller 4 after the start of movement of the first object G1 or the second object G2 is defined as the rotation in the roll direction, and the x-axis is used. The trajectory of the moving first object G1 or the second object G2 is changed based on the rotation speed around it. Specifically, when the rotation speed at which the left controller 3 rolls to the right around the x-axis is obtained while the first object G1 is moving, the trajectory of the first object G1 is changed to the right in the virtual space. When the left controller 3 rolls to the left about the x-axis to obtain a rotation speed, the trajectory of the first object G1 is changed to the left in the virtual space. Further, when the rotation speed obtained by the right controller 4 rolling to the right around the x-axis while the second object G2 is moving is obtained, the trajectory of the second object G2 is changed to the right in the virtual space to the right. When the rotation speed obtained by rolling the controller 4 to the left with respect to the x-axis is obtained, the trajectory of the second object G2 is changed to the left in the virtual space.

他の例として、本実施例では、第1オブジェクトG1または第2オブジェクトG2の移動開始後の左コントローラ3または右コントローラ4の実空間の重力方向周りの回転速度(角速度)を上記ヨー方向の回転として、当該回転速度に基づいて移動中の第1オブジェクトG1または第2オブジェクトG2の軌道を変化させる。具体的には、第1オブジェクトG1が移動中に左コントローラ3が重力方向を中心として右方向にヨー回転した回転速度が得られた場合、仮想空間の右方向に第1オブジェクトG1の軌道を変化させ、左コントローラ3が重力方向を中心として左方向にヨー回転した回転速度が得られた場合、仮想空間の左方向に第1オブジェクトG1の軌道を変化させる。また、第2オブジェクトG2が移動中に右コントローラ4が重力方向を中心として右方向にヨー回転した回転速度が得られた場合、仮想空間の右方向に第2オブジェクトG2の軌道を変化させ、右コントローラ4が重力方向を中心として左方向にヨー回転した回転速度が得られた場合、仮想空間の左方向に第2オブジェクトG2の軌道を変化させる。 As another example, in this embodiment, the rotation speed (angular velocity) of the left controller 3 or the right controller 4 around the gravity direction in the real space after the start of movement of the first object G1 or the second object G2 is rotated in the yaw direction. As a result, the trajectory of the moving first object G1 or the second object G2 is changed based on the rotation speed. Specifically, when the rotation speed of the left controller 3 yaw-rotated to the right with respect to the direction of gravity is obtained while the first object G1 is moving, the trajectory of the first object G1 is changed to the right in the virtual space. When the left controller 3 obtains a rotation speed of yaw rotation to the left with respect to the direction of gravity, the trajectory of the first object G1 is changed to the left in the virtual space. Further, when the rotation speed of the right controller 4 yaw-rotated to the right with respect to the direction of gravity is obtained while the second object G2 is moving, the trajectory of the second object G2 is changed to the right in the virtual space to the right. When the rotation speed obtained by yaw rotation of the controller 4 to the left with respect to the direction of gravity is obtained, the trajectory of the second object G2 is changed to the left in the virtual space.

また、本ゲーム例では、左コントローラ3または右コントローラ4が振り動かされたか否かの判定を、左コントローラ3または右コントローラ4に生じた加速度の大きさを用いて行う。そして、第1オブジェクトG1が上記移動開始位置に配置されている状態において左コントローラ3が上記x軸負方向に振り動かされたと判定された場合、当該移動開始位置から敵オブジェクトEOに向かって第1オブジェクトG1が移動を開始する。また、第2オブジェクトG2が上記移動開始位置に配置されている状態において右コントローラ4が上記x軸正方向に振り動かされたと判定された場合、当該移動開始位置から敵オブジェクトEOに向かって第2オブジェクトG2が移動を開始する。 Further, in this game example, it is determined whether or not the left controller 3 or the right controller 4 is swung by using the magnitude of the acceleration generated in the left controller 3 or the right controller 4. Then, when it is determined that the left controller 3 is swung in the negative direction of the x-axis while the first object G1 is arranged at the movement start position, the first object G1 is moved from the movement start position toward the enemy object EO. Object G1 starts moving. Further, when it is determined that the right controller 4 is swung in the positive direction of the x-axis while the second object G2 is arranged at the movement start position, the second object G2 is moved from the movement start position toward the enemy object EO. Object G2 starts moving.

また、本ゲーム例では、第1オブジェクトG1および第2オブジェクトG2の一方が上記移動開始位置から移動開始して移動中であっても、第1オブジェクトG1および第2オブジェクトG2の他方も上記移動開始位置から移動開始させることができる。例えば、図16に示すように、ユーザが右コントローラ4を前方(右コントローラ4のx軸正方向)に押し出すように振り動かすことによって、第2オブジェクトG2が敵オブジェクトEOに向かって移動開始する。その後、第2オブジェクトG2の移動中に、ユーザが左コントローラ3を前方(左コントローラ3のx軸負方向)に押し出すように振り動かすことによって、第1オブジェクトG1も敵オブジェクトEOに向かって移動開始する。したがって、図16に例示した据置型モニタ6には、第1オブジェクトG1および第2オブジェクトG2の両方が敵オブジェクトEOに向かって移動するゲーム画像が表示されている。また、図16には、先行して移動開始した第2オブジェクトG2が敵オブジェクトEOに衝突(ヒット)しているゲーム画像が例示されている。 Further, in this game example, even if one of the first object G1 and the second object G2 starts moving from the movement start position and is moving, the other of the first object G1 and the second object G2 also starts moving. You can start moving from the position. For example, as shown in FIG. 16, when the user swings the right controller 4 forward (the x-axis positive direction of the right controller 4), the second object G2 starts moving toward the enemy object EO. After that, while the second object G2 is moving, the user swings the left controller 3 forward (in the negative direction of the x-axis of the left controller 3), so that the first object G1 also starts moving toward the enemy object EO. To do. Therefore, the stationary monitor 6 illustrated in FIG. 16 displays a game image in which both the first object G1 and the second object G2 move toward the enemy object EO. Further, FIG. 16 illustrates a game image in which the second object G2, which has started moving in advance, collides (hits) with the enemy object EO.

ここで、本ゲーム例では、仮想ゲーム世界における第1オブジェクトG1および/または第2オブジェクトG2の状況に応じて、左コントローラ3および/または右コントローラ4に振動が与えられる。一例として、本ゲーム例では、第1オブジェクトG1が仮想ゲーム世界を移動する場合、第1オブジェクトG1の種類、移動速度、移動方向、衝突状況等に応じた振動が左コントローラ3に与えられる。また、第2オブジェクトG2が仮想ゲーム世界を移動する場合、第2オブジェクトG2の種類、移動速度、移動方向、衝突状況等に応じた振動が右コントローラ4に与えられる。 Here, in this game example, vibration is applied to the left controller 3 and / or the right controller 4 according to the situation of the first object G1 and / or the second object G2 in the virtual game world. As an example, in this game example, when the first object G1 moves in the virtual game world, vibration according to the type, moving speed, moving direction, collision situation, etc. of the first object G1 is given to the left controller 3. Further, when the second object G2 moves in the virtual game world, vibration according to the type, moving speed, moving direction, collision situation, etc. of the second object G2 is given to the right controller 4.

例えば、図15に示した例では、ユーザが右コントローラ4を前方(右コントローラ4のx軸正方向)に押し出すように振り動かすことによって、第2オブジェクトG2が敵オブジェクトEOに向かって仮想ゲーム世界を移動しており、当該移動に応じた振動が右コントローラ4のみに与えられている。また、図16に示した例では、第2オブジェクトG2の移動中に、ユーザが左コントローラ3を前方(左コントローラ3のx軸負方向)に押し出すように振り動かすことによって、第1オブジェクトG1も敵オブジェクトEOに向かって仮想ゲーム世界を移動しており、当該移動に応じた振動が左コントローラ3のみに与えられている。その一方で、第2オブジェクトG2が仮想ゲーム世界において敵オブジェクトEOに衝突(ヒット)したため、当該衝突に応じた振動が右コントローラ4のみに与えられている。このように、左コントローラ3および右コントローラ4には、それぞれの第1オブジェクトG1および第2オブジェクトG2の移動状況に応じて独立した別の振動が与えられるため、ユーザは、リアリティのある振動をそれぞれのコントローラから与えられることになる。 For example, in the example shown in FIG. 15, when the user swings the right controller 4 forward (the x-axis positive direction of the right controller 4), the second object G2 moves toward the enemy object EO in the virtual game world. Is moving, and vibration corresponding to the movement is given only to the right controller 4. Further, in the example shown in FIG. 16, the first object G1 is also moved by swinging the left controller 3 forward (in the negative direction of the x-axis of the left controller 3) while the second object G2 is moving. The virtual game world is moving toward the enemy object EO, and vibration corresponding to the movement is given only to the left controller 3. On the other hand, since the second object G2 collides (hits) with the enemy object EO in the virtual game world, vibration corresponding to the collision is given only to the right controller 4. In this way, since the left controller 3 and the right controller 4 are given different independent vibrations according to the movement status of the first object G1 and the second object G2, the user can perform realistic vibrations, respectively. Will be given by the controller of.

また、本ゲーム例では、左コントローラ3および右コントローラ4の両方の動きや姿勢に応じて、仮想空間内でプレイヤオブジェクトPOを移動させたり、動作させたりすることができる。例えば、左コントローラ3および右コントローラ4の両方が実空間のピッチ方向に回転した場合やロール方向に回転した場合、当該回転した傾きに応じてプレイヤオブジェクトPOを移動させる。具体的には、実空間の重力方向を基準とする左コントローラ3のx軸方向およびy軸方向の傾きと右コントローラ4のx軸方向およびy軸方向の傾きとをそれぞれ算出する。そして、上記傾きに基づいて、左コントローラ3および右コントローラ4の両方が前方に傾く姿勢になっていると判定された場合、左コントローラ3および右コントローラ4の両方が当該前方へ傾いている角度(例えば、当該角度の平均値)に応じた移動量でプレイヤオブジェクトPOを仮想ゲーム世界の前方へ移動させる。また、上記傾きに基づいて、左コントローラ3および右コントローラ4の両方が後方に傾く姿勢になっていると判定された場合、左コントローラ3および右コントローラ4の両方が当該後方へ傾いている角度(例えば、当該角度の平均値)に応じた移動量でプレイヤオブジェクトPOを仮想ゲーム世界の後方へ移動させる。また、上記傾きに基づいて、左コントローラ3および右コントローラ4の両方が左に傾く姿勢になっていると判定された場合、左コントローラ3および右コントローラ4の両方が当該左へ傾いている角度(例えば、当該角度の平均値)に応じた移動量でプレイヤオブジェクトPOを仮想ゲーム世界の左へ移動させる。また、上記傾きに基づいて、左コントローラ3および右コントローラ4の両方が右に傾く姿勢になっていると判定された場合、左コントローラ3および右コントローラ4の両方が当該右へ傾いている角度(例えば、当該角度の平均値)に応じた移動量でプレイヤオブジェクトPOを仮想ゲーム世界の右へ移動させる。また、上記傾きに基づいて、左コントローラ3および右コントローラ4の両方が内側へ傾く姿勢になっていると判定された場合、仮想ゲーム世界においてプレイヤオブジェクトPOが敵オブジェクトEOからの攻撃を防御する動作を行う。 Further, in this game example, the player object PO can be moved or operated in the virtual space according to the movements and postures of both the left controller 3 and the right controller 4. For example, when both the left controller 3 and the right controller 4 rotate in the pitch direction or the roll direction in the real space, the player object PO is moved according to the rotated inclination. Specifically, the inclination of the left controller 3 in the x-axis direction and the y-axis direction and the inclination of the right controller 4 in the x-axis direction and the y-axis direction with respect to the gravity direction in the real space are calculated, respectively. Then, when it is determined that both the left controller 3 and the right controller 4 are tilted forward based on the above tilt, the angle at which both the left controller 3 and the right controller 4 are tilted forward (the angle at which both the left controller 3 and the right controller 4 are tilted forward). For example, the player object PO is moved to the front of the virtual game world by a movement amount corresponding to (the average value of the angles). Further, when it is determined that both the left controller 3 and the right controller 4 are tilted backward based on the above tilt, the angle at which both the left controller 3 and the right controller 4 are tilted backward (the angle at which both the left controller 3 and the right controller 4 are tilted backward). For example, the player object PO is moved to the rear of the virtual game world by a movement amount corresponding to (the average value of the angles). Further, when it is determined that both the left controller 3 and the right controller 4 are tilted to the left based on the above tilt, the angle at which both the left controller 3 and the right controller 4 are tilted to the left (the angle at which both the left controller 3 and the right controller 4 are tilted to the left ( For example, the player object PO is moved to the left of the virtual game world by a movement amount corresponding to (the average value of the angles). Further, when it is determined that both the left controller 3 and the right controller 4 are tilted to the right based on the above tilt, the angle at which both the left controller 3 and the right controller 4 are tilted to the right (the angle at which both the left controller 3 and the right controller 4 are tilted to the right ( For example, the player object PO is moved to the right of the virtual game world by a movement amount corresponding to (the average value of the angles). Further, when it is determined that both the left controller 3 and the right controller 4 are tilted inward based on the above tilt, the player object PO defends the attack from the enemy object EO in the virtual game world. I do.

また、本ゲーム例では、左コントローラ3および右コントローラ4の操作ボタンに対する操作に応じて、仮想空間内でプレイヤオブジェクトPOを移動させたり、動作させたりすることができる。例えば、左コントローラ3の第1Lボタン38が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがダッシュして移動(高速移動)する。また、右コントローラ4の第1Rボタン60が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがジャンプする。 Further, in this game example, the player object PO can be moved or operated in the virtual space according to the operation of the operation buttons of the left controller 3 and the right controller 4. For example, when the first L button 38 of the left controller 3 is pressed, the player object PO dashes and moves (high-speed movement) in the virtual game world. Further, when the first R button 60 of the right controller 4 is pressed, the player object PO jumps in the virtual game world.

また、本実施例では、左コントローラ3と右コントローラ4とを接合して1つの操作装置として機能させるアタッチメント(付属機器)を用いて上記ゲームをプレイすることも可能である。 Further, in this embodiment, it is also possible to play the above game by using an attachment (accessory device) that joins the left controller 3 and the right controller 4 to function as one operating device.

図17は、左コントローラ3および右コントローラ4を装着可能な付属機器の一例を示す図である。図17に示すように、付属機器の一例である拡張グリップ210は、ユーザがそれを用いて操作を行うための付属機器である。拡張グリップ210は、左コントローラ3を装着可能であり、また、右コントローラ4を装着可能である。したがって、拡張グリップ210によって、ユーザは、本体装置2から外した2つのコントローラ3および4を一体として把持して操作(以下、このような操作方式を拡張グリップ操作方式と記載することがある)を行うことができる。 FIG. 17 is a diagram showing an example of an accessory device to which the left controller 3 and the right controller 4 can be mounted. As shown in FIG. 17, the expansion grip 210, which is an example of the accessory device, is an accessory device for the user to operate using the expansion grip 210. The expansion grip 210 can be equipped with the left controller 3 and the right controller 4. Therefore, with the extended grip 210, the user grips and operates the two controllers 3 and 4 removed from the main body device 2 as a unit (hereinafter, such an operation method may be referred to as an extended grip operation method). It can be carried out.

拡張グリップ210は、左コントローラ3および右コントローラ4をそれぞれ装着するための機構として、本体装置2が有する機構(具体的には、左レール部材15および右レール部材19等)と同様の機構を有している。したがって、本体装置2に装着する場合と同様にして、左コントローラ3および右コントローラ4を拡張グリップ210に装着することができる。具体的には、拡張グリップ210は、所定幅の本体部を挟んで左右両側に左コントローラ3および右コントローラ4をそれぞれ装着するための機構が設けられており、左コントローラ3および右コントローラ4を装着するレール部材がそれぞれ平行に設けられている。これによって、左コントローラ3および右コントローラ4は、それぞれのxyz軸方向が平行となるように拡張グリップ210に取り付けられることになる。そして、ユーザは、拡張グリップ210に装着されて一体となった左コントローラ3および右コントローラ4を両手で把持する。これによって、ユーザは、本体装置2から外した2つの左コントローラ3および右コントローラ4を一体として把持することができる。 The expansion grip 210 has a mechanism similar to the mechanism of the main body device 2 (specifically, the left rail member 15 and the right rail member 19 etc.) as a mechanism for mounting the left controller 3 and the right controller 4, respectively. doing. Therefore, the left controller 3 and the right controller 4 can be attached to the expansion grip 210 in the same manner as when they are attached to the main body device 2. Specifically, the expansion grip 210 is provided with a mechanism for mounting the left controller 3 and the right controller 4 on both the left and right sides of the main body having a predetermined width, and the left controller 3 and the right controller 4 are mounted. Rail members are provided in parallel with each other. As a result, the left controller 3 and the right controller 4 are attached to the expansion grip 210 so that their respective xyz axis directions are parallel to each other. Then, the user grips the left controller 3 and the right controller 4 which are attached to the expansion grip 210 and are integrated with both hands. As a result, the user can integrally grasp the two left controller 3 and the right controller 4 removed from the main body device 2.

このような拡張グリップ210によって一体となった左コントローラ3および右コントローラ4を用いて上記ゲームをプレイする場合、左コントローラ3および右コントローラ4に設けられた各操作ボタンやスティックが用いられて操作される。例えば、右コントローラ4のBボタン54が押下操作された場合、プレイヤオブジェクトPOが左パンチを繰り出して第1オブジェクトG1が移動開始する。右コントローラ4のAボタン53が押下操作された場合、プレイヤオブジェクトPOが右パンチを繰り出して第2オブジェクトG2が移動開始する。仮想ゲーム世界において第1オブジェクトG1および/または第2オブジェクトG2が移動中に左コントローラ3のアナログスティック32が傾倒操作された場合、傾倒操作された方向および傾倒角度に応じて、移動中の第1オブジェクトG1および/または第2オブジェクトG2の移動方向が変化する。第1オブジェクトG1および第2オブジェクトG2が何れも移動開始位置に配置されている場合に左コントローラ3のアナログスティック32が傾倒操作された場合、傾倒操作された方向および傾倒角度に応じて、仮想ゲーム世界においてプレイヤオブジェクトPOが移動する。また、第1オブジェクトG1および第2オブジェクトG2が何れも移動開始位置に配置されている場合に左コントローラ3のアナログスティック32が押し込まれる操作が行われた場合、仮想ゲーム世界においてプレイヤオブジェクトPOが敵オブジェクトEOからの攻撃を防御する。右コントローラ4のXボタン55が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがジャンプする動作を行う。そして、右コントローラ4のYボタン56が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがダッシュ(高速移動)する。 When the above game is played using the left controller 3 and the right controller 4 integrated by such an expansion grip 210, the operation buttons and sticks provided on the left controller 3 and the right controller 4 are used to operate the game. To. For example, when the B button 54 of the right controller 4 is pressed, the player object PO delivers a left punch and the first object G1 starts moving. When the A button 53 of the right controller 4 is pressed, the player object PO delivers a right punch and the second object G2 starts moving. When the analog stick 32 of the left controller 3 is tilted while the first object G1 and / or the second object G2 is moving in the virtual game world, the first moving first object G1 and / or the second object G2 is moved according to the tilted direction and tilt angle. The moving direction of the object G1 and / or the second object G2 changes. When the analog stick 32 of the left controller 3 is tilted when both the first object G1 and the second object G2 are arranged at the movement start positions, a virtual game is provided according to the tilted direction and tilt angle. The player object PO moves in the world. Further, when the analog stick 32 of the left controller 3 is pushed in when both the first object G1 and the second object G2 are arranged at the movement start position, the player object PO becomes an enemy in the virtual game world. Defend attacks from object EO. When the X button 55 of the right controller 4 is pressed, the player object PO jumps in the virtual game world. Then, when the Y button 56 of the right controller 4 is pressed, the player object PO dashes (moves at high speed) in the virtual game world.

拡張グリップ210を用いてゲームプレイする場合であっても、仮想ゲーム世界における第1オブジェクトG1および/または第2オブジェクトG2の状況に応じて、拡張グリップ210に装着された左コントローラ3および/または右コントローラ4に振動が与えられる。一例として、拡張グリップ210を用いてゲームプレイする場合も、第1オブジェクトG1が仮想ゲーム世界を移動する場合、第1オブジェクトG1の種類、移動速度、移動方向、衝突状況等に応じた振動が拡張グリップ210に装着された左コントローラ3に与えられる。また、第2オブジェクトG2が仮想ゲーム世界を移動する場合、第2オブジェクトG2の種類、移動速度、移動方向、衝突状況等に応じた振動が拡張グリップ210に装着された右コントローラ4に与えられる。 Even when playing a game using the extended grip 210, the left controller 3 and / or the right mounted on the extended grip 210 depends on the situation of the first object G1 and / or the second object G2 in the virtual game world. Vibration is applied to the controller 4. As an example, even when playing a game using the extended grip 210, when the first object G1 moves in the virtual game world, the vibration according to the type, moving speed, moving direction, collision situation, etc. of the first object G1 is expanded. It is given to the left controller 3 mounted on the grip 210. Further, when the second object G2 moves in the virtual game world, vibration according to the type, moving speed, moving direction, collision situation, etc. of the second object G2 is given to the right controller 4 mounted on the expansion grip 210.

例えば、図17に示した例では、ユーザが右コントローラ4のAボタン53を押下することによって、第2オブジェクトG2が敵オブジェクトEOに向かって仮想ゲーム世界を移動しており、当該移動に応じた振動が拡張グリップ210に装着された右コントローラ4に与えられている。さらに、第2オブジェクトG2の移動中に、ユーザが右コントローラ4のBボタン54を押下することによって、第1オブジェクトG1も敵オブジェクトEOに向かって仮想ゲーム世界を移動しており、当該移動に応じた振動が拡張グリップ210に装着された左コントローラ3にも与えられている。その一方で、第2オブジェクトG2が仮想ゲーム世界において敵オブジェクトEOに衝突(ヒット)したため、当該衝突に応じた振動が拡張グリップ210に装着された右コントローラ4に与えられている。このように、拡張グリップ210に装着された左コントローラ3および右コントローラ4であっても、それぞれの第1オブジェクトG1および第2オブジェクトG2の移動状況に応じて独立した別の振動が与えられるため、ユーザは、リアリティのある振動をそれぞれのコントローラから与えられることになる。 For example, in the example shown in FIG. 17, when the user presses the A button 53 of the right controller 4, the second object G2 moves in the virtual game world toward the enemy object EO, and responds to the movement. Vibration is applied to the right controller 4 mounted on the expansion grip 210. Further, when the user presses the B button 54 of the right controller 4 while the second object G2 is moving, the first object G1 also moves in the virtual game world toward the enemy object EO, and in response to the movement. The vibration is also applied to the left controller 3 mounted on the expansion grip 210. On the other hand, since the second object G2 collides (hits) with the enemy object EO in the virtual game world, vibration corresponding to the collision is given to the right controller 4 mounted on the expansion grip 210. In this way, even the left controller 3 and the right controller 4 mounted on the expansion grip 210 are given different vibrations independently according to the movement status of the first object G1 and the second object G2, respectively. The user will be given realistic vibrations from each controller.

図18は、離脱状態において、1人のユーザが左コントローラ3および右コントローラ4の一方を把持して情報処理システム1を利用する様子の一例を示す図である。図18に示すように、離脱状態において、ユーザは、例えば左コントローラ3を両手で把持して操作を行いながら、据置型モニタ6に表示された画像を見ることができる。 FIG. 18 is a diagram showing an example of a state in which one user grips one of the left controller 3 and the right controller 4 and uses the information processing system 1 in the detached state. As shown in FIG. 18, in the detached state, the user can see the image displayed on the stationary monitor 6 while, for example, holding the left controller 3 with both hands and performing the operation.

例えば、本実施例では、ユーザは、縦長の略板状である左コントローラ3の長手方向(図1に示すy軸方向)が横方向になるとともに、本体装置2に装着された際に当該本体装置2と接する側面(スライダ40が設けられている側面)が前方に向き、かつ、左コントローラ3の主面(アナログスティック32等が設けられる面)が上方を向くように左コントローラ3を両手で把持する。つまり、ユーザの両手によって把持されている左コントローラ3は、y軸正方向がユーザの左方向となり、x軸負方向がユーザの前方を向き、z軸正方向が下方を向いた状態となる。なお、ユーザは、縦長の略板状である右コントローラ4を両手で把持する場合、縦長の略板状である右コントローラ4の長手方向(図1に示すy軸方向)が横方向になるとともに、本体装置2に装着された際に当該本体装置2と接する側面(スライダ62が設けられている側面)が前方に向き、かつ、右コントローラ4の主面(アナログスティック52等が設けられる面)が上方を向くように把持する。 For example, in the present embodiment, the user has a vertically long substantially plate-shaped left controller 3 in the longitudinal direction (y-axis direction shown in FIG. 1) in the horizontal direction, and when the user is attached to the main body device 2, the main body is concerned. Hold the left controller 3 with both hands so that the side surface in contact with the device 2 (the side surface provided with the slider 40) faces forward and the main surface of the left controller 3 (the surface provided with the analog stick 32 or the like) faces upward. To grasp. That is, in the left controller 3 held by both hands of the user, the positive direction of the y-axis is the left direction of the user, the negative direction of the x-axis is the front of the user, and the positive direction of the z-axis is the downward direction. When the user grips the vertically long substantially plate-shaped right controller 4 with both hands, the longitudinal direction (y-axis direction shown in FIG. 1) of the vertically long substantially plate-shaped right controller 4 becomes horizontal. The side surface (the side surface on which the slider 62 is provided) in contact with the main body device 2 when mounted on the main body device 2 faces forward, and the main surface of the right controller 4 (the surface on which the analog stick 52 or the like is provided). Hold it so that it faces upward.

このように、両手で左コントローラ3および右コントローラ4の一方を把持した状態(以下、このような操作方式を横持ち操作方式と記載することがある)で、当該一方のコントローラの操作ボタンやスティックを操作することによって、ゲームプレイが行われる。例えば、上記横持ち操作では、ユーザの左手を上記一方のコントローラの上面(図1に示すy軸正方向側の側面)に添え、ユーザの右手を上記一方のコントローラの下面(図1に示すy軸負方向側の側面)に添えた状態となる。したがって、上記横持ち操作では、把持するコントローラの主面に設けられた各操作ボタンやスティックを用いた操作が可能となる。また、上記横持ち操作では、把持するコントローラが本体装置2に装着された際に当該本体装置2と接する側面に設けられた操作ボタン(例えば、第2Lボタン43、第2Rボタン44、第2Lボタン65、第2Rボタン66等)を用いた操作が可能となる。 In this way, while holding one of the left controller 3 and the right controller 4 with both hands (hereinafter, such an operation method may be referred to as a sideways holding operation method), the operation buttons and sticks of the one controller. The gameplay is performed by operating. For example, in the horizontal holding operation, the user's left hand is attached to the upper surface of the one controller (the side surface on the positive direction side of the y-axis shown in FIG. 1), and the user's right hand is attached to the lower surface of the one controller (y shown in FIG. 1). It will be attached to the side surface on the negative axis direction side). Therefore, in the horizontal holding operation, it is possible to operate using each operation button or stick provided on the main surface of the controller to be gripped. Further, in the horizontal holding operation, when the controller to be gripped is attached to the main body device 2, the operation buttons (for example, the second L button 43, the second R button 44, and the second L button) provided on the side surface in contact with the main body device 2 are provided. 65, the second R button 66, etc.) can be used for operation.

一例として、ユーザが左コントローラ3を両手で把持して横持ち操作する場合、左コントローラ3に設けられた各操作ボタンやスティックが用いられて操作される。例えば、左コントローラ3の左方向ボタン36が押下操作された場合、プレイヤオブジェクトPOが左パンチを繰り出して第1オブジェクトG1が移動開始する。左コントローラ3の下方向ボタン34が押下操作された場合、プレイヤオブジェクトPOが右パンチを繰り出して第2オブジェクトG2が移動開始する。仮想ゲーム世界において第1オブジェクトG1および/または第2オブジェクトG2が移動中に左コントローラ3のアナログスティック32が傾倒操作された場合、傾倒操作された方向および傾倒角度に応じて、移動中の第1オブジェクトG1および/または第2オブジェクトG2の移動方向が変化する。第1オブジェクトG1および第2オブジェクトG2が何れも移動開始位置に配置されている場合に左コントローラ3のアナログスティック32が傾倒操作された場合、傾倒操作された方向および傾倒角度に応じて、仮想ゲーム世界においてプレイヤオブジェクトPOが移動する。また、第1オブジェクトG1および第2オブジェクトG2が何れも移動開始位置に配置されている場合に左コントローラ3のアナログスティック32が押し込まれる操作が行われた場合、仮想ゲーム世界においてプレイヤオブジェクトPOが敵オブジェクトEOからの攻撃を防御する。左コントローラ3の右方向ボタン33が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがジャンプする動作を行う。そして、左コントローラ3の上方向ボタン35が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがダッシュ(高速移動)する。 As an example, when the user holds the left controller 3 with both hands and holds it sideways, the operation buttons and sticks provided on the left controller 3 are used for the operation. For example, when the left direction button 36 of the left controller 3 is pressed, the player object PO delivers a left punch and the first object G1 starts moving. When the downward button 34 of the left controller 3 is pressed, the player object PO delivers a right punch and the second object G2 starts moving. When the analog stick 32 of the left controller 3 is tilted while the first object G1 and / or the second object G2 is moving in the virtual game world, the first moving first object G1 and / or the second object G2 is moved according to the tilted direction and tilt angle. The moving direction of the object G1 and / or the second object G2 changes. When the analog stick 32 of the left controller 3 is tilted when both the first object G1 and the second object G2 are arranged at the movement start positions, a virtual game is provided according to the tilted direction and tilt angle. The player object PO moves in the world. Further, when the analog stick 32 of the left controller 3 is pushed in when both the first object G1 and the second object G2 are arranged at the movement start position, the player object PO becomes an enemy in the virtual game world. Defend attacks from object EO. When the right direction button 33 of the left controller 3 is pressed, the player object PO jumps in the virtual game world. Then, when the upward button 35 of the left controller 3 is pressed, the player object PO dashes (moves at high speed) in the virtual game world.

他の例として、ユーザが右コントローラ4を両手で把持して横持ち操作する場合、右コントローラ4に設けられた各操作ボタンやスティックが用いられて操作される。例えば、右コントローラ4のAボタン53が押下操作された場合、プレイヤオブジェクトPOが左パンチを繰り出して第1オブジェクトG1が移動開始する。右コントローラ4のXボタン55が押下操作された場合、プレイヤオブジェクトPOが右パンチを繰り出して第2オブジェクトG2が移動開始する。仮想ゲーム世界において第1オブジェクトG1および/または第2オブジェクトG2が移動中に右コントローラ4のアナログスティック52が傾倒操作された場合、傾倒操作された方向および傾倒角度に応じて、移動中の第1オブジェクトG1および/または第2オブジェクトG2の移動方向が変化する。第1オブジェクトG1および第2オブジェクトG2が何れも移動開始位置に配置されている場合に右コントローラ4のアナログスティック52が傾倒操作された場合、傾倒操作された方向および傾倒角度に応じて、仮想ゲーム世界においてプレイヤオブジェクトPOが移動する。また、第1オブジェクトG1および第2オブジェクトG2が何れも移動開始位置に配置されている場合に右コントローラ4のアナログスティック52が押し込まれる操作が行われた場合、仮想ゲーム世界においてプレイヤオブジェクトPOが敵オブジェクトEOからの攻撃を防御する。右コントローラ4のYボタン56が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがジャンプする動作を行う。そして、右コントローラ4のBボタン54が押下操作された場合、仮想ゲーム世界においてプレイヤオブジェクトPOがダッシュ(高速移動)する。 As another example, when the user holds the right controller 4 with both hands and holds it sideways, the operation buttons and sticks provided on the right controller 4 are used for the operation. For example, when the A button 53 of the right controller 4 is pressed, the player object PO delivers a left punch and the first object G1 starts moving. When the X button 55 of the right controller 4 is pressed, the player object PO delivers a right punch and the second object G2 starts moving. When the analog stick 52 of the right controller 4 is tilted while the first object G1 and / or the second object G2 is moving in the virtual game world, the first moving object is moved according to the tilted direction and tilt angle. The moving direction of the object G1 and / or the second object G2 changes. When the analog stick 52 of the right controller 4 is tilted when both the first object G1 and the second object G2 are arranged at the movement start positions, a virtual game is provided according to the tilted direction and tilt angle. The player object PO moves in the world. Further, when the analog stick 52 of the right controller 4 is pushed in when both the first object G1 and the second object G2 are arranged at the movement start position, the player object PO becomes an enemy in the virtual game world. Defend attacks from object EO. When the Y button 56 of the right controller 4 is pressed, the player object PO jumps in the virtual game world. Then, when the B button 54 of the right controller 4 is pressed, the player object PO dashes (moves at high speed) in the virtual game world.

図19は、上述した操作方式(縦持ち操作方式、拡張グリップ操作方式、横持ち操作方式)毎の操作内容に対するプレイヤオブジェクトPOの動作を示す操作対応テーブルの一例である。 FIG. 19 is an example of an operation correspondence table showing the operation of the player object PO with respect to the operation content for each of the above-mentioned operation methods (vertical holding operation method, extended grip operation method, horizontal holding operation method).

図19から明らかなように、プレイヤオブジェクトPOに同じ動作を行わせたい場合であっても、操作方式が異なることによって異なる操作が必要とされる場合がある。例えば、プレイヤオブジェクトPOを前後左右に移動させたい場合、縦持ち操作方式では左コントローラ3および右コントローラ4を移動させたい方向に傾ける操作が必要となるが、拡張グリップ操作方式および横持ち操作方式ではスティックの傾倒操作が必要となる。また、プレイヤオブジェクトPOを前後左右に移動させたい場合、拡張グリップ操作方式と右コントローラ4を用いる横持ち操作方式との間では、操作に用いるスティックが異なる。さらに、プレイヤオブジェクトPOを前後左右に移動させたい場合、拡張グリップ操作方式と左コントローラ3を用いる横持ち操作方式との間では、アナログスティック32を傾倒させる方向が異なる。具体的には、プレイヤオブジェクトPOを左または右に移動させたい場合、拡張グリップ操作方式ではアナログスティック32をx軸正方向またはx軸負方向へそれぞれ傾倒させる必要があるが、左コントローラ3を用いる横持ち操作方式ではアナログスティック32をy軸正方向またはy軸負方向へそれぞれ傾倒させる必要がある。また、プレイヤオブジェクトPOを前方または後方に移動させたい場合、拡張グリップ操作方式ではアナログスティック32をy軸正方向またはy軸負方向へそれぞれ傾倒させる必要があるが、左コントローラ3を用いる横持ち操作方式ではアナログスティック32をx軸負方向またはx軸正方向へそれぞれ傾倒させる必要がある。また、これらの操作内容は、第1オブジェクトG1および/または第2オブジェクトG2の移動方向を変化させる場合も類似した相違がある。 As is clear from FIG. 19, even when the player object PO wants to perform the same operation, different operations may be required depending on the operation method. For example, when it is desired to move the player object PO back and forth and left and right, the left controller 3 and the right controller 4 need to be tilted in the desired direction in the vertical holding operation method, but in the extended grip operation method and the horizontal holding operation method. It is necessary to tilt the stick. Further, when it is desired to move the player object PO back and forth and left and right, the stick used for the operation is different between the extended grip operation method and the horizontal holding operation method using the right controller 4. Further, when it is desired to move the player object PO back and forth and left and right, the direction in which the analog stick 32 is tilted differs between the extended grip operation method and the horizontal holding operation method using the left controller 3. Specifically, when it is desired to move the player object PO to the left or right, the analog stick 32 needs to be tilted in the positive x-axis direction or the negative x-axis direction in the extended grip operation method, but the left controller 3 is used. In the horizontal holding operation method, it is necessary to tilt the analog stick 32 in the positive direction on the y-axis or the negative direction on the y-axis, respectively. Further, when it is desired to move the player object PO forward or backward, it is necessary to tilt the analog stick 32 in the positive direction of the y-axis or the negative direction of the y-axis in the extended grip operation method. In the method, it is necessary to tilt the analog stick 32 in the negative direction on the x-axis or the positive direction on the x-axis, respectively. Further, these operation contents have similar differences when the moving directions of the first object G1 and / or the second object G2 are changed.

また、プレイヤオブジェクトPOに左パンチまたは右パンチを繰り出す動作をさせる場合、縦持ち操作方式では左コントローラ3または右コントローラ4を振る操作が必要となるが、拡張グリップ操作方式および横持ち操作方式では上述したように割り当てられた操作ボタンを押下する操作が必要となる。そして、拡張グリップ操作方式および横持ち操作方式の間でも、左パンチまたは右パンチを繰り出す動作をさせる場合に割り当てられた操作ボタンがそれぞれ異なっている。さらに、プレイヤオブジェクトPOにジャンプまたはダッシュする動作をさせる場合、各操作方式において割り当てられた操作ボタンがそれぞれ異なっている。 Further, when the player object PO is to be operated to deliver the left punch or the right punch, the operation of swinging the left controller 3 or the right controller 4 is required in the vertical holding operation method, but the extended grip operation method and the horizontal holding operation method are described above. It is necessary to press the assigned operation button as described above. The operation buttons assigned to the left punch or the right punch are different between the extended grip operation method and the horizontal holding operation method. Further, when the player object PO is made to jump or dash, the operation buttons assigned in each operation method are different.

また、図19から明らかなように、左コントローラ3および/または右コントローラ4を用いて同じ操作を行ったとしても、操作方式が異なることによって対応するプレイヤオブジェクトPOの動作が異なることがある。例えば、拡張グリップ操作方式においてアナログスティック32を傾倒操作する場合と左コントローラ3を用いる横持ち操作方式においてアナログスティック32を傾倒操作する場合とでは、スティックが傾倒する方向が同じ操作が行われてもプレイヤオブジェクトPOが移動する方向が異なることになる。また、拡張グリップ操作方式においてBボタン54が押下操作された場合、プレイヤオブジェクトPOが左パンチを繰り出す動作を行うが、右コントローラ4を用いる横持ち操作方式においてBボタン54が押下操作された場合、プレイヤオブジェクトPOがダッシュする動作を行う。拡張グリップ操作方式においてAボタン53が押下操作された場合、プレイヤオブジェクトPOが右パンチを繰り出す動作を行うが、右コントローラ4を用いる横持ち操作方式においてAボタン53が押下操作された場合、プレイヤオブジェクトPOが左パンチを繰り出す動作を行う。拡張グリップ操作方式においてXボタン55が押下操作された場合、プレイヤオブジェクトPOがジャンプする動作を行うが、右コントローラ4を用いる横持ち操作方式においてXボタン55が押下操作された場合、プレイヤオブジェクトPOが右パンチを繰り出す動作を行う。そして、拡張グリップ操作方式においてYボタン56が押下操作された場合、プレイヤオブジェクトPOがダッシュする動作を行うが、右コントローラ4を用いる横持ち操作方式においてYボタン56が押下操作された場合、プレイヤオブジェクトPOがジャンプする動作を行う。 Further, as is clear from FIG. 19, even if the same operation is performed using the left controller 3 and / or the right controller 4, the operation of the corresponding player object PO may differ depending on the operation method. For example, in the case of tilting the analog stick 32 in the extended grip operation method and in the case of tilting the analog stick 32 in the sideways holding operation method using the left controller 3, even if the stick is tilted in the same direction. The direction in which the player object PO moves will be different. Further, when the B button 54 is pressed in the extended grip operation method, the player object PO performs an operation of delivering a left punch, but when the B button 54 is pressed in the horizontal holding operation method using the right controller 4, the player object PO performs an operation of delivering a left punch. The player object PO performs a dashing operation. When the A button 53 is pressed in the extended grip operation method, the player object PO performs an operation of delivering a right punch, but when the A button 53 is pressed in the horizontal holding operation method using the right controller 4, the player object The PO performs the operation of delivering the left punch. When the X button 55 is pressed in the extended grip operation method, the player object PO jumps, but when the X button 55 is pressed in the horizontal holding operation method using the right controller 4, the player object PO moves. Performs the action of delivering the right punch. Then, when the Y button 56 is pressed in the extended grip operation method, the player object PO performs a dash operation, but when the Y button 56 is pressed in the horizontal holding operation method using the right controller 4, the player object The PO jumps.

また、本実施例では、横持ち操作方式によって左コントローラ3および右コントローラ4の一方を把持してゲームプレイする場合も、当該ゲーム状況に応じて、把持している左コントローラ3および右コントローラ4の一方に振動が与えられる。上述したように、左コントローラ3は、振動子107を有しており、右コントローラ4は、振動子117を有している。本体装置2のCPU81は、実行しているゲーム状況に応じて振動データを左コントローラ3および右コントローラ4の一方に送信することによって、当該振動データに応じた振幅および周波数で振動子107または振動子117を振動させることができる。 Further, in the present embodiment, even when one of the left controller 3 and the right controller 4 is gripped and the game is played by the horizontal holding operation method, the left controller 3 and the right controller 4 that are gripped are held according to the game situation. Vibration is given to one side. As described above, the left controller 3 has an oscillator 107, and the right controller 4 has an oscillator 117. The CPU 81 of the main unit 2 transmits vibration data to one of the left controller 3 and the right controller 4 according to the game situation being executed, so that the vibrator 107 or the vibrator has an amplitude and a frequency corresponding to the vibration data. 117 can be vibrated.

ここで、横持ち操作方式によって把持している左コントローラ3および右コントローラ4の一方を振動させるための振動データは、縦持ち操作方式や拡張グリップ操作方式において左コントローラ3を振動させるための振動データと右コントローラ4を振動させるための振動データとに基づいて生成される。つまり、1つのコントローラを用いてゲームプレイする場合は、2つのコントローラを用いてゲームプレイする場合にそれぞれのコントローラに与えられていた振動を1つに合成して、当該1つのコントローラに与えられる。例えば、1つのコントローラを振動させるための振動データを生成する方式としては、選択方式および加算方式がある。以下、図20〜図22を参照して、振動データを生成する方式について説明する。なお、図20は、選択方式によって振動データを生成する方法の一例を説明するための図である。図21は、高周波側および低周波側をまとめて判定する場合に用いられる合成モジュールの一例を示す図である。図22は、加算方式によって振動データを生成する方法の一例を説明するための図である。 Here, the vibration data for vibrating one of the left controller 3 and the right controller 4 gripped by the horizontal holding operation method is the vibration data for vibrating the left controller 3 in the vertical holding operation method or the extended grip operation method. Is generated based on the vibration data for vibrating the right controller 4. That is, when playing a game using one controller, the vibrations given to each controller when playing a game using two controllers are combined into one and given to the one controller. For example, as a method of generating vibration data for vibrating one controller, there are a selection method and an addition method. Hereinafter, a method for generating vibration data will be described with reference to FIGS. 20 to 22. Note that FIG. 20 is a diagram for explaining an example of a method of generating vibration data by a selection method. FIG. 21 is a diagram showing an example of a synthesis module used when determining the high frequency side and the low frequency side together. FIG. 22 is a diagram for explaining an example of a method of generating vibration data by an addition method.

選択方式によって振動データを生成する場合、左コントローラ3を振動させるための振動データおよび右コントローラ4を振動させるための振動データについて、所定時間毎に何れか1つを選択する。具体的には、左コントローラ3を振動させるための振動データおよび右コントローラ4を振動させるための振動データが入力された場合、左コントローラ3を振動させるための振動データが示す左コントローラ用振動波形の振幅と右コントローラ4を振動させるための振動データが示す右コントローラ用振動波形の振幅とに基づいて、所定時間毎に振幅の大きい方の振動波形を示す振動データを選択する。このように選択方式によって振動データを選択することによって、ユーザが顕著に知覚可能な振動を優先して生じさせることが可能となる。 When the vibration data is generated by the selection method, one of the vibration data for vibrating the left controller 3 and the vibration data for vibrating the right controller 4 is selected at predetermined time intervals. Specifically, when vibration data for vibrating the left controller 3 and vibration data for vibrating the right controller 4 are input, the vibration waveform for the left controller indicated by the vibration data for vibrating the left controller 3 Based on the amplitude and the amplitude of the vibration waveform for the right controller indicated by the vibration data for vibrating the right controller 4, the vibration data showing the vibration waveform having the larger vibration is selected at predetermined time intervals. By selecting the vibration data by the selection method in this way, it is possible to give priority to the vibration that can be significantly perceived by the user.

図20には、左コントローラ用振動波形と右コントローラ用振動波形とが入力された場合を示している。左コントローラ用振動波形は、相対的に弱く継続的な振動を示し、右コントローラ用振動波形は、相対的に強く短い振動を示している。例えば、選択方式によって振動データを生成する場合、所定期間毎(例えば、5msec〜数10msec)にいずれの振動波形の振幅が大きいのかを判定し、より振幅の大きな振動波形を示す振動データを選択して出力する。したがって、選択方式では、所定期間毎に選択された振動波形によって合成振動波形が生成され、当該合成振動波形を示す振動データが出力される。 FIG. 20 shows a case where the vibration waveform for the left controller and the vibration waveform for the right controller are input. The vibration waveform for the left controller shows relatively weak and continuous vibration, and the vibration waveform for the right controller shows relatively strong and short vibration. For example, when the vibration data is generated by the selection method, it is determined which vibration waveform has the larger amplitude every predetermined period (for example, 5 msec to several tens of msec), and the vibration data showing the vibration waveform having a larger amplitude is selected. And output. Therefore, in the selection method, a synthetic vibration waveform is generated from the vibration waveforms selected for each predetermined period, and vibration data indicating the combined vibration waveform is output.

なお、上記選択方式において振動データを選択する際、当該振動データが示す振動波形の周波数も考慮して選択する振動データを判定してもよい。例えば、入力した振動データが高周波帯の振動波形と低周波帯の振動波形との組み合わせによって示される場合、高周波側および低周波側をそれぞれ独立して判定する方法と高周波側および低周波側の一方に重み付けをして判断する方法とが考えられる。前者の場合、左コントローラ用振動波形と右コントローラ用振動波形とが入力された場合、高周波側の左コントローラ用振動波形の振幅と高周波側の右コントローラ用振動波形の振幅とに基づいて、所定時間毎に振幅の大きい方の振動波形を示す振動データを、高周波側の振動データとして選択する。また、左コントローラ用振動波形と右コントローラ用振動波形とが入力された場合、低周波側の左コントローラ用振動波形の振幅と低周波側の右コントローラ用振動波形の振幅とに基づいて、所定時間毎に振幅の大きい方の振動波形を示す振動データを、低周波側の振動データとして選択する。後者の場合、各周波数帯の振幅に重み付けをした上で所定期間毎に最も大きな振幅を示す振動波形を選出し、入力した左コントローラ用振動波形および右コントローラ用振動波形のうち、当該選出された振動波形を含む方の振動波形を示す振動データを選択する。 When selecting the vibration data in the above selection method, the vibration data to be selected may be determined in consideration of the frequency of the vibration waveform indicated by the vibration data. For example, when the input vibration data is indicated by a combination of a high-frequency band vibration waveform and a low-frequency band vibration waveform, a method of independently determining the high-frequency side and the low-frequency side and one of the high-frequency side and the low-frequency side. Can be considered as a method of making a judgment by weighting. In the former case, when the vibration waveform for the left controller and the vibration waveform for the right controller are input, the predetermined time is based on the amplitude of the vibration waveform for the left controller on the high frequency side and the amplitude of the vibration waveform for the right controller on the high frequency side. The vibration data showing the vibration waveform having the larger amplitude is selected as the vibration data on the high frequency side. When the vibration waveform for the left controller and the vibration waveform for the right controller are input, the predetermined time is based on the amplitude of the vibration waveform for the left controller on the low frequency side and the amplitude of the vibration waveform for the right controller on the low frequency side. The vibration data showing the vibration waveform having the larger amplitude is selected as the vibration data on the low frequency side. In the latter case, after weighting the amplitude of each frequency band, the vibration waveform showing the largest amplitude is selected for each predetermined period, and the selected vibration waveform is selected from the input vibration waveforms for the left controller and the vibration waveform for the right controller. Select the vibration data that shows the vibration waveform that includes the vibration waveform.

また、入力した振動データが高周波帯の振動波形と低周波帯の振動波形との組み合わせによって示される場合、高周波側および低周波側をまとめて判定することが考えられる。図21において、上記合成モジュールは、左コントローラ用振動波形の低周波側の振幅α1Lおよび高周波側の振幅α1Hを合成した振幅と、右コントローラ用振動波形の低周波側の振幅α2Lおよび高周波側の振幅α2Hを合成した振幅との比較(すなわち、関数max(α1L+α1H,α2L+α2H))が行なわれ、当該比較においてより大きな振幅を示す振動波形が合成振動波形として出力する。すなわち、上記合成モジュールは、左コントローラ用振動波形に含まれる第1の振幅(α1L)および第2の振幅(α1H)から算出される値(α1L+α1H)と、右コントローラ用振動波形に含まれる第1の振幅(α2L)および第2の振幅(α2H)から算出される値(α2L+α2H)とに基づいて、いずれかの振動波形を選択的に出力する。 Further, when the input vibration data is indicated by a combination of the vibration waveform of the high frequency band and the vibration waveform of the low frequency band, it is conceivable to collectively determine the high frequency side and the low frequency side. In FIG. 21, the synthesis module combines the amplitude α1L on the low frequency side and the amplitude α1H on the high frequency side of the vibration waveform for the left controller, and the amplitude α2L on the low frequency side and the amplitude on the high frequency side of the vibration waveform for the right controller. A comparison with the combined amplitude of α2H (that is, the function max (α1L + α1H, α2L + α2H)) is performed, and a vibration waveform showing a larger amplitude in the comparison is output as a combined vibration waveform. That is, the synthesis module has a value (α1L + α1H) calculated from the first amplitude (α1L) and the second amplitude (α1H) included in the vibration waveform for the left controller, and the first vibration waveform for the right controller. Any vibration waveform is selectively output based on the value (α2L + α2H) calculated from the amplitude (α2L) and the second amplitude (α2H) of.

このように、左コントローラ3を振動させるための複数の振動データおよび右コントローラ4を振動させるための複数の振動データが入力された場合に、左コントローラ3を振動させるための複数の振動データが示す振幅の合計と右コントローラ4を振動させるための複数の振動データが示す振幅の合計とに基づいて、所定期間毎に、振幅の合計が大きい方の複数の振動データが選択される。したがって、左コントローラ用振動波形および右コントローラ用振動波形のうち、全体として振幅がより大きなものが選択されるので、入力される振動波形全体の特徴を維持したまま、ユーザに対して振動刺激を与えることができる。 In this way, when a plurality of vibration data for vibrating the left controller 3 and a plurality of vibration data for vibrating the right controller 4 are input, the plurality of vibration data for vibrating the left controller 3 show. Based on the total amplitude and the total amplitude indicated by the plurality of vibration data for vibrating the right controller 4, a plurality of vibration data having the larger total amplitude is selected for each predetermined period. Therefore, among the vibration waveform for the left controller and the vibration waveform for the right controller, the one having a larger amplitude as a whole is selected, so that the vibration stimulus is given to the user while maintaining the characteristics of the entire input vibration waveform. be able to.

また、図21に示す選択方式においては、入力された振動パターンの振幅に対して周波数による重み付けをして評価するようにしてもよい。一般的に、人間は低周波側の振動に敏感であるので、例えば、高周波側の振幅より大きな重み係数(例えば、b>1)を低周波側の振幅に乗じるようにしてもよい。この場合。関数max(bXα1L+α1H,bXα2L+α2H)を利用して、いずれの振幅が大きいのかが判断されてもよい。 Further, in the selection method shown in FIG. 21, the amplitude of the input vibration pattern may be weighted by frequency for evaluation. In general, humans are sensitive to vibrations on the low frequency side, so for example, a weighting coefficient (for example, b> 1) larger than the amplitude on the high frequency side may be multiplied by the amplitude on the low frequency side. in this case. The function max (bXα1L + α1H, bXα2L + α2H) may be used to determine which amplitude is larger.

また、左コントローラ用振動波形の低周波側の周波数f1Lおよび右コントローラ用振動波形の低周波側の周波数f2Lの異同、および、左コントローラ用振動波形の高周波側の周波数f1Hおよび右コントローラ用振動波形の高周波側の周波数f2Hの異同については考慮せず、各振動波形の振幅のみを比較対象とするように構成してもよい。 Further, the difference between the low frequency side frequency f1L of the left controller vibration waveform and the low frequency side frequency f2L of the right controller vibration waveform, and the high frequency side frequency f1H of the left controller vibration waveform and the right controller vibration waveform. The difference in the frequency f2H on the high frequency side may not be considered, and only the amplitude of each vibration waveform may be used for comparison.

また、左コントローラ用振動波形および右コントローラ用振動波形に含まれる周波数成分から、各振幅の大きさに基づいて、所定数の周波数成分を選択するようにしてもよい。すなわち、左コントローラ用振動波形の低周波側の振幅α1L、左コントローラ用振動波形の高周波側の振幅α1H、右コントローラ用振動波形の低周波側の振幅α2L、および右コントローラ用振動波形の高周波側の振幅α2Hのうち大きなものから上位2つの周波数成分を抽出して、合成振動波形として出力するようにしてもよい。 Further, a predetermined number of frequency components may be selected from the frequency components included in the vibration waveform for the left controller and the vibration waveform for the right controller based on the magnitude of each amplitude. That is, the amplitude α1L on the low frequency side of the vibration waveform for the left controller, the amplitude α1H on the high frequency side of the vibration waveform for the left controller, the amplitude α2L on the low frequency side of the vibration waveform for the right controller, and the amplitude α2L on the high frequency side of the vibration waveform for the right controller. The upper two frequency components may be extracted from the one having the largest amplitude α2H and output as a synthetic vibration waveform.

また、上記選択方式において振動データを選択する際、当該振動データが示す振動波形の振幅とは異なるパラメータに基づいて選択する振動データを判定してもよい。例えば、振動データが示す振動波形の周波数に基づいて、所定時間毎に周波数の小さい方の振動波形を示す振動データを選択してもよい。 Further, when selecting vibration data in the above selection method, the vibration data to be selected may be determined based on a parameter different from the amplitude of the vibration waveform indicated by the vibration data. For example, based on the frequency of the vibration waveform indicated by the vibration data, the vibration data indicating the vibration waveform having the smaller frequency may be selected at predetermined time intervals.

図22に示すように、加算方式によって振動データを生成する場合、左コントローラ3を振動させるための振動データおよび右コントローラ4を振動させるための振動データについて、所定時間毎に振動波形を重ね合わせる。具体的には、左コントローラ3を振動させるための振動データおよび右コントローラ4を振動させるための振動データが入力された場合、左コントローラ3を振動させるための振動データが示す左コントローラ用振動波形と右コントローラ4を振動させるための振動データが示す右コントローラ用振動波形とを所定時間毎に重ね合わせて合成振動波形を生成して、当該合成振動波形を示す振動データを生成する。具体的には、所定周期毎に入力された振動波形の振幅を加算して合成振動波形を生成することが考えられ、この場合、左コントローラ用振動波形と右コントローラ用振動波形とが時間軸上で結合したものとなる。このように加算方式によって振動データを生成することによって、例えば図21に示すような同じような種類の振動が複数重なり合うことが頻繁に生じ得る状況において、当該振動を欠落させることなく互いに重なり合った振動をユーザに対して知覚させることができる。 As shown in FIG. 22, when the vibration data is generated by the addition method, the vibration waveforms of the vibration data for vibrating the left controller 3 and the vibration data for vibrating the right controller 4 are superimposed at predetermined time intervals. Specifically, when vibration data for vibrating the left controller 3 and vibration data for vibrating the right controller 4 are input, the vibration waveform for the left controller indicated by the vibration data for vibrating the left controller 3 A composite vibration waveform is generated by superimposing the vibration waveform for the right controller shown by the vibration data for vibrating the right controller 4 at predetermined time intervals, and the vibration data showing the composite vibration waveform is generated. Specifically, it is conceivable to generate a composite vibration waveform by adding the amplitudes of the vibration waveforms input at predetermined intervals. In this case, the vibration waveform for the left controller and the vibration waveform for the right controller are on the time axis. It becomes the one combined with. By generating vibration data by the addition method in this way, for example, in a situation where a plurality of vibrations of the same type as shown in FIG. 21 can frequently overlap, the vibrations overlap each other without being lost. Can be perceived by the user.

ここで、上記加算方式によって振動データを合成する場合、合成振動波形の周波数は、左コントローラ用振動波形の周波数と右コントローラ用振動波形の周波数とに基づいて算出される。第1の例として、入力した左コントローラ用振動波形および右コントローラ用振動波形のうち、振幅が最も大きい振動波形の周波数を採用する。第2の例として、入力した左コントローラ用振動波形の周波数と右コントローラ用振動波形の周波数との平均値を採用する。第3の例として、入力した左コントローラ用振動波形の周波数と右コントローラ用振動波形の周波数とにそれぞれの振幅による重み付け(例えば、振幅に応じた重み付け加重平均)をした上で、上記第1の例または上記第2の例による周波数の算出を行う。 Here, when the vibration data is synthesized by the above addition method, the frequency of the combined vibration waveform is calculated based on the frequency of the vibration waveform for the left controller and the frequency of the vibration waveform for the right controller. As a first example, the frequency of the vibration waveform having the largest amplitude among the input vibration waveforms for the left controller and the vibration waveform for the right controller is adopted. As the second example, the average value of the input frequency of the vibration waveform for the left controller and the frequency of the vibration waveform for the right controller is adopted. As a third example, the frequency of the input vibration waveform for the left controller and the frequency of the vibration waveform for the right controller are weighted by their respective amplitudes (for example, a weighted weighted average according to the amplitude), and then the first one is described above. The frequency is calculated according to the example or the second example above.

なお、上記加算方式によって振動データを合成する場合、所定周期毎に入力された振動波形の振幅を加算して合成振動波形を生成することが考えられるが、当該振動波形の振幅を平均して合成振動波形を生成してもよい。また、振動波形の振幅を平均して合成振動波形を生成する場合、各振動波形の周波数によって重み付けをした振幅を平均してもよい。 When synthesizing vibration data by the above addition method, it is conceivable to add the amplitudes of the vibration waveforms input at predetermined intervals to generate a combined vibration waveform, but the amplitudes of the vibration waveforms are averaged and combined. A vibration waveform may be generated. Further, when the combined vibration waveform is generated by averaging the amplitudes of the vibration waveforms, the amplitude weighted by the frequency of each vibration waveform may be averaged.

このように、横持ち操作方式によって左コントローラ3および右コントローラ4の一方を用いて操作する場合であっても、左コントローラ3および右コントローラ4の両方を用いて操作している場合に与えられる振動に基づいた振動が生成される。したがって、横持ち操作方式によって操作するユーザは、他の操作方式による振動と同じ振動データに基づいた振動を知覚することができ、操作方式による興趣性が損なわれることを防止することができる。 In this way, even when operating using either the left controller 3 or the right controller 4 by the horizontal holding operation method, the vibration given when operating using both the left controller 3 and the right controller 4 Vibrations based on are generated. Therefore, the user who operates by the horizontal holding operation method can perceive the vibration based on the same vibration data as the vibration by the other operation method, and it is possible to prevent the operation method from impairing the interest.

また、上述した説明では、1つのコントローラを振動させるための振動データを選択方式および加算方式によって生成する例を用いたが、他の方式を用いて当該振動データを生成してもかまわない。例えば、縦持ち操作方式や拡張グリップ操作方式において音と同期した振動が左コントローラ3および右コントローラ4にそれぞれ与えられる場合、横持ち操作方式では、当該音を合成した合成音に基づいた振動を左コントローラ3および右コントローラ4の一方に与えてもよい。具体的には、縦持ち操作方式や拡張グリップ操作方式の場合、仮想ゲーム世界における第1オブジェクトG1の移動に伴う音声(例えば、移動音、衝突音、破壊音等)を示す音声データに基づいて左コントローラ3を振動させるための振動データが生成され、仮想ゲーム世界における第2オブジェクトG2の移動に伴う音声(例えば、移動音、衝突音、破壊音等)を示す音声データに基づいて右コントローラ4を振動させるための振動データが生成される。この場合、横持ち操作方式では、第1オブジェクトG1の移動に伴う音声と第2オブジェクトG2の移動に伴う音声とを合成した合成音声データを生成し、当該合成音声データに基づいて左コントローラ3および右コントローラ4の一方を振動させるための振動データが生成される。 Further, in the above description, an example of generating vibration data for vibrating one controller by a selection method and an addition method is used, but the vibration data may be generated by using another method. For example, in the vertical holding operation method and the extended grip operation method, when vibration synchronized with the sound is given to the left controller 3 and the right controller 4, respectively, in the horizontal holding operation method, the vibration based on the synthesized sound obtained by synthesizing the sound is left. It may be given to one of the controller 3 and the right controller 4. Specifically, in the case of the vertical holding operation method or the extended grip operation method, based on the voice data indicating the sound (for example, movement sound, collision sound, destruction sound, etc.) accompanying the movement of the first object G1 in the virtual game world. Vibration data for vibrating the left controller 3 is generated, and the right controller 4 is based on the sound data indicating the sound (for example, moving sound, collision sound, destruction sound, etc.) accompanying the movement of the second object G2 in the virtual game world. Vibration data is generated to vibrate. In this case, in the horizontal holding operation method, synthetic voice data is generated by synthesizing the voice accompanying the movement of the first object G1 and the voice accompanying the movement of the second object G2, and the left controller 3 and the left controller 3 and the left controller 3 and the voice are based on the synthesized voice data. Vibration data for vibrating one of the right controllers 4 is generated.

次に、図23〜図27を参照して、本実施形態において情報処理システム1で実行される具体的な処理の一例について説明する。図23は、本実施形態において本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、図23に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。 Next, an example of a specific process executed by the information processing system 1 in the present embodiment will be described with reference to FIGS. 23 to 27. FIG. 23 is a diagram showing an example of a data area set in the DRAM 85 of the main unit 2 in the present embodiment. In addition to the data shown in FIG. 23, the DRAM 85 also stores data used in other processes, but detailed description thereof will be omitted.

DRAM85のプログラム記憶領域には、情報処理システム1で実行される各種プログラムPaが記憶される。本実施形態においては、各種プログラムPaは、上述した左コントローラ3および右コントローラ4との間で無線通信するための通信プログラムや、左コントローラ3および/または右コントローラ4から取得したデータに基づいた情報処理(例えば、ゲーム処理)を行うためのアプリケーションプログラム、左コントローラ3および/または右コントローラ4を振動させるための振動制御プログラム等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、情報処理システム1に着脱可能な記憶媒体(例えば、第1スロット23に装着された第1の種類の記憶媒体、第2スロット24に装着された第2の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。CPU81は、DRAM85に記憶された各種プログラムPaを実行する。 Various programs Pa executed by the information processing system 1 are stored in the program storage area of the DRAM 85. In the present embodiment, the various programs Pa are information based on a communication program for wireless communication with the left controller 3 and the right controller 4 described above, and data acquired from the left controller 3 and / or the right controller 4. An application program for performing processing (for example, game processing), a vibration control program for vibrating the left controller 3 and / or the right controller 4, and the like are stored. The various programs Pa may be stored in the flash memory 84 in advance, or a storage medium that can be attached to and detached from the information processing system 1 (for example, a first type of storage medium mounted in the first slot 23, the first type). It may be acquired from a second type of storage medium mounted in the two slots 24) and stored in the DRAM 85, or may be acquired from another device via a network such as the Internet and stored in the DRAM 85. The CPU 81 executes various programs Pa stored in the DRAM 85.

また、DRAM85のデータ記憶領域には、情報処理システム1において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、DRAM85には、操作データDa、姿勢データDb、角速度データDc、加速度データDd、操作方式データDe、左コントローラ振動データDf、右コントローラ振動データDg、合成振動データDh、操作対応テーブルデータDi、プレイヤオブジェクト位置データDj、敵オブジェクト位置データDk、および画像データDm等が記憶される。 Further, in the data storage area of the DRAM 85, various data used in processing such as communication processing and information processing executed in the information processing system 1 are stored. In the present embodiment, the DRAM 85 includes operation data Da, attitude data Db, angular velocity data Dc, acceleration data Dd, operation method data De, left controller vibration data Df, right controller vibration data Dg, synthetic vibration data Dh, and operation support. Table data Di, player object position data Dj, enemy object position data Dk, image data Dm, and the like are stored.

操作データDaは、左コントローラ3および/または右コントローラ4からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および/または右コントローラ4からそれぞれ送信される操作データには、各入力部(具体的には、各ボタン、アナログスティック、各センサ)からの入力に関する情報(具体的には、操作に関する情報、または、センサによる検出結果)が含まれている。本実施形態では、無線通信によって左コントローラ3および/または右コントローラ4からそれぞれ所定周期で操作データが送信されており、当該受信した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述する情報処理システム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。 The operation data Da is operation data appropriately acquired from the left controller 3 and / or the right controller 4, respectively. As described above, the operation data transmitted from the left controller 3 and / or the right controller 4, respectively, includes information (specifically, information regarding input from each input unit (specifically, each button, analog stick, each sensor)). Contains information about the operation or detection results by the sensor). In the present embodiment, operation data is transmitted from the left controller 3 and / or the right controller 4 at predetermined cycles by wireless communication, and the operation data Da is appropriately updated using the received operation data. The update cycle of the operation data Da may be updated for each frame, which is the cycle of processing executed by the information processing system 1 described later, or for each cycle in which the operation data is transmitted by the wireless communication. May be done.

姿勢データDbは、実空間における重力加速度の方向を基準とした左コントローラ3および右コントローラ4それぞれの姿勢を示すデータである。例えば、姿勢データDbは、左コントローラ3および右コントローラ4それぞれに作用している重力加速度の方向を示すデータや、当該重力加速度方向に対するxyz軸方向を示すデータ等を含んでいる。 The posture data Db is data indicating the postures of the left controller 3 and the right controller 4 with respect to the direction of gravitational acceleration in the real space. For example, the attitude data Db includes data indicating the direction of the gravitational acceleration acting on each of the left controller 3 and the right controller 4, data indicating the xyz axis direction with respect to the gravitational acceleration direction, and the like.

角速度データDcは、左コントローラ3および右コントローラ4それぞれに生じている角速度を示すデータである。例えば、角速度データDcは、左コントローラ3および右コントローラ4それぞれに生じているxyz軸周りの角速度を示すデータ等を含んでいる。 The angular velocity data Dc is data indicating the angular velocities generated in each of the left controller 3 and the right controller 4. For example, the angular velocity data Dc includes data indicating the angular velocity around the xyz axis generated in each of the left controller 3 and the right controller 4.

加速度データDdは、左コントローラ3および右コントローラ4それぞれに生じている加速度を示すデータである。例えば、加速度データDdは、左コントローラ3および右コントローラ4それぞれに生じている重力加速度を除いて、xyz軸方向に生じている加速度を示すデータ等を含んでいる。 The acceleration data Dd is data indicating the acceleration generated in each of the left controller 3 and the right controller 4. For example, the acceleration data Dd includes data indicating the acceleration generated in the xyz axis direction, excluding the gravitational acceleration generated in each of the left controller 3 and the right controller 4.

操作方式データDeは、ユーザによって選択されて設定された操作方式(例えば、縦持ち操作方式、拡張グリップ操作方式、横持ち操作方式)を示すデータである。 The operation method data De is data indicating an operation method (for example, a vertical holding operation method, an extended grip operation method, a horizontal holding operation method) selected and set by the user.

左コントローラ振動データDfは、左コントローラ3を振動させるための振動を示すデータである。右コントローラ振動データDgは、右コントローラ4を振動させるための振動を示すデータである。合成振動データDhは、横持ち操作方式が設定されている場合に左コントローラ3および右コントローラ4の一方を振動させるための振動を示すデータである。 The left controller vibration data Df is data indicating vibration for vibrating the left controller 3. The right controller vibration data Dg is data indicating vibration for vibrating the right controller 4. The synthetic vibration data Dh is data indicating vibration for vibrating one of the left controller 3 and the right controller 4 when the horizontal holding operation method is set.

操作対応テーブルデータDiは、操作に対応して行われる指示内容が操作方式毎に記述された操作対応テーブル(図19参照)を示すデータである。 The operation-corresponding table data Di is data indicating an operation-corresponding table (see FIG. 19) in which the instruction contents to be performed in response to the operation are described for each operation method.

プレイヤオブジェクト位置データDjは、第1オブジェクトG1、第2オブジェクトG2、およびプレイヤオブジェクトPOの仮想空間における位置および方向(移動方向)をそれぞれ示すデータである。敵オブジェクト位置データDkは、敵オブジェクトEOの仮想空間における位置および方向を示すデータや当該敵オブジェクトEOから放たれるオブジェクト(例えば、左グラブ(左拳)および右グラブ(右拳)を模したオブジェクト)の仮想空間における位置および方向を示すデータである。 The player object position data Dj is data indicating the positions and directions (movement directions) of the first object G1, the second object G2, and the player object PO in the virtual space, respectively. The enemy object position data Dk is data indicating the position and direction of the enemy object EO in the virtual space, or an object that imitates an object released from the enemy object EO (for example, a left grab (left fist) and a right grab (right fist)). ) Is data indicating the position and direction in the virtual space.

画像データDmは、ゲームの際に本体装置2のディスプレイ12や据置型モニタ6の表示画面に画像(例えば、仮想オブジェクトの画像、フィールド画像、背景画像)を表示するためのデータである。 The image data Dm is data for displaying an image (for example, an image of a virtual object, a field image, a background image) on the display screen of the display 12 of the main body device 2 or the display screen of the stationary monitor 6 during a game.

次に、図24〜図27を参照して、本実施形態における情報処理(ゲーム処理)の詳細な一例を説明する。図24は、情報処理システム1で実行されるゲーム処理の一例を示すフローチャートである。図25は、図24におけるステップS146において行われる縦持ちゲーム処理の詳細の一例を示すサブルーチンである。図26は、図24におけるステップS148において行われる拡張グリップゲーム処理の詳細の一例を示すサブルーチンである。図27は、図24におけるステップS149において行われる横持ちゲーム処理の詳細の一例を示すサブルーチンである。本実施形態においては、図24〜図27に示す一連の処理は、CPU81が各種プログラムPaに含まれる通信プログラムや所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、図24〜図27に示すゲーム処理が開始されるタイミングは任意である。 Next, a detailed example of information processing (game processing) in the present embodiment will be described with reference to FIGS. 24 to 27. FIG. 24 is a flowchart showing an example of a game process executed by the information processing system 1. FIG. 25 is a subroutine showing an example of details of the vertical holding game processing performed in step S146 in FIG. 24. FIG. 26 is a subroutine showing a detailed example of the extended grip game processing performed in step S148 in FIG. 24. FIG. 27 is a subroutine showing a detailed example of the horizontal holding game processing performed in step S149 in FIG. 24. In the present embodiment, the series of processes shown in FIGS. 24 to 27 is performed by the CPU 81 executing a communication program or a predetermined application program (game program) included in various programs Pa. Further, the timing at which the game processing shown in FIGS. 24 to 27 is started is arbitrary.

なお、図24〜図27に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPU81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、図24〜図27に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。 The processing of each step in the flowcharts shown in FIGS. 24 to 27 is merely an example, and if the same result can be obtained, the processing order of each step may be changed, or the processing of each step may be used. In addition (or instead) another process may be performed. Further, in the present embodiment, the processing of each step of the above flowchart will be described as being executed by the CPU 81, but the processing of some steps in the above flowchart may be executed by a processor other than the CPU 81 or a dedicated circuit. Good. Further, a part of the processing executed by the main body device 2 may be executed by another information processing device capable of communicating with the main body device 2 (for example, a server capable of communicating with the main body device 2 via a network). That is, each process shown in FIGS. 24 to 27 may be executed by the cooperation of a plurality of information processing devices including the main device 2.

図24において、CPU81は、ゲーム処理における初期設定を行い(ステップS141)、次のステップに処理を進める。例えば、上記初期設定では、CPU81は、以下に説明する処理を行うためのパラメータを初期化する。また、上記初期設定では、CPU81は、ゲームプレイを行うためのゲームフィールドを設定し、当該ゲームフィールド上のプレイヤオブジェクトPOや敵オブジェクトEOの初期位置を設定してプレイヤオブジェクト位置データDjおよび敵オブジェクト位置データDkを更新する。また、CPU81は、第1オブジェクトG1および第2オブジェクトG2の移動方向をデフォルト値(例えば、正面方向)に初期設定してプレイヤオブジェクト位置データDjを更新する。 In FIG. 24, the CPU 81 performs initial settings in game processing (step S141), and proceeds to the next step. For example, in the above initial setting, the CPU 81 initializes the parameters for performing the processing described below. Further, in the above initial setting, the CPU 81 sets a game field for performing game play, sets the initial positions of the player object PO and the enemy object EO on the game field, and sets the player object position data Dj and the enemy object position. Update the data Dk. Further, the CPU 81 updates the player object position data Dj by initializing the moving directions of the first object G1 and the second object G2 to default values (for example, the front direction).

次に、CPU81は、左コントローラ3および/または右コントローラ4から操作データを取得して操作データDaを更新し(ステップS142)、次のステップに処理を進める。 Next, the CPU 81 acquires operation data from the left controller 3 and / or the right controller 4 to update the operation data Da (step S142), and proceeds to the next step.

次に、CPU81は、ユーザによって操作方式が選択されたか否かを判定する(ステップS143)。そして、CPU81は、操作方式が選択された場合、ステップS144に処理を進める。一方、CPU81は、操作方式が選択されていない場合、上記ステップS142の処理を繰り返してユーザによって操作方式が選択されるのを待つ。 Next, the CPU 81 determines whether or not the operation method has been selected by the user (step S143). Then, when the operation method is selected, the CPU 81 proceeds to the process in step S144. On the other hand, when the operation method is not selected, the CPU 81 repeats the process of step S142 and waits for the user to select the operation method.

上記ステップS143の処理において、CPU81は、一例として、上記ステップS142において取得した操作データが、複数の操作方式それぞれに設定されている固有の操作のいずれかに該当する場合、操作方式が選択されたと判定する。例えば、CPU81は、左コントローラ3の第1Lボタン38と右コントローラ4の第1Rボタン60とが同時に押下される操作が行われた場合、縦持ち操作方式が選択されたと判定する。また、CPU81は、左コントローラ3のZLボタン39と右コントローラ4のZRボタン61とが同時に押下される操作が行われた場合、拡張グリップ操作方式が選択されたと判定する。また、CPU81は、左コントローラ3の第2Lボタン43と第2Rボタン44とが同時に押下される操作が行われた場合、左コントローラ3を用いた横持ち操作方式が選択されたと判定し、右コントローラ4の第2Lボタン65と第2Rボタン66とが同時に押下される操作が行われた場合、右コントローラ4を用いた横持ち操作方式が選択されたと判定する。 In the process of step S143, as an example, the CPU 81 determines that the operation method is selected when the operation data acquired in step S142 corresponds to any of the unique operations set for each of the plurality of operation methods. judge. For example, when the operation of pressing the first L button 38 of the left controller 3 and the first R button 60 of the right controller 4 at the same time is performed, the CPU 81 determines that the vertical holding operation method is selected. Further, when the ZL button 39 of the left controller 3 and the ZR button 61 of the right controller 4 are pressed at the same time, the CPU 81 determines that the extended grip operation method is selected. Further, the CPU 81 determines that the horizontal holding operation method using the left controller 3 is selected when the second L button 43 and the second R button 44 of the left controller 3 are pressed at the same time, and the right controller When the second L button 65 and the second R button 66 of No. 4 are pressed at the same time, it is determined that the horizontal holding operation method using the right controller 4 is selected.

他の例として、CPU81は、本体装置2のディスプレイ12や据置型モニタ6の表示画面に操作方式の選択を促す選択肢を表示し、上記ステップS142において取得した操作データがいずれかの選択肢を選択する操作を示す場合、操作方式が選択されたと判定する。例えば、CPU81は、本体装置2のディスプレイ12や据置型モニタ6の表示画面に、縦持ち操作方式、拡張グリップ操作方式、および横持ち操作方式をそれぞれ選択する選択肢を表示して、何れかの選択肢の選択をユーザに促す。 As another example, the CPU 81 displays options prompting the selection of the operation method on the display 12 of the main unit 2 and the display screen of the stationary monitor 6, and the operation data acquired in step S142 selects one of the options. When indicating an operation, it is determined that the operation method has been selected. For example, the CPU 81 displays options for selecting the vertical holding operation method, the extended grip operation method, and the horizontal holding operation method on the display 12 of the main unit 2 and the display screen of the stationary monitor 6, and any of the options. Prompt the user to select.

ステップS144において、CPU81は、操作方式を設定し、次のステップに処理を進める。例えば、CPU81は、上記ステップS143において選択された操作方式を示すデータを用いて、操作方式データDeを更新する。 In step S144, the CPU 81 sets the operation method and proceeds to the next step. For example, the CPU 81 updates the operation method data De using the data indicating the operation method selected in step S143.

次に、CPU81は、縦持ち操作方式が選択されているか否かを判定する(ステップS145)。そして、CPU81は、縦持ち操作方式が選択されている場合、ステップS146に処理を進める。一方、CPU81は、縦持ち操作方式が選択されていない場合、ステップS147に処理を進める。 Next, the CPU 81 determines whether or not the vertical holding operation method is selected (step S145). Then, when the vertical holding operation method is selected, the CPU 81 proceeds to the process in step S146. On the other hand, when the vertical holding operation method is not selected, the CPU 81 proceeds to step S147.

ステップS146において、CPU81は、縦持ち操作方式によるゲーム処理を行い、ステップS150に処理を進める。以下、図25を参照して、縦持ち操作方式によるゲーム処理について説明する。 In step S146, the CPU 81 performs game processing by the vertical holding operation method, and proceeds to step S150. Hereinafter, the game processing by the vertical holding operation method will be described with reference to FIG. 25.

図25において、CPU81は、左コントローラ3および右コントローラ4から操作データを取得して操作データDaを更新し(ステップS161)、次のステップに処理を進める。 In FIG. 25, the CPU 81 acquires operation data from the left controller 3 and the right controller 4 to update the operation data Da (step S161), and proceeds to the next step.

次に、CPU81は、左コントローラ3および右コントローラ4それぞれの姿勢、角速度、加速度を算出し(ステップS162)、次のステップに処理を進める。例えば、CPU81は、左コントローラ3および右コントローラ4それぞれに生じている加速度を示すデータを操作データDaから取得し、左コントローラ3および右コントローラ4それぞれに作用している重力加速度の方向を算出して、当該方向を示すデータを用いて姿勢データDbを更新する。重力加速度を抽出する方法については任意の方法を用いればよく、例えば左コントローラ3および右コントローラ4それぞれに平均的に生じている加速度成分を算出して当該加速度成分を重力加速度として抽出してもよい。そして、CPU81は、左コントローラ3に対して算出された重力加速度の方向を基準とした左コントローラ3のxyz軸方向を左コントローラ3の姿勢として算出し、当該姿勢を示すデータを用いて姿勢データDbを更新する。また、CPU81は、右コントローラ4に対して算出された重力加速度の方向を基準とした右コントローラ4のxyz軸方向を右コントローラ4の姿勢として算出し、当該姿勢を示すデータを用いて姿勢データDbを更新する。また、CPU81は、左コントローラ3および右コントローラ4それぞれに生じている角速度を示すデータを操作データDaから取得し、左コントローラ3および右コントローラ4それぞれのxyz軸周りの角速度を算出して、当該角速度を示すデータを用いて角速度データDcを更新する。さらに、CPU81は、左コントローラ3および右コントローラ4それぞれに生じている加速度を示すデータを操作データDaから取得し、左コントローラ3および右コントローラ4それぞれに生じているxyz軸方向の加速度から上記重力加速度成分を除去して、当該除去後の加速度を示すデータを用いて加速度データDdを更新する。 Next, the CPU 81 calculates the posture, angular velocity, and acceleration of each of the left controller 3 and the right controller 4 (step S162), and proceeds to the next step. For example, the CPU 81 acquires data indicating the acceleration generated in each of the left controller 3 and the right controller 4 from the operation data Da, and calculates the direction of the gravitational acceleration acting on each of the left controller 3 and the right controller 4. , The posture data Db is updated using the data indicating the direction. Any method may be used for extracting the gravitational acceleration. For example, the acceleration component generated on average in each of the left controller 3 and the right controller 4 may be calculated and the acceleration component may be extracted as the gravitational acceleration. .. Then, the CPU 81 calculates the xyz-axis direction of the left controller 3 with reference to the direction of the gravitational acceleration calculated with respect to the left controller 3 as the posture of the left controller 3, and uses the data indicating the posture to perform the posture data Db. To update. Further, the CPU 81 calculates the xyz-axis direction of the right controller 4 with reference to the direction of the gravitational acceleration calculated with respect to the right controller 4 as the posture of the right controller 4, and uses the data indicating the posture to perform the posture data Db. To update. Further, the CPU 81 acquires data indicating the angular velocities generated in each of the left controller 3 and the right controller 4 from the operation data Da, calculates the angular velocities around the xyz axis of each of the left controller 3 and the right controller 4, and obtains the angular velocities. The angular velocity data Dc is updated using the data indicating. Further, the CPU 81 acquires data indicating the acceleration generated in each of the left controller 3 and the right controller 4 from the operation data Da, and the gravity acceleration is obtained from the acceleration in the xyz axis direction generated in each of the left controller 3 and the right controller 4. The component is removed, and the acceleration data Dd is updated with the data indicating the acceleration after the removal.

なお、左コントローラ3や右コントローラ4の姿勢については、重力加速度を基準としたxyz軸方向が算出された以降は、xyz各軸周りの角速度のみに応じて更新してもよい。しかしながら、左コントローラ3や右コントローラ4の姿勢と重力加速度の方向との関係が誤差の累積によってずれていくことを防止するために、所定周期毎に重力加速度の方向に対するxyz軸方向を算出して左コントローラ3や右コントローラ4の姿勢を修正してもよい。 The postures of the left controller 3 and the right controller 4 may be updated according to only the angular velocity around each xyz axis after the xyz axis direction is calculated based on the gravitational acceleration. However, in order to prevent the relationship between the postures of the left controller 3 and the right controller 4 and the direction of the gravitational acceleration from shifting due to the accumulation of errors, the xyz axis direction with respect to the direction of the gravitational acceleration is calculated every predetermined cycle. The postures of the left controller 3 and the right controller 4 may be modified.

次に、CPU81は、左コントローラ振り認識処理を行い(ステップS163)、次のステップに処理を進める。例えば、CPU81は、加速度データDdを参照して、現時点において左コントローラ3に生じているxy加速度の大きさが左コントローラ3の振り判定をするための閾値より大きい場合、左コントローラ3が振り動かされたと判定する。ここで、xy加速度は、左コントローラ3に生じている加速度のうち、z軸方向成分(つまり、図11〜図16を用いて説明した縦持ち操作方式による操作において、左コントローラ3の横方向成分)を除いた加速度である。 Next, the CPU 81 performs a left controller swing recognition process (step S163), and proceeds to the next step. For example, the CPU 81 refers to the acceleration data Dd, and when the magnitude of the xy acceleration currently occurring in the left controller 3 is larger than the threshold value for determining the swing of the left controller 3, the left controller 3 is swung. Judged as Here, the xy acceleration is a z-axis direction component (that is, a horizontal component of the left controller 3 in the operation by the vertical holding operation method described with reference to FIGS. 11 to 16) among the accelerations generated in the left controller 3. ) Is excluded.

次に、CPU81は、右コントローラ振り認識処理を行い(ステップS164)、次のステップに処理を進める。例えば、CPU81は、加速度データDdを参照して、現時点において右コントローラ4に生じているxy加速度の大きさが右コントローラ4の振り判定をするための閾値より大きい場合、右コントローラ4が振り動かされたと判定する。ここで、xy加速度は、右コントローラ4に生じている加速度のうち、z軸方向成分(つまり、図11〜図16を用いて説明した縦持ち操作方式による操作において、右コントローラ4の横方向成分)を除いた加速度である。 Next, the CPU 81 performs a right controller swing recognition process (step S164), and proceeds to the next step. For example, the CPU 81 refers to the acceleration data Dd, and when the magnitude of the xy acceleration currently occurring in the right controller 4 is larger than the threshold value for determining the swing of the right controller 4, the right controller 4 is swung. Judged as Here, the xy acceleration is a z-axis direction component (that is, a horizontal component of the right controller 4 in the operation by the vertical holding operation method described with reference to FIGS. 11 to 16) among the accelerations generated in the right controller 4. ) Is excluded.

次に、CPU81は、第1オブジェクト動作処理を行い(ステップS165)、次のステップに処理を進める。例えば、CPU81は、上記ステップS163において左コントローラ3が振り動かされたと判定されたことに応じて、移動開始位置からの第1オブジェクトG1の移動を開始し、重力加速度の方向に対する左コントローラ3のz軸方向の傾きに応じて、第1オブジェクトG1の移動方向を変化させる。具体的には、CPU81は、姿勢データDbを参照して左コントローラ3の姿勢を取得し、重力加速度の方向に対する当該左コントローラ3のz軸方向の傾きを算出する。さらに、CPU81は、重力加速度の方向周りの左コントローラ3の角速度に応じて、第1オブジェクトG1の移動方向を変化させる。具体的には、CPU81は、角速度データDcを参照して左コントローラ3に生じているxyz軸周りの角速度を取得し、当該角速度に基づいて重力加速度方向周りの左コントローラ3の角速度を算出する。そして、CPU81は、第1オブジェクトG1の移動方向および移動アルゴリズムに基づいて、移動開始位置に戻るまで第1オブジェクトG1の移動を継続する。例えば、CPU81は、プレイヤオブジェクト位置データDjを参照して第1オブジェクトG1の位置および移動方向を取得し、当該第1オブジェクトG1の位置から当該移動方向および移動アルゴリズムに基づいて第1オブジェクトG1を移動させ、当該移動後の第1オブジェクトG1の位置を用いてプレイヤオブジェクト位置データDjを更新する。なお、第1オブジェクトG1が移動開始位置に戻る仮想空間内の復路を移動している場合、現在の第1オブジェクトG1の位置から移動開始位置に戻る方向に移動方向を固定して設定してもよい。また、第1オブジェクトG1が他のオブジェクトと衝突した場合、当該衝突状況に応じた位置に第1オブジェクトG1の位置が設定される。また、プレイヤオブジェクトPOが左パンチを繰り出す動作をしていない場合、プレイヤオブジェクトPOの位置に基づいた移動開始位置に第1オブジェクトG1の位置が設定される。 Next, the CPU 81 performs the first object operation process (step S165), and proceeds to the next step. For example, the CPU 81 starts moving the first object G1 from the movement start position in response to the determination that the left controller 3 has been swung in step S163, and z of the left controller 3 with respect to the direction of gravitational acceleration. The moving direction of the first object G1 is changed according to the inclination in the axial direction. Specifically, the CPU 81 acquires the posture of the left controller 3 with reference to the posture data Db, and calculates the inclination of the left controller 3 in the z-axis direction with respect to the direction of gravitational acceleration. Further, the CPU 81 changes the moving direction of the first object G1 according to the angular velocity of the left controller 3 around the direction of gravitational acceleration. Specifically, the CPU 81 acquires the angular velocity around the xyz axis generated in the left controller 3 with reference to the angular velocity data Dc, and calculates the angular velocity of the left controller 3 around the gravitational acceleration direction based on the angular velocity. Then, the CPU 81 continues the movement of the first object G1 until it returns to the movement start position based on the movement direction of the first object G1 and the movement algorithm. For example, the CPU 81 acquires the position and the moving direction of the first object G1 with reference to the player object position data Dj, and moves the first object G1 from the position of the first object G1 based on the moving direction and the moving algorithm. The player object position data Dj is updated using the position of the first object G1 after the movement. When the first object G1 is moving on the return path in the virtual space that returns to the movement start position, even if the movement direction is fixed and set in the direction of returning from the current position of the first object G1 to the movement start position. Good. When the first object G1 collides with another object, the position of the first object G1 is set at a position corresponding to the collision situation. Further, when the player object PO does not perform the left punching operation, the position of the first object G1 is set at the movement start position based on the position of the player object PO.

次に、CPU81は、第2オブジェクト動作処理を行い(ステップS166)、次のステップに処理を進める。例えば、CPU81は、上記ステップS164において右コントローラ4が振り動かされたと判定されたことに応じて、移動開始位置からの第2オブジェクトG2の移動を開始し、重力加速度の方向に対する右コントローラ4のz軸方向の傾きに応じて、第2オブジェクトG2の移動方向を変化させる。具体的には、CPU81は、姿勢データDbを参照して右コントローラ4の姿勢を取得し、重力加速度の方向に対する当該右コントローラ4のz軸方向の傾きを算出する。さらに、CPU81は、重力加速度の方向周りの右コントローラ4の角速度に応じて、第2オブジェクトG2の移動方向を変化させる。具体的には、CPU81は、角速度データDcを参照して右コントローラ4に生じているxyz軸周りの角速度を取得し、当該角速度に基づいて重力加速度方向周りの右コントローラ4の角速度を算出する。そして、CPU81は、第2オブジェクトG2の移動方向および移動アルゴリズムに基づいて、移動開始位置に戻るまで第2オブジェクトG2の移動を継続する。例えば、CPU81は、プレイヤオブジェクト位置データDjを参照して第2オブジェクトG2の位置および移動方向を取得し、当該第2オブジェクトG2の位置から当該移動方向および移動アルゴリズムに基づいて第2オブジェクトG2を移動させ、当該移動後の第2オブジェクトG2の位置を用いてプレイヤオブジェクト位置データDjを更新する。なお、第2オブジェクトG2が移動開始位置に戻る仮想空間内の復路を移動している場合、現在の第2オブジェクトG2の位置から移動開始位置に戻る方向に移動方向を固定して設定してもよい。また、第2オブジェクトG2が他のオブジェクトと衝突した場合、当該衝突状況に応じた位置に第2オブジェクトG2の位置が設定される。また、プレイヤオブジェクトPOが右パンチを繰り出す動作をしていない場合、プレイヤオブジェクトPOの位置に基づいた移動開始位置に第2オブジェクトG2の位置が設定される。 Next, the CPU 81 performs a second object operation process (step S166), and proceeds to the next step. For example, the CPU 81 starts moving the second object G2 from the movement start position in response to the determination that the right controller 4 has been swung in step S164, and z of the right controller 4 with respect to the direction of gravitational acceleration. The moving direction of the second object G2 is changed according to the inclination in the axial direction. Specifically, the CPU 81 acquires the posture of the right controller 4 with reference to the posture data Db, and calculates the inclination of the right controller 4 in the z-axis direction with respect to the direction of gravitational acceleration. Further, the CPU 81 changes the moving direction of the second object G2 according to the angular velocity of the right controller 4 around the direction of gravitational acceleration. Specifically, the CPU 81 acquires the angular velocity around the xyz axis generated in the right controller 4 with reference to the angular velocity data Dc, and calculates the angular velocity of the right controller 4 around the gravitational acceleration direction based on the angular velocity. Then, the CPU 81 continues the movement of the second object G2 until it returns to the movement start position based on the movement direction of the second object G2 and the movement algorithm. For example, the CPU 81 acquires the position and the moving direction of the second object G2 with reference to the player object position data Dj, and moves the second object G2 from the position of the second object G2 based on the moving direction and the moving algorithm. Then, the player object position data Dj is updated using the position of the second object G2 after the movement. When the second object G2 is moving on the return path in the virtual space that returns to the movement start position, even if the movement direction is fixed and set in the direction of returning from the current position of the second object G2 to the movement start position. Good. When the second object G2 collides with another object, the position of the second object G2 is set at a position corresponding to the collision situation. Further, when the player object PO does not perform the right punching operation, the position of the second object G2 is set at the movement start position based on the position of the player object PO.

次に、CPU81は、プレイヤオブジェクト動作処理を行い(ステップS167)、次のステップに処理を進める。例えば、CPU81は、操作対応テーブルデータDiが示す操作対応テーブルの記述に基づいて、上記ステップS161において取得した操作データが示す指示内容を設定し、当該指示内容に応じてプレイヤオブジェクトPOを動作させて、プレイヤオブジェクト位置データDjを更新する。すなわち、CPU81は、姿勢データDbを参照して、左コントローラ3および右コントローラ4の両方が左に傾けられている場合、当該傾斜角度に応じた移動速度でプレイヤオブジェクトPOを左に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、姿勢データDbを参照して、左コントローラ3および右コントローラ4の両方が右に傾けられている場合、当該傾斜角度に応じた移動速度でプレイヤオブジェクトPOを右に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、姿勢データDbを参照して、左コントローラ3および右コントローラ4の両方が前方に傾けられている場合、当該傾斜角度に応じた移動速度でプレイヤオブジェクトPOを前方に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、姿勢データDbを参照して、左コントローラ3および右コントローラ4の両方が後方に傾けられている場合、当該傾斜角度に応じた移動速度でプレイヤオブジェクトPOを後方に移動させて、プレイヤオブジェクト位置データDjを更新する。そして、CPU81は、姿勢データDbを参照して、左コントローラ3および右コントローラ4の両方が内側に傾けられている場合、第1オブジェクトG1および第2オブジェクトG2が移動開始位置に配置されていれば、プレイヤオブジェクトPOに防御動作させる。また、操作データDaを参照して、第1Lボタン38が押下されている場合、プレイヤオブジェクトPOをダッシュで移動させて、プレイヤオブジェクト位置データDjを更新する。また、操作データDaを参照して、第1Rボタン60が押下されている場合、プレイヤオブジェクトPOをジャンプさせて、プレイヤオブジェクト位置データDjを更新する。 Next, the CPU 81 performs a player object operation process (step S167), and proceeds to the next step. For example, the CPU 81 sets the instruction content indicated by the operation data acquired in step S161 based on the description of the operation correspondence table indicated by the operation correspondence table data Di, and operates the player object PO according to the instruction content. , Update the player object position data Dj. That is, when both the left controller 3 and the right controller 4 are tilted to the left with reference to the posture data Db, the CPU 81 moves the player object PO to the left at a moving speed corresponding to the tilt angle. The player object position data Dj is updated. With reference to the posture data Db, the CPU 81 moves the player object PO to the right at a moving speed corresponding to the tilt angle when both the left controller 3 and the right controller 4 are tilted to the right, and the player object The position data Dj is updated. With reference to the posture data Db, the CPU 81 moves the player object PO forward at a moving speed corresponding to the tilt angle when both the left controller 3 and the right controller 4 are tilted forward, and the player object The position data Dj is updated. With reference to the posture data Db, the CPU 81 moves the player object PO backward at a moving speed corresponding to the tilt angle when both the left controller 3 and the right controller 4 are tilted backward, and the player object The position data Dj is updated. Then, the CPU 81 refers to the posture data Db, and when both the left controller 3 and the right controller 4 are tilted inward, if the first object G1 and the second object G2 are arranged at the movement start positions. , Make the player object PO perform a defensive action. Further, referring to the operation data Da, when the first L button 38 is pressed, the player object PO is moved by a dash to update the player object position data Dj. Further, referring to the operation data Da, when the first R button 60 is pressed, the player object PO is jumped and the player object position data Dj is updated.

次に、CPU81は、左コントローラ3を振動させるための振動データを生成する処理を行い(ステップS168)、次のステップに処理を進める。例えば、CPU81は、第1オブジェクトG1の種類、移動速度、移動方向、衝突状況等に応じた振動波形を生成し、振動波形に基づいて左コントローラ3を振動させるための振動データを生成して、左コントローラ振動データDfを更新する。なお、CPU81は、第1オブジェクトG1の移動速度や移動方向が変化した場合や他のオブジェクトとの衝突が生じた時点において、当該変化や衝撃度に応じて左コントローラ3を振動させるため振幅や周波数を変化させてもかまわない。また、CPU81は、第1オブジェクトG1以外の仮想ゲーム世界の状況に応じた振動を、上記振動波形に加えてもかまわない。例えば、プレイヤオブジェクトPOの動作やプレイヤオブジェクトPOに与えられた衝撃に応じた振動、ゲームフィールドの状況に応じた振動、BGMや効果音に応じた振動等を、上記振動波形に加えてもかまわない。 Next, the CPU 81 performs a process of generating vibration data for vibrating the left controller 3 (step S168), and proceeds to the next step. For example, the CPU 81 generates a vibration waveform according to the type, moving speed, moving direction, collision situation, etc. of the first object G1, and generates vibration data for vibrating the left controller 3 based on the vibration waveform. The left controller vibration data Df is updated. The CPU 81 vibrates the left controller 3 according to the change and the degree of impact when the moving speed or moving direction of the first object G1 changes or when a collision with another object occurs, so that the amplitude and frequency are increased. May be changed. Further, the CPU 81 may add vibration according to the situation in the virtual game world other than the first object G1 to the vibration waveform. For example, vibration according to the operation of the player object PO or the impact given to the player object PO, vibration according to the situation of the game field, vibration according to BGM or sound effect, etc. may be added to the vibration waveform. ..

次に、CPU81は、右コントローラ4を振動させるための振動データを生成する処理を行い(ステップS169)、次のステップに処理を進める。例えば、CPU81は、第2オブジェクトG2の種類、移動速度、移動方向、衝突状況等に応じた振動波形を生成し、振動波形に基づいて右コントローラ4を振動させるための振動データを生成して、右コントローラ振動データDgを更新する。なお、CPU81は、第2オブジェクトG2の移動速度や移動方向が変化した場合や他のオブジェクトとの衝突が生じた時点において、当該変化や衝撃度に応じて右コントローラ4を振動させるため振幅や周波数を変化させてもかまわない。また、CPU81は、第2オブジェクトG2以外の仮想ゲーム世界の状況に応じた振動を、上記振動波形に加えてもかまわない。例えば、プレイヤオブジェクトPOの動作やプレイヤオブジェクトPOに与えられた衝撃に応じた振動、ゲームフィールドの状況に応じた振動、BGMや効果音に応じた振動等を、上記振動波形に加えてもかまわない。 Next, the CPU 81 performs a process of generating vibration data for vibrating the right controller 4 (step S169), and proceeds to the next step. For example, the CPU 81 generates a vibration waveform according to the type, moving speed, moving direction, collision situation, etc. of the second object G2, and generates vibration data for vibrating the right controller 4 based on the vibration waveform. The right controller vibration data Dg is updated. The CPU 81 vibrates the right controller 4 according to the change and the degree of impact when the moving speed or moving direction of the second object G2 changes or when a collision with another object occurs, so that the amplitude and frequency are increased. May be changed. Further, the CPU 81 may add vibration according to the situation in the virtual game world other than the second object G2 to the vibration waveform. For example, vibration according to the operation of the player object PO or the impact given to the player object PO, vibration according to the situation of the game field, vibration according to BGM or sound effect, etc. may be added to the vibration waveform. ..

次に、CPU81は、振動データを送信する周期毎に当該周期に対応する振動データを左コントローラ3および右コントローラ4へ送信する処理を行い(ステップS170)、当該サブルーチンによる処理を終了する。例えば、CPU81は、左コントローラ振動データDfを参照して、上記送信周期に対応する振動長さ分の振動データを左コントローラ3へ送信する。また、CPU81は、右コントローラ振動データDgを参照して、上記送信周期に対応する振動長さ分の振動データを右コントローラ4へ送信する。このように各コントローラ用の振動データが送信されることによって、当該振動データを受信した左コントローラ3および右コントローラ4は、それぞれの振動データに応じた振動波形で振動する。 Next, the CPU 81 performs a process of transmitting vibration data corresponding to the cycle to the left controller 3 and the right controller 4 for each cycle of transmitting the vibration data (step S170), and ends the process by the subroutine. For example, the CPU 81 refers to the left controller vibration data Df and transmits vibration data for the vibration length corresponding to the transmission cycle to the left controller 3. Further, the CPU 81 refers to the right controller vibration data Dg and transmits vibration data for the vibration length corresponding to the transmission cycle to the right controller 4. By transmitting the vibration data for each controller in this way, the left controller 3 and the right controller 4 that have received the vibration data vibrate with vibration waveforms corresponding to the respective vibration data.

図24に戻り、上記ステップS145において縦持ち操作方式が選択されていないと判定した場合、CPU81は、拡張グリップ操作方式が選択されているか否かを判定する(ステップS147)。そして、CPU81は、拡張グリップ操作方式が選択されている場合、ステップS148に処理を進める。一方、CPU81は、拡張グリップ操作方式が選択されていない場合、ステップS149に処理を進める。 Returning to FIG. 24, when it is determined in step S145 that the vertical holding operation method is not selected, the CPU 81 determines whether or not the extended grip operation method is selected (step S147). Then, when the extended grip operation method is selected, the CPU 81 proceeds to step S148. On the other hand, when the extended grip operation method is not selected, the CPU 81 proceeds to step S149.

ステップS148において、CPU81は、拡張グリップ操作方式によるゲーム処理を行い、ステップS150に処理を進める。以下、図26を参照して、拡張グリップ操作方式によるゲーム処理について説明する。 In step S148, the CPU 81 performs game processing by the extended grip operation method, and proceeds to step S150. Hereinafter, the game processing by the extended grip operation method will be described with reference to FIG. 26.

図26において、CPU81は、左コントローラ3および右コントローラ4から操作データを取得して操作データDaを更新し(ステップS181)、次のステップに処理を進める。 In FIG. 26, the CPU 81 acquires operation data from the left controller 3 and the right controller 4 to update the operation data Da (step S181), and proceeds to the next step.

次に、CPU81は、第1オブジェクト動作処理を行い(ステップS182)、次のステップに処理を進める。例えば、CPU81は、操作対応テーブルデータDiが示す操作対応テーブルの記述に基づいて、上記ステップS181において取得した操作データが示す指示内容を設定し、当該指示内容に応じて第1オブジェクトG1を動作させて、プレイヤオブジェクト位置データDjを更新する。 Next, the CPU 81 performs the first object operation process (step S182), and proceeds to the next step. For example, the CPU 81 sets the instruction content indicated by the operation data acquired in step S181 based on the description of the operation correspondence table indicated by the operation correspondence table data Di, and operates the first object G1 according to the instruction content. The player object position data Dj is updated.

例えば、CPU81は、上記ステップS181において取得した操作データがBボタン54の押下操作を示している場合、移動開始位置から所定方向への第1オブジェクトG1の移動を開始して、プレイヤオブジェクト位置データDjを更新する。また、CPU81は、上記ステップS181において取得した操作データがアナログスティック32の傾倒操作を示している場合、移動開始位置から離れて仮想ゲーム世界を第1オブジェクトG1が移動中であればアナログスティック32が傾倒操作されている方向および傾倒角度に応じて、第1オブジェクトG1の移動方向や移動速度を変化させて、プレイヤオブジェクト位置データDjを更新する。そして、CPU81は、第1オブジェクトG1の移動方向および移動アルゴリズムに基づいて、移動開始位置に戻るまで第1オブジェクトG1の移動を継続する。例えば、CPU81は、プレイヤオブジェクト位置データDjを参照して第1オブジェクトG1の位置および移動方向を取得し、当該第1オブジェクトG1の位置から当該移動方向および移動アルゴリズムに基づいて第1オブジェクトG1を移動させ、当該移動後の第1オブジェクトG1の位置を用いてプレイヤオブジェクト位置データDjを更新する。なお、第1オブジェクトG1が移動開始位置に戻る仮想空間内の復路を移動している場合、現在の第1オブジェクトG1の位置から移動開始位置に戻る方向に移動方向を固定して設定してもよい。また、第1オブジェクトG1が他のオブジェクトと衝突した場合、当該衝突状況に応じた位置に第1オブジェクトG1の位置が設定される。また、プレイヤオブジェクトPOが左パンチを繰り出す動作をしていない場合、プレイヤオブジェクトPOの位置に基づいた移動開始位置に第1オブジェクトG1の位置が設定される。 For example, when the operation data acquired in step S181 indicates the pressing operation of the B button 54, the CPU 81 starts moving the first object G1 in a predetermined direction from the movement start position, and the player object position data Dj. To update. Further, when the operation data acquired in step S181 indicates the tilting operation of the analog stick 32, the CPU 81 moves the analog stick 32 if the first object G1 is moving away from the movement start position in the virtual game world. The player object position data Dj is updated by changing the moving direction and moving speed of the first object G1 according to the tilting operation direction and the tilting angle. Then, the CPU 81 continues the movement of the first object G1 until it returns to the movement start position based on the movement direction of the first object G1 and the movement algorithm. For example, the CPU 81 acquires the position and the moving direction of the first object G1 with reference to the player object position data Dj, and moves the first object G1 from the position of the first object G1 based on the moving direction and the moving algorithm. The player object position data Dj is updated using the position of the first object G1 after the movement. When the first object G1 is moving on the return path in the virtual space that returns to the movement start position, even if the movement direction is fixed and set in the direction of returning from the current position of the first object G1 to the movement start position. Good. When the first object G1 collides with another object, the position of the first object G1 is set at a position corresponding to the collision situation. Further, when the player object PO does not perform the left punching operation, the position of the first object G1 is set at the movement start position based on the position of the player object PO.

次に、CPU81は、第2オブジェクト動作処理を行い(ステップS183)、次のステップに処理を進める。例えば、CPU81は、操作対応テーブルデータDiが示す操作対応テーブルの記述に基づいて、上記ステップS181において取得した操作データが示す指示内容を設定し、当該指示内容に応じて第2オブジェクトG2を動作させて、プレイヤオブジェクト位置データDjを更新する。 Next, the CPU 81 performs the second object operation process (step S183), and proceeds to the next step. For example, the CPU 81 sets the instruction content indicated by the operation data acquired in step S181 based on the description of the operation correspondence table indicated by the operation correspondence table data Di, and operates the second object G2 according to the instruction content. The player object position data Dj is updated.

例えば、CPU81は、上記ステップS181において取得した操作データがAボタン53の押下操作を示している場合、移動開始位置から所定方向への第2オブジェクトG2の移動を開始して、プレイヤオブジェクト位置データDjを更新する。また、CPU81は、上記ステップS181において取得した操作データがアナログスティック32の傾倒操作を示している場合、移動開始位置から離れて仮想ゲーム世界を第2オブジェクトG2が移動中であればアナログスティック32が傾倒操作されている方向および傾倒角度に応じて、第2オブジェクトG2の移動方向や移動速度を変化させて、プレイヤオブジェクト位置データDjを更新する。そして、CPU81は、第2オブジェクトG2の移動方向および移動アルゴリズムに基づいて、移動開始位置に戻るまで第2オブジェクトG2の移動を継続する。例えば、CPU81は、プレイヤオブジェクト位置データDjを参照して第2オブジェクトG2の位置および移動方向を取得し、当該第2オブジェクトG2の位置から当該移動方向および移動アルゴリズムに基づいて第2オブジェクトG2を移動させ、当該移動後の第2オブジェクトG2の位置を用いてプレイヤオブジェクト位置データDjを更新する。なお、第2オブジェクトG2が移動開始位置に戻る仮想空間内の復路を移動している場合、現在の第2オブジェクトG2の位置から移動開始位置に戻る方向に移動方向を固定して設定してもよい。また、第2オブジェクトG2が他のオブジェクトと衝突した場合、当該衝突状況に応じた位置に第2オブジェクトG2の位置が設定される。また、プレイヤオブジェクトPOが右パンチを繰り出す動作をしていない場合、プレイヤオブジェクトPOの位置に基づいた移動開始位置に第2オブジェクトG2の位置が設定される。 For example, when the operation data acquired in step S181 indicates the pressing operation of the A button 53, the CPU 81 starts moving the second object G2 from the movement start position in a predetermined direction, and the player object position data Dj. To update. Further, when the operation data acquired in step S181 indicates the tilting operation of the analog stick 32, the CPU 81 moves the analog stick 32 if the second object G2 is moving in the virtual game world away from the movement start position. The player object position data Dj is updated by changing the moving direction and moving speed of the second object G2 according to the tilting operation direction and the tilting angle. Then, the CPU 81 continues the movement of the second object G2 until it returns to the movement start position based on the movement direction of the second object G2 and the movement algorithm. For example, the CPU 81 acquires the position and the moving direction of the second object G2 with reference to the player object position data Dj, and moves the second object G2 from the position of the second object G2 based on the moving direction and the moving algorithm. Then, the player object position data Dj is updated using the position of the second object G2 after the movement. When the second object G2 is moving on the return path in the virtual space that returns to the movement start position, even if the movement direction is fixed and set in the direction of returning from the current position of the second object G2 to the movement start position. Good. When the second object G2 collides with another object, the position of the second object G2 is set at a position corresponding to the collision situation. Further, when the player object PO does not perform the right punching operation, the position of the second object G2 is set at the movement start position based on the position of the player object PO.

次に、CPU81は、プレイヤオブジェクト動作処理を行い(ステップS184)、次のステップに処理を進める。例えば、CPU81は、操作対応テーブルデータDiが示す操作対応テーブルの記述に基づいて、上記ステップS181において取得した操作データが示す指示内容を設定し、当該指示内容に応じてプレイヤオブジェクトPOを動作させて、プレイヤオブジェクト位置データDjを更新する。すなわち、CPU81は、操作データDaを参照して、アナログスティック32がx軸正方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを左に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック32がx軸負方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを右に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック32がy軸正方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを前方に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック32がy軸負方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを後方に移動させて、プレイヤオブジェクト位置データDjを更新する。そして、CPU81は、操作データDaを参照して、アナログスティック32を押し込む操作が行われている場合、第1オブジェクトG1および第2オブジェクトG2が移動開始位置に配置されていれば、プレイヤオブジェクトPOに防御動作させる。また、操作データDaを参照して、Yボタン56が押下されている場合、プレイヤオブジェクトPOをダッシュで移動させて、プレイヤオブジェクト位置データDjを更新する。また、操作データDaを参照して、Xボタン55が押下されている場合、プレイヤオブジェクトPOをジャンプさせて、プレイヤオブジェクト位置データDjを更新する。 Next, the CPU 81 performs a player object operation process (step S184), and proceeds to the next step. For example, the CPU 81 sets the instruction content indicated by the operation data acquired in step S181 based on the description of the operation correspondence table indicated by the operation correspondence table data Di, and operates the player object PO according to the instruction content. , Update the player object position data Dj. That is, when the analog stick 32 is tilted in the positive direction of the x-axis with reference to the operation data Da, the CPU 81 moves the player object PO to the left at a movement speed corresponding to the tilt angle, and the player object The position data Dj is updated. With reference to the operation data Da, the CPU 81 moves the player object PO to the right at a movement speed corresponding to the tilt angle when the analog stick 32 is tilted in the negative direction of the x-axis, and the player object position data. Update Dj. With reference to the operation data Da, the CPU 81 moves the player object PO forward at a movement speed corresponding to the tilt angle when the analog stick 32 is tilted in the positive direction of the y-axis, and the player object position data. Update Dj. With reference to the operation data Da, the CPU 81 moves the player object PO backward at a moving speed corresponding to the tilt angle when the analog stick 32 is tilted in the negative direction of the y-axis, and the player object position data. Update Dj. Then, the CPU 81 refers to the operation data Da, and when the operation of pushing the analog stick 32 is performed, if the first object G1 and the second object G2 are arranged at the movement start positions, the CPU 81 is placed on the player object PO. Make it defensive. Further, referring to the operation data Da, when the Y button 56 is pressed, the player object PO is moved by a dash to update the player object position data Dj. Further, referring to the operation data Da, when the X button 55 is pressed, the player object PO is jumped and the player object position data Dj is updated.

次に、CPU81は、左コントローラ3を振動させるための振動データを生成する処理を行い(ステップS185)、次のステップに処理を進める。なお、上記ステップS185における振動データ生成処理は、上述したステップS168における振動データ生成処理と同様であるため、ここでは詳細な説明を省略する。 Next, the CPU 81 performs a process of generating vibration data for vibrating the left controller 3 (step S185), and proceeds to the next step. Since the vibration data generation process in step S185 is the same as the vibration data generation process in step S168 described above, detailed description thereof will be omitted here.

次に、CPU81は、右コントローラ4を振動させるための振動データを生成する処理を行い(ステップS186)、次のステップに処理を進める。なお、上記ステップS186における振動データ生成処理は、上述したステップS169における振動データ生成処理と同様であるため、ここでは詳細な説明を省略する。 Next, the CPU 81 performs a process of generating vibration data for vibrating the right controller 4 (step S186), and proceeds to the next step. Since the vibration data generation process in step S186 is the same as the vibration data generation process in step S169 described above, detailed description thereof will be omitted here.

次に、CPU81は、振動データを送信する周期毎に当該周期に対応する振動データを左コントローラ3および右コントローラ4へ送信する処理を行い(ステップS187)、当該サブルーチンによる処理を終了する。なお、上記ステップS187における振動データ送信処理は、上述したステップS170における振動データ送信処理と同様であるため、ここでは詳細な説明を省略する。 Next, the CPU 81 performs a process of transmitting vibration data corresponding to the cycle to the left controller 3 and the right controller 4 for each cycle of transmitting the vibration data (step S187), and ends the process by the subroutine. Since the vibration data transmission process in step S187 is the same as the vibration data transmission process in step S170 described above, detailed description thereof will be omitted here.

図24に戻り、上記ステップS147において拡張グリップ操作方式が選択されていないと判定した場合、CPU81は、横持ち操作方式が選択されているとしてステップS149に処理を進める。ステップS149において、CPU81は、横持ち操作方式によるゲーム処理を行い、ステップS150に処理を進める。以下、図27を参照して、横持ち操作方式によるゲーム処理について説明する。 Returning to FIG. 24, when it is determined in step S147 that the extended grip operation method is not selected, the CPU 81 proceeds to step S149 assuming that the horizontal holding operation method is selected. In step S149, the CPU 81 performs game processing by the horizontal holding operation method, and proceeds to step S150. Hereinafter, the game processing by the horizontal holding operation method will be described with reference to FIG. 27.

図27において、CPU81は、横持ち操作方式で用いられるコントローラとして設定されている左コントローラ3または右コントローラ4から操作データを取得して操作データDaを更新し(ステップS191)、次のステップに処理を進める。 In FIG. 27, the CPU 81 acquires operation data from the left controller 3 or the right controller 4 set as the controller used in the horizontal holding operation method, updates the operation data Da (step S191), and processes the operation data Da in the next step. To proceed.

次に、CPU81は、第1オブジェクト動作処理を行い(ステップS192)、次のステップに処理を進める。例えば、CPU81は、操作対応テーブルデータDiが示す操作対応テーブルの記述に基づいて、上記ステップS191において取得した操作データが示す指示内容を設定し、当該指示内容に応じて第1オブジェクトG1を動作させて、プレイヤオブジェクト位置データDjを更新する。 Next, the CPU 81 performs the first object operation process (step S192), and proceeds to the next step. For example, the CPU 81 sets the instruction content indicated by the operation data acquired in step S191 based on the description of the operation correspondence table indicated by the operation correspondence table data Di, and operates the first object G1 according to the instruction content. The player object position data Dj is updated.

例えば、左コントローラ3を用いた横持ち操作方式において、CPU81は、上記ステップS191において取得した操作データが左方向ボタン36の押下操作を示している場合、移動開始位置から所定方向への第1オブジェクトG1の移動を開始して、プレイヤオブジェクト位置データDjを更新する。また、CPU81は、上記ステップS191において取得した操作データがアナログスティック32の傾倒操作を示している場合、移動開始位置から離れて仮想ゲーム世界を第1オブジェクトG1が移動中であれば、アナログスティック32が傾倒操作されている方向および傾倒角度に応じて、第1オブジェクトG1の移動方向や移動速度を変化させて、プレイヤオブジェクト位置データDjを更新する。 For example, in the horizontal holding operation method using the left controller 3, when the operation data acquired in step S191 indicates the pressing operation of the left direction button 36, the CPU 81 is the first object from the movement start position to the predetermined direction. The movement of G1 is started, and the player object position data Dj is updated. Further, the CPU 81 indicates that the operation data acquired in step S191 indicates a tilting operation of the analog stick 32, and if the first object G1 is moving away from the movement start position in the virtual game world, the analog stick 32 The player object position data Dj is updated by changing the moving direction and moving speed of the first object G1 according to the direction in which the tilting operation is performed and the tilting angle.

また、右コントローラ4を用いた横持ち操作方式において、CPU81は、上記ステップS191において取得した操作データがAボタン53の押下操作を示している場合、移動開始位置から所定方向への第1オブジェクトG1の移動を開始して、プレイヤオブジェクト位置データDjを更新する。また、CPU81は、上記ステップS191において取得した操作データがアナログスティック52の傾倒操作を示している場合、移動開始位置から離れて仮想ゲーム世界を第1オブジェクトG1が移動中であれば、アナログスティック52が傾倒操作されている方向および傾倒角度に応じて、第1オブジェクトG1の移動方向や移動速度を変化させて、プレイヤオブジェクト位置データDjを更新する。 Further, in the horizontal holding operation method using the right controller 4, when the operation data acquired in step S191 indicates the pressing operation of the A button 53, the CPU 81 is the first object G1 in the predetermined direction from the movement start position. Starts moving and updates the player object position data Dj. Further, the CPU 81 indicates that the operation data acquired in step S191 indicates a tilting operation of the analog stick 52, and if the first object G1 is moving away from the movement start position in the virtual game world, the analog stick 52 The player object position data Dj is updated by changing the moving direction and moving speed of the first object G1 according to the direction in which the tilting operation is performed and the tilting angle.

そして、何れのコントローラを用いた横持ち操作方式であっても、CPU81は、第1オブジェクトG1の移動方向および移動アルゴリズムに基づいて、移動開始位置に戻るまで第1オブジェクトG1の移動を継続する。例えば、CPU81は、プレイヤオブジェクト位置データDjを参照して第1オブジェクトG1の位置および移動方向を取得し、当該第1オブジェクトG1の位置から当該移動方向および移動アルゴリズムに基づいて第1オブジェクトG1を移動させ、当該移動後の第1オブジェクトG1の位置を用いてプレイヤオブジェクト位置データDjを更新する。なお、第1オブジェクトG1が移動開始位置に戻る仮想空間内の復路を移動している場合、現在の第1オブジェクトG1の位置から移動開始位置に戻る方向に移動方向を固定して設定してもよい。また、第1オブジェクトG1が他のオブジェクトと衝突した場合、当該衝突状況に応じた位置に第1オブジェクトG1の位置が設定される。また、プレイヤオブジェクトPOが左パンチを繰り出す動作をしていない場合、プレイヤオブジェクトPOの位置に基づいた移動開始位置に第1オブジェクトG1の位置が設定される。 Then, regardless of the horizontal holding operation method using any of the controllers, the CPU 81 continues the movement of the first object G1 until it returns to the movement start position based on the movement direction and the movement algorithm of the first object G1. For example, the CPU 81 acquires the position and the moving direction of the first object G1 with reference to the player object position data Dj, and moves the first object G1 from the position of the first object G1 based on the moving direction and the moving algorithm. The player object position data Dj is updated using the position of the first object G1 after the movement. When the first object G1 is moving on the return path in the virtual space that returns to the movement start position, even if the movement direction is fixed and set in the direction of returning from the current position of the first object G1 to the movement start position. Good. When the first object G1 collides with another object, the position of the first object G1 is set at a position corresponding to the collision situation. Further, when the player object PO does not perform the left punching operation, the position of the first object G1 is set at the movement start position based on the position of the player object PO.

次に、CPU81は、第2オブジェクト動作処理を行い(ステップS193)、次のステップに処理を進める。例えば、CPU81は、操作対応テーブルデータDiが示す操作対応テーブルの記述に基づいて、上記ステップS191において取得した操作データが示す指示内容を設定し、当該指示内容に応じて第2オブジェクトG2を動作させて、プレイヤオブジェクト位置データDjを更新する。 Next, the CPU 81 performs a second object operation process (step S193), and proceeds to the next step. For example, the CPU 81 sets the instruction content indicated by the operation data acquired in step S191 based on the description of the operation correspondence table indicated by the operation correspondence table data Di, and operates the second object G2 according to the instruction content. The player object position data Dj is updated.

例えば、左コントローラ3を用いた横持ち操作方式において、CPU81は、上記ステップS191において取得した操作データが下方向ボタン34の押下操作を示している場合、移動開始位置から所定方向への第2オブジェクトG2の移動を開始して、プレイヤオブジェクト位置データDjを更新する。また、CPU81は、上記ステップS191において取得した操作データがアナログスティック32の傾倒操作を示している場合、移動開始位置から離れて仮想ゲーム世界を第2オブジェクトG2が移動中であれば、アナログスティック32が傾倒操作されている方向および傾倒角度に応じて、第2オブジェクトG2の移動方向や移動速度を変化させて、プレイヤオブジェクト位置データDjを更新する。 For example, in the horizontal holding operation method using the left controller 3, when the operation data acquired in step S191 indicates the pressing operation of the downward button 34, the CPU 81 is the second object from the movement start position to the predetermined direction. The movement of G2 is started, and the player object position data Dj is updated. Further, the CPU 81 indicates that the operation data acquired in step S191 indicates a tilting operation of the analog stick 32, and if the second object G2 is moving away from the movement start position in the virtual game world, the analog stick 32 The player object position data Dj is updated by changing the moving direction and moving speed of the second object G2 according to the direction in which the tilting operation is performed and the tilting angle.

また、右コントローラ4を用いた横持ち操作方式において、CPU81は、上記ステップS191において取得した操作データがXボタン55の押下操作を示している場合、移動開始位置から所定方向への第2オブジェクトG2の移動を開始して、プレイヤオブジェクト位置データDjを更新する。また、CPU81は、上記ステップS191において取得した操作データがアナログスティック52の傾倒操作を示している場合、移動開始位置から離れて仮想ゲーム世界を第2オブジェクトG2が移動中であれば、アナログスティック52が傾倒操作されている方向および傾倒角度に応じて、第2オブジェクトG2の移動方向や移動速度を変化させて、プレイヤオブジェクト位置データDjを更新する。 Further, in the horizontal holding operation method using the right controller 4, when the operation data acquired in step S191 indicates the pressing operation of the X button 55, the CPU 81 is the second object G2 from the movement start position in a predetermined direction. Starts moving and updates the player object position data Dj. Further, the CPU 81 indicates that the operation data acquired in step S191 indicates a tilting operation of the analog stick 52, and if the second object G2 is moving away from the movement start position in the virtual game world, the analog stick 52 The player object position data Dj is updated by changing the moving direction and moving speed of the second object G2 according to the direction in which the tilting operation is performed and the tilting angle.

そして、何れのコントローラを用いた横持ち操作方式であっても、CPU81は、第2オブジェクトG2の移動方向および移動アルゴリズムに基づいて、移動開始位置に戻るまで第2オブジェクトG2の移動を継続する。例えば、CPU81は、プレイヤオブジェクト位置データDjを参照して第2オブジェクトG2の位置および移動方向を取得し、当該第2オブジェクトG2の位置から当該移動方向および移動アルゴリズムに基づいて第2オブジェクトG2を移動させ、当該移動後の第2オブジェクトG2の位置を用いてプレイヤオブジェクト位置データDjを更新する。なお、第2オブジェクトG2が移動開始位置に戻る仮想空間内の復路を移動している場合、現在の第2オブジェクトG2の位置から移動開始位置に戻る方向に移動方向を固定して設定してもよい。また、第2オブジェクトG2が他のオブジェクトと衝突した場合、当該衝突状況に応じた位置に第2オブジェクトG2の位置が設定される。また、プレイヤオブジェクトPOが右パンチを繰り出す動作をしていない場合、プレイヤオブジェクトPOの位置に基づいた移動開始位置に第2オブジェクトG2の位置が設定される。 Then, regardless of the horizontal holding operation method using any of the controllers, the CPU 81 continues the movement of the second object G2 until it returns to the movement start position based on the movement direction and the movement algorithm of the second object G2. For example, the CPU 81 acquires the position and the moving direction of the second object G2 with reference to the player object position data Dj, and moves the second object G2 from the position of the second object G2 based on the moving direction and the moving algorithm. Then, the player object position data Dj is updated using the position of the second object G2 after the movement. When the second object G2 is moving on the return path in the virtual space that returns to the movement start position, even if the movement direction is fixed and set in the direction of returning from the current position of the second object G2 to the movement start position. Good. When the second object G2 collides with another object, the position of the second object G2 is set at a position corresponding to the collision situation. Further, when the player object PO does not perform the right punching operation, the position of the second object G2 is set at the movement start position based on the position of the player object PO.

次に、CPU81は、プレイヤオブジェクト動作処理を行い(ステップS194)、次のステップに処理を進める。例えば、CPU81は、操作対応テーブルデータDiが示す操作対応テーブルの記述に基づいて、上記ステップS191において取得した操作データが示す指示内容を設定し、当該指示内容に応じてプレイヤオブジェクトPOを動作させて、プレイヤオブジェクト位置データDjを更新する。 Next, the CPU 81 performs a player object operation process (step S194), and proceeds to the next step. For example, the CPU 81 sets the instruction content indicated by the operation data acquired in step S191 based on the description of the operation correspondence table indicated by the operation correspondence table data Di, and operates the player object PO according to the instruction content. , Update the player object position data Dj.

すなわち、左コントローラ3を用いた横持ち操作方式において、CPU81は、操作データDaを参照して、アナログスティック32がy軸正方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを左に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック32がy軸負方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを右に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック32がx軸負方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを前方に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック32がx軸正方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを後方に移動させて、プレイヤオブジェクト位置データDjを更新する。そして、CPU81は、操作データDaを参照して、アナログスティック32を押し込む操作が行われている場合、第1オブジェクトG1および第2オブジェクトG2が移動開始位置に配置されていれば、プレイヤオブジェクトPOに防御動作させる。また、操作データDaを参照して、上方向ボタン35が押下されている場合、プレイヤオブジェクトPOをダッシュで移動させて、プレイヤオブジェクト位置データDjを更新する。また、操作データDaを参照して、右方向ボタン33が押下されている場合、プレイヤオブジェクトPOをジャンプさせて、プレイヤオブジェクト位置データDjを更新する。 That is, in the horizontal holding operation method using the left controller 3, when the analog stick 32 is tilted in the positive direction of the y-axis with reference to the operation data Da, the CPU 81 moves at a moving speed corresponding to the tilt angle. The player object PO is moved to the left to update the player object position data Dj. With reference to the operation data Da, the CPU 81 moves the player object PO to the right at a movement speed corresponding to the tilt angle when the analog stick 32 is tilted in the negative direction of the y-axis, and the player object position data. Update Dj. With reference to the operation data Da, the CPU 81 moves the player object PO forward at a movement speed corresponding to the tilt angle when the analog stick 32 is tilted in the negative direction of the x-axis, and the player object position data. Update Dj. With reference to the operation data Da, the CPU 81 moves the player object PO backward at a moving speed corresponding to the tilting angle when the analog stick 32 is tilted in the positive direction of the x-axis, and the player object position data. Update Dj. Then, the CPU 81 refers to the operation data Da, and when the operation of pushing the analog stick 32 is performed, if the first object G1 and the second object G2 are arranged at the movement start positions, the CPU 81 is placed on the player object PO. Make it defensive. Further, referring to the operation data Da, when the upward button 35 is pressed, the player object PO is moved by a dash to update the player object position data Dj. Further, referring to the operation data Da, when the right direction button 33 is pressed, the player object PO is jumped and the player object position data Dj is updated.

また、右コントローラ4を用いた横持ち操作方式において、CPU81は、操作データDaを参照して、アナログスティック52がy軸負方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを左に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック52がy軸正方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを右に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック52がx軸正方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを前方に移動させて、プレイヤオブジェクト位置データDjを更新する。CPU81は、操作データDaを参照して、アナログスティック52がx軸負方向へ傾倒操作されている場合、当該傾倒角度に応じた移動速度でプレイヤオブジェクトPOを後方に移動させて、プレイヤオブジェクト位置データDjを更新する。そして、CPU81は、操作データDaを参照して、アナログスティック52を押し込む操作が行われている場合、第1オブジェクトG1および第2オブジェクトG2が移動開始位置に配置されていれば、プレイヤオブジェクトPOに防御動作させる。また、操作データDaを参照して、Bボタン54が押下されている場合、プレイヤオブジェクトPOをダッシュで移動させて、プレイヤオブジェクト位置データDjを更新する。また、操作データDaを参照して、Yボタン56が押下されている場合、プレイヤオブジェクトPOをジャンプさせて、プレイヤオブジェクト位置データDjを更新する。 Further, in the horizontal holding operation method using the right controller 4, when the analog stick 52 is tilted in the negative direction of the y-axis with reference to the operation data Da, the CPU 81 moves at a moving speed according to the tilt angle. The player object PO is moved to the left to update the player object position data Dj. With reference to the operation data Da, the CPU 81 moves the player object PO to the right at a movement speed corresponding to the tilt angle when the analog stick 52 is tilted in the positive direction of the y-axis, and the player object position data. Update Dj. With reference to the operation data Da, the CPU 81 moves the player object PO forward at a movement speed corresponding to the tilt angle when the analog stick 52 is tilted in the positive direction of the x-axis, and the player object position data. Update Dj. With reference to the operation data Da, the CPU 81 moves the player object PO backward at a moving speed corresponding to the tilting angle when the analog stick 52 is tilted in the negative direction of the x-axis, and the player object position data. Update Dj. Then, the CPU 81 refers to the operation data Da, and when the operation of pushing the analog stick 52 is performed, if the first object G1 and the second object G2 are arranged at the movement start positions, the CPU 81 is placed on the player object PO. Make it defensive. Further, referring to the operation data Da, when the B button 54 is pressed, the player object PO is moved by a dash to update the player object position data Dj. Further, referring to the operation data Da, when the Y button 56 is pressed, the player object PO is jumped and the player object position data Dj is updated.

次に、CPU81は、左コントローラ3を振動させるための振動データを生成する処理を行い(ステップS195)、次のステップに処理を進める。なお、上記ステップS195における振動データ生成処理は、上述したステップS168における振動データ生成処理と同様であるため、ここでは詳細な説明を省略する。 Next, the CPU 81 performs a process of generating vibration data for vibrating the left controller 3 (step S195), and proceeds to the next step. Since the vibration data generation process in step S195 is the same as the vibration data generation process in step S168 described above, detailed description thereof will be omitted here.

次に、CPU81は、右コントローラ4を振動させるための振動データを生成する処理を行い(ステップS196)、のステップに処理を進める。なお、上記ステップS196における振動データ生成処理は、上述したステップS169における振動データ生成処理と同様であるため、ここでは詳細な説明を省略する。 Next, the CPU 81 performs a process of generating vibration data for vibrating the right controller 4 (step S196), and proceeds to the step of. Since the vibration data generation process in step S196 is the same as the vibration data generation process in step S169 described above, detailed description thereof will be omitted here.

次に、CPU81は、振動合成処理を行い(ステップS197)、次のステップに処理を進める。例えば、CPU81は、上記ステップS195で生成されて更新された左コントローラ振動データDfおよび上記ステップS196で生成されて更新された右コントローラ振動データDgに基づいて、1つのコントローラを振動させるための合成振動データを生成し、当該データを用いて合成振動データDhを更新する。具体的には、CPU81は、左コントローラ振動データDfが示す振動波形(左コントローラ用振動波形)と右コントローラ振動データDgが示す振動波形(右コントローラ用振動波形)とを、上述した選択方式や加算方式等によって合成し、当該合成した振動波形を用いて合成振動データDhを更新する。 Next, the CPU 81 performs a vibration synthesis process (step S197), and proceeds to the next step. For example, the CPU 81 is a composite vibration for vibrating one controller based on the left controller vibration data Df generated and updated in step S195 and the right controller vibration data Dg generated and updated in step S196. Data is generated, and the synthetic vibration data Dh is updated using the data. Specifically, the CPU 81 adds the vibration waveform (vibration waveform for the left controller) indicated by the left controller vibration data Df and the vibration waveform (vibration waveform for the right controller) indicated by the right controller vibration data Dg by the above-mentioned selection method or addition. It is synthesized by a method or the like, and the synthesized vibration data Dh is updated using the synthesized vibration waveform.

次に、CPU81は、振動データを送信する周期毎に当該周期に対応する振動データを、横持ち操作方式で用いられるコントローラとして設定されている左コントローラ3または右コントローラ4へ送信する処理を行い(ステップS198)、当該サブルーチンによる処理を終了する。例えば、CPU81は、合成振動データDhを参照して、上記送信周期に対応する振動長さ分の振動データを左コントローラ3または右コントローラ4へ送信する。このように1つのコントローラを振動させるための合成振動データが送信されることによって、当該合成振動データを受信した左コントローラ3または右コントローラ4は、合成振動データに応じた振動波形で振動する。 Next, the CPU 81 performs a process of transmitting the vibration data corresponding to the cycle to the left controller 3 or the right controller 4 set as the controller used in the horizontal holding operation method for each cycle of transmitting the vibration data ( Step S198), the process by the subroutine is terminated. For example, the CPU 81 refers to the combined vibration data Dh and transmits vibration data for the vibration length corresponding to the transmission cycle to the left controller 3 or the right controller 4. By transmitting the synthetic vibration data for vibrating one controller in this way, the left controller 3 or the right controller 4 that has received the synthetic vibration data vibrates with a vibration waveform corresponding to the synthetic vibration data.

図24に戻り、ステップS150において、CPU81は、表示制御処理を行い、次のステップに処理を進める。例えば、CPU81は、プレイヤオブジェクト位置データDj、および敵オブジェクト位置データDkを用いて、ゲームフィールド上にプレイヤオブジェクトPO、第1オブジェクトG1、第2オブジェクトG2、敵オブジェクトEOを配置する。そして、CPU81は、所定の位置(例えば、プレイヤオブジェクトPOの背後)に配置された仮想カメラからゲームフィールドを見た仮想空間画像を生成し、当該仮想空間画像を表示装置(例えば、据置型モニタ6)の表示画面に表示する処理を行う。 Returning to FIG. 24, in step S150, the CPU 81 performs the display control process and proceeds to the next step. For example, the CPU 81 arranges the player object PO, the first object G1, the second object G2, and the enemy object EO on the game field by using the player object position data Dj and the enemy object position data Dk. Then, the CPU 81 generates a virtual space image of the game field viewed from a virtual camera arranged at a predetermined position (for example, behind the player object PO), and displays the virtual space image on a display device (for example, a stationary monitor 6). ) Display screen.

次に、CPU81は、ゲームを終了するか否かを判定する(ステップS151)。上記ステップS151においてゲームを終了する条件としては、例えば、上記ゲームの結果が確定したことや、ユーザがゲームを終了する操作を行ったこと等がある。CPU81は、ゲームを終了しない場合に上記ステップS145に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップS145〜ステップS151の一連の処理は、ステップS151でゲームを終了すると判定されるまで繰り返し実行される。 Next, the CPU 81 determines whether or not to end the game (step S151). The conditions for ending the game in step S151 include, for example, that the result of the game has been determined, that the user has performed an operation to end the game, and the like. When the game is not finished, the CPU 81 returns to step S145 and repeats the process, and when the game is finished, the CPU 81 ends the process according to the flowchart. After that, the series of processes of steps S145 to S151 are repeatedly executed until it is determined in step S151 that the game is finished.

このように、本実施例においては、左コントローラ3および右コントローラ4の両方を用いて操作する場合(縦持ち操作方式、拡張グリップ操作方式)に、それぞれのコントローラを異なる振動波形によって振動させることができるため、それぞれのコントローラに応じた適切な振動を与えることが可能となり、リアリティがあるゲームプレイが可能となる。その一方で、同じゲームを左コントローラ3および右コントローラ4の一方を用いて操作する場合(横持ち操作方式)、2つのコントローラそれぞれに与えられる振動波形に基づいて1つのコントローラ用の振動波形が生成され、当該振動波形を示す振動データが当該一方のコントローラに送信される。したがって、左コントローラ3および右コントローラ4の一方を操作する場合であっても、2つのコントローラに与えられていた振動と同じ振動データに基づいた振動を与えることが可能となるため、操作方式を変更しても適切な振動を与えることが可能となり、リアリティがあるゲームプレイが可能となる。 As described above, in the present embodiment, when operating using both the left controller 3 and the right controller 4 (vertical holding operation method, extended grip operation method), each controller can be vibrated by different vibration waveforms. Therefore, it is possible to give appropriate vibration according to each controller, and it is possible to play a realistic game. On the other hand, when the same game is operated by using one of the left controller 3 and the right controller 4 (horizontal holding operation method), a vibration waveform for one controller is generated based on the vibration waveform given to each of the two controllers. Then, the vibration data indicating the vibration waveform is transmitted to the one controller. Therefore, even when operating one of the left controller 3 and the right controller 4, it is possible to apply vibration based on the same vibration data as the vibration given to the two controllers, so the operation method is changed. Even so, it is possible to give appropriate vibrations, and realistic gameplay is possible.

なお、上述した実施例では、ゲーム開始前に操作方式が選択されて設定される例を用いたが、ゲーム中であっても操作方式が変更可能であってもよい。一例として、上述した複数の操作方式それぞれに設定されている固有の操作がゲーム中に行われることに応じて、操作方式が切り替え可能に構成されてもよい。他の例として、所定の操作が行われることによって操作方式の選択肢を表示してゲームを中断し、当該ゲーム中断中に選択肢が選択されることに応じて、操作方式が切り替え可能に構成されてもよい。 In the above-described embodiment, the operation method is selected and set before the start of the game, but the operation method may be changed even during the game. As an example, the operation method may be configured to be switchable according to the unique operation set for each of the plurality of operation methods described above being performed during the game. As another example, an operation method option is displayed by performing a predetermined operation to interrupt the game, and the operation method can be switched according to the selection of the option during the game interruption. May be good.

また、上述した実施例では、左コントローラ3の振動データと右コントローラ4の振動データとに基づいて1つのコントローラ用の振動データを生成する処理を、本体装置2において行っているが、他の装置において当該処理を行ってもよい。例えば、上記1つのコントローラ用の振動データを用いて振動することになる当該コントローラ側において、当該振動データを生成する処理を行ってもよい。この場合、本体装置2から対象となるコントローラへ、左コントローラ3の振動データと右コントローラ4の振動データとを送信することによって、当該コントローラ側で1つのコントローラ用の振動データを生成する処理が可能となる。 Further, in the above-described embodiment, the main unit device 2 performs a process of generating vibration data for one controller based on the vibration data of the left controller 3 and the vibration data of the right controller 4, but other devices. The processing may be performed in. For example, a process for generating the vibration data may be performed on the controller side that vibrates using the vibration data for the one controller. In this case, by transmitting the vibration data of the left controller 3 and the vibration data of the right controller 4 from the main body device 2 to the target controller, it is possible to generate vibration data for one controller on the controller side. It becomes.

また、上述した実施例では、左コントローラ3の振動データと右コントローラ4の振動データとに基づいて1つのコントローラ用の振動データを生成する方式をいくつか例示したが、これらの方式は、ゲーム中において固定されてもよいし、ゲーム中に変更されてもよい。後者の場合、ゲーム状況に応じて、適切な方式を選択することによって、左コントローラ3の振動データと右コントローラ4の振動データとに基づいて1つのコントローラ用の振動データを生成することが考えられる。例えば、上述したように、選択方式によって1つのコントローラ用の振動データを生成する場合、左コントローラ用振動波形および右コントローラ用振動波形のうち、全体として振幅がより大きなものを選択することが可能となるため、入力される振動波形全体の特徴を維持したまま、ユーザに対して振動刺激を与えることができる。その一方で、加算方式によって1つのコントローラ用の振動データを生成する場合、振動を欠落させることなく互いに重なり合った振動をユーザに対して知覚させることができる。このように、生成方式の利点に基づいて、ゲーム状況に合致する適切な生成方式を適宜選択することによって、さらに適切な振動を与えることが可能となる。 Further, in the above-described embodiment, some methods for generating vibration data for one controller based on the vibration data of the left controller 3 and the vibration data of the right controller 4 have been exemplified, but these methods are used during the game. It may be fixed at or changed during the game. In the latter case, it is conceivable to generate vibration data for one controller based on the vibration data of the left controller 3 and the vibration data of the right controller 4 by selecting an appropriate method according to the game situation. .. For example, as described above, when the vibration data for one controller is generated by the selection method, it is possible to select the vibration waveform for the left controller and the vibration waveform for the right controller, which have a larger amplitude as a whole. Therefore, it is possible to give a vibration stimulus to the user while maintaining the characteristics of the entire input vibration waveform. On the other hand, when the vibration data for one controller is generated by the addition method, the user can perceive the vibrations overlapping each other without losing the vibrations. In this way, it is possible to give more appropriate vibration by appropriately selecting an appropriate generation method that matches the game situation based on the advantages of the generation method.

また、上述した実施例では、1人のユーザが縦持ち操作方式、拡張グリップ操作方式、および横持ち操作方式によって左コントローラ3および/または右コントローラ4を用いてゲームプレイする例を用いたが、複数のユーザがゲームプレイすることも考えられる。この場合、それぞれのユーザが用いる左コントローラ3および/または右コントローラ4に対して、それぞれのユーザが設定された操作方式に応じた振動をそれぞれのユーザが操作するコントローラに与えればよい。 Further, in the above-described embodiment, an example is used in which one user plays a game using the left controller 3 and / or the right controller 4 by the vertical holding operation method, the extended grip operation method, and the horizontal holding operation method. It is possible that multiple users will play the game. In this case, the left controller 3 and / or the right controller 4 used by each user may be subjected to vibration according to the operation method set by each user to the controller operated by each user.

また、複数のユーザが横持ち操作方式によって左コントローラ3および右コントローラ4の一方を用いる場合、それぞれのユーザが操作するコントローラに対して、同じ振動を与えることも考えられる。例えば、複数のユーザがそれぞれ縦持ち操作方式または拡張グリップ操作方式によって同じゲームをプレイする場合に、それぞれのユーザが把持する左コントローラ3には同じ振動が与えられ、それぞれのユーザが把持する左コントローラ3にも同じ振動が与えられるゲーム例(例えば、ゲームで再生されるBGMや効果音と連動して左コントローラ3および右コントローラ4にそれぞれ振動が与えられるケース、複数のユーザが同じプレイヤオブジェクトを操作するケース等)を想定する。上記ゲームを複数のユーザがそれぞれ横持ち操作方式によって操作する場合、左コントローラ3用の振動波形と右コントローラ4用の振動波形とが各ユーザにおいて同じとなるため、複数のユーザがそれぞれ操作するコントローラには、それぞれ同じ振動が与えられることになる。 Further, when a plurality of users use one of the left controller 3 and the right controller 4 by the horizontal holding operation method, it is conceivable to give the same vibration to the controller operated by each user. For example, when a plurality of users play the same game by the vertical holding operation method or the extended grip operation method, the same vibration is given to the left controller 3 held by each user, and the left controller held by each user. A game example in which the same vibration is given to 3 (for example, a case where vibration is given to the left controller 3 and the right controller 4 in conjunction with the BGM played in the game and the sound effect, and a plurality of users operate the same player object. Cases to be used, etc.) are assumed. When a plurality of users each operate the above game by the horizontal holding operation method, the vibration waveform for the left controller 3 and the vibration waveform for the right controller 4 are the same for each user, so that the controllers operated by the plurality of users respectively. Will be given the same vibration.

また、上述した実施例において、左コントローラ3や右コントローラ4の動きや姿勢を検出する方法については、単なる一例であって、他の方法や他のデータを用いて左コントローラ3や右コントローラ4の動きや姿勢を検出してもよい。また、上述した実施例では、左コントローラ3や右コントローラ4を用いた操作に応じたゲーム画像を据置型モニタ6に表示しているが、本体装置2のディスプレイ12に表示してもよい。また、第1オブジェクトG1および/または第2オブジェクトG2の動作を制御するためのコントローラは、左コントローラ3および右コントローラ4のセットだけでなく、他のコントローラが組み合わせられたり、他のコントローラ同士が組み合わせられたりしてもよい。 Further, in the above-described embodiment, the method of detecting the movement or posture of the left controller 3 or the right controller 4 is merely an example, and the left controller 3 or the right controller 4 uses other methods or other data. Movement or posture may be detected. Further, in the above-described embodiment, the game image corresponding to the operation using the left controller 3 and the right controller 4 is displayed on the stationary monitor 6, but it may be displayed on the display 12 of the main body device 2. Further, the controller for controlling the operation of the first object G1 and / or the second object G2 is not only a set of the left controller 3 and the right controller 4, but also another controller or a combination of other controllers. You may be asked.

また、他の実施形態においては、本体装置2は、据置型モニタ6と直接通信可能であってもよい。例えば、本体装置2と据置型モニタ6とが直接有線通信または直接無線通信を行うことが可能であってもよい。この場合、本体装置2は、本体装置2と据置型モニタ6とが直接通信可能か否かに基づいて画像の表示先を決定してもよい。 Further, in another embodiment, the main body device 2 may be able to directly communicate with the stationary monitor 6. For example, the main unit 2 and the stationary monitor 6 may be capable of performing direct wired communication or direct wireless communication. In this case, the main body device 2 may determine the display destination of the image based on whether or not the main body device 2 and the stationary monitor 6 can directly communicate with each other.

また、付加装置(例えば、クレードル)は、本体装置2を着脱可能な任意の付加装置であってよい。付加装置は、本実施形態のように、本体装置2に対する充電を行う機能を有していてもよいし、有していなくてもよい。 Further, the additional device (for example, a cradle) may be any additional device to which the main body device 2 can be attached and detached. The additional device may or may not have a function of charging the main body device 2 as in the present embodiment.

また、情報処理システム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。 Further, the information processing system 1 may be any device, such as a portable game device, an arbitrary portable electronic device (PDA (Personal Digital Assistant), a mobile phone, a personal computer, a camera, a tablet, etc.). It may be.

また、上述した説明では情報処理(ゲーム処理)を情報処理システム1でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理システム1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理(ゲーム処理)は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、情報処理システム1のCPU81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、情報処理システム1が備える専用回路によって上記処理の一部または全部が行われてもよい。 Further, in the above description, an example in which information processing (game processing) is performed by the information processing system 1 is used, but at least a part of the processing steps may be performed by another device. For example, when the information processing system 1 is configured to be able to communicate with other devices (for example, another server, another image display device, another game device, another mobile terminal), the processing step is further performed. It may be executed by the cooperation of the other devices. In this way, by performing at least a part of the above-mentioned processing steps with another device, the same processing as the above-mentioned processing becomes possible. Further, the above-mentioned information processing (game processing) can be executed by cooperation between one processor or a plurality of processors included in an information processing system composed of at least one information processing device. Further, in the above embodiment, the CPU 81 of the information processing system 1 can perform information processing by executing a predetermined program, but a part or all of the above processing is performed by a dedicated circuit provided in the information processing system 1. May be done.

ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。 Here, according to the above-described modification, the present invention can be realized even in a so-called cloud computing system form, a distributed wide area network system, and a local network system form. For example, in the system form of a distributed local network, the above processing is jointly executed between a stationary information processing device (stationary game device) and a portable information processing device (portable game device). It is also possible to do. It should be noted that, in these system forms, the device on which the above-mentioned processing is performed is not particularly limited, and it goes without saying that the present invention can be realized regardless of the division of processing.

また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。 Further, it goes without saying that the processing order, set values, conditions used for determination, etc. used in the above-mentioned information processing are merely examples, and the present embodiment can be realized even if other orders, values, and conditions are used.

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

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

以上のように、本発明は、複数の操作装置を用いて操作可能なシステムにおいて、当該操作装置の使い方に応じて適切な振動を与えることが可能な情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法等として利用することができる。 As described above, the present invention is an information processing program, an information processing device, and an information processing system capable of giving appropriate vibration according to the usage of the operating device in a system that can be operated by using a plurality of operating devices. , And can be used as an information processing method.

1…情報処理システム
2…本体装置
3…左コントローラ
4…右コントローラ
5…クレードル
6…据置型モニタ
11…ハウジング
12…ディスプレイ
27…下側端子
42,64…端子
73…本体端子
81…CPU
82…ネットワーク通信部
83…コントローラ通信部
85…DRAM
107、117…振動子
210…拡張グリップ
1 ... Information processing system 2 ... Main unit 3 ... Left controller 4 ... Right controller 5 ... Cradle 6 ... Stationary monitor 11 ... Housing 12 ... Display 27 ... Lower terminals 42, 64 ... Terminal 73 ... Main unit terminal 81 ... CPU
82 ... Network communication unit 83 ... Controller communication unit 85 ... DRAM
107, 117 ... Oscillator 210 ... Expansion grip

Claims (12)

第1の振動子を有する第1の操作装置および第2の振動子を有する第2の操作装置のそれぞれと通信可能な情報処理装置に含まれるコンピュータで実行される情報処理プログラムであって、
前記コンピュータを、
前記第1の操作装置と前記第2の操作装置とを1組として用いる第1の操作方式および当該第1の操作装置と当該第2の操作装置とのいずれかを用いる操作方式であっていずれの操作装置も単独で用いることができる第2の操作方式の一方に操作方式を設定する操作方式設定手段と、
前記第1の操作方式が設定されている場合に前記第1の振動子を振動させるための第1振動データと前記第2の振動子を振動させるための第2振動データとを生成し、前記第2の操作方式が設定されている場合に当該第1振動データおよび当該第2振動データに基づいて第3振動データを生成する振動データ生成手段と、
前記第1の操作方式が設定されている場合に前記第1振動データを前記第1の操作装置に送信するとともに前記第2振動データを前記第2の操作装置に送信し、前記第2の操作方式が設定されている場合に当該第2の操作方式で用いられる前記第1の操作装置または前記第2の操作装置に前記第3振動データを送信する振動データ送信手段として機能させる、情報処理プログラム。
An information processing program executed by a computer included in an information processing device capable of communicating with each of a first operating device having a first oscillator and a second operating device having a second oscillator.
The computer
A first operation method in which the first operation device and the second operation device are used as a set, and an operation method in which either the first operation device and the second operation device are used. An operation method setting means for setting an operation method to one of the second operation methods, which can also be used independently of the operation device of
When the first operation method is set, the first vibration data for vibrating the first vibrator and the second vibration data for vibrating the second vibrator are generated, and the first vibration data is generated. A vibration data generating means that generates a third vibration data based on the first vibration data and the second vibration data when the second operation method is set, and a vibration data generating means.
When the first operation method is set, the first vibration data is transmitted to the first operation device and the second vibration data is transmitted to the second operation device to perform the second operation. An information processing program that causes the first operating device or the second operating device used in the second operating method to function as a vibration data transmitting means for transmitting the third vibration data when the method is set. ..
前記振動データ生成手段は、前記第2の操作方式が設定されている場合、前記第1振動データによる振動波形の振幅と前記第2振動データによる振動波形の振幅との大きい方を所定時間単位毎に選択し、当該選択された振動データを前記第3振動データとして生成する、請求項1に記載の情報処理プログラム。 When the second operation method is set, the vibration data generation means sets the larger of the vibration waveform based on the first vibration data and the vibration waveform based on the second vibration data for each predetermined time unit. The information processing program according to claim 1, wherein the selected vibration data is generated as the third vibration data. 前記振動データ生成手段は、前記第2の操作方式が設定されている場合、前記第1振動データによる振動波形と前記第2振動データによる振動波形とを重ね合わせることによって前記第3振動データを生成する、請求項1に記載の情報処理プログラム。 When the second operation method is set, the vibration data generation means generates the third vibration data by superimposing the vibration waveform based on the first vibration data and the vibration waveform based on the second vibration data. The information processing program according to claim 1. 前記第1の操作装置に対する第1の操作に応じた第1操作データおよび当該第1の操作とは異なる第2の操作に応じた第2操作データを、当該第1の操作装置から受信する操作データ受信手段と、
前記第1の操作方式が設定されている場合に前記第1操作データに応じて所定の情報処理を行うとともに、前記第2の操作方式が設定されて当該第2の操作方式において前記第1の操作装置が用いられる場合に前記第2の操作データに応じて当該情報処理と同じ情報処理を行う処理手段として、さらに前記コンピュータを機能させる、請求項1乃至3の何れか1つに記載の情報処理プログラム。
An operation of receiving the first operation data corresponding to the first operation with respect to the first operation device and the second operation data corresponding to the second operation different from the first operation from the first operation device. Data receiving means and
When the first operation method is set, predetermined information processing is performed according to the first operation data, and the second operation method is set and the first operation method is set. The information according to any one of claims 1 to 3, which further causes the computer to function as a processing means that performs the same information processing as the information processing according to the second operation data when the operation device is used. Processing program.
前記処理手段は、所定のアプリケーションが実行されている場合に、前記第1の操作方式が設定されているときに前記第1操作データに応じて前記所定の情報処理を行い、前記第2の操作方式が設定されて当該第2の操作方式において前記第1の操作装置が用いられるときに前記第2の操作データに応じて前記所定の情報処理と同じ情報処理を行う、請求項4に記載の情報処理プログラム。 When the predetermined application is being executed, the processing means performs the predetermined information processing according to the first operation data when the first operation method is set, and the second operation. The fourth aspect of claim 4, wherein when the method is set and the first operation device is used in the second operation method, the same information processing as the predetermined information processing is performed according to the second operation data. Information processing program. 前記第1の操作装置に対する第1の操作に応じた第1操作データおよび当該第1の操作とは異なる第2の操作に応じた第2操作データを当該第1の操作装置から受信し、前記第2の操作装置に対する第3の操作に応じた第3操作データを当該第2の操作装置から受信する操作データ受信手段と、
前記第1の操作方式が設定されている場合に前記第1操作データおよび前記第3操作データに応じて所定の情報処理を行うとともに、前記第2の操作方式が設定されて当該第2の操作方式において前記第1の操作装置が用いられる場合に前記第2の操作データに応じて当該情報処理と同じ情報処理を行う処理手段として、さらに前記コンピュータを機能させる、請求項1乃至3の何れか1つに記載の情報処理プログラム。
The first operation data corresponding to the first operation with respect to the first operation device and the second operation data corresponding to the second operation different from the first operation are received from the first operation device, and the said An operation data receiving means for receiving a third operation data corresponding to a third operation on the second operation device from the second operation device, and an operation data receiving means.
When the first operation method is set, predetermined information processing is performed according to the first operation data and the third operation data, and the second operation method is set to perform the second operation. Any of claims 1 to 3, which further causes the computer to function as a processing means that performs the same information processing as the information processing according to the second operation data when the first operating device is used in the method. The information processing program described in one.
前記第1の操作装置に対する第1の操作に応じた第1操作データを、当該第1の操作装置から受信する操作データ受信手段と、
前記第1の操作方式が設定されている場合に前記第1操作データに応じて所定の情報処理を行うとともに、前記第2の操作方式が設定されて当該第2の操作方式において前記第1の操作装置が用いられる場合に前記第1の操作データに応じて当該情報処理とは異なる情報処理を行う処理手段として、さらに前記コンピュータを機能させる、請求項1乃至3の何れか1つに記載の情報処理プログラム。
An operation data receiving means for receiving the first operation data corresponding to the first operation on the first operation device from the first operation device, and
When the first operation method is set, predetermined information processing is performed according to the first operation data, and the second operation method is set and the first operation method is set. The invention according to any one of claims 1 to 3, wherein when an operating device is used, the computer functions as a processing means that performs information processing different from the information processing according to the first operation data. Information processing program.
前記処理手段は、前記所定の情報処理としてゲーム処理を行う、請求項4乃至7の何れか1つに記載の情報処理プログラム。 The information processing program according to any one of claims 4 to 7, wherein the processing means performs game processing as the predetermined information processing. 前記設定手段は、前記ゲーム処理におけるゲームを開始する前に前記操作方式を設定する、請求項8に記載の情報処理プログラム。 The information processing program according to claim 8, wherein the setting means sets the operation method before starting the game in the game processing. 第1の振動子を有する第1の操作装置および第2の振動子を有する第2の操作装置のそれぞれと通信可能な情報処理装置であって、
前記第1の操作装置と前記第2の操作装置とを1組として用いる第1の操作方式および当該第1の操作装置と当該第2の操作装置とのいずれかを用いる操作方式であっていずれの操作装置も単独で用いることができる第2の操作方式の一方に操作方式を設定する操作方式設定手段と、
前記第1の操作方式が設定されている場合に前記第1の振動子を振動させるための第1振動データと前記第2の振動子を振動させるための第2振動データとを生成し、前記第2の操作方式が設定されている場合に当該第1振動データおよび当該第2振動データに基づいて第3振動データを生成する振動データ生成手段と、
前記第1の操作方式が設定されている場合に前記第1振動データを前記第1の操作装置に送信するとともに前記第2振動データを前記第2の操作装置に送信し、前記第2の操作方式が設定されている場合に当該第2の操作方式で用いられる前記第1の操作装置または前記第2の操作装置に前記第3振動データを送信する振動データ送信手段とを備える、情報処理装置。
An information processing device capable of communicating with each of a first operating device having a first oscillator and a second operating device having a second oscillator.
A first operation method in which the first operation device and the second operation device are used as a set, and an operation method in which either the first operation device and the second operation device are used. An operation method setting means for setting an operation method to one of the second operation methods, which can also be used independently of the operation device of
When the first operation method is set, the first vibration data for vibrating the first vibrator and the second vibration data for vibrating the second vibrator are generated, and the first vibration data is generated. A vibration data generating means that generates a third vibration data based on the first vibration data and the second vibration data when the second operation method is set, and a vibration data generating means.
When the first operation method is set, the first vibration data is transmitted to the first operation device and the second vibration data is transmitted to the second operation device to perform the second operation. An information processing device including a vibration data transmitting means for transmitting the third vibration data to the first operating device or the second operating device used in the second operating method when the method is set. ..
第1の振動子を有する第1の操作装置と第2の振動子を有する第2の操作装置と当該第1の操作装置および当該第2の操作装置のそれぞれと通信可能な情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記第1の操作装置と前記第2の操作装置とを1組として用いる第1の操作方式および当該第1の操作装置と当該第2の操作装置とのいずれかを用いる操作方式であっていずれの操作装置も単独で用いることができる第2の操作方式の一方に操作方式を設定する操作方式設定手段と、
前記第1の操作方式が設定されている場合に前記第1の振動子を振動させるための第1振動データと前記第2の振動子を振動させるための第2振動データとを生成し、前記第2の操作方式が設定されている場合に当該第1振動データおよび当該第2振動データに基づいて第3振動データを生成する振動データ生成手段と、
前記第1の操作方式が設定されている場合に前記第1振動データを前記第1の操作装置に送信するとともに前記第2振動データを前記第2の操作装置に送信し、前記第2の操作方式が設定されている場合に当該第2の操作方式で用いられる前記第1の操作装置または前記第2の操作装置に前記第3振動データを送信する振動データ送信手段とを備える、情報処理システム。
An information processing device capable of communicating with each of a first operating device having a first oscillator, a second operating device having a second oscillator, the first operating device, and the second operating device. Information processing system including
The information processing device
A first operation method in which the first operation device and the second operation device are used as a set, and an operation method in which either the first operation device and the second operation device are used. An operation method setting means for setting an operation method to one of the second operation methods, which can also be used independently of the operation device of
When the first operation method is set, the first vibration data for vibrating the first vibrator and the second vibration data for vibrating the second vibrator are generated, and the first vibration data is generated. A vibration data generating means that generates a third vibration data based on the first vibration data and the second vibration data when the second operation method is set, and a vibration data generating means.
When the first operation method is set, the first vibration data is transmitted to the first operation device and the second vibration data is transmitted to the second operation device to perform the second operation. An information processing system including a vibration data transmitting means for transmitting the third vibration data to the first operating device or the second operating device used in the second operating method when the method is set. ..
第1の振動子を有する第1の操作装置および第2の振動子を有する第2の操作装置を用いて情報処理を行う情報処理方法であって、
前記第1の操作装置と前記第2の操作装置とを1組として用いる第1の操作方式および当該第1の操作装置と当該第2の操作装置とのいずれかを用いる操作方式であっていずれの操作装置も単独で用いることができる第2の操作方式の一方に操作方式を設定する操作方式設定ステップと、
前記第1の操作方式が設定されている場合に前記第1の振動子を振動させるための第1振動データと前記第2の振動子を振動させるための第2振動データとを生成し、前記第2の操作方式が設定されている場合に当該第1振動データおよび当該第2振動データに基づいて第3振動データを生成する振動データ生成ステップと、
前記第1の操作方式が設定されている場合に前記第1振動データを前記第1の操作装置に送信するとともに前記第2振動データを前記第2の操作装置に送信し、前記第2の操作方式が設定されている場合に当該第2の操作方式で用いられる前記第1の操作装置または前記第2の操作装置に前記第3振動データを送信する振動データ送信ステップとを含む、情報処理方法。
An information processing method for performing information processing using a first operating device having a first oscillator and a second operating device having a second oscillator.
A first operation method in which the first operation device and the second operation device are used as a set, and an operation method in which either the first operation device and the second operation device are used. The operation method setting step for setting the operation method to one of the second operation methods, which can also be used independently of the operation device of
When the first operation method is set, the first vibration data for vibrating the first vibrator and the second vibration data for vibrating the second vibrator are generated, and the first vibration data is generated. A vibration data generation step that generates a third vibration data based on the first vibration data and the second vibration data when the second operation method is set, and a vibration data generation step.
When the first operation method is set, the first vibration data is transmitted to the first operation device and the second vibration data is transmitted to the second operation device to perform the second operation. An information processing method including a vibration data transmission step of transmitting the third vibration data to the first operation device or the second operation device used in the second operation method when the method is set. ..
JP2021008657A 2017-01-10 2021-01-22 Information processing programs, information processing devices, information processing systems, and information processing methods Active JP6973967B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021008657A JP6973967B2 (en) 2017-01-10 2021-01-22 Information processing programs, information processing devices, information processing systems, and information processing methods

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017001840A JP6829608B2 (en) 2017-01-10 2017-01-10 Information processing programs, information processing devices, information processing systems, and information processing methods
JP2021008657A JP6973967B2 (en) 2017-01-10 2021-01-22 Information processing programs, information processing devices, information processing systems, and information processing methods

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017001840A Division JP6829608B2 (en) 2016-12-27 2017-01-10 Information processing programs, information processing devices, information processing systems, and information processing methods

Publications (2)

Publication Number Publication Date
JP2021068477A true JP2021068477A (en) 2021-04-30
JP6973967B2 JP6973967B2 (en) 2021-12-01

Family

ID=75637446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021008657A Active JP6973967B2 (en) 2017-01-10 2021-01-22 Information processing programs, information processing devices, information processing systems, and information processing methods

Country Status (1)

Country Link
JP (1) JP6973967B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000140411A (en) * 1998-11-13 2000-05-23 Hori:Kk Excitation type controller for video game machine
JP2009072319A (en) * 2007-09-19 2009-04-09 Namco Bandai Games Inc Program, information memory medium, game device and controller
JP2015066291A (en) * 2013-09-30 2015-04-13 株式会社バンダイナムコゲームス Game machine and program
WO2016136934A1 (en) * 2015-02-27 2016-09-01 ソニー株式会社 Information processing device, information processing method, information processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000140411A (en) * 1998-11-13 2000-05-23 Hori:Kk Excitation type controller for video game machine
JP2009072319A (en) * 2007-09-19 2009-04-09 Namco Bandai Games Inc Program, information memory medium, game device and controller
JP2015066291A (en) * 2013-09-30 2015-04-13 株式会社バンダイナムコゲームス Game machine and program
WO2016136934A1 (en) * 2015-02-27 2016-09-01 ソニー株式会社 Information processing device, information processing method, information processing system

Also Published As

Publication number Publication date
JP6973967B2 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
EP3343323B1 (en) Information processing program, information processing apparatus, information processing system, and information processing method
EP3434342B1 (en) Game system, accessory, game program, and game processing method
EP3343324B1 (en) Information processing program, information processing system, and information processing method
JP6877893B2 (en) Game device, game system, game program, and swing input judgment method
US10471346B2 (en) Information processing system, non-transitory storage medium having stored therein information processing program, information processing apparatus, and information processing method
EP3369466B1 (en) Game system, game apparatus, game program, and game processing method
US10758819B2 (en) Game system, non-transitory storage medium having stored therein game program, information processing apparatus, and game control method
JP6925879B2 (en) Game programs, information processing devices, information processing systems, and game processing methods
JP2019208896A (en) Information processing program, information processing device, information processing system, and information processing method
JP7233399B2 (en) GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD
JP6854132B2 (en) Information processing system, information processing device, information processing program, and information processing method
US10639545B2 (en) Game system, game program, information processing device, and information processing method
JP2018106598A (en) Information processing system, information processing program, information processing device, and information processing method
JP6829608B2 (en) Information processing programs, information processing devices, information processing systems, and information processing methods
JP6973967B2 (en) Information processing programs, information processing devices, information processing systems, and information processing methods
US10661163B2 (en) Video game with haptic signal that is disabled based on losing contact with a surface
JP2017217176A (en) Game device, game program, game system, and game processing method
JP6842368B2 (en) Information processing programs, information processing systems, information processing devices, and information processing methods
JP6955339B2 (en) Information processing programs, information processing devices, information processing systems, and information processing methods
JP6893417B2 (en) Game systems, game programs, information processing devices, and information processing methods
JP6688423B1 (en) Information processing system, information processing program, information processing apparatus, and information processing method
JP6693911B2 (en) Game device, game program, game system, and game processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211102

R150 Certificate of patent or registration of utility model

Ref document number: 6973967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150