U.S. Pat. No. 10,888,770
GAME SYSTEM, ACCESSORY, STORAGE MEDIUM HAVING STORED THEREIN GAME PROGRAM, AND GAME PROCESSING METHOD
AssigneeNintendo Co., Ltd.
Issue DateJune 26, 2018
Illustrative Figure
Abstract
A first fixing portion of an accessory fixes a first game controller so as to rotate about at least a certain axis, and a second fixing portion of the accessory fixes a second game controller. Then, based on a difference value indicating a difference between a first value indicating an orientation of the first game controller and a second value indicating an orientation of the second game controller, a certain game process is executed.
Description
DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS A game system, a game program, a game apparatus, and a game processing method according to an exemplary embodiment are described below. A game system1according to the exemplary embodiment includes a main body apparatus (an information processing apparatus; which functions as a game apparatus main body in the exemplary embodiment)2, a left controller3, a right controller4, and an accessory200. Each of the left controller3and the right controller4is attachable to and detachable from the main body apparatus2. That is, the game system1can be used as a unified apparatus obtained by attaching each of the left controller3and the right controller4to the main body apparatus2. Further, in the game system1, the main body apparatus2, the left controller3, and the right controller4can also be used as separate bodies (seeFIG. 2). Further, the accessory200in the game system1can be used as an extension operation device or an operation tool by attaching controllers (e.g., the left controller3and the right controller4) to the inside of the accessory200. Hereinafter, first, the hardware configuration of the game system1according to the exemplary embodiment is described, and then, the control of the game system1according to the exemplary embodiment is described. FIG. 1is a diagram showing an example of the state where the left controller3and the right controller4are attached to the main body apparatus2. As shown inFIG. 1, each of the left controller3and the right controller4is attached to and unified with the main body apparatus2. The main body apparatus2is an apparatus for performing various processes (e.g., game processing) in the game system1. The main body apparatus2includes a display12. Each of the left controller3and the right controller4is an apparatus including operation sections with which a user provides inputs. It should be noted that in the exemplary embodiment, the longitudinal direction of a main surface of the game system1is ...
DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS
A game system, a game program, a game apparatus, and a game processing method according to an exemplary embodiment are described below. A game system1according to the exemplary embodiment includes a main body apparatus (an information processing apparatus; which functions as a game apparatus main body in the exemplary embodiment)2, a left controller3, a right controller4, and an accessory200. Each of the left controller3and the right controller4is attachable to and detachable from the main body apparatus2. That is, the game system1can be used as a unified apparatus obtained by attaching each of the left controller3and the right controller4to the main body apparatus2. Further, in the game system1, the main body apparatus2, the left controller3, and the right controller4can also be used as separate bodies (seeFIG. 2). Further, the accessory200in the game system1can be used as an extension operation device or an operation tool by attaching controllers (e.g., the left controller3and the right controller4) to the inside of the accessory200. Hereinafter, first, the hardware configuration of the game system1according to the exemplary embodiment is described, and then, the control of the game system1according to the exemplary embodiment is described.
FIG. 1is a diagram showing an example of the state where the left controller3and the right controller4are attached to the main body apparatus2. As shown inFIG. 1, each of the left controller3and the right controller4is attached to and unified with the main body apparatus2. The main body apparatus2is an apparatus for performing various processes (e.g., game processing) in the game system1. The main body apparatus2includes a display12. Each of the left controller3and the right controller4is an apparatus including operation sections with which a user provides inputs. It should be noted that in the exemplary embodiment, the longitudinal direction of a main surface of the game system1is referred to as a “horizontal direction” (also as a “left-right direction”), the short direction of the main surface is referred to as a “vertical direction” (also as an “up-down direction”), and a direction perpendicular to the main surface is referred to as a depth direction (also as a “front-back direction”). Further, to facilitate the understanding of directions in the game system1, three axial (xyz axes) directions are defined for the game system1. Specifically, as shown inFIG. 1, in the game system1, the depth direction of the display12from a front surface, on which the display12is provided, to a back surface is defined as a positive z-axis direction. In the horizontal direction perpendicular to the depth direction, the direction from the right to left (the direction from the attachment position of the right controller4to the attachment position of the left controller3) is defined as a positive x-axis direction. In the up-down direction perpendicular to the depth direction and the horizontal direction, the direction upward along the display12is defined as a positive y-axis direction.
FIG. 2is a diagram showing an example of the state where each of the left controller3and the right controller4is detached from the main body apparatus2. As shown inFIGS. 1 and 2, the left controller3and the right controller4are attachable to and detachable from the main body apparatus2. It should be noted that hereinafter, the left controller3and the right controller4will occasionally be referred to collectively as a “controller”. Further, in the exemplary embodiment, two controllers (e.g., the left controller3and the right controller4) are attached to an extension operation device (e.g., the accessory200), whereby it is possible to control information processing (e.g., game processing) executed by the main body apparatus2by the user operating the extension operation device.
FIG. 3is six orthogonal views showing an example of the main body apparatus2. As shown inFIG. 3, the main body apparatus2includes an approximately plate-shaped housing11. In the exemplary embodiment, a main surface (in other words, a surface on a front side, i.e., a surface on which the display12is provided) of the housing11has a generally rectangular shape.
It should be noted that the shape and the size of the housing11are optional. As an example, the housing11may be of a portable size. Further, the main body apparatus2alone or the unified apparatus obtained by attaching the left controller3and the right controller4to the main body apparatus2may function as a mobile apparatus. The main body apparatus2or the unified apparatus may function as a handheld apparatus or a portable apparatus.
As shown inFIG. 3, the main body apparatus2includes the display12, which is provided on the main surface of the housing11. The display12displays an image generated by the main body apparatus2. In the exemplary embodiment, the display12is a liquid crystal display device (LCD). The display12, however, may be a display device of any type.
Further, the main body apparatus2includes a touch panel13on a screen of the display12. In the exemplary embodiment, the touch panel13is of a type that allows a multi-touch input (e.g., a capacitive type). The touch panel13, however, may be of any type. For example, the touch panel13may be of a type that allows a single-touch input (e.g., a resistive type).
The main body apparatus2includes speakers (i.e., speakers88shown inFIG. 6) within the housing11. As shown inFIG. 3, speaker holes11aand11bare formed on the main surface of the housing11. Then, sounds output from the speakers88are output through the speaker holes11aand11b.
Further, the main body apparatus2includes a left terminal17, which is a terminal for the main body apparatus2to perform wired communication with the left controller3, and a right terminal21, which is a terminal for the main body apparatus2to perform wired communication with the right controller4.
As shown inFIG. 3, the main body apparatus2includes a slot23. The slot23is provided on an upper side surface of the housing11. The slot23is so shaped as to allow a predetermined type of storage medium to be attached to the slot23. The predetermined type of storage medium is, for example, a dedicated storage medium (e.g., a dedicated memory card) for the game system1and an information processing apparatus of the same type as the game system1. The predetermined type of storage medium is used to store, for example, data (e.g., saved data of an application or the like) used by the main body apparatus2and/or a program (e.g., a program for an application or the like) executed by the main body apparatus2. Further, the main body apparatus2includes a power button28.
The main body apparatus2includes a lower terminal27. The lower terminal27is a terminal for the main body apparatus2to communicate with a cradle. In the exemplary embodiment, the lower terminal27is a USB connector (more specifically, a female connector). Further, when the unified apparatus or the main body apparatus2alone is mounted on the cradle, the game system1can display on a stationary monitor an image generated by and output from the main body apparatus2. Further, in the exemplary embodiment, the cradle has the function of charging the unified apparatus or the main body apparatus2alone mounted on the cradle. Further, the cradle has the function of a hub device (specifically, a USB hub).
FIG. 4is six orthogonal views showing an example of the left controller3. As shown inFIG. 4, the left controller3includes a housing31. In the exemplary embodiment, the housing31has a vertically long shape, i.e., is shaped to be long in an up-down direction (i.e., a y-axis direction shown inFIGS. 1 and 4). In the state where the left controller3is detached from the main body apparatus2, the left controller3can also be held in the orientation in which the left controller3is vertically long. The housing31has such a shape and a size that when held in the orientation in which the housing31is vertically long, the housing31can be held with one hand, particularly the left hand. Further, the left controller3can also be held in the orientation in which the left controller3is horizontally long. When held in the orientation in which the left controller3is horizontally long, the left controller3may be held with both hands.
The left controller3includes an analog stick32. As shown inFIG. 4, the analog stick32is provided on a main surface of the housing31. The analog stick32can be used as a direction input section with which a direction can be input. The user tilts the analog stick32and thereby can input a direction corresponding to the direction of the tilt (and input a magnitude corresponding to the angle of the tilt). It should be noted that the left controller3may include a directional pad, a slide stick that allows a slide input, or the like as the direction input section, instead of the analog stick. Further, in the exemplary embodiment, it is possible to provide an input by pressing the analog stick32.
The left controller3includes various operation buttons. The left controller3includes four operation buttons33to36(specifically, a right direction button33, a down direction button34, an up direction button35, and a left direction button36) on the main surface of the housing31. Further, the left controller3includes a record button37and a “−” (minus) button47. The left controller3includes a first L-button38and a ZL-button39in an upper left portion of a side surface of the housing31. Further, the left controller3includes a second L-button43and a second R-button44, on the side surface of the housing31on which the left controller3is attached to the main body apparatus2. These operation buttons are used to give instructions depending on various programs (e.g., an OS program and an application program) executed by the main body apparatus2.
Further, the left controller3includes a terminal42for the left controller3to perform wired communication with the main body apparatus2.
FIG. 5is six orthogonal views showing an example of the right controller4. As shown inFIG. 5, the right controller4includes a housing51. In the exemplary embodiment, the housing51has a vertically long shape, i.e., is shaped to be long in the up-down direction. In the state where the right controller4is detached from the main body apparatus2, the right controller4can also be held in the orientation in which the right controller4is vertically long. The housing51has such a shape and a size that when held in the orientation in which the housing51is vertically long, the housing51can be held with one hand, particularly the right hand. Further, the right controller4can also be held in the orientation in which the right controller4is horizontally long. When held in the orientation in which the right controller4is horizontally long, the right controller4may be held with both hands.
Similarly to the left controller3, the right controller4includes an analog stick52as a direction input section. In the exemplary embodiment, the analog stick52has the same configuration as that of the analog stick32of the left controller3. Further, the right controller4may include a directional pad, a slide stick that allows a slide input, or the like, instead of the analog stick. Further, similarly to the left controller3, the right controller4includes four operation buttons53to56(specifically, an A-button53, a B-button54, an X-button55, and a Y-button56) on a main surface of the housing51. Further, the right controller4includes a “+” (plus) button57and a home button58. Further, the right controller4includes a first R-button60and a ZR-button61in an upper right portion of a side surface of the housing51. Further, similarly to the left controller3, the right controller4includes a second L-button65and a second R-button66.
Further, the right controller4includes a terminal64for the right controller4to perform wired communication with the main body apparatus2.
FIG. 6is a block diagram showing an example of the internal configuration of the main body apparatus2. The main body apparatus2includes components81to91,97, and98shown inFIG. 6in addition to the components shown inFIG. 3. Some of the components81to91,97, and98may be mounted as electronic components on an electronic circuit board and accommodated in the housing11.
The main body apparatus2includes a processor81. The processor81is an information processing section for executing various types of information processing to be executed by the main body apparatus2. For example, the processor81may be composed only of a CPU (Central Processing Unit), or may be composed of a SoC (System-on-a-chip) having a plurality of functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor81executes an information processing program (e.g., a game program) stored in a storage section (specifically, an internal storage medium such as a flash memory84, an external storage medium attached to the slot23, or the like), thereby performing the various types of information processing.
The main body apparatus2includes a flash memory84and a DRAM (Dynamic Random Access Memory)85as examples of internal storage media built into the main body apparatus2. The flash memory84and the DRAM85are connected to the processor81. The flash memory84is a memory mainly used to store various data (or programs) to be saved in the main body apparatus2. The DRAM85is a memory used to temporarily store various data used for information processing.
The main body apparatus2includes a slot interface (hereinafter abbreviated as “I/F”)91. The slot I/F91is connected to the processor81. The slot I/F91is connected to the slot23, and in accordance with an instruction from the processor81, reads and writes data from and to the predetermined type of storage medium (e.g., a dedicated memory card) attached to the slot23.
The processor81appropriately reads and writes data from and to the flash memory84, the DRAM85, and each of the above storage media, thereby performing the above information processing.
The main body apparatus2includes a network communication section82. The network communication section82is connected to the processor81. The network communication section82communicates (specifically, through wireless communication) with an external apparatus via a network. In the exemplary embodiment, as a first communication form, the network communication section82connects to a wireless LAN and communicates with an external apparatus, using a method compliant with the Wi-Fi standard. Further, as a second communication form, the network communication section82wirelessly communicates with another main body apparatus2of the same type, using a predetermined communication method (e.g., communication based on a unique protocol or infrared light communication). It should be noted that the wireless communication in the above second communication form achieves the function of enabling so-called “local communication” in which the main body apparatus2can wirelessly communicate with another main body apparatus2placed in a closed local network area, and the plurality of main body apparatuses2directly communicate with each other to transmit and receive data.
The main body apparatus2includes a controller communication section83. The controller communication section83is connected to the processor81. The controller communication section83wirelessly communicates with the left controller3and/or the right controller4. The communication method between the main body apparatus2and the left controller3and the right controller4is optional. In the exemplary embodiment, the controller communication section83performs communication compliant with the Bluetooth (registered trademark) standard with the left controller3and with the right controller4.
The processor81is connected to the left terminal17, the right terminal21, and the lower terminal27. When performing wired communication with the left controller3, the processor81transmits data to the left controller3via the left terminal17and also receives operation data from the left controller3via the left terminal17. Further, when performing wired communication with the right controller4, the processor81transmits data to the right controller4via the right terminal21and also receives operation data from the right controller4via the right terminal21. Further, when communicating with the cradle, the processor81transmits data to the cradle via the lower terminal27. As described above, in the exemplary embodiment, the main body apparatus2can perform both wired communication and wireless communication with each of the left controller3and the right controller4. Further, when the unified apparatus obtained by attaching the left controller3and the right controller4to the main body apparatus2or the main body apparatus2alone is attached to the cradle, the main body apparatus2can output data (e.g., image data or sound data) to the stationary monitor or the like via the cradle.
Here, the main body apparatus2can communicate with a plurality of left controllers3simultaneously (in other words, in parallel). Further, the main body apparatus2can communicate with a plurality of right controllers4simultaneously (in other words, in parallel). Thus, a plurality of users can simultaneously provide inputs to the main body apparatus2, each using a set of the left controller3and the right controller4. As an example, a first user can provide an input to the main body apparatus2using a first set of the left controller3and the right controller4, and simultaneously, a second user can provide an input to the main body apparatus2using a second set of the left controller3and the right controller4.
The main body apparatus2includes a touch panel controller86, which is a circuit for controlling the touch panel13. The touch panel controller86is connected between the touch panel13and the processor81. Based on a signal from the touch panel13, the touch panel controller86generates, for example, data indicating the position where a touch input is provided. Then, the touch panel controller86outputs the data to the processor81.
Further, the display12is connected to the processor81. The processor81displays a generated image (e.g., an image generated by executing the above information processing) and/or an externally acquired image on the display12.
The main body apparatus2includes a codec circuit87and speakers (specifically, a left speaker and a right speaker)88. The codec circuit87is connected to the speakers88and a sound input/output terminal25and also connected to the processor81. The codec circuit87is a circuit for controlling the input and output of sound data to and from the speakers88and the sound input/output terminal25.
Further, the main body apparatus2includes an acceleration sensor89. In the exemplary embodiment, the acceleration sensor89detects the magnitudes of accelerations along predetermined three axial (e.g., xyz axes shown inFIG. 1) directions. It should be noted that the acceleration sensor89may detect an acceleration along one axial direction or accelerations along two axial directions.
Further, the main body apparatus2includes an angular velocity sensor90. In the exemplary embodiment, the angular velocity sensor90detects angular velocities about predetermined three axes (e.g., the xyz axes shown inFIG. 1). It should be noted that the angular velocity sensor90may detect an angular velocity about one axis or angular velocities about two axes.
The acceleration sensor89and the angular velocity sensor90are connected to the processor81, and the detection results of the acceleration sensor89and the angular velocity sensor90are output to the processor81. Based on the detection results of the acceleration sensor89and the angular velocity sensor90, the processor81can calculate information regarding the motion and/or the orientation of the main body apparatus2.
The main body apparatus2includes a power control section97and a battery98. The power control section97is connected to the battery98and the processor81. Further, although not shown inFIG. 6, the power control section97is connected to components of the main body apparatus2(specifically, components that receive power supplied from the battery98, the left terminal17, and the right terminal21). Based on a command from the processor81, the power control section97controls the supply of power from the battery98to the above components.
Further, the battery98is connected to the lower terminal27. When an external charging device (e.g., the cradle) is connected to the lower terminal27, and power is supplied to the main body apparatus2via the lower terminal27, the battery98is charged with the supplied power.
FIG. 7is a block diagram showing examples of the internal configurations of the main body apparatus2, the left controller3, and the right controller4. It should be noted that the details of the internal configuration of the main body apparatus2are shown inFIG. 6and therefore are omitted inFIG. 7.
The left controller3includes a communication control section101, which communicates with the main body apparatus2. As shown inFIG. 7, the communication control section101is connected to components including the terminal42. In the exemplary embodiment, the communication control section101can communicate with the main body apparatus2through both wired communication via the terminal42and wireless communication not via the terminal42. The communication control section101controls the method for communication performed by the left controller3with the main body apparatus2. That is, when the left controller3is attached to the main body apparatus2, the communication control section101communicates with the main body apparatus2via the terminal42. Further, when the left controller3is detached from the main body apparatus2, the communication control section101wirelessly communicates with the main body apparatus2(specifically, the controller communication section83). The wireless communication between the communication control section101and the controller communication section83is performed in accordance with the Bluetooth (registered trademark) standard, for example.
Further, the left controller3includes a memory102such as a flash memory. The communication control section101includes, for example, a microcomputer (or a microprocessor) and executes firmware stored in the memory102, thereby performing various processes.
The left controller3includes buttons103(specifically, the buttons33to39,43,44, and47). Further, the left controller3includes the analog stick (“stick” inFIG. 7)32. Each of the buttons103and the analog stick32outputs information regarding an operation performed on itself to the communication control section101repeatedly at appropriate timing.
The left controller3includes inertial sensors. Specifically, the left controller3includes an acceleration sensor104. Further, the left controller3includes an angular velocity sensor105. In the exemplary embodiment, the acceleration sensor104detects the magnitudes of accelerations along predetermined three axial (e.g., xyz axes shown inFIG. 4) directions. It should be noted that the acceleration sensor104may detect an acceleration along one axial direction or accelerations along two axial directions. In the exemplary embodiment, the angular velocity sensor105detects angular velocities about predetermined three axes (e.g., the xyz axes shown inFIG. 4). It should be noted that the angular velocity sensor105may detect an angular velocity about one axis or angular velocities about two axes. Each of the acceleration sensor104and the angular velocity sensor105is connected to the communication control section101. Then, the detection results of the acceleration sensor104and the angular velocity sensor105are output to the communication control section101repeatedly at appropriate timing.
The communication control section101acquires information regarding an input (specifically, information regarding an operation or the detection result of the sensor) from each of input sections (specifically, the buttons103, the analog stick32, and the sensors104and105). The communication control section101transmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main body apparatus2. It should be noted that the operation data is transmitted repeatedly, once every predetermined time. It should be noted that the interval at which the information regarding an input is transmitted from each of the input sections to the main body apparatus2may or may not be the same.
The above operation data is transmitted to the main body apparatus2, whereby the main body apparatus2can obtain inputs provided to the left controller3. That is, the main body apparatus2can determine operations on the buttons103and the analog stick32based on the operation data. Further, the main body apparatus2can calculate information regarding the motion and/or the orientation of the left controller3based on the operation data (specifically, the detection results of the acceleration sensor104and the angular velocity sensor105). It should be noted that in the following description, the direction in which the left controller3rotates about an x-axis direction (seeFIGS. 1, 2, and 4) is a pitch direction. The direction in which the left controller3rotates about a y-axis direction is a roll direction. The direction in which the left controller3rotates about a z-axis direction is a yaw direction.
The left controller3includes a vibrator107for giving notification to the user by a vibration. In the exemplary embodiment, the vibrator107is controlled by a command from the main body apparatus2. That is, if receiving the above command from the main body apparatus2, the communication control section101drives the vibrator107in accordance with the received command. Here, the left controller3includes a codec section106. If receiving the above command, the communication control section101outputs a control signal corresponding to the command to the codec section106. The codec section106generates a driving signal for driving the vibrator107from the control signal from the communication control section101and outputs the driving signal to the vibrator107. Consequently, the vibrator107operates.
More specifically, the vibrator107is a linear vibration motor. Unlike a regular motor that rotationally moves, the linear vibration motor is driven in a predetermined direction in accordance with an input voltage and therefore can be vibrated at an amplitude and a frequency corresponding to the waveform of the input voltage. In the exemplary embodiment, a vibration control signal transmitted from the main body apparatus2to the left controller3may be a digital signal representing the frequency and the amplitude every unit of time. In another exemplary embodiment, the main body apparatus2may transmit information indicating the waveform itself. The transmission of only the amplitude and the frequency, however, enables a reduction in the amount of communication data. Additionally, to further reduce the amount of data, only the differences between the numerical values of the amplitude and the frequency at that time and the previous values may be transmitted, instead of the numerical values. In this case, the codec section106converts a digital signal indicating the values of the amplitude and the frequency acquired from the communication control section101into the waveform of an analog voltage and inputs a voltage in accordance with the resulting waveform, thereby driving the vibrator107. Thus, the main body apparatus2changes the amplitude and the frequency to be transmitted every unit of time and thereby can control the amplitude and the frequency at which the vibrator107is to be vibrated at that time. It should be noted that not only a single amplitude and a single frequency, but also two or more amplitudes and two or more frequencies may be transmitted from the main body apparatus2to the left controller3. In this case, the codec section106combines waveforms indicated by the plurality of received amplitudes and frequencies and thereby can generate the waveform of a voltage for controlling the vibrator107.
The left controller3includes a power supply section108. In the exemplary embodiment, the power supply section108includes a battery and a power control circuit. Although not shown inFIG. 7, the power control circuit is connected to the battery and also connected to components of the left controller3(specifically, components that receive power supplied from the battery).
As shown inFIG. 7, the right controller4includes a communication control section111, which communicates with the main body apparatus2. Further, the right controller4includes a memory112, which is connected to the communication control section111. The communication control section111is connected to components including the terminal64. The communication control section111and the memory112have functions similar to those of the communication control section101and the memory102, respectively, of the left controller3. Thus, the communication control section111can communicate with the main body apparatus2through both wired communication via the terminal64and wireless communication not via the terminal64(specifically, communication compliant with the Bluetooth (registered trademark) standard). The communication control section111controls the method for communication performed by the right controller4with the main body apparatus2.
The right controller4includes input sections similar to the input sections of the left controller3. Specifically, the right controller4includes buttons113, the analog stick52, and inertial sensors (an acceleration sensor114and an angular velocity sensor115). These input sections have functions similar to those of the input sections of the left controller3and operate similarly to the input sections of the left controller3. It should be noted that the main body apparatus2can calculate information regarding the motion and/or the orientation of the right controller4based on operation data (specifically, the detection results of the acceleration sensor114and the angular velocity sensor115). Further, in the following description, the direction in which the right controller4rotates about an x-axis direction (seeFIGS. 1, 2, and 5) is a pitch direction. The direction in which the right controller4rotates about a y-axis direction is a roll direction. The direction in which the right controller4rotates about a z-axis direction is a yaw direction.
Further, the right controller4includes a vibrator117and a codec section116. The vibrator117and the codec section116operate similarly to the vibrator107and the codec section106, respectively, of the left controller3. That is, in accordance with a command from the main body apparatus2, the communication control section111causes the vibrator117to operate, using the codec section116.
The right controller4includes a power supply section118. The power supply section118has a function similar to that of the power supply section108of the left controller3and operates similarly to the power supply section108.
Next, with reference toFIG. 8, a description is given of an operation using the accessory200, which is an example of the extension operation device.FIG. 8is a diagram showing an example of the state where a user performs a game operation by attaching the accessory200. In the exemplary embodiment, the main body apparatus2, the left controller3, and the right controller4can be attached to the accessory200. Based on operation data transmitted from the left controller3and the right controller4attached to the accessory200to the main body apparatus2, a process corresponding to the content of an operation on the accessory200is executed. Here, although the details will be described later, the content of an operation on the accessory200is detected based on operations on the operation buttons provided in the left controller3and the right controller4and the orientations or the motions of the left controller3and the right controller4. Thus, the accessory200does not need to have an electrical structure such as an electronic circuit for detecting the content of an operation performed by the user and transmitting the detection result to the main body apparatus2. Thus, according to the exemplary embodiment, it is possible to simplify the configuration of the accessory200, which is an example of the extension operation device.
For example, in the exemplary embodiment, as shown inFIG. 8, while holding portions (a left controller supporting portion203and a right controller supporting portion204described later) provided at both ends (on the left and right) of the accessory200, the user uses the accessory200in the state where the extremity of a supporting portion (a supporting portion201described later) provided between both holding portions abuts a front portion of the torso of the user's body. Then, the user performs an operation using the accessory200by tilting the entirety of the accessory200, twisting one of the holding portions (e.g., the right controller supporting portion204held by the right hand of the user), moving both holding portions as if operating a steering wheel, or operating operation sections (a blinker operation section205, a brake operation section206, and a starter operation section207described later) provided in the accessory200. Typically, the accessory200can simulate a motorbike, and the user can perform the operation of performing the simulated driving of the motorbike using the accessory200. Here, the up, down, left, and right directions of the accessory200are defined as directions viewed from the user based on the state where the user uses the accessory200. That is, in a case where the user uses the accessory200in the state where the extremity of the supporting portion abuts the front portion of the torso of the user's body, the direction in which a holding portion (the left controller supporting portion203described later) capable of being held by the left hand is provided is the left direction of the accessory200. The direction in which a holding portion (the right controller supporting portion204described later) capable of being held by the right hand is provided is the right direction of the accessory200.
To an upper surface of a main body portion (a main body portion202described later) of the accessory200, the main body apparatus2is attached. Then, in accordance with an operation using the accessory200as described above, a player object placed in a virtual space performs an action, and an image of the virtual space reflecting the action of the player object is displayed on the display12of the main body apparatus2.
For example, when the user operates an operation section provided in the accessory200, then in accordance with the operation on the operation section, an operation button (the first L-button38or the ZL-button39) of the left controller3attached to the inside of the left controller supporting portion203, or an operation button (the first R-button60or the ZR-button61) of the right controller4attached to the inside of the right controller supporting portion204is pressed. Such a pressing operation on the operation button is detected, whereby it is estimated that the user operating the accessory200operates an operation section. Then, in accordance with the operation section on which the operation is estimated, the player object also performs an action in the virtual space.
Here, each of the left controller3and the right controller4attached to the accessory200includes the inertial sensors (the acceleration sensor and the angular velocity sensor). Thus, it is possible to calculate the orientations and/or the motions of the left controller3and the right controller4(i.e., the orientation and/or the motion of the accessory200) using the detection results of the inertial sensors. In the exemplary embodiment, in accordance with such an orientation and/or a motion of the accessory200, it is possible to control the action of the player object.
For example, when the user rotates the right controller supporting portion204(seeFIGS. 9 to 11) that the user holds with their right hand as if twisting an accelerator, the right controller4attached to the inside of the right controller supporting portion204roll-rotates. Such a motion of the right controller4is detected, whereby it is estimated that the user operating the accessory200performs an operation as if twisting the accelerator. Then, the player object also moves in the virtual space at a velocity corresponding to an estimated accelerator position. Further, when the user performs the operation of directing the entirety of the accessory200upward (the operation of running in the state where the front wheel of the motorbike is off the ground; hereinafter referred to as a “wheelie operation”), the left controller3attached to the inside of the left controller supporting portion203(seeFIGS. 9 to 11) roll-rotates. Such a motion of the roll rotation of the left controller3is detected, whereby it is estimated that the user operating the accessory200performs an operation as if performing a wheelie. Then, the player object also performs a wheelie action in the virtual space in accordance with an estimated change in the orientation. Further, when the user performs the operation of moving the left controller supporting portion203and the right controller supporting portion204that the user holds with their left and right hands as if turning the steering wheel, the left controller3attached to the inside of the left controller supporting portion203yaw-rotates. Such a motion of the yaw rotation of the left controller3is detected, whereby it is estimated that the user operating the accessory200performs the operation of turning the steering wheel. Then, the player object also changes its moving direction in the virtual space in accordance with an estimated change in the direction. Further, when the user performs the operation of tilting the entirety of the accessory200to the left and right, the left controller3attached to the inside of the left controller supporting portion203pitch-rotates. Such a motion of the pitch rotation of the left controller3is detected, whereby it is estimated that the user operating the accessory200performs the operation of falling over to the left and right. Then, the player object also tilts and/or changes its moving direction in the virtual space in accordance with an estimated tilting change.
It should be noted that in the action or the orientation of the player object to be changed in accordance with the orientation of the left controller3, another change may occur in accordance with the state (e.g., the moving velocity or the accelerator position) of the player object moving in the virtual space. For example, the wheelie action may be able to be performed only while the player object is moving at a predetermined moving velocity or more in the virtual space (e.g., in the state where the accelerator position is equal to or greater than a predetermined value). In this case, even when the user performs the wheelie operation, but when the condition under which the player object performs the wheelie action is not satisfied, the direction in which the player object is directed may be simply changed to the up direction in the virtual space without performing the wheelie action.
Further, in the above example, the motion of the roll rotation of the left controller3is detected, whereby it is estimated that the user operating the accessory200performs an operation as if performing a wheelie. Alternatively, another motion may be detected, thereby detecting the wheelie operation. For example, the motion of the main body apparatus2, attached to the accessory200, rotating in the pitch direction (the direction in which the main body apparatus2rotates about an x-axis direction shown inFIG. 1) may be detected, thereby estimating that the user operating the accessory200performs an operation as if performing a wheelie. In this case, the rotation in the pitch direction of the main body apparatus2may be detected using angular velocities detected by the angular velocity sensor90, which is provided in the main body apparatus2. As another example, the roll rotation of the right controller4attached to the accessory200may be detected, thereby estimating that the user operating the accessory200performs an operation as if performing a wheelie. In this case, under the condition that the difference in roll rotation between the left controller3and the right controller4is less than or equal to a predetermined value, the wheelie operation can be detected based on the roll rotation of the right controller4.
Further, in the above example, an example has been described where the wheelie operation, the operation of turning the steering wheel, and the operation of tilting the entirety of the accessory200to the left and right are performed in addition to the accelerator operation. Alternatively, at least one of the wheelie operation, the operation of turning the steering wheel, and the operation of tilting the entirety of the accessory200to the left and right may be implemented in addition to the accelerator operation.
As described above, the player object that performs an action in accordance with an operation using the accessory200is displayed on the display12of the main body apparatus2. Thus, the user operating the accessory200enjoys a game by viewing the display12of the main body apparatus2, which is provided on an upper surface of the accessory200(the upper surface of the main body portion202). However, the viewpoint from which the player object on the display12is displayed may be placed at any position in the virtual space. As a first example, a virtual space image obtained by viewing the player object from behind the player object may be displayed on the above display device. As a second example, a virtual space image from a first-person viewpoint of the player object may be displayed on the above display device. As a third example, a virtual space image obtained by viewing the player object from the front of the player object may be displayed on the above display device. Here, depending on the viewpoint placed in the virtual space and the direction of the line of sight, it may be difficult for the user to understand the motion of the player object relative to the motion of the user themselves. However, a part or the action direction of the player object performing an action in response to an operation using the accessory200is set in accordance with the viewpoint and the direction of the line of sight, whereby it is possible to provide realistic game play. Further, vibrations corresponding to the game situation are imparted to the left controller3and/or the right controller4. Thus, the vibrations of the left controller3and/or the right controller4are transmitted via the left controller supporting portion203and/or the right controller supporting portion204. Thus, it is also possible to cause the user, performing an operation while holding the left controller supporting portion203and the right controller supporting portion204, to perceive the vibrations. Thus, it is possible to provide more realistic game play.
Next, with reference toFIGS. 9 to 17, a description is given of the accessory200, which is an example of the extension operation device. It should be noted thatFIG. 9is a perspective view showing an example of the external appearance of the accessory200.FIG. 10is six orthogonal views showing an example of the external appearance of the accessory200.FIG. 11is a diagram showing an example of the state where the main body apparatus2, the left controller3, and the right controller4are attached to the accessory200.FIG. 12is a diagram showing an example of an accelerator mechanism of the accessory200.FIG. 13is a diagram showing an example of a first state of the accelerator mechanism of the accessory200.FIG. 14is a diagram showing an example of a second state of the accelerator mechanism of the accessory200.FIG. 15is a diagram showing an example of a third state of the accelerator mechanism of the accessory200.FIG. 16is a diagram showing an example of a brake mechanism of the accessory200.FIG. 17is a diagram showing an example of a blinker mechanism of the accessory200.
InFIGS. 9 to 11, generally, the accessory200includes a supporting portion201, a main body portion202, a left controller supporting portion203, and a right controller supporting portion204. The entirety of the accessory200has a shape representing a front portion of a motorbike including a steering wheel. The user can perform the operation of performing the simulated driving of the motorbike using the accessory200by causing the back end of the supporting portion201to abut a front portion of the torso of the user while holding the left controller supporting portion203and the right controller supporting portion204on the left and right with their left and right hands. The main body portion202is attached to an upper surface of the supporting portion201so as to rotate in a B direction shown in the figures. Then, the left controller supporting portion203is provided on a left side surface of the main body portion202by inserting the left controller supporting portion203, and the right controller supporting portion204is provided on a right side surface of the main body portion202by inserting the right controller supporting portion204.
The supporting portion201is a plate-like member of which the front-back direction is its longitudinal direction. On a front upper surface of the supporting portion201, a shaft portion (not shown) to be inserted into the main body portion202is provided standing in the up direction. To a back end portion of the supporting portion201, an extension portion201afor adjusting the length in the longitudinal direction of the supporting portion201can be attached. When the extension portion201ais attached to the back end portion of the supporting portion201, the length in the longitudinal direction becomes long. Thus, the distances from the back end of the accessory200to the main body portion202, the left controller supporting portion203, and the right controller supporting portion204become long. Thus, the user detaches and attaches the extension portion201afrom and to the supporting portion201and thereby can adjust the length in the front-back direction of the accessory200in accordance with the build of the user themselves.
The main body portion202is rotationally provided in the shaft portion provided in the supporting portion201and is supported so as to rotate in the B direction shown in the figures on the front upper surface of the supporting portion201. On an upper surface of the main body portion202, a main body apparatus fixing portion202ais formed, to which the main body apparatus2is attachably and detachably fixed. The main body apparatus fixing portion202acan fix the main body apparatus2to the upper surface of the main body portion202by clamping up, down, left, and right end portions of the main body apparatus2. Thus, the main body apparatus fixing portion202afixes the main body apparatus2such that the display12of the main body apparatus2is an upper surface, whereby the user can view an image displayed on the display12while operating the accessory200.
Further, to the left side surface of the main body portion202, the left controller supporting portion203is laterally provided on and fixed to the left side surface such that the longitudinal direction of the left controller supporting portion203is the left direction. Meanwhile, to the right side surface of the main body portion202, the right controller supporting portion204is laterally provided on the right side surface such that the longitudinal direction of the right controller supporting portion204is the right direction. That is, the left controller supporting portion203is provided on one side of the main body portion202, and the right controller supporting portion204is provided on the other side of the main body portion202. Thus, the left controller supporting portion203and the right controller supporting portion204move integrally with the motion of the main body portion202. When the main body portion202rotates in the B direction shown in the figures, the left controller supporting portion203and the right controller supporting portion204also rotate integrally in the B direction shown in the figures. Further, the left controller supporting portion203and the right controller supporting portion204are provided in the main body portion202such that the longitudinal direction of the left controller supporting portion203and the longitudinal direction of the right controller supporting portion204are on approximately the same straight line or are left and right directions approximately parallel to each other. Here, as will be apparent later, the right controller supporting portion204is provided on the right side surface of the main body portion202by inserting the right controller supporting portion204so as to rotate about a long axis, which is the longitudinal direction (an A direction shown in the figures). Thus, the right controller supporting portion204can roll-rotate in the A direction shown in the figures relative to the left controller supporting portion203or the main body portion202.
To the inside of the left controller supporting portion203, the left controller3is detachably attached. The length in the up-down direction of an inner space of the left controller supporting portion203is almost the same as the maximum thickness (the maximum length in a z-axis direction shown inFIG. 1) of the left controller3, and the length in the left-right direction of the left controller supporting portion203is almost the same as the maximum width in the left-right direction (the maximum length in the x-axis direction shown inFIG. 1) of the left controller3. Thus, the left controller3can be inserted into the inner space of the left controller supporting portion203and fixed such that the longitudinal direction of the left controller supporting portion203coincides with the longitudinal direction of the left controller3. For example, as shown inFIG. 11, the left controller3can be attached to the left controller supporting portion203such that a main surface (a surface formed further in a negative z-axis direction inFIG. 4) of the left controller3is in the up direction, and an upper side surface (a surface further in a positive y-axis direction inFIG. 4) of the left controller3is in the right direction, which is on the main body portion202side. Thus, the left controller3attached to the left controller supporting portion203is attached to the accessory200such that the positive x-axis direction of the left controller3is the front direction of the accessory200, the positive y-axis direction of the left controller3is the right direction of the accessory200, and the positive z-axis direction of the left controller3is the down direction of the accessory200. Then, when a front portion of the accessory200is brought up, or the front portion of the accessory200is brought down, the left controller3attached to the left controller supporting portion203rotates in the roll direction. When the main body portion202is caused to rotate in the B direction shown in the figures as if turning a steering wheel, the left controller3attached to the left controller supporting portion203rotates in the yaw direction. When the entirety of the accessory200is tilted to the left and right, the left controller3attached to the left controller supporting portion203rotates in the pitch direction. It should be noted that a part of the left controller3attached to the left controller supporting portion203may be exposed to outside. For example, the analog stick32and the like may be exposed on an upper surface of the left controller supporting portion203.
The left controller supporting portion203includes a blinker operation section205. The blinker operation section205is provided on the main body portion202side on a back side surface (a side surface on the side where the user operates the accessory200) of the left controller supporting portion203and can be operated by the left thumb and the like of the user holding the left controller supporting portion203. Specifically, the blinker operation section205includes an operation piece for moving to the left and right in accordance with a user operation. Then, as will be apparent later, in the blinker operation section205, it is possible to selectively perform a pressing operation on one of the first L-button38and the ZL-button39of the left controller3by moving the operation piece to the left and right.
To the inside of the right controller supporting portion204, the right controller4is detachably attached. The length in the up-down direction of an inner space of the right controller supporting portion204is almost the same as the maximum thickness (the maximum length in the z-axis direction shown inFIG. 1) of the right controller4, and the length in the left-right direction of the right controller supporting portion204is almost the same as the maximum width in the left-right direction (the maximum length in the x-axis direction shown inFIG. 1) of the right controller4. Thus, the right controller4can be inserted into the inner space of the right controller supporting portion204and fixed such that the longitudinal direction of the right controller supporting portion204coincides with the longitudinal direction of the right controller4. For example, as shown inFIG. 11, the right controller4can be attached to the right controller supporting portion204such that a main surface (a surface formed further in a negative z-axis direction inFIG. 5) of the right controller4is in the up direction, and an upper side surface (a surface further in a positive y-axis direction inFIG. 5) of the right controller4is in the left direction, which is on the main body portion202side. Thus, the right controller4attached to the right controller supporting portion204is attached to the accessory200such that the positive x-axis direction of the right controller4is the back direction of the accessory200, the positive y-axis direction of the right controller4is the left direction of the accessory200, and the positive z-axis direction of the right controller4is the down direction of the accessory200. Then, when the right controller supporting portion204is operated so as to rotate in the A direction shown in the figures, the right controller4attached to the right controller supporting portion204rotates in the roll direction. Further, when the front portion of the accessory200is brought up, or the front portion of the accessory200is brought down, the right controller4attached to the right controller supporting portion204rotates in the roll direction. When the main body portion202is caused to rotate in the B direction shown in the figures as if turning a steering wheel, the right controller4attached to the right controller supporting portion204rotates in the yaw direction and/or the pitch direction in accordance with the rotational angle of the right controller supporting portion204in the A direction shown in the figures. When the entirety of the accessory200is tilted to the left and right, the right controller4attached to the right controller supporting portion204rotates in the yaw direction and/or the pitch direction in accordance with the rotational angle of the right controller supporting portion204in the A direction shown in the figures. It should be noted that a part of the right controller4attached to the right controller supporting portion204may be exposed to outside. For example, the analog stick52, the “+” button57, and the like may be exposed on an upper surface of the right controller supporting portion204.
The right controller supporting portion204includes a brake operation section206and a starter operation section207. The brake operation section206is provided on the main body portion202side on a front side surface (a surface on the opposite side opposed to a side surface on the side where the user operates the accessory200) of the right controller supporting portion204and can be operated by the right index finger or the like of the user holding the right controller supporting portion204. Specifically, the brake operation section206includes an operation piece for moving to the near side in accordance with a user operation. Then, as will be apparent later, in the brake operation section206, it is possible to perform a pressing operation on the first R-button60of the right controller4by moving the operation piece to the near side. Further, the starter operation section207is provided on the main body portion202side of a back side surface (the side surface on the side where the user operates the accessory200) of the right controller supporting portion204and can be operated by the right thumb and the like of the user holding the right controller supporting portion204. Specifically, the starter operation section207includes an operation piece capable of being pressed (subjected to a push-in operation) in accordance with a user operation. Then, in the starter operation section207, it is possible to perform a pressing operation on the ZR-button61of the right controller4by pressing (pushing in) the operation piece.
Next, with reference toFIGS. 12 to 15, a description is given of an accelerator mechanism provided in the accessory200. As described above, the right controller supporting portion204is provided by inserting the right controller supporting portion204so as to rotate in the A direction shown in the figures relative to the main body portion202. As shown inFIG. 12, a bearing portion202bfor supporting the right controller supporting portion204so as to rotate is provided within the main body portion202. The right controller supporting portion204can rotate in the A direction shown in the figures along a cylindrical inner surface S of the bearing portion202b.
As shown inFIG. 13, the right controller supporting portion204is biased in an −A direction shown in the figures (e.g., a clockwise direction when the main body portion202is viewed from a right end portion of the right controller supporting portion204) about the axis of the bearing portion202b. For example, the right controller supporting portion204is biased in the −A direction shown in the figures by tension stress caused by elastic members202c, which are provided in a stretched manner between the right controller supporting portion204and the bearing portion202b. In the example shown inFIG. 13, on side surfaces of the right controller supporting portion204, a plurality of elastic member hook portions204aare provided, to which the elastic members202c(e.g., rubber bands) are hooked. Then, one ends of the plurality of elastic members202care fixed to the cylindrical inner surface S of the bearing portion202b, and the other ends of the plurality of elastic members202care hooked to the elastic member hook portions204asuch that the right controller supporting portion204is biased in the −A direction shown in the figures.
Further, on the cylindrical inner surface S of the bearing portion202b, rotation restriction portions202dare provided, which stop the rotational action of the right controller supporting portion204. For example, the rotation restriction portions202dare formed of protruding portions protruding from the cylindrical inner surface S of the bearing portion202b. Consequently, when the side surfaces of the right controller supporting portion204rotation along the cylindrical inner surface S of the bearing portion202babut the rotation restriction portions202d, the rotation of the right controller supporting portion204stops at the position of the abutment. Thus, when the right controller supporting portion204rotates in the −A direction shown in the figures by the biasing of the elastic members202c, the rotation stops at the position where the side surfaces of the right controller supporting portion204and the rotation restriction portions202dabut each other. The position of the stop is an initial position of the right controller supporting portion204in the rotational action (the state inFIG. 13). It should be noted that in the example shown inFIG. 13, the rotation restriction portions202dare provided in two places on the cylindrical inner surface S of the bearing portion202b, and the two rotation restriction portions202dsimultaneously abut the side surfaces (more specifically, two side surfaces opposed to each other) of the right controller supporting portion204at the initial position. A plurality of rotation restriction portions202dare thus provided, whereby it is possible to securely stop the rotation of the right controller supporting portion204at the initial position. It should be noted that the initial position of the right controller supporting portion204may be at any angle. For example, the right controller supporting portion204may be tilted by 10 degrees in an elevation direction or a depression direction from the horizontal direction shown inFIG. 13, or the initial angle may be any angle.
As shown inFIG. 14, the user of the accessory200can perform the operation of rotation, in a +A direction shown in the figures, the right controller supporting portion204stopping its rotational action at the initial position. Specifically, the user performs the operation of twisting the right controller supporting portion204that the user holds with their right hand, in the +A direction shown in the figures with a greater force than the biasing forces of the elastic members202c, whereby the right controller supporting portion204rotates in the +A direction shown in the figures along the cylindrical inner surface S of the bearing portion202b. At this time, the user can further rotate the right controller supporting portion204in the +A direction shown in the figures. Further, when the user releases the right controller supporting portion204held by the user, the right controller supporting portion204rotates in the −A direction shown in the figures by the biasing forces of the elastic members202cand stops at the initial position. That is, the operation of rotation the right controller supporting portion204simulates an accelerator operation on a motorbike. Thus, it is possible to cause the right controller supporting portion204to function as the accelerator mechanism of the accessory200. Then, the right controller4attached to the inside of the right controller supporting portion204rotates in the roll direction in accordance with the accelerator operation using the right controller supporting portion204. Thus, it is possible to calculate the accelerator operation (the accelerator position) of the user by detecting this rotation.
It should be noted that also when the user performs the operation of directing the entirety of the accessory200upward (the wheelie operation), or when the user performs the operation of directing the entirety of the accessory200downward, the right controller4attached to the inside of the right controller supporting portion204rotates in the roll direction. Thus, with the detection of the rotational action in the roll direction of the right controller4alone, it is not possible to distinguish between the operation of directing the entirety of the accessory200upward and downward and the accelerator operation. In the exemplary embodiment, to distinguish between the operation of directing the entirety of the accessory200upward and downward and the accelerator operation, the difference between the orientation of the left controller3and the orientation of the right controller4is calculated, and using a value indicating the calculated difference, the accelerator operation (the accelerator position) of the user is calculated. Here, unlike the right controller supporting portion204, the left controller supporting portion203for fixing the left controller3cannot rotate in the A direction shown in the figures relative to the main body portion202and is fixed to the main body portion202. That is, the difference between the orientation in the roll direction of the left controller3and the orientation in the roll direction of the right controller4is considered to be caused by the accelerator operation. In the exemplary embodiment, with the use of such a characteristic of the accessory200, the accelerator operation (the accelerator position) of the user is calculated using the difference value between the orientation of the left controller3and the orientation of the right controller4.
Further, when the right controller supporting portion204is rotated in the +A direction shown in the figures, the side surfaces of the right controller supporting portion204rotation along the cylindrical inner surface S of the bearing portion202babut the rotation restriction portions202d(the state inFIG. 15). Specifically, the side surface of the right controller supporting portion204abutting an abutment surface on one side of the rotation restriction portions202dat the initial position abuts an abutment surface on the other side of the rotation restriction portions202d, thereby stopping the rotation of the right controller supporting portion204. That is, the rotation restriction portions202d, which function as a stopper for stopping the right controller supporting portion204at the initial position, also function as a stopper for stopping the right controller supporting portion204at a maximum rotational angle. It should be noted that in the examples shown inFIGS. 13 to 15, an example is used where the maximum rotational angle allowing the right controller supporting portion204to rotate is 90 degrees. Alternatively, the maximum rotational angle can be set to various angles depending on the shapes and the number of rotation restriction portions202d, or the shape of the right controller supporting portion204.
Next, with reference toFIG. 16, a description is given of a brake mechanism provided in the accessory200. As described above, the brake operation section206is provided in the right controller supporting portion204.
As shown inFIG. 16, the brake operation section206penetrates to the inside of the right controller supporting portion204, and a part of the brake operation section206protrudes to the outside of the right controller supporting portion204, as an operation piece capable of being operated by the user. Then, the brake operation section206is provided on the front side surface (the surface on the opposite side opposed to the side surface on the side where the user operates the accessory200) of the right controller supporting portion204. Thus, it is possible to perform the operation of moving the operation piece of the brake operation section206to the near side (in a +C direction shown in the figures) by pulling the operation piece close to the front side surface. Further, the brake operation section206is biased in a direction (a −C direction shown in the figures) opposite to the direction of the above operation. For example, the brake operation section206is biased in the −C direction shown in the figures by tension stress caused by an elastic member206a, which is provided in a stretched manner between the brake operation section206and a member within the right controller supporting portion204. In the example shown inFIG. 16, on a side surface further in the +C direction of the brake operation section206, an elastic member hook portion206bis formed, to which the elastic member206a(e.g., a rubber band) is hooked. Then, one end of the elastic member206ais fixed to the member within the right controller supporting portion204, and the other end of the elastic member206ais hooked to the elastic member hook portion206b, whereby the brake operation section206is biased in the −C direction shown in the figures.
It should be noted that in the above example, the brake operation section206is biased by the elastic member206asuch as a rubber band. Alternatively, the elastic member206amay not be included. For example, the brake operation section206may be biased in the −C direction shown in the figures, using the restoring force of the brake operation section206or the right controller supporting portion204itself.
The user of the accessory200can perform the operation of tilting, in the +C direction shown in the figures, the operation piece of the brake operation section206biased in the −C direction shown in the figures. Specifically, the user performs the operation of tilting the brake operation section206in the +C direction shown in the figures with a greater force than the biasing force of the elastic member206a, whereby the brake operation section206tilts toward the right controller4attached to the inside of the right controller supporting portion204. Then, a part of the brake operation section206tilting in the +C direction shown in the figures abuts the first R-button60of the right controller4. Thus, it is possible to perform a pressing operation on the first R-button60by the operation of tilting the brake operation section206in the +C direction shown in the figures. Further, when the user releases the brake operation section206that is tilting, the brake operation section206stands in the −C direction shown in the figures and stops by the biasing force of the elastic member206a. That is, the operation of tilting the brake operation section206simulates a brake operation on a motorbike. Thus, it is possible to cause the brake operation section206to function as the brake mechanism of the accessory200. Then, the pressing operation on the first R-button60of the right controller4is detected, whereby it is possible to detect the brake operation of the user.
Next, with reference toFIG. 17, a description is given of a blinker mechanism provided in the accessory200. As described above, the blinker operation section205is provided in the left controller supporting portion203.
As shown inFIG. 17, the blinker operation section205penetrates to the inside of the left controller supporting portion203, and a part of the blinker operation section205protrudes to the outside of the left controller supporting portion203, as an operation piece capable of being operated by the user. Then, the blinker operation section205is provided on the back side surface (the side surface on the side where the user operates the accessory200) of the left controller supporting portion203. Thus, it is possible to perform the operation of moving the operation piece of the blinker operation section205to the left (in a +D direction shown in the figures) or the right (in a −D direction shown in the figures).
As shown in a middle part ofFIG. 17, when the operation piece of the blinker operation section205is moved to the left (in the +D direction shown in the figures), the blinker operation section205tilts (rotates) to the right about a predetermined fixing portion (a shaded area having a band shape shown inFIG. 17). Consequently, a portion of the blinker operation section205on the side closer to the operation piece with respect to the fixing portion moves to the left side, and a portion of the blinker operation section205on the side closer to a front portion with respect to the fixing portion is moves to the right side. The blinker operation section205thus moves, whereby the portion of the blinker operation section205on the side closer to the operation piece moves toward the left controller3attached to the inside of the left controller supporting portion203, and the portion of the blinker operation section205on the side closer to the front portion moves in a direction away from the left controller3attached to the inside of the left controller supporting portion203. Then, a part of the blinker operation section205moving in accordance with the operation of moving the operation piece in the +D direction shown in the figures abuts the ZL-button39of the left controller3. Thus, it is possible to perform a pressing operation on the ZL-button39by the operation of moving the blinker operation section205in the +D direction shown in the figures.
Further, as shown in a lower part ofFIG. 17, when the operation piece of the blinker operation section205is moved to the right (in the −D direction shown in the figures), the blinker operation section205tilts (rotates) to the left about the predetermined fixing portion (the shaded area having a band shape shown inFIG. 17). Consequently, the portion of the blinker operation section205on the side closer to the operation piece with respect to the fixing portion moves to the right side, and the portion of the blinker operation section205on the side closer to the front portion with respect to the fixing portion moves to the left side. The blinker operation section205thus moves, whereby the portion of the blinker operation section205on the side closer to the front portion moves toward the left controller3attached to the inside of the left controller supporting portion203, and the portion of the blinker operation section205on the side closer to the operation piece moves in a direction away from the left controller3attached to the inside of the left controller supporting portion203. Then, a part of the blinker operation section205moving in accordance with the operation of moving the operation piece in the −D direction shown in the figures abuts the first L-button38of the left controller3. Thus, it is possible to perform a pressing operation on the first L-button38by the operation of moving the blinker operation section205in the −D direction shown in the figures.
As described above, it is possible to perform a pressing operation on the ZL-button39of the left controller3by moving the operation piece of the blinker operation section205to the left. Further, it is possible to perform a pressing operation on the first L-button38of the left controller3by moving the same operation piece to the right. That is, the operation of moving the blinker operation section205simulates a blinker operation on a motorbike. Thus, it is possible to cause the blinker operation section205to function as the blinker mechanism of the accessory200. Then, the pressing operation on the ZL-button39of the left controller3is detected, whereby it is possible to detect the blinker operation of the user indicating the left direction. The pressing operation on the first L-button38of the left controller3is detected, whereby it is possible to detect the blinker operation of the user indicating the right direction.
Next, with reference toFIGS. 18 and 19, a method for assembling the accessory200is described. It should be noted thatFIG. 18is a diagram showing examples of parts of cardboard members for assembling the main body portion202.FIG. 19is a diagram showing examples of parts of cardboard members for assembling the left controller supporting portion203and the right controller supporting portion204. It should be noted that inFIGS. 18 and 19, a solid line indicates a line for cutting off each cardboard member, and a dashed-dotted line indicates a line for mountain-folding or valley-folding each cardboard member.
InFIGS. 18 and 19, components of the accessory200are formed by folding the cardboard members. It should be noted that the components shown inFIGS. 18 and 19merely illustrate parts of the components of the accessory200, and components that are not shown inFIGS. 18 and 19are also assembled by folding the cardboard members. Further, in the exemplary embodiment, the cardboard members may be a single plate member having a stack structure or a plurality of plate members bonded together. For example, the cardboard members may each be a so-called corrugated cardboard member, which is formed by bonding a plate-like paper sheet to one surface or both of two surfaces of a corrugated plate-like paper sheet.
The main body portion202is formed by folding a single cardboard member into a three-dimensional shape. Then, the main body portion202is assembled by incorporating components included in the main body portion202, such as inserting a member to be a side wall of the main body apparatus fixing portion202ainto the upper surface of the main body portion202and fixing the member. Further, main body portions of the left controller supporting portion203and the right controller supporting portion204are assembled by folding the left controller supporting portion203and the right controller supporting portion204into angular tubes. Then, the left controller supporting portion203and the right controller supporting portion204are assembled by incorporating components included in the left controller supporting portion203and the right controller supporting portion204into the main body portions.
As shown inFIG. 18, the main body portion202is assembled by folding a plate member in which a plurality of pass-through holes through which members to be side walls of the main body apparatus fixing portion202apass, a bearing hole to be a part of the bearing portion202b, and the like are formed. Specifically, the plate member is formed of a cardboard member, and the cardboard member is folded into a three-dimensional shape for forming the main body portion202, thereby assembling the main body portion202. Further, side wall portions of the main body apparatus fixing portion202aare assembled by folding a plate member in which insertion tabs to be inserted into the pass-through holes of the main body portion202and the like are formed.
As shown inFIG. 19, the left controller supporting portion203is assembled by folding a plate member in which a plurality of pass-through holes through which components included in the left controller supporting portion203pass, inner walls for fixing the left controller3to the inside of the left controller supporting portion203, a cover of an end portion to be closed after the left controller3is attached to the inside of the left controller supporting portion203, and the like are formed, into an angular tube. The right controller supporting portion204is assembled by folding a plate member in which a plurality of pass-through holes through which components included in the right controller supporting portion204pass, inner walls for fixing the right controller4to the inside of the right controller supporting portion204, a cover of an end portion to be closed after the right controller4is attached to the inside of the right controller supporting portion204, and a shaft portion for passing through the bearing portion202b, and the like are formed, into an angular tube.
Then, the accessory200is assembled by combining the main body portion202, the left controller supporting portion203, the right controller supporting portion204, and the like. As described above, the accessory200is formed by combining components assembled by folding cardboard members. Thus, it is possible to achieve an extension operation device to be assembled by the user using a group of plate-like members as a product form. Further, as described above, the accessory200does not need to have an electrical structure such as an electronic circuit for detecting the content of an operation performed by the user and transmitting the detection result to the main body apparatus2, and therefore can be achieved as the above product to be assembled by the user.
For folding the cardboard member to form a polyhedron shape, the surfaces may be bonded together by any method. For example, the sides of the surfaces may be bonded together by an adhesive tape. An insertion tab may be formed on one of the sides, and an insertion hole may be formed in the other side, so that the insertion tab may be inserted into the insertion hole. The sides of the surfaces may be bonded together by an adhesive agent. In the above-described embodiment, the components of the accessory200are each formed of a cardboard member. Alternatively, at least a part of these components may be a thin paper sheet or another type of plate member. For example, at least a part of these components may be assembled by folding a resinous, wooden or metallic thin or thick plate member or may be strip-like fiber members. Further, the elastic members202cand the elastic member206amay each be formed of a member made of a metal material or a non-metal material such as rubber, resin, or ceramics. A part of these components may be combined with a component of a different material. For example, a hole (e.g., a bearing hole) through which another member passes can be scraped by the movement of the member. Thus, a ring member or a sheet member made of resin or the like can be inserted into a portion that comes into contact with another member in the hole. At least parts of the components may be provided in advance as a polyhedron component. Further, at least parts of the components may be formed as a polyhedron component in advance.
Next, with reference toFIGS. 20 and 21, a description is given of an example of specific processing executed by the main body apparatus2according to the exemplary embodiment.FIG. 20is a diagram showing an example of a data area set in the DRAM85of the main body apparatus2according to the exemplary embodiment. It should be noted that in the DRAM85, in addition to data shown inFIG. 20, data used for other processes is also stored, but is not described in detail here.
In a program storage area of the DRAM85, various programs Pa, which are executed by the main body apparatus2, are stored. In the exemplary embodiment, as the various programs Pa, a communication program for wirelessly communicating with the left controller3and the right controller4, an application program for performing information processing (e.g., game processing) based on data acquired from the left controller3and/or the right controller4, a vibration control program for vibrating the left controller3and/or the right controller4, and the like are stored. It should be noted that the various programs Pa may be stored in advance in the flash memory84, or may be acquired from a storage medium attachable to and detachable from the game system1(e.g., a storage medium attached to the slot23) and stored in the DRAM85, or may be acquired from another apparatus via a network such as the Internet and stored in the DRAM85. The processor81executes the various programs Pa stored in the DRAM85.
Further, in a data storage area of the DRAM85, various data used for processes such as a communication process, information processing, and the like executed by the main body apparatus2is stored. In the exemplary embodiment, in the DRAM85, operation data Da, orientation data Db, difference value data Dc, object action data Dd, moving velocity/moving direction data De, vibration data Df, image data Dg, and the like are stored.
The operation data Da is operation data appropriately acquired from each of the left controller3and/or the right controller4. As described above, the operation data transmitted from each of the left controller3and/or the right controller4includes information regarding an input (specifically, information regarding an operation or the detection result of the sensor) from each of the input sections (specifically, each button, each analog stick, or each sensor). In the exemplary embodiment, operation data is transmitted from each of the left controller3and/or the right controller4through wireless communication in a predetermined cycle, and the operation data Da is appropriately updated using the received operation data. It should be noted that the update cycle of the operation data Dc may be such that the operation data Da is updated every frame, which is the cycle of the processing described later executed by the game system1, or is updated every cycle in which the above operation data is output through the wireless communication. Specifically, the operation data Da includes button operation data Da1, angular velocity data Da2, acceleration data Da3, and the like. The button operation data Da1is data indicating information regarding an input from each button or each analog stick of the left controller3and the right controller4. The angular velocity data Da2is data indicating information regarding angular velocities generated in the left controller3and detected by the angular velocity sensor105of the left controller3, and information regarding angular velocities generated in the right controller4and detected by the angular velocity sensor115of the right controller4. For example, the angular velocity data Da2includes data indicating angular velocities generated about the xyz axes in each of the left controller3and the right controller4. The acceleration data Da3is data indicating information regarding accelerations generated in the left controller3and detected by the acceleration sensor104of the left controller3, and information regarding accelerations generated in the right controller4and detected by the acceleration sensor114of the right controller4. For example, the acceleration data Da3includes data indicating accelerations generated in the xyz axis directions in each of the left controller3and the right controller4.
The orientation data Db is data indicating each of the orientations of the left controller3and the right controller4with respect to the direction of a gravitational acceleration in real space. For example, the orientation data Db includes data indicating the direction of a gravitational acceleration acting on each of the left controller3and the right controller4, data indicating xyz axis directions relative to the direction of the gravitational acceleration, and the like.
The difference value data Dc is data indicating a difference value indicating the difference (e.g., the difference in angle) between the orientations of the left controller3and the right controller4in the roll direction.
The object action data Dd is data regarding the action of a player object placed in a virtual world. The moving velocity/moving direction data De is data indicating the moving velocity or the moving direction of the player object placed in the virtual world.
The vibration data Df is data indicating vibrations for vibrating the left controller3and the right controller4.
The image data Dg is data for displaying images (e.g., an image of the player object, an image of another object, a background image, and the like) on a display device (e.g., the display12of the main body apparatus2) when a game is performed.
Next, a description is given of a detailed example of information processing (e.g., game processing) according to the exemplary embodiment.FIG. 21is a flow chart showing an example of the information processing executed by the main body apparatus2. In the exemplary embodiment, a series of processes shown inFIG. 21is performed by the processor81executing the communication program and a predetermined application program (a game program) included in the various programs Pa. Further, the information processing shown inFIG. 21is started at any timing.
It should be noted that the processes of all of the steps in the flow chart shown inFIG. 21are merely illustrative. Thus, the processing order of the steps may be changed, or another process may be performed in addition to (or instead of) the processes of all of the steps, so long as similar results are obtained. Further, in the exemplary embodiment, descriptions are given on the assumption that the processor81performs the processes of all of the steps in the flow charts. Alternatively, a processor or a dedicated circuit other than the processor81may perform the processes of some of the steps in the flow charts. Yet alternatively, part of the processing performed by the main body apparatus2may be executed by another information processing apparatus capable of communicating with the main body apparatus2(e.g., a server capable of communicating with the main body apparatus2via a network). That is, all the processes shown inFIG. 21may be executed by the cooperation of a plurality of information processing apparatuses including the main body apparatus2.
InFIG. 21, the processor81performs initialization in the game processing (step S161), and the processing proceeds to the next step. For example, in the initialization, the processor81initializes parameters for performing the processing described below. Further, in the initialization, the processor81sets the type and identification information of the accessory200(the extension operation device) to which the main body apparatus2, the left controller3, and the right controller4are attached, where necessary. For example, the type of the accessory200may be initialized by the user performing the operation of selecting the type of the accessory200, using the main body apparatus2, the left controller3, or the right controller4.
Next, the processor81acquires operation data from each of the left controller3and the right controller4and updates the operation data Da (step S162), and the processing proceeds to the next step. For example, in accordance with the operation data acquired from each of the left controller3and the right controller4, the processor81updates the button operation data Da1, the angular velocity data Da2, and the acceleration data Da3.
Next, in accordance with an operation using the operation buttons provided in the left controller3and the right controller4, the processor81performs the process of setting an object action (step S163), and the processing proceeds to the next step. For example, using the operation data acquired in the above step S162, the processor81determines whether or not the operation buttons provided in the left controller3and the right controller4(specifically, the first L-button38and the ZL-button39of the left controller3and the first R-button60and the ZR-button61of the right controller4) are subjected to pressing operations. Then, when the first L-button38is subjected to a pressing operation, the processor81sets an action in which a player object indicates the left direction in a virtual space (e.g., the action of blinking a left blinker of a motorbike that the player object rides), thereby updating the object action data Dd. Further, when the ZL-button39is subjected to a pressing operation, the processor81sets an action in which the player object indicates the right direction in the virtual space (e.g., the action of blinking a right blinker of the motorbike that the player object rides), thereby updating the object action data Dd. Further, when the first R-button60is subjected to a pressing operation, the processor81sets an action in which the moving velocity of the player object decelerates in the virtual space (e.g., the moving velocity of the motorbike that the player object rides decelerates by a predetermined negative acceleration), thereby updating the object action data Dd. Further, when the ZR-button61is subjected to a pressing operation, the processor81sets an action in which the engine or the motor of the vehicle that the player object rides is started in the virtual space, thereby updating the object action data Dd.
The processor81calculates the orientations of the left controller3and the right controller4(step S164), and the processing proceeds to the next step. For example, the processor81acquires data indicating accelerations generated in the left controller3from the acceleration data Da3, calculates the direction of a gravitational acceleration acting on the left controller3, and updates the orientation data Db of the left controller3using data indicating the direction. As a method for extracting a gravitational acceleration, any method may be used. For example, an acceleration component generated on average in the left controller3may be calculated and extracted as a gravitational acceleration. Then, the processor81acquires data indicating angular velocities generated in the left controller3from the angular velocity data Da2, calculates angular velocities about the xyz axes of the left controller3, and calculates the xyz axis directions of the left controller3with respect to the direction of the gravitational acceleration using data indicating the angular velocities, thereby updating the orientation data Db of the left controller3. Further, the processor81acquires data indicating accelerations generated in the right controller4from the acceleration data Da3, calculates the direction of a gravitational acceleration acting on the right controller4, and updates the orientation data Db of the right controller4using data indicating the direction. Then, the processor81acquires data indicating angular velocities generated in the right controller4from the angular velocity data Da2, calculates the angular velocities about the xyz axes of the right controller4, and calculates the xyz axis directions of the right controller4with respect to the direction of the gravitational acceleration using data indicating the angular velocities, thereby updating the orientation data Db of the right controller4.
It should be noted that after the xyz axis directions with respect to the gravitational acceleration are calculated, the orientations of the left controller3and the right controller4may be updated in accordance with only the angular velocities about the xyz axes. However, to prevent the relationship between the orientations of the left controller3and the right controller4and the direction of the gravitational acceleration from shifting due to erroneous accumulation, the xyz axis directions relative to the direction of the gravitational acceleration may be calculated every predetermined cycle, and the orientations of the left controller3and the right controller4may be corrected.
Next, the processor81calculates a difference value indicating the difference between the orientation of the left controller3and the orientation of the right controller4(step S165), and the processing proceeds to the next step. For example, with reference to the orientation data Db of the left controller3and the right controller4, the processor81calculates a difference value indicating the difference in the roll direction between the orientation of the left controller3and the orientation of the right controller4. As an example, the processor81calculates as the difference value the difference in angle between the positive x-axis direction (or the positive z-axis direction) in real space of the left controller3and the positive x-axis direction (or the positive z-axis direction) in real space of the right controller4and updates the difference value data Dc using the difference value.
Next, based on the difference value calculated in the above step S165, the processor81calculates the moving velocity (step S166), and the processing proceeds to the next step. For example, the difference value calculated in the above step S165indicates the difference in the roll direction between the orientation of the left controller3and the orientation of the right controller4. Thus, when an accelerator operation using the right controller supporting portion204is performed, the difference value changes in accordance with the rotational angle of the right controller supporting portion204in the A direction shown in the figures (seeFIGS. 9 and 12 to 15). In the above step S166, an accelerator position is calculated using such a difference value, and the moving velocity at the current moment is changed in accordance with the running slope, the running resistance, the presence or absence of a running interruption, the running capacity, the presence or absence of a brake operation, and the accelerator position. As an example, with reference to the moving velocity/moving direction data De, the processor81acquires the moving velocity at the current moment and accelerates the moving velocity such that the greater the difference value, the greater the moving velocity. Then, when the difference value is 0, the processor81decelerates the moving velocity by a predetermined negative acceleration. Then, the processor81updates the moving velocity/moving direction data De using the accelerated or decelerated moving velocity. It should be noted that when the operation of twisting the accelerator (i.e., an operation in which the difference value is greater than 0) and a brake operation (i.e., an operation in which the first R-button60is pressed) are simultaneously performed, the moving velocity may be calculated such that only either one of the operations is valid, or the moving velocity may be calculated by offsetting changes in the moving velocity due to both operations.
Further, in the calculation of the moving velocity in the above step S166, when the difference value calculated in the above step S165is within a predetermined range, the accelerator position may be set to 0. In this case, even when the difference value is greater than 0, but when the difference value is within the predetermined range, the moving velocity decelerates by a predetermined negative acceleration. As described above, even when the difference value is greater than 0, the range where the accelerator position is 0 is set, whereby it is easy to calibrate the orientation in the roll direction of the right controller4, and it is also possible to absorb a change in the difference value due to a change over time in the accessory200, or an error when the left controller3and the right controller4are attached to the accessory200.
Next, based on the orientation of the left controller3, the processor81sets the orientation or the direction of the player object (step S167), and the processing proceeds to the next step. For example, when the orientation of the left controller3indicated by the orientation data Db indicates a tilt action in the pitch direction (the operation of tilting the entirety of the accessory200to the left and right), the processor81sets the action of tilting the orientation of the player object to the left and right. Further, in accordance with the tilt angle in the pitch direction of the left controller3, the processor81changes the moving direction to the tilt direction, thereby updating the object action data Dd and the moving velocity/moving direction data De. Further, when the orientation of the left controller3indicated by the orientation data Db indicates the action of rotation in the yaw direction (a steering wheel operation using the accessory200), the processor81sets an object action to the action of turning the steering wheel. Further, in accordance with the rotational angle in the yaw direction, the processor81changes the moving direction to the direction of the rotation, thereby updating the object action data Dd and the moving velocity/moving direction data De. Further, when the orientation of the left controller3indicated by the orientation data Db indicates the action of rotation in the roll direction (the operation of directing the entirety of the accessory200upward and downward), then in accordance with the rotational angle in the roll direction, the processor81sets the action of tilting the orientation of the player object upward and downward. Further, when the rotational action is performed in the up direction, the processor81sets the action of the player object to a wheelie action corresponding to the rotational angle, thereby updating the object action data Dd.
It should be noted that in the process of step S167, based on each of the tilt action in the pitch direction of the left controller3, the rotational action in the yaw direction of the left controller3, and the rotational action in the roll direction of the left controller3, the orientation or the direction of the player object is set. In the process of step S167, however, based on at least one of the actions in the pitch, yaw, and roll directions, the process of setting the orientation or the direction of the player object may be implemented.
Next, the processor81performs the process of generating vibration data for vibrating each of the left controller3and the right controller4, and of vibrating the left controller3and the right controller4(step S168), and the processing proceeds to the next step. For example, the processor81generates a vibration waveform corresponding to the type, the moving velocity, the moving direction, and the action of the player object, the situation of the virtual space, and the like, and based on the vibration waveform, generates vibration data for vibrating the left controller3and vibration data for vibrating the right controller4, thereby updating the vibration data Df. Then, in each cycle in which vibration data is transmitted, the processor81transmits vibration data corresponding to the cycle to the left controller3and the right controller4. For example, with reference to the vibration data Df, the processor81transmits vibration data for a vibration length corresponding to the transmission cycle to the left controller3and the right controller4. The vibration data for each controller is thus transmitted, whereby the left controller3and the right controller4receiving the vibration data vibrate based on vibration waveforms corresponding to the vibration data.
Next, the processor81performs the process of displaying on the display12an image of the virtual space where the player object is placed (step S169), and the processing proceeds to the next step. For example, based on the object action data Dd and the moving velocity/moving direction data De, the processor81changes the orientation, the direction, the action, the position, and the like of the player object, and based on the changed orientation, direction, action, and position, places the player object in the virtual space. Then, the processor81performs the process of generating a virtual space image in which the virtual space where the player object is placed is viewed from a virtual camera placed at a predetermined position (e.g., a viewpoint behind the player object or a first-person viewpoint), and displaying the virtual space image on the display12of the main body apparatus2.
Next, the processor81determines whether or not the game is to be ended (step S170). In the above step S170, examples of a condition for ending the game include: the fact that a condition for ending the game is satisfied; and the fact that the user performs the operation of ending the game. When the game is not to be ended, the processing returns to the above step S162, and the process of step S161is repeated. When the game is to be ended, the processing of the flow chart ends. Hereinafter, the series of processes of steps S162to S170are repeatedly executed until it is determined in step S170that the game is to be ended.
As described above, in the exemplary embodiment, the content of an operation on the accessory200, which is an example of the extension operation device, is detected based on the orientations of the left controller3and the right controller4attached to the accessory200or pressing operations on the operation buttons. Thus, according to the exemplary embodiment, it is possible to simplify the configuration of the accessory200, which is an example of the extension operation device. Further, in the exemplary embodiment, the contents of various operations on the accessory200can be detected based on the difference value between the orientation of the left controller3and the orientation of the right controller4, or the orientation of the left controller3. Thus, it is possible to improve the variety of operations using the orientations of the left controller3and the right controller4. Further, the left controller3and the right controller4are attached to the accessory200, whereby the left controller3is fixed to the main body portion202, and the right controller4can rotate only in the roll direction relative to the main body portion202. Thus, to calculate the difference value between the orientation of the left controller3and the orientation of the right controller4, the left controller3and the right controller4are attached to the accessory200, whereby it is possible to easily extract only the rotational action of the right controller4in the roll direction relative to the main body portion202and estimate the content of the action.
It should be noted that when the difference value between the orientation of the left controller3and the orientation of the right controller4is set to 0, the orientations of both the left controller3and the right controller4may be set in any manner. As a first example, at the time when the game processing is started and the initialization is performed, the difference in angle between a predetermined axial direction (e.g., one of the positive x-axis direction and the positive z-axis direction) of the left controller3and a predetermined axial direction (e.g., the same one of the positive x-axis direction and the positive z-axis direction as that of the left controller3) of the right controller4is initialized to 0, thereby setting the relationship between the orientation of the left controller3and the orientation of the right controller4at this time to the state where the difference value is 0. As a second example, at the time when the user is urged to perform a predetermined operation (e.g., the operation of returning the right controller supporting portion204to the initial position), the difference in angle between a predetermined axial direction (e.g., one of the positive x-axis direction and the positive z-axis direction) of the left controller3and a predetermined axial direction (e.g., the same one of the positive x-axis direction and the positive z-axis direction as that of the left controller3) of the right controller4is initialized to 0, thereby setting the relationship between the orientation of the left controller3and the orientation of the right controller4at this time to the state where the difference value is 0. As a third example, when a predetermined axial direction (e.g., one of the positive x-axis direction and the positive z-axis direction) of the left controller3and a predetermined axial direction (e.g., the same one of the positive x-axis direction and the positive z-axis direction as that of the left controller3) of the right controller4are the same direction with respect to the direction of gravity, the difference value between the orientation of the left controller3and the orientation of the right controller4is set to 0.
Further, in the above description, an example has been used where, when the right controller4rotates in the +A direction shown in the figures (seeFIGS. 9 and 12 to 15), the difference value between the orientation of the left controller3and the orientation of the right controller4is a positive value. Alternatively, this difference value may be a negative value. As an example, the right controller4may be configured to rotate not only in the +A direction shown in the figures but also in the −A direction from the initial position. In this case, the difference value between the orientation of the left controller3and the orientation of the right controller4is a negative value. As another example, not only the right controller4but also the left controller3may be able to rotate in +A direction shown in the figures. In this case, the difference value between the orientation of the left controller3and the orientation of the right controller4can be a negative value.
Further, in the above description, an example has been used where the difference value in the roll direction between the orientation of the left controller3and the orientation of the right controller4is used. Alternatively, the difference value in another direction may be used. For example, the difference value in the pitch direction between the orientation of the left controller3and the orientation of the right controller4may be used. In this case, only one of the controllers may be configured to rotate in the pitch direction relative to the main body portion202. Yet alternatively, the difference value in the yaw direction between the orientation of the left controller3and the orientation of the right controller4may be used. In this case, only one of the controllers may be configured to rotate in the yaw direction relative to the main body portion202. Yet alternatively, the difference value between the orientation of the left controller3and the orientation of the right controller4in a direction obtained by combining at least two of the pitch direction, the yaw direction, and the roll direction may be used. As an example, the difference value in each of the pitch direction, the yaw direction, and the roll direction with respect to the direction of gravity may be used.
Further, in the above description, an example has been used where the left controller supporting portion203and the right controller supporting portion204are provided in the main body portion202such that the longitudinal direction of the left controller supporting portion203and the longitudinal direction of the right controller supporting portion204are on approximately the same straight line or are left and right directions approximately parallel to each other. Alternatively, the longitudinal direction of the left controller supporting portion203and the longitudinal direction of the right controller supporting portion204may be different directions. When the longitudinal direction of the left controller supporting portion203and the longitudinal direction of the right controller supporting portion204are thus different directions, the y-axis direction of the left controller3and the y-axis direction of the right controller4are placed in different directions in real space. However, after the orientations of both controllers with respect to the direction of gravity are calculated, the difference in angle between the positive x-axis directions or the positive z-axis directions of both controllers is calculated, whereby it is possible to calculate the difference value similarly to the above processing.
Further, in the above description, an example has been used where the difference value between the orientation of the left controller3and the orientation of the right controller4is used. Alternatively, a difference value with respect to the orientation of the main body apparatus2may be used. As described above, the main body apparatus2includes the acceleration sensor89and the angular velocity sensor90. In the state where the main body apparatus2is attached to the accessory200similarly to the left controller3and the right controller4, the main body apparatus2can calculate xyz axis directions with respect to the direction of gravity. Thus, with respect to any of the xyz axis directions of the main body apparatus2in real space, the difference value between this direction and any of the xyz axis directions of the left controller3and/or the right controller4is used, whereby it is possible to detect the content of an operation similarly to the above processing.
Further, as described above, a part of the left controller3attached to the left controller supporting portion203or the right controller4attached to the right controller supporting portion204may be exposed to outside. Game processing using the exposed operation section may be added. For example, when the analog stick32or the analog stick52is exposed to outside, then in accordance with a tilt operation on the analog stick32or the analog stick52, the position or the direction of a virtual object or a virtual camera in the virtual space may change.
Further, in the above exemplary embodiment, the method for detecting the motions and the orientations of the left controller3and the right controller4is merely illustrative, and the motions and the orientations of the left controller3and the right controller4may be detected using another method or other data. For example, the orientations of the left controller3and the right controller4are calculated based only on angular velocities generated in each of the left controller3and the right controller4, or calculated by combining angular velocities and accelerations generated in each of the left controller3and the right controller4. Alternatively, the orientations may be calculated based only on accelerations generated in each of the left controller3and the right controller4. Even when accelerations generated in each of the left controller3and the right controller4are detected, it is possible to calculate the direction in which a gravitational acceleration is generated in each of the left controller3and the right controller4. It goes without saying that it is possible to perform processing similar to that described above in the exemplary embodiment by sequentially calculating the xyz axis directions with respect to the gravitational acceleration. Further, in the above exemplary embodiment, a game image corresponding to an operation using the accessory200to which the left controller3and the right controller4are attached is displayed on the display12of the main body apparatus2. Alternatively, the game image may be displayed on the stationary monitor via the cradle.
Further, each of the main body apparatus2, the left controller3, and the right controller4may be any apparatus, and may be a mobile game apparatus, any mobile electronic device (a PDA (Personal Digital Assistant), a mobile phone, a personal computer, a camera, a tablet, or the like) or the like.
Further, the above descriptions have been given using an example where the main body apparatus2performs information processing (game processing) and a communication process. Alternatively, another apparatus may perform at least some of the processing steps. For example, if the main body apparatus2is further configured to communicate with another apparatus (e.g., another server, another image display device, another game apparatus, or another mobile terminal), the other apparatus may cooperate to perform the processing steps. Another apparatus may thus perform at least some of the processing steps, thereby enabling processing similar to that described above. Further, the above information processing (game processing) can be performed by a processor or the cooperation of a plurality of processors, the processor or the plurality of processors included in an information processing system including at least one information processing apparatus. Further, in the above exemplary embodiment, information processing can be performed by the processor81of the main body apparatus2executing a predetermined program. Alternatively, part or all of the processing of the flow charts may be performed by a dedicated circuit included in the main body apparatus2.
Here, according to the above variations, it is possible to achieve the exemplary embodiment also by a system form such as cloud computing, or a system form such as a distributed wide area network or a local area network. For example, in a system form such as a distributed local area network, it is possible to execute the processing between a stationary information processing apparatus (a stationary game apparatus) and a mobile information processing apparatus (a mobile game apparatus) by the cooperation of the apparatuses. It should be noted that, in these system forms, there is no particular limitation on which apparatus performs the above processing. Thus, it goes without saying that it is possible to achieve the exemplary embodiment by sharing the processing in any manner.
Further, the processing orders, the setting values, the conditions used in the determinations, and the like that are used in the information processing described above are merely illustrative. Thus, it goes without saying that the exemplary embodiment can be achieved also with other orders, other values, and other conditions.
Further, the above program may be supplied to the main body apparatus2not only through an external storage medium such as an external memory, but also through a wired or wireless communication link. Further, the program may be stored in advance in a non-volatile storage device included in the apparatus. It should be noted that examples of an information storage medium having stored therein the program may include CD-ROMs, DVDs, optical disk storage media similar to these, flexible disks, hard disks, magneto-optical disks, and magnetic tapes, as well as non-volatile memories. Alternatively, an information storage medium having stored therein the program may be a volatile memory for storing the program. It can be said that such a storage medium is a storage medium readable by a computer or the like. For example, it is possible to provide the various functions described above by causing a computer or the like to load a program from the storage medium and execute it.
While some exemplary systems, exemplary methods, exemplary devices, and exemplary apparatuses have been described in detail above, the above descriptions are merely illustrative in all respects, and do not limit the scope of the systems, the methods, the devices, and the apparatuses. It goes without saying that the systems, the methods, the devices, and the apparatuses can be improved and modified in various manners without departing the spirit and scope of the appended claims. It is understood that the scope of the systems, the methods, the devices, and the apparatuses should be interpreted only by the scope of the appended claims. Further, it is understood that the specific descriptions of the exemplary embodiment enable a person skilled in the art to carry out an equivalent scope on the basis of the descriptions of the exemplary embodiment and general technical knowledge. When used in the specification, the components and the like described in the singular with the word “a” or “an” preceding them do not exclude the plurals of the components. Furthermore, it should be understood that, unless otherwise stated, the terms used in the specification are used in their common meanings in the field. Thus, unless otherwise defined, all the jargons and the technical terms used in the specification have the same meanings as those generally understood by a person skilled in the art in the field of the exemplary embodiment. If there is a conflict, the specification (including definitions) takes precedence.
As described above, the exemplary embodiment can be used as a game system, an accessory, a game program, a game apparatus, a game processing method, a cardboard member, and the like that are capable of improving the variety of operations using orientations.
Claims
- A game system, comprising: a first game controller having a first gyro sensor;a second game controller having a second gyro sensor;an accessory to and from which the first game controller and the second game controller are attachable and detachable, the accessory being portable and also being dimensioned and shaped in a form of a motorbike;and a computer configured to execute game processing, wherein the accessory comprising: a first fixing portion configured to fix the first game controller so as to rotate about at least a certain axis, the first fixing portion including a left grip in which the first game controller is fixed;and a second fixing portion configured to fix the second game controller, the second fixing portion including a right grip in which the second game controller is fixed, and the computer further configured to: calculate, based on an output from the first gyro sensor of the first game controller fixed to the first fixing portion including the left grip, a first value indicating an orientation of the first game controller;calculate, based on an output from the second gyro sensor of the second game controller fixed to the second fixing portion including the right grip, a second value indicating an orientation of the second game controller;calculate a difference value indicating a difference between the first value, indicating the orientation of the first game controller, and the second value, indicating the orientation of the second game controller;and execute a first game process based on the difference value.
- The game system according to claim 1 , wherein based on the orientation of the first game controller or the orientation of the second game controller, the computer is configured to further execute a second game process different from the first game process, the second game process is a process of performing orientation control for controlling an orientation of a game object based on at least one of the orientation of the first game controller and the orientation of the second game controller, and the first game process is a process of, based on the difference value, controlling a motion of the game object in a manner different from the orientation control.
- The game system according to claim 2 , wherein the first game process is a process of, based on the difference value, controlling at least one of a moving velocity, an acceleration, and a moving distance of the game object in a virtual space.
- The game system according to claim 1 , wherein the second fixing portion fixes the second game controller so that the second game controller does not rotate about an axis parallel to or approximately parallel to the certain axis.
- The game system according to claim 1 , wherein the accessory further comprises a biasing portion configured to, when the first game controller fixed to the first fixing portion rotates in a first direction about the certain axis, bias the first game controller so as to rotate in a direction opposite to the first direction.
- The game system according to claim 5 , wherein the accessory further comprises a first rotation restriction portion configured to restrict rotation so that the first game controller fixed to the first fixing portion does not rotate in a direction opposite to the first direction beyond a first angle.
- The game system according to claim 6 , wherein the accessory further comprises a second rotation restriction portion configured to restrict rotation so that the first game controller fixed to the first fixing portion does not rotate in the first direction beyond a second angle.
- The game system according to claim 7 , wherein when the first game controller fixed to the first fixing portion is at an angle between the first angle and the second angle, the biasing portion biases the first game controller so as to rotate toward the first angle.
- The game system according to claim 1 , wherein the accessory further comprises a main body portion to which a display screen is attached, in the main body portion, a first side surface and a second side surface are formed to the left and right of an attachment position of the display screen, the first fixing portion is on the first side surface side, and the second fixing portion is on the second side surface side.
- The game system according to claim 9 , wherein the accessory further comprises a supporting portion configured to support the main body portion, and the main body portion pivots together with the first fixing portion and the second fixing portion about the supporting portion.
- The game system according to claim 1 , wherein the accessory further comprises a shaft portion configured to rotate the first fixing portion and the second fixing portion together.
- The game system according to claim 1 , wherein the first fixing portion is on one side of the accessory, and the second fixing portion is on the other side of the accessory, which is the opposite side of the first fixing portion.
- The game system according to claim 1 , wherein each of the first game controller and the second game controller has a longitudinal shape, and the first fixing portion and the second fixing portion are in the accessory such that a longitudinal direction of the first game controller fixed to the first fixing portion and a longitudinal direction of the second game controller fixed to the second fixing portion, are parallel or approximately parallel to each other.
- The game system according to claim 1 , wherein the first fixing portion and the second fixing portion are in the accessory such that longitudinal directions of the first fixing portion and the second fixing portion are on the same straight line or approximately the same straight line in the accessory.
- The game system according to claim 1 , further comprising a game apparatus comprising the computer configured to execute the game processing and a display screen configured to display a game screen generated based on a processing result of the computer, wherein the accessory further comprises a game apparatus fixing portion to which the game apparatus is attachably and detachably fixed.
- The game system according to claim 1 , wherein at least one of the first game controller and the second game controller further comprises a first button, the accessory further comprises a movable portion, and the movable portion comprises: an operation portion configured to be operated by a hand of a user;and a first button pressing portion configured to move toward the first button in accordance with an operation on the operation portion, thereby pressing the first button of the first game controller fixed to the first fixing portion or the first button of the second game controller fixed to the second fixing portion.
- The game system according to claim 16 , wherein at least one of the first game controller and the second game controller further comprises a second button, and the movable portion comprises a second button pressing portion configured to move toward the second button in accordance with an operation on the operation portion, thereby pressing the second button of the first game controller fixed to the first fixing portion or the second button of the second game controller fixed to the second fixing portion.
- The game system according to claim 17 , wherein when the operation portion is moved in a certain direction in accordance with an operation on the operation portion, the first button pressing portion presses the first button, and when the operation portion is moved in a direction different from the certain direction in accordance with an operation on the operation portion, the second button pressing portion presses the second button.
- The game system according to claim 1 , wherein the difference value corresponds to a difference in angle between the orientation of the first game controller and the orientation of the second game controller.
- The game system according to claim 1 , wherein the difference value corresponds to a difference in roll direction between the orientation of the first game controller and the orientation of the second game controller.
- The game system according to claim 1 , wherein, based on operation of the left grip and the right grip, the first game process is executed, in accordance with the difference value, to operate a virtual motorbike in a specific manner in a virtual game space.
- An accessory to and from which a first game controller comprising a first gyro sensor and a second game controller comprising a second gyro sensor are attachable and detachable, the accessory comprising: a first fixing portion configured to fix the first game controller so as to rotate about at least a certain axis, the first fixing portion including a left grip in which the first game controller is fixed;and a second fixing portion configured to fix the second game controller, the second fixing portion including a right grip in which the second game controller is fixed, wherein the accessory is portable and is dimensioned and shaped in a form of a motorbike, and the accessory is configured for use with a computer configured to execute game processing, and the computer is further configured to: calculate, based on an output from the first gyro sensor of the first game controller fixed to the first fixing portion including the left grip, a first value indicating an orientation of the first game controller;calculate, based on an output from the second gyro sensor of the second game controller fixed to the second fixing portion including the right grip, a second value indicating an orientation of the second game controller;calculate a difference value indicating a difference between the first value, indicating the orientation of the first game controller, and the second value, indicating the orientation of the second game controller;and execute a first game process based on the difference value.
- The accessory according to claim 22 , further comprising a biasing portion configured to, when the first game controller fixed to the first fixing portion rotates in a first direction about the certain axis, bias the first game controller so as to rotate in a direction opposite to the first direction.
- The accessory according to claim 23 , further comprising a first rotation restriction portion configured to restrict rotation so that the first game controller fixed to the first fixing portion in the first direction does not rotate in a direction opposite to the first direction beyond a first angle.
- The accessory according to claim 22 , wherein the first fixing portion and the second fixing portion are configured to be formed by folding at least one cardboard.
- A non-transitory computer-readable storage medium having stored therein a game program executed by a computer of a game apparatus for performing game processing using a first game controller having a first gyro sensor and a second game controller having a second gyro sensor, the first game controller and the second game controller are attachable and detachable to an accessory dimensioned and shaped in the form of a motorbike, the accessory being portable and having a first fixing portion including a left grip in which the first game controller is fixed and a second fixing portion including a right grip in which the second game controller is fixed, the game program causing the computer to provide execution comprising: calculating, based on an output from the first gyro sensor of the first game controller fixed to the first fixing portion including the left grip, a first value indicating an orientation of the first game controller;calculating, based on an output from the second gyro sensor of the second game controller fixed to the second fixing portion including the right grip, a second value indicating an orientation of the second game controller;calculating a difference value indicating a difference between the first value, indicating the orientation of the first game controller, and the second value, indicating the orientation of the second game controller;executing a first game process based on the difference value;and executing a second game process different from the first game process based on the orientation of the first game controller or the orientation of the second game controller.
- A game processing method for performing game processing using a first game controller having a first gyro sensor and a second game controller having a second gyro sensor, the first game controller and the second game controller are attachable and detachable to an accessory dimensioned and shaped in the form of a motorbike, the accessory being portable and having a first fixing portion including a left grip in which the first game controller is fixed and a second fixing portion including a right grip in which the second game controller is fixed, the game processing method comprising: calculating, based on an output from the first gyro sensor of the first game controller fixed to the first fixing portion including the left grip, a first value indicating an orientation of the first game controller;calculating, based on an output from the second gyro sensor of the second game controller fixed to the second fixing portion including the right grip, a second value indicating an orientation of the second game controller;calculating a difference value indicating a difference between the first value, indicating the orientation of the first game controller, and the second value, indicating the orientation of the second game controller;executing a first game process based on the difference value;and executing a second game process different from the first game process based on the orientation of the first game controller or the orientation of the second game controller.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.