U.S. Pat. No. 10,213,683
GAME CONTROLLER CALIBRATION AND GAME SYSTEM USING GAME CONTROLLER
AssigneeNINTENDO CO., LTD.
Issue DateApril 19, 2017
Illustrative Figure
Abstract
An example game system includes a main body apparatus and a game controller. The game controller has an analog stick, a memory storing correction parameter information including a first manufacturing process correction parameter value determined in a manufacturing process in connection with the analog stick, a first user correction parameter value determined in accordance with an operation by a user onto the analog stick, and a first model adjustment value corresponding to a model of the game controller, and a first control circuit transmitting the correction parameter information to the main body apparatus. The main body apparatus has a second control circuit which selects any of the first manufacturing process correction parameter value and the first user correction parameter value and performs game processing based on the selected correction parameter value, the first model adjustment value, and input data from the analog stick.
Description
DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS This embodiment will be described in detail with reference to the drawings. The same or corresponding elements in the drawings have the same reference characters allotted and description thereof will not be repeated. [A. Information Processing System] An apparatus configuration relating to an information processing system based on the present embodiment will be described. The information processing system according to the present embodiment is configured at least with an information processing apparatus described below. For example, an information processing apparatus may be a portable (also referred to as mobile) device such as a portable game device, a portable telephone, or a smartphone, a stationary apparatus such as a personal computer or a home game console, or a large apparatus such as an arcade game machine. In the present example, a game device representing one example of an information processing apparatus will be described by way of example. Though a game controller provided for a game device will be described in the present example by way of example of an operation apparatus, limitation in particular to a game controller is not intended and any operation apparatus may be applicable so long as it functions as an input device capable of transmitting operation data to an information processing apparatus. (a1: Overall Configuration of Game Device) FIG. 1is an example non-limiting schematic diagram showing appearance of a game device1according to the present embodiment. As shown inFIG. 1, game device1includes a main body apparatus2, a left controller3, and a right controller4. Main body apparatus2includes a display12representing one example of a display portion and performs various types of processing including game processing in game device1. FIG. 2is an example non-limiting schematic diagram showing appearance of another manner of game device1according to the present embodiment. As shown inFIG. 2, left ...
DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS
This embodiment will be described in detail with reference to the drawings. The same or corresponding elements in the drawings have the same reference characters allotted and description thereof will not be repeated.
[A. Information Processing System]
An apparatus configuration relating to an information processing system based on the present embodiment will be described. The information processing system according to the present embodiment is configured at least with an information processing apparatus described below.
For example, an information processing apparatus may be a portable (also referred to as mobile) device such as a portable game device, a portable telephone, or a smartphone, a stationary apparatus such as a personal computer or a home game console, or a large apparatus such as an arcade game machine. In the present example, a game device representing one example of an information processing apparatus will be described by way of example. Though a game controller provided for a game device will be described in the present example by way of example of an operation apparatus, limitation in particular to a game controller is not intended and any operation apparatus may be applicable so long as it functions as an input device capable of transmitting operation data to an information processing apparatus.
(a1: Overall Configuration of Game Device)
FIG. 1is an example non-limiting schematic diagram showing appearance of a game device1according to the present embodiment.
As shown inFIG. 1, game device1includes a main body apparatus2, a left controller3, and a right controller4. Main body apparatus2includes a display12representing one example of a display portion and performs various types of processing including game processing in game device1.
FIG. 2is an example non-limiting schematic diagram showing appearance of another manner of game device1according to the present embodiment.
As shown inFIG. 2, left controller3and right controller4may be constructed as being detachable from main body apparatus2. Left controller3and right controller4may integrally be constructed or left controller3and right controller4may be constructed as separate apparatuses. Thus, left controller3and right controller4corresponding to an operation portion may be constructed separately from main body apparatus2.
Left controller3can be attached to a left side (a side of a positive direction of an x axis shown inFIG. 1) of main body apparatus2. Right controller4can be attached to a right side (a side of a negative direction of the x axis shown inFIG. 1) of main body apparatus2. In the description below, left controller3and right controller4may collectively be referred to as a “controller”. A more specific configuration example of main body apparatus2, left controller3, and right controller4will be described below.
(a2: Structure of Main Body Apparatus)
FIG. 3is an example non-limiting diagram of main body apparatus2according to the present embodiment when viewed from six sides.
Referring toFIG. 3, main body apparatus2has a housing11substantially in a form of a plate.
A main surface of housing11(that is, a front surface or a surface where display12is provided) is substantially in a rectangular shape. A shape and a size of housing11can arbitrarily be designed.
(1) Member Provided on Main Surface of Housing11
As shown inFIGS. 1 to 3, display12is provided on the main surface of housing11of main body apparatus2. Display12shows an image obtained or generated by main body apparatus2(which may be a still image or moving images). When game processing is performed, display12shows a virtual space and an object in the virtual space. Though display12is typically implemented by a liquid crystal display (LCD), a display apparatus of any type can be adopted.
A touch panel13is provided on a screen of display12. Typically, a device of a type accepting a multi-touch input (for example, a capacitance type) is adopted as touch panel13. For example, a device of any type such as a device of a type accepting a single-touch input (for example, a resistive film type) can be adopted as touch panel13.
Speaker holes11aand11bare provided in the main surface of housing11of main body apparatus2and sound generated from a speaker (a speaker88shown inFIG. 7) arranged in housing11is output through speaker holes11aand11b.
Two speakers are provided in main body apparatus2and speaker holes11aand11bare provided in correspondence with respective positions of a left speaker and a right speaker. Speaker hole11ais provided on a left side of display12in correspondence with the left speaker and speaker hole11bis provided on a right side of display12in correspondence with the right speaker.
(2) Member Provided on Left Side Surface of Housing11
A left rail member15for removably attaching left controller3to main body apparatus2is provided in a left side surface of housing11. Left rail member15extends along an up-down direction in the left side surface of housing11. Left rail member15is in a shape allowing engagement thereof with a slider (a slider40shown inFIG. 4) for left controller3. A slide mechanism is formed by left rail member15and slider40. With such a slide mechanism, left controller3can slidably and removably be attached to main body apparatus2.
A left terminal17is provided in the left side surface of housing11. Left terminal17is a terminal for wired communication between main body apparatus2and left controller3. Left terminal17is provided at a position where it comes in contact with a terminal (a terminal42shown inFIG. 4) of left controller3when left controller3is attached to main body apparatus2. Left terminal17should be arranged at any position where the left terminal of main body apparatus2and the terminal of left controller3are in contact with each other while left controller3is attached to main body apparatus2. By way of example, as shown inFIG. 3, left terminal17is provided around a lower end portion of left rail member15.
(3) Member Provided in Right Side Surface of Housing11
As shown inFIG. 3, a feature similar to the feature provided in the left side surface is provided in a right side surface of housing11. A right rail member19for removably attaching right controller4to main body apparatus2is provided in the right side surface of housing11. Right rail member19extends along the up-down direction in the right side surface of housing11. Right rail member19is in a shape allowing engagement thereof with a slider (a slider62shown inFIG. 5) for right controller4. A slide mechanism is formed by right rail member19and slider62. With such a slide mechanism, right controller4can slidably and removably be attached to main body apparatus2.
Right rail member19is in a shape similar to left rail member15. Right rail member19is in a grooved shape similar in cross-sectional shape to left rail member15. Right rail member19does not have to be exactly the same in shape as left rail member15. For example, another embodiment may be constructed such that slider62for right controller4cannot be engaged with left rail member15and/or slider40for left controller3cannot be engaged with right rail member19by making a size and/or a shape of the groove different between left rail member15and right rail member19.
A right terminal21is provided in the right side surface of housing11. Right terminal21is a terminal for wired communication between main body apparatus2and right controller4. Right terminal21is provided at a position where it comes in contact with a terminal (a terminal64shown inFIG. 5) of right controller4when right controller4is attached to main body apparatus2. Right terminal21should be arranged at any position where the right terminal of main body apparatus2and the terminal of right controller4are in contact with each other while right controller4is attached to main body apparatus2. By way of example, as shown inFIG. 3, right terminal21is provided around a lower end portion of right rail member19.
(4) Member Provided on Upper Side Surface of Housing11
As shown inFIG. 3, a first slot23for attaching a storage medium of a first type is provided in an upper side surface of housing11. A lid portion which can be opened and closed is provided in an opening in first slot23as a typical feature, and a storage medium of the first type can be inserted in first slot23while the lid portion is open. The storage medium of the first type is, for example, a storage medium exclusively designed for game device1and a game device of the same type (for example, a dedicated memory card). The storage medium of the first type is used, for example, for storing data used in main body apparatus2(for example, data saved for an application) and/or a program executed in main body apparatus2(for example, a program for an application).
A power button28for switching on and off main body apparatus2is provided on the upper side surface of housing11.
An audio input and output terminal25(specifically an earphone jack) is provided in the upper side surface of housing11. A microphone or an earphone can be attached to audio input and output terminal25.
(5) Member Provided on Lower Side Surface of Housing11
As shown inFIG. 3, a lower terminal27for wired communication between main body apparatus2and a cradle5which will be described later is provided in a lower side surface of housing11. Lower terminal27is provided at a position where it comes in contact with a terminal of cradle5when main body apparatus2is attached to cradle5. Typically, a universal serial bus (USB) connector (more specifically, a female connector) can be adopted as lower terminal27.
A position, a shape, and the number of components (specifically, a button, a slot, and a terminal) provided in housing11described above can arbitrarily be designed. For example, in another embodiment, power button28or first slot23may be provided in another side surface or a rear surface of housing11. Some of the components do not have to be provided.
(a3: Structure of Left Controller)
FIG. 4is an example non-limiting diagram of left controller3according to the present embodiment when viewed from six sides.
Referring toFIG. 4, left controller3has a housing31substantially in a form of a plate. A main surface of housing31(that is, a front surface or a surface on a side of a negative direction of a z axis shown inFIG. 1) is substantially in a rectangular shape. Housing31is in a vertically long shape, that is, long in the up-down direction (that is, a direction of a y axis shown inFIG. 1).
Left controller3can be used with its main surface being vertically oriented or with its surface being horizontally oriented when a user holds the left controller while the left controller is detached from main body apparatus2.
A shape and a size of housing31can arbitrarily be designed. In another embodiment, housing31may be constructed into a shape other than a shape substantially in a form of a plate. Housing31does not have to be rectangular, and for example, a semicircular shape may be adopted. Housing31does not have to vertically be long.
A length of housing31in the up-down direction is preferably substantially the same as a length in the up-down direction of housing11of main body apparatus2. A thickness of housing31(that is, a length in a front-rear direction or a length in the direction of the z axis shown inFIG. 1) is preferably substantially the same as a thickness of housing11of main body apparatus2. Therefore, when left controller3is attached to main body apparatus2(seeFIG. 1), a user can hold main body apparatus2and left controller3as if they were an integrated apparatus.
A left corner portion of the main surface of housing31is rounded more than a right corner portion. A portion of connection between an upper side surface and a left side surface of housing31and a portion of connection between a lower side surface and the left side surface of housing31are rounded more than a portion of connection between the upper side surface and a right side surface and a portion of connection between the lower side surface and the right side surface (that is, a curve of beveling is great). Therefore, when left controller3is attached to main body apparatus2(seeFIG. 1), the left side of game device1is rounded and hence such a shape facilitates holding by a user.
An analog stick32is provided in left controller3. As shown inFIG. 4, analog stick32is provided on the main surface of housing31. Analog stick32represents one example of a direction instruction portion with which a direction can be input. Analog stick32includes a stick member which can be tilted in all directions (that is, a 360° direction including up, down, left, right, and diagonal directions) in parallel to the main surface of housing31. The analog stick is an analog input device with which a user can input a direction in accordance with a direction of tilt by titling the stick member. Analog stick32may further be constructed to be able to give an input of magnitude in accordance with an angle of tilt in addition to input of a direction in accordance with a direction of tilt when the stick member is tilted. Alternatively, a slide stick may implement the direction instruction portion. The slide stick is an input portion having a stick member slidable in all directions in parallel to the main surface of housing31, and the user can give an input in accordance with a direction of slide by sliding the stick member. The slide stick may further be constructed also to give an input of magnitude in accordance with an amount of slide. Alternatively, the direction instruction portion may be implemented as an input portion indicating a direction through an operation to press a button. For example, the direction instruction portion may be implemented as an input portion indicating a direction with a cross-shaped key or four buttons corresponding to up, down, left, and right directions, respectively. In the present embodiment, an input can be given by pressing the stick member (in the direction perpendicular to housing31). Analog stick32in the present embodiment is an input portion with which an input of a direction and magnitude in accordance with a direction of tilt and an amount of tilt of the stick member can be given and an input resulting from pressing of the stick member can be given.
Left controller3includes four operation buttons33to36(specifically, a right direction button33, a down direction button34, an up direction button35, and a left direction button36). As shown inFIG. 4, these four buttons33to36are provided under analog stick32on the main surface of housing31. Though four operation buttons are provided on the main surface of left controller3in the present embodiment, any number of operation buttons may be provided. These operation buttons33to36are used for giving an instruction in accordance with various programs (for example, an OS program or an application program) executed in main body apparatus2. Since operation buttons33to36may be used for giving an input of a direction in the present embodiment, operation buttons33to36are also referred to as right direction button33, down direction button34, up direction button35, and left direction button36for the sake of convenience of description. Operation buttons33to36may be used for giving an instruction other than an input of a direction.
An operation portion (specifically, analog stick32and operation buttons33to36) provided on the main surface of left controller3is operated, for example, with the left thumb of a user who holds game device1when left controller3is attached to main body apparatus2(seeFIG. 9). When left controller3is used as being detached from main body apparatus2, the operation portion is operated, for example, with the left thumb of the user who holds left controller3(seeFIG. 10).
A first L button38and a ZL button39are provided in left controller3. These operation buttons38and39are used for giving an instruction in accordance with various programs executed in main body apparatus2, similarly to operation buttons33to36described above. As shown inFIG. 4, first L button38is provided in an upper left portion on the side surface of housing31. ZL button39is provided in an upper left portion as extending from the side surface to the rear surface of housing31(strictly speaking, the upper left portion when housing31is viewed from the front). ZL button39is provided in the rear of first L button38(a side of a positive direction of the z axis shown inFIG. 1). Since the upper left portion of housing31is rounded in the present embodiment, first L button38and ZL button39are in a rounded shape in conformity with rounding of the upper left portion of housing31.
When left controller3is attached to main body apparatus2, first L button38and ZL button39are arranged in the upper left portion of game device1(seeFIG. 1). Therefore, a user who holds game device1can operate first L button38and ZL button39with his/her left forefinger or long finger.
Left controller3has slider40described above. As shown inFIG. 4, slider40extends along the up-down direction in the right side surface of housing31. Slider40is in a shape allowing engagement with left rail member15(more specifically, a groove in left rail member15) of main body apparatus2. Specifically, slider40has a projecting cross-section (specifically, a cross-section perpendicular to the up-down direction). More specifically, slider40has a cross-section in a T shape in conformity with a shape of a cross-section of left rail member15. Therefore, slider40engaged with left rail member15is fixed and does not come off in a direction perpendicular to a direction of slide (that is, a direction of extension of left rail member15).
Left controller3includes a second L button43and a second R button44. These buttons43and44are used for giving an instruction in accordance with various programs executed in main body apparatus2similarly to other operation buttons33to36. As shown inFIG. 4, second L button43and second R button44are provided in the surface where slider40is attached. Second L button43is provided above the center in terms of the up-down direction (the direction of they axis shown inFIG. 1) on the surface where slider40is attached. Second R button44is provided under the center in terms of the up-down direction on the surface where slider40is attached. Second L button43and second R button44are arranged at positions where they cannot be pressed while left controller3is attached to main body apparatus2. Second L button43and second R button44are used while left controller3is detached from main body apparatus2. Second L button43and second R button44are operated, for example, with a forefinger or a long finger of left and right hands of a user who holds left controller3detached from main body apparatus2.
Left controller3includes a notification LED45. Notification LED45is a notification unit for notifying a user of prescribed information. Information given by notification LED45is any information. In the present embodiment, when main body apparatus2communicates with a plurality of controllers, notification LED45indicates information for identifying each controller to a user. Specifically, left controller3includes as notification LED45, LEDs as many as left controllers (four here) with which main body apparatus2can simultaneously communicate. An LED among four LEDs in accordance with a number provided to a controller is turned on. Thus, the user can be notified of the number through notification LED45.
In another embodiment, notification LED45may notify the user of a state of communication between left controller3and main body apparatus2. For example, notification LED45may be turned on when communication with main body apparatus2has been established. Though the number of LEDs (in other words, light emission portions) functioning as notification LED45is set to four in the present embodiment, the number of LEDs is set to any number.
In the present embodiment, notification LED45is provided on the surface where slider40is attached as shown in the figure. Therefore, notification LED45is arranged at a position hidden while left controller3is attached to main body apparatus2. Notification LED45is used when left controller3is detached from main body apparatus2.
In the present embodiment, a button (specifically, second L button43and second R button44) provided on the surface where slider40is attached is provided not to protrude from that surface. An upper surface of the button (in other words, a surface which is pressed) is arranged flush with the surface where slider40is attached or at a position lower than such a surface. Thus, while slider40is attached to left rail member15of main body apparatus2, slider40can smoothly be slid with respect to left rail member15.
(a4: Structure of Right Controller)
FIG. 5is an example non-limiting diagram of right controller4according to the present embodiment when viewed from six sides.
Referring toFIG. 5, right controller4has a housing51substantially in a form of a plate. A main surface of housing51(that is, a front surface or a surface on the side of the negative direction of the z axis shown inFIG. 1) is substantially in a rectangular shape. Housing51is in a vertically long shape, that is, long in the up-down direction.
Right controller4can be used with its main surface being vertically oriented or with its surface being horizontally oriented when a user holds the right controller while the right controller is detached from main body apparatus2.
Similarly to housing31of left controller3, a length of housing51of right controller4in the up-down direction is preferably substantially the same as the length in the up-down direction of housing11of main body apparatus2and a thickness thereof is preferably substantially the same as the thickness of housing11of main body apparatus2. Therefore, when right controller4is attached to main body apparatus2(seeFIG. 1), a user can hold main body apparatus2and right controller4as if they were an integrated apparatus.
A right corner portion of the main surface of housing51is rounded more than a left corner portion. A portion of connection between an upper side surface and a right side surface of housing51and a portion of connection between a lower side surface and the right side surface of housing51are rounded more than a portion of connection between the upper side surface and a left side surface and a portion of connection between the lower side surface and the left side surface (that is, a curve of beveling is great). Therefore, when right controller4is attached to main body apparatus2(seeFIG. 1), the right side of game device1is rounded and hence such a shape facilitates holding by a user.
An analog stick52is provided in right controller4as a direction instruction portion as in left controller3. Analog stick52is constructed substantially similarly to analog stick32in left controller3. Right controller4includes four operation buttons53to56(specifically, an A button53, a B button54, an X button55, and a Y button56) similarly to left controller3. These four operation buttons53to56are substantially the same in mechanism as four operation buttons33to36in left controller3. As shown inFIG. 5, analog stick52and operation buttons53to56are provided on the main surface of housing51. Though four operation buttons are provided on the main surface of right controller4in the present embodiment, any number of operation buttons may be provided.
Positional relation between two types of operation portions (analog stick52and the operation buttons) in right controller4is opposite to positional relation of these two types of operation portions in left controller3. In right controller4, analog stick52is arranged under operation buttons53to56, whereas in left controller3, analog stick32is arranged above operation buttons33to36. With such arrangement, when two controllers are used as being detached from main body apparatus2, both of the controllers can be used with similar operational feeling.
When right controller4is attached to main body apparatus2, the operation portion (specifically analog stick52and operation buttons53to56) provided on the main surface of right controller4is operated, for example, with the right thumb of a user who holds game device1. When right controller4is used as being detached from main body apparatus2, the operation portion is operated, for example, with the right thumb of a user who holds right controller4.
A first R button60and a ZR button61are provided in right controller4. As shown inFIG. 5, first R button60is provided in an upper right portion on the side surface of housing51. ZR button61is provided in an upper right portion as extending from the side surface to the rear surface of housing51(strictly speaking, the upper right portion when housing51is viewed from the front). ZR button61is provided in the rear of first R button60(the side of the positive direction of the z axis shown inFIG. 1). Since the upper right portion of housing51is rounded in the present embodiment, first R button60and ZR button61are in a rounded shape in conformity with rounding of the upper right portion of housing51.
When right controller4is attached to main body apparatus2, first R button60and ZR button61are arranged in the upper right portion of game device1(seeFIG. 1). Therefore, a user who holds game device1can operate first R button60and ZR button61with his/her right forefinger or long finger.
In the present embodiment, first L button38and first R button60are not symmetric to each other in shape, and ZL button39and ZR button61are not symmetric to each other in shape. In another embodiment, first L button38and first R button60may be symmetric to each other in shape, and ZL button39and ZR button61may be symmetric to each other in shape.
Right controller4has terminal64for wired communication between right controller4and main body apparatus2. Terminal64is provided at a position where it comes in contact with right terminal21(FIG. 3) of main body apparatus2when right controller4is attached to main body apparatus2. Terminal64should be arranged at any position where main body apparatus2and right controller4are in contact with each other while right controller4is attached to main body apparatus2. By way of example, as shown inFIG. 5, terminal64is provided around a lower end portion of a surface where slider62is attached.
A position, a shape, and the number of components (specifically, a slider, a stick, a button, and an LED) provided in housing31of left controller3and/or housing51of right controller4can arbitrarily be designed. For example, in another embodiment, the controller may include a direction instruction portion of a type different from the analog stick. Slider40or62may be arranged at a position in accordance with a position of left rail member15and right rail member19provided in main body apparatus2, and for example, may be arranged in the main surface or the rear surface of housing31or51. Some of the components do not have to be provided.
Right controller4includes a second L button65and a second R button66as in left controller3. These buttons65and66are used for giving an instruction in accordance with various programs executed in main body apparatus2similarly to other operation buttons53to56. As shown inFIG. 5, second L button65and second R button66are provided on the surface where slider62is attached. Second L button65is provided under the center in terms of the up-down direction (the direction of the y axis shown inFIG. 1) on the surface where slider62is attached. Second R button66is provided above the center in terms of the up-down direction on the surface where slider62is attached. Second L button65and second R button66are arranged at positions where they cannot be pressed while right controller4is attached to main body apparatus2. Second L button65and second R button66are used while right controller4is detached from main body apparatus2. Second L button65and second R button66are operated, for example, with a forefinger or a long finger of left and right hands of a user who holds right controller4detached from main body apparatus2.
Right controller4includes a notification LED67. Notification LED67is a notification unit for notifying a user of prescribed information similarly to notification LED45of left controller3. Right controller4includes four LEDs as notification LEDs67, as in left controller3. An LED among four LEDs in accordance with a number provided to a controller is turned on. Thus, the user can be notified of the number through notification LED67.
In the present embodiment, similarly to notification LED45, notification LED67is provided on the surface where slider62is attached as shown in the figure. Therefore, notification LED67is arranged at a position hidden while right controller4is attached to main body apparatus2. Notification LED67is used when right controller4is detached from main body apparatus2.
In the present embodiment, also in right controller4as in left controller3, a button (specifically, second L button65and second R button66) provided on the surface where slider62is attached is provided not to protrude from that surface. An upper surface of the button (in other words, a surface which is pressed) is arranged flush with the surface where slider62is attached or at a position lower than such a surface. Thus, while slider62is attached to right rail member19of main body apparatus2, slider62can smoothly be slid with respect to right rail member19.
(a5: Use of Cradle)
FIG. 6is an example non-limiting schematic diagram showing appearance when game device1according to the present embodiment is used together with a cradle. A game system shown inFIG. 6includes game device1and cradle5.
Cradle5is constructed to be able to carry game device1and constructed to be able to communicate with a television6representing one example of an external display apparatus separate from display12of game device1. When game device1is carried on cradle5, an image obtained or generated by game device1can be shown on television6. Communication between cradle5and television6may be wired communication or wireless communication.
Cradle5may have a function to charge placed game device1and a function as a communication hub apparatus (for example, a USB hub).
[B. Internal Configuration of Each Apparatus]
An internal configuration of each apparatus associated with the information processing system according to the present embodiment will initially be described.
(b1: Internal Configuration of Main Body Apparatus)
FIG. 7is an example non-limiting block diagram showing an internal configuration of main body apparatus2according to the present embodiment.
Main body apparatus2includes components shown inFIG. 7. The components shown inFIG. 7are accommodated in housing11, for example, as being mounted on an electronic circuit substrate as electronic components.
Main body apparatus2includes a central processing unit (CPU)81corresponding to an information processing unit (or a processor) performing various types of processing including game processing. CPU81reads and executes a program stored in an accessible storage unit (specifically, an internal storage medium such as a flash memory84or an external storage medium attached to first slot23).
Main body apparatus2includes flash memory84and a dynamic random access memory (DRAM)85by way of example of an embedded internal storage medium. Flash memory84is a non-volatile memory mainly storing various types of data (which may be a program) saved in main body apparatus2. DRAM85is a volatile memory temporarily storing various types of data used in information processing.
Main body apparatus2includes a first slot interface (I/F)91. The first slot interface is connected to first slot23and reads and writes data from and into a storage medium of the first type (for example, an SD card) attached to first slot23, in response to an instruction from CPU81.
Main body apparatus2includes a network communication unit82for communication (specifically, wireless communication) with an external apparatus through a network. For example, a communication module authorized for Wi-Fi is employed for network communication unit82and network communication unit82communicates with an external apparatus through wireless LAN. In another embodiment, main body apparatus2may have a function for connection and communication with a mobile communication network (that is, a portable telephone communication network) in addition to (or instead of) a function for connection and communication with wireless LAN.
Main body apparatus2includes a controller communication unit83for wireless communication with left controller3and/or right controller4. Though any scheme is applicable for communication between main body apparatus2and each controller, for example, a communication scheme under the Bluetooth™ specifications can be adopted.
CPU81is connected to left terminal17, right terminal21, and lower terminal27. CPU81transmits and receives data to and from left controller3through left terminal17when wired communication with left controller3is established. CPU81transmits and receives data to and from right controller4through right terminal21when wired communication with right controller4is established. Data transmitted from CPU81to left controller3or right controller4is, for example, data for controlling a vibration generation portion of left controller3or right controller4. Data received by CPU81from left controller3or right controller4is, for example, operation data output in response to an operation by a user of the operation portion in left controller3or right controller4. CPU81transmits data to cradle5through lower terminal27when it communicates with cradle5.
In the present embodiment, main body apparatus2can establish both of wired communication and wireless communication with left controller3and right controller4.
Main body apparatus2includes a touch panel controller86for control of touch panel13. Touch panel controller86generates data indicating a position of a touch input in response to a signal from touch panel13, and outputs the data to CPU81.
Display12shows an image generated by execution of various types of processing by CPU81and/or an image obtained from the outside.
Main body apparatus2includes a codec circuit87and speaker88(specifically, the left speaker and the right speaker). Codec circuit87controls input and output of audio data to and from speaker88and audio input and output terminal25. More specifically, when codec circuit87receives audio data from CPU81, it outputs an audio signal resulting from D/A conversion of the audio data to speaker88or audio input and output terminal25. Thus, sound is output from speaker88or an audio output portion (for example, an earphone) connected to audio input and output terminal25. When codec circuit87receives an audio signal from audio input and output terminal25, it subjects the audio signal to A/D conversion and outputs audio data in a prescribed format to CPU81.
Main body apparatus2includes an electric power control unit97and a battery98. Electric power control unit97controls supply of electric power from battery98to each component based on a command from CPU81. Electric power control unit97controls supply of electric power in accordance with an input onto power button28. When an operation to turn off power supply is performed on power button28, electric power control unit97stops supply of electric power totally or in part, and when an operation to turn on power supply is performed on power button28, it starts full supply of electric power.
When an external charging apparatus (for example, cradle5) is connected to lower terminal27and electric power is supplied to main body apparatus2through lower terminal27, battery98is charged with supplied electric power.
(b2: Internal Configuration of Controller)
FIG. 8is an example non-limiting block diagram showing an internal configuration of left controller3and right controller4according to the present embodiment.
FIG. 8also depicts components of main body apparatus2associated with left controller3and right controller4.
Left controller3includes a communication control unit101for communication with main body apparatus2. Communication control unit101can communicate with main body apparatus2through both of wired communication through terminal42and wireless communication not through terminal42. Communication control unit101selects wired communication or wireless communication depending on whether or not left controller3is attached to main body apparatus2, and establishes communication under a selected communication method. While left controller3is attached to main body apparatus2, communication control unit101establishes communication with main body apparatus2through terminal42. While left controller3is detached from main body apparatus2, communication control unit101establishes wireless communication with main body apparatus2(specifically, controller communication unit83). The communication control unit should only be able to establish communication with the main body apparatus, and for example, it may be configured to establish only either wired communication or wireless communication. While left controller3is detached from main body apparatus2, wireless communication is established by way of example, however, wired communication may be established, for example, through a cable.
Left controller3includes, for example, a memory102such as a flash memory. Communication control unit101is implemented, for example, by a microprocessor and performs various types of processing by executing firmware stored in memory102.
Left controller3includes an operation button group103(specifically operation buttons33to36,38, and39) and analog stick32. Information on an operation onto operation button group103and analog stick32is repeatedly output to communication control unit101with a prescribed period.
Left controller3has an acceleration sensor104and an angular speed sensor105. Acceleration sensor104detects magnitude of a linear acceleration along directions of prescribed three axes (for example, the xyz axes shown inFIG. 1). Acceleration sensor104may detect an acceleration in a direction of one axis or accelerations in directions of two axes. Angular speed sensor105detects angular speeds around prescribed three axes (for example, the xyz axes shown inFIG. 1). Angular speed sensor105may detect an angular speed around one axis or angular speeds around two axes. A result of detection by acceleration sensor104and angular speed sensor105is repeatedly output to communication control unit101with a prescribed period.
Communication control unit101obtains information on an input from each of operation button group103, analog stick32, acceleration sensor104, and angular speed sensor105(for example, information on an operation by a user or a result of detection by the sensor). Communication control unit101transmits data including obtained information (or information obtained by subjecting obtained information to prescribed processing) to main body apparatus2. Data is transmitted to main body apparatus2repeatedly with a prescribed period. A period of transmission of information on an input to main body apparatus2may or may not be identical among input devices.
Main body apparatus2can know an input given to left controller3based on transmitted data. More specifically, main body apparatus2can discriminate an operation onto operation button group103and analog stick32. Main body apparatus2can calculate information on a motion and/or an attitude of left controller3.
Left controller3has an electric power supply unit109including a battery and an electric power control circuit. Electric power supply unit109controls power supply to each component of left controller3. When left controller3is attached to main body apparatus2, the battery is charged by power feed from main body apparatus2through terminal42.
Electric power supply unit109gives battery warning information to main body apparatus2when the battery runs out of electric power.
Right controller4is configured basically similarly to left controller3described above. Right controller4includes a communication control unit111, an operation button group113(specifically operation buttons53to56,60, and61), analog stick52, an acceleration sensor114, an angular speed sensor115, and an electric power supply unit119. When the battery runs out of electric power, electric power supply unit119gives battery warning information to main body apparatus2.
Since other components of right controller4have features and functions the same as those of corresponding components described in connection with left controller3, detailed description will not be repeated.
Thus, game device1according to the present embodiment includes left controller3held in the left hand of the user (one hand) (a portion held in the left hand of the user) and right controller4held in the right hand (the other hand) of the user (a portion held in the right hand of the user).
The “operation portion” herein may mean a function or a feature accepting an operation by a user and encompass any component such as a button, an analog stick, and various sensors arranged in main body apparatus2, left controller3, and right controller4, so long as it can sense an operation performed by a user. The operation portion may be configured to be able to sense an operation by the user based on combination of a button, an analog stick, and various sensors as being distributed in main body apparatus2, left controller3, and right controller4.
[C. Manner of Use of Game System]
As described above, game device1according to the present embodiment is constructed such that left controller3and right controller4are removable. Game device1can output an image and sound to television6by being attached to cradle5. Therefore, game device1can be used in various manners of use as will be described below. A main manner of use of game device1will be exemplified below.
(c1: Manner of Use with Controller being Attached to Main Body Apparatus)
FIG. 9is an example non-limiting diagram showing one example of a manner of use of game device1with left controller3and right controller4being attached to main body apparatus2(hereinafter also referred to as an “attached state”).
As shown inFIG. 9, in the attached state, game device1can be used as a portable device.
In the attached state, basically, communication between main body apparatus2, and left controller3and right controller4is established through wired communication. In another embodiment, communication between main body apparatus2, and left controller3and right controller4may be established through wireless communication also in the attached state.
In the attached state, four operation buttons33to36of left controller3may be used for inputting a direction (that is, an instruction for a direction). A user can input a direction with analog stick32or operation buttons33to36. Since the user can input a direction with his/her preferred operation means, operability can be improved. For which instruction operation buttons33to36are used may arbitrarily be determined depending on a program executed in main body apparatus2.
In the present embodiment, arrangement of the analog stick and four operation buttons (that is, A, B, X, and Y buttons) is reverse between left controller3and right controller4. In the attached state, analog stick32is arranged above four operation buttons33to36in left controller3, whereas four operation buttons53to56are arranged above analog stick52in right controller4. Therefore, when a user holds game device1with his/her both hands being located at the same height (that is, at positions the same in the up-down direction) as shown inFIG. 9, the analog stick is located at a position readily operable with one hand and the four operation buttons are located at positions readily operable with the other hand. Game device1according to the present embodiment thus provides a feature facilitating an operation of the analog stick and four operation buttons.
(c2: Manner of Use with One Set of Controllers being Detached from Main Body Apparatus)
FIG. 10is an example non-limiting diagram showing one example of a manner of use of game device1with left controller3and right controller4being detached from main body apparatus2(hereinafter also referred to as a “detached state”).
As shown inFIG. 10, in the detached state, the user can operate left controller3and right controller4in his/her left and right hands, respectively.
In this case, analog stick32and four operation buttons33to36of left controller3are operated as being arranged vertically in the left hand in which the controller is held.
Similarly, analog stick52and four operation buttons53to56of right controller4are operated as being arranged vertically in the right hand in which the controller is held.
The controller is used such that the main surface thereof is vertically oriented when the user holds the controller (also referred to as an operation in vertical holding).
In the detached state, basically, communication between main body apparatus2, and left controller3and right controller4is established through wireless communication. Main body apparatus2receives data from the controller with which it has established wireless communication (pairing has been done) and performs game processing based on the received data.
In the present embodiment, in wireless communication, main body apparatus2distinguishes between left controller3and right controller4which are communication counterparts. Main body apparatus2identifies whether the data received from the controller is from left controller3or from right controller4.
ThoughFIG. 10shows a manner of use by one user of one set of controllers (the left controller and the right controller), such a manner of use that two users use the respective controllers is also applicable. In this case, two users can simultaneously participate in a game with one set of controllers (the left controller and the right controller).
ThoughFIG. 10shows a state that both of left controller3and right controller4are detached from main body apparatus2, limitation thereto is not intended and game device1can be used with any one of left controller3and right controller4being detached from main body apparatus2and the other being attached to main body apparatus2.
[D. Accessory Controller]
An accessory controller401will now be described.
Separately from left controller3and right controller4, accessory controller401which can communicate with main body apparatus2of game device1can also be provided.
FIG. 11is an example non-limiting diagram showing appearance of accessory controller401based on an embodiment.
As shown inFIG. 11, accessory controller401is mainly constituted of a housing402including grip portions400L and400R on the left and right (which may hereinafter collectively also be called a grip portion400) and an operation portion including two analog sticks protruding through openings provided in a surface of housing402and a plurality of operation buttons (which will be described later).
Housing402is substantially in a smooth trapezoidal shape with a longitudinal direction thereof being defined as a lateral direction when viewed from the front. The housing may be in such a shape that an upper side is slightly recessed and a lower side is more recessed than the upper side, in other words, grip portions400L and400R extend toward a bottom surface (forward when viewed from a player while the controller is held). A front surface side may be constructed substantially planar except for a position where the analog stick is provided.
A position where the analog stick is located is slightly raised and grip portions400L and400R may be in a shape gently curved rearward from the front. Housing402in the present example may be formed, for example, through plastic molding.
A first analog stick411(hereinafter a left stick) is provided around an upper surface side at a left end on a front surface of housing402and a second analog stick412(hereinafter a right stick) is provided around a lower surface side at a right end on the front surface of housing402. More specifically, left stick411is arranged at a position operable with the thumb of the left hand with which grip portion400L is held (more suitably, a position where the thumb of the left hand with which grip portion400L is held is naturally located), and right stick412is arranged at a position operable with the thumb of the right hand with which grip portion400R is held. Left stick411and right stick412are sticks which can be tilted in any direction around 360 degrees and used for indicating any direction.
Left stick411and right stick412can be pressed rearward and also play a role as a push button. Left stick411and right stick412function in accordance with a program executed by main body apparatus2to which the controller is connected.
Since a distance between left stick411and right stick412is thus great, a distance between the thumbs is not small even in an operation to tilt both of them inward and hence operability is good.
A cross-shaped key (which may also be called a direction key)421is provided at a position on the left of a substantially central position on the front surface of housing402and on an inner side of left stick411, where the cross-shaped key is operable with the thumb of the left hand with which grip portion400L is held. More specifically, cross-shaped key421is provided at a position on the lower right of left stick411. Cross-shaped key421is such a four-directional cross-shaped push switch that operation portions corresponding to four respective directions (front, rear, left, and right) are arranged at an interval of 90° on respective projecting parts of the cross. As a player presses any operation portion of cross-shaped key421, any of the front, rear, left, and right directions is selected. Cross-shaped key421functions in accordance with a program executed by main body apparatus2to which the controller is connected.
Cross-shaped key421is not limited to the shape as illustrated and any shape is applicable so long as a shape allows input of four directions. For example, such a shape that a cross-shaped raised portion is provided in a circular base is acceptable and four separate keys may be acceptable.
Operation buttons422A to422D (which may hereinafter also be called a first operation button group) are arranged at upper, lower, left, and right positions of a cross pattern on the right of substantially the center on the front surface of housing402in an area above right stick412, where the buttons are operable with the thumb of the right hand with which grip portion400R is held. More specifically, operation buttons422A to422D are arranged at upper, lower, left, and right positions of the cross-pattern in an area located on the upper right of right stick412. For example, operation buttons422A to422D are used for indicating enter or cancel.
By arranging cross-shaped key421at a position on the lower right of left stick411, the thumb pad can be moved to the position of cross-shaped key421by moving the thumb with the root of the left thumb being set as the fulcrum. In other words, the thumb pad can be moved to the position of cross-shaped key421simply by moving the thumb to the right with the root of the thumb being set as the fulcrum without particularly changing an attitude to hold grip portion400L and the thumb can also be returned to the position of left stick411by moving the thumb to the left. Skip between left stick411and cross-shaped key421is facilitated and operability can be improved. In other words, there is no lowering in operability caused by the stick constituting the obstacle as being located between the tip end of the thumb (the position of the cross-shaped key) and the root of the thumb in operation of cross-shaped key421.
Similarly, by arranging right stick412at the position on the lower left of the first operation button group (operation buttons422A to422D), the thumb can be moved between right stick412and the first operation button group simply by moving the thumb with the root of the right thumb being set as the fulcrum. Skip between right stick412and the first operation button group is thus facilitated and operability can be improved.
An L button425L is provided on a front side in a left end portion of the upper surface of housing402and a ZL button is provided under the same (on a rear side). An R button425R is arranged on the front side in a right end portion of the upper surface of housing402and a ZR button is arranged under the same (on the rear side). L button425L is arranged at a position where the L button can be reached by the forefinger of the left hand with which grip portion400L is held and the ZL button is arranged at a position where the ZL button can be reached by the left long finger or ring finger. R button425R is arranged at a position where the R button can be reached by the forefinger of the right hand with which grip portion400R is held and the ZR button is arranged at a position where the ZR button can be reached by the right long finger or ring finger. Functions in accordance with a program executed by the information processing apparatus are allocated as appropriate to L button425L, R button425R, the ZL button, and the ZR button.
Operation buttons similar to the operation buttons provided in left controller3and right controller4described above are also provided in accessory controller401.
A plurality of indicators are provided on a bottom surface side of the front surface of housing402. Specifically, a notification LED431is provided. Notification LED431serves as a notification unit for notifying a user of prescribed information, similarly to the notification LED of the left controller. Notification LED431includes four LEDs. Among the four LEDs, an LED in accordance with a player number allocated to a controller is turned on. Thus, the user can be notified of the player number by notification LED431.
Since accessory controller401is basically similar in internal configuration to left controller3or right controller4described with reference toFIG. 8, detailed description thereof will not be repeated.
Identification information represented by a value (for example, an ID) specifically provided to accessory controller401is stored in a memory of accessory controller401. Main body apparatus2can identify a controller as the accessory controller, not as left controller3or right controller4, based on the identification information.
[E: Correction Parameter]
FIG. 12is an example non-limiting diagram illustrating correction parameter information stored in the memory of the controller based on the embodiment.
By way of example, correction parameter information stored in memory102of controller3will be described. The description is also applicable to memory112of controller4.
Correction parameter information stored in memory102is used for processing for correcting operation data of the analog stick, the acceleration sensor, and the angular speed sensor input from the controller (calibration processing).
As shown inFIG. 12, correction parameter information includes an acceleration sensor correction parameter value301used for processing for correcting operation data of the acceleration sensor (calibration processing), an angular speed sensor correction parameter value331used for processing for correcting operation data of the angular speed sensor (calibration processing), an analog stick correction parameter value310used for processing for correcting operation data of the analog stick (calibration processing), and model information320relating to an adjustment parameter (an adjustment value) for each model (type) of the controller.
Acceleration sensor correction parameter value301includes reference value data302as of a manufacturing process and write flag data304and reference value data306in accordance with correction parameter setting processing.
Angular speed sensor correction parameter value331includes reference value data332as of the manufacturing process and write flag data334and reference value data336in accordance with correction parameter setting processing.
Analog stick correction parameter value310includes a maximum stroke value311, an origin312, and a minimum stroke value313as of the manufacturing process as well as write flag data314, a maximum stroke value315, an origin316, and a minimum stroke value317in accordance with correction parameter setting processing.
Model information320includes an acceleration sensor offset value321as well as a central dead band width322, an outer dead band coefficient323, an ensured stroke range324, and an origin range325for the analog stick. Though data relating to the angular speed sensor is not included in the model information in the present example by way of example, it may be included.
When correction parameter setting processing is performed, a write flag (identification information) is stored in write flag data304,314, and334. Whether or not data based on execution of the correction parameter setting processing is stored can be determined based on the write flag (identification information) stored in write flag data304,314, and334.
In the present example, memory102stores in advance data as of the manufacturing process (a manufacturing process correction parameter).
Data as of the manufacturing process refers to data determined in the process for manufacturing controller3and stored in memory102, and memory102storing the data may be mounted on controller3or the data may be stored after memory102is mounted on controller3.
Data in accordance with the correction parameter setting processing (user correction parameter data) is selective, and it is stored when a user selects correction parameter setting processing in a correction parameter setting screen which will be described later.
When data in accordance with the correction parameter setting processing is stored in memory102, the data is used in preference to data as of the manufacturing process.
Therefore, in an initial state, data as of the manufacturing process is used for processing for correcting operation data (calibration processing). When the correction parameter setting processing is performed, data obtained through the correction parameter setting processing is used for processing for correcting operation data (calibration processing).
The correction parameter information is read from memory102and transmitted to main body apparatus2when controller3is connected to main body apparatus2. CPU81of main body apparatus2has DRAM85store the received correction parameter information and uses the information in correction parameter setting processing and game execution processing.
FIG. 13is an example non-limiting diagram illustrating a functional block configuration of main body apparatus2based on the embodiment.
Referring toFIG. 13, a game execution processing unit200, a correction parameter setting unit204, and a writing unit206are implemented by execution of a program by CPU81of main body apparatus2.
Game execution processing unit200controls game processing. Game execution processing unit200successively updates contents of representation on display12in accordance with contents of operation data resulting from an operation by a user and input from the controller.
Game execution processing unit200includes a processing unit201, a selection unit202, and an obtaining unit203.
Processing unit201controls overall game processing and performs various types of processing.
Obtaining unit203obtains correction parameter information stored in the controller.
Selection unit202selects a correction parameter value to be used for processing for correcting operation data (calibration processing) in the obtained correction parameter information and outputs the correction parameter value to processing unit201. Specifically, when data in accordance with the correction parameter setting processing is included in the correction parameter information, selection unit202selects data in accordance with the correction parameter setting processing. When the data is not included, data registered in advance during the manufacturing process is selected.
By way of example, selection unit202determines whether or not there is a write flag in write flag data304in acceleration sensor correction parameter value301in the correction parameter information, and when it determines that there is a write flag, it selects reference value data306in accordance with the correction parameter setting processing and outputs the reference value data to processing unit201. When the selection unit determines that there is no write flag, it outputs reference value data302as of the manufacturing process to processing unit201.
Selection unit202determines whether or not there is a write flag in write flag data334in angular speed sensor correction parameter value331in the correction parameter information, and when it determines that there is a write flag, it selects reference value data336in accordance with the correction parameter setting processing and outputs the reference value data to processing unit201. When the selection unit determines that there is no write flag, it outputs reference value data332as of the manufacturing process to processing unit201.
Similarly, selection unit202determines whether or not there is a write flag in write flag data314in analog stick correction parameter value310in the correction parameter information, and when it determines that there is a write flag, it outputs maximum stroke value315, origin316, and minimum stroke value317in accordance with the correction parameter setting processing to processing unit201. When the selection unit determines that there is no write flag, it outputs maximum stroke value311, origin312, and minimum stroke value313as of the manufacturing process to processing unit201.
Selection unit202outputs model information320in the correction parameter information to processing unit201.
Correction parameter setting unit204performs correction parameter setting processing in response to an operation by a user.
Writing unit206outputs data resulting from correction parameter setting processing by correction parameter setting processing204to controller3together with a write order to have the data stored in memory102of controller3. Controller3receives the write order from writing unit206and has memory102store the data.
FIG. 14is an example non-limiting diagram illustrating a correction parameter setting screen500based on the embodiment.
FIG. 14shows correction parameter setting screen500.
The correction parameter setting screen represents one example of a screen shown when correction parameter setting processing is indicated in a home menu. The home menu is provided to allow launch of a game application and various types of setting (correction parameter setting processing). For example, an icon for launching a game application is provided and the game application is launched by selecting the icon. An icon for performing correction parameter setting processing is also provided, and an application for the correction parameter setting processing is launched by selecting the icon and the correction parameter setting screen is shown.
Correction parameter setting screen500includes an analog stick button502for performing processing for setting a correction parameter for the analog stick, an acceleration sensor button504for performing processing for setting a correction parameter for the acceleration sensor, and an angular speed sensor button506for performing processing for setting a correction parameter for the angular speed sensor.
When correction parameter setting unit204accepts selection of analog stick button502in response to an instruction from the controller, it performs processing for setting a correction parameter for the analog stick. When correction parameter setting unit204accepts selection of acceleration sensor button504in response to an instruction from the controller, it performs processing for setting a correction parameter for the acceleration sensor. When correction parameter setting unit204accepts selection of angular speed sensor button506in response to an instruction from the controller, it performs processing for setting a correction parameter for the angular speed sensor.
FIG. 15is an example non-limiting flowchart illustrating processing for setting a correction parameter for the analog stick based on the embodiment.
As shown inFIG. 15, correction parameter setting unit204determines whether or not analog stick button502has been selected (step S2). Specifically, whether or not an instruction to select analog stick button502has been given in correction parameter setting screen500is determined based on operation data from controller3.
When correction parameter setting unit204determines in step S2that analog stick button502has been selected (YES in step S2), a first operation guidance screen602is shown in display12(step S4).
Then, correction parameter setting unit204determines whether or not a first operation input has been given in accordance with first operation guidance screen602(step S6). Specifically, whether or not the first operation input designated in first operation guidance screen602has been given is determined based on operation data from controller3.
When correction parameter setting unit204determines in step S6that the first operation input has been given (YES in step S6), operation data is measured (step S8).
When correction parameter setting unit204determines in step S6that the first operation input has not been given (NO in step S6), the process returns to step S4.
Then, correction parameter setting unit204determines whether or not a measurement value is an allowable value (step S10).
When correction parameter setting unit204determines in step S10that the measurement value is the allowable value (YES in step S10), it calculates the origin (step S12).
When correction parameter setting unit204determines in step S10that the measurement value is not the allowable value (NO in step S10), the process returns to step S4and the first operation guidance screen is again shown on display12. In this case, a message may be shown to invite a user to perform the first operation again.
FIGS. 16A and 16Bare example non-limiting diagrams illustrating operation guidance screens shown on display12based on the embodiment.
FIG. 16Ashows first operation guidance screen602. In first operation guidance screen602, as to the first operation, arrows pointing to four directions of up, down, left, and right directions are shown, and a message “move analog stick in direction shown with arrow with finger and release finger” is shown.
The user is invited to move analog stick32of controller3in four directions shown with the arrows and to release his/her finger in accordance with the message.
FIGS. 17A and 17Bare example non-limiting diagrams illustrating calculation of a correction parameter value when a user operates the analog stick in accordance with the operation guidance screen based on the embodiment.
FIG. 17Ashows a scheme for calculating a coordinate of the origin of analog stick32.
As shown inFIG. 17A, in the present example, a two-dimensional coordinate defined by an X axis and a Y axis is shown. Measurement values (position coordinates) P1to P4measured on the two-dimensional coordinate at the time when the user moves analog stick32in four directions of up, down, left, and right directions with his/her finger and releases the finger so that a central shaft of analog stick32returns are shown.
A region R0on the two-dimensional coordinate is a region set by an origin range325of the analog stick, which is included in model information320in the correction parameter information.
In the present example, correction parameter setting unit204determines whether or not a measurement value is included in region R0designated by origin range325. When correction parameter setting unit204determines that the measurement value is included in region R0designated by origin range325, it determines that the measurement value is the allowable value. When correction parameter setting unit204determines that the measurement value is not in region R0designated by origin range325, it determines that the measurement value is not the allowable value.
Correction parameter setting unit204sets a point of intersection between a line segment defined by measurement values P1and P3and a line segment defined by measurement values P2and P4as an origin coordinate O by way of example. A scheme for setting origin coordinate O is not limited as such.
A width S from origin coordinate O corresponds to central dead band width322of model information320. A central dead band region R4is set with origin coordinate O being defined as the center, by using a value for central dead band width322.
Referring again toFIG. 15, then, correction parameter setting unit204has display12show a second operation guidance screen604(step S14).
Then, correction parameter setting unit204determines whether or not a second operation input has been given in accordance with second operation guidance screen604(step S16). Specifically, whether or not the second operation input designated in second operation guidance screen604has been given is determined based on operation data from controller3.
When correction parameter setting unit204determines in step S16that the second operation input has been given (YES in step S16), it measures operation data (step S18).
When correction parameter setting unit204determines in step S16that the second operation input has not been given (NO in step S16), the process returns to step S14.
Then, correction parameter setting unit204determines whether or not a measurement value is an allowable value (step S20).
When correction parameter setting unit204determines in step S20that the measurement value is the allowable value (YES in step S20), it calculates maximum and minimum stroke values (step S22).
When correction parameter setting unit204determines in step S20that the measurement value is not the allowable value (NO in step S20), the process returns to step S14and the correction parameter setting unit has display12show again the second operation guidance screen. In this case, a message may be shown to invite the user to perform again the second operation.
FIG. 16Bshows second operation guidance screen604. Second operation guidance screen604invites rotation of analog stick32in a direction shown with an arrow as to the second operation. A message “rotate analog stick outward with finger” is shown.
The user is invited to move and rotate outward analog stick32of controller3as shown with the arrow in accordance with the message.
FIG. 17Bshows a scheme for calculating maximum and minimum stroke values of analog stick32.
As shown inFIG. 17B, in the present example, a two-dimensional coordinate defined by an X axis and a Y axis is shown. Measurement values (position coordinates) Q1to Q4on the two-dimensional coordinate measured at the time when the user rotates analog stick32outward with his/her finger are shown. In the present example, a plurality of measurement values are obtained when analog stick32is rotated outward with a finger.
In the present example, at least four of a plurality of obtained measurement values are extracted. Specifically, measurement values Q2and Q4are measurement values having stroke maximum and minimum values on the X axis. Measurement values Q1and Q3are measurement values having stroke maximum and minimum values on the Y axis.
The stroke maximum and minimum values on the X axis and the Y axis are calculated based on the measurement values.
A stroke maximum region R2on the two-dimensional coordinate is set based on the measurement values of the stroke maximum and minimum values.
A region R1on the two-dimensional coordinate is a region set by an ensured stroke range324of the analog stick included in model information320of the correction parameter information.
In the present example, correction parameter setting unit204determines whether or not a measurement value extracted from the plurality of measurement values is located outside region R1designated by ensured stroke range324. When correction parameter setting unit204determines that the measurement value is not included in region R1designated by ensured stroke range324, it determines that the measurement value is the allowable value. When correction parameter setting unit204determines that the measurement value is within region R1designated by ensured stroke range324, it determines that the measurement value is not the allowable value.
Correction parameter setting unit204sets a region defined by multiplication of stroke maximum region R2by an outer dead band coefficient α as a region R3. In the present example, a region between stroke maximum region R2and region R3is set as the outer dead band region.
Though correction parameter setting unit204sets by way of example the outer dead band region as the region between the stroke maximum region and the region defined by multiplication of the stroke maximum region by the outer dead band coefficient, a setting scheme is not limited thereto.
Referring again toFIG. 15, correction parameter setting unit204outputs the calculated origin coordinate and the maximum and minimum stroke values to writing unit206for writing of them into the controller (step S24). Then, the process ends (end).
Writing unit206transmits the origin coordinate and the maximum and minimum stroke values output from correction parameter setting unit204to controller3.
Communication control unit101of controller3receives the write order as well as the origin coordinate and the maximum and minimum stroke values from writing unit206.
Communication control unit101updates the correction parameter information stored in memory102in accordance with the write order. Specifically, a write flag (identification information) is stored in write flag data314of analog stick correction parameter value310.
Communication control unit101has the origin coordinate as well as the maximum and minimum stroke values calculated in main body apparatus2stored as origin316, maximum stroke value315, and minimum stroke value317.
FIG. 18is an example non-limiting flowchart illustrating processing for setting a correction parameter for the acceleration sensor based on the embodiment.
As shown inFIG. 18, correction parameter setting unit204determines whether or not acceleration sensor button504has been selected (step S30). Specifically, whether or not an instruction to select acceleration sensor button504has been given in correction parameter setting screen500is determined based on operation data from controller3.
When correction parameter setting unit204determines in step S30that acceleration sensor button504has been selected (YES in step S30), a resting state guidance screen610is shown on display12(step S32).
Then, correction parameter setting unit204determines whether or not the controller is rested (step S33). Specifically, whether or not sensor value from acceleration sensor104is stable is determined. When it is determined that the sensor value of acceleration sensor104is stable, determination as resting is made.
Then, when correction parameter setting unit204makes determination as resting (YES in step S33), it measures data of the acceleration sensor (step S36).
When correction parameter setting unit204makes determination as non-resting (NO in step S33), the process returns to step S32.
FIG. 19is an example non-limiting diagram illustrating resting state guidance screen610shown on display12based on the embodiment.
FIG. 19shows resting state guidance screen610and a message “place on horizontal table” together with various controllers.
A user is invited to place controller3on the horizontal table in accordance with the message.
In this state, data of the acceleration sensor is measured.
Referring again toFIG. 18, correction parameter setting unit204performs data adjustment processing (step S37).
Even when the controller is placed on the horizontal table, acceleration sensor104itself may not be horizontal owing to inclination of the housing of the controller. In the present example, in order to set a value for acceleration sensor104in a virtual horizontal state of the controller to 0 (reference value), acceleration sensor offset value321included in model information320is used. Acceleration sensor offset value321is adjustment data for obtaining the reference value in consideration of inclination of the housing.
In the present example, through data adjustment processing, the reference value for acceleration sensor104is calculated based on measured data of the acceleration sensor and acceleration sensor offset value321.
Then, in order to write the calculated reference value for the acceleration sensor in the controller, correction parameter setting unit204outputs the reference value to writing unit206(step S38). Then, the process ends (end).
Writing unit206transmits the reference value output from correction parameter setting unit204to controller3.
Communication control unit101of controller3receives a write order and the reference value from writing unit206.
Communication control unit101updates correction parameter information stored in memory102in accordance with the write order. Specifically, a write flag (identification information) is stored in write flag data304of acceleration sensor correction parameter value301.
Communication control unit101has the reference value transmitted from main body apparatus2stored as reference value data306.
In the initial state, in game processing, inclination of controller3(inclination of acceleration sensor104) as an operation input from the reference value is calculated with reference value data302as of the manufacturing process being defined as the reference, and game processing is performed based on an amount of command in accordance with the inclination.
When correction parameter setting processing is performed, in game processing, inclination of controller3(inclination of acceleration sensor104) as an operation input from the reference value is calculated with reference value data306in accordance with correction parameter setting processing being defined as the reference, and game processing is performed based on an amount of command in accordance with the inclination.
Since processing for setting a correction parameter for the angular speed sensor is basically similar to the processing for setting a correction parameter for acceleration sensor104, detailed description thereof will not be repeated.
Specifically, whether or not an instruction to select angular speed sensor button506has been given in correction parameter setting screen500is determined based on operation data from controller3, and when an instruction to select angular speed sensor506has been given, processing for setting a correction parameter for the angular speed sensor is performed. As in the case of the acceleration sensor, data of the angular speed sensor in a resting state is measured. Then, writing unit206transmits a write order and a measured sensor value for the angular speed sensor to controller3. Communication control unit101of controller3updates correction parameter information stored in memory102in accordance with the write order. Specifically, a write flag (identification information) is stored in write flag data334of angular speed sensor correction parameter value331. Communication control unit101has the sensor value for the angular speed sensor stored as reference value data336.
With the data, a value for angular speed sensor105in a virtual resting state of the controller can be set to 0 (reference value).
Model information is not used for angular speed sensor105.
In the initial state, in game processing, a motion of controller3(a value for angular speed sensor105) as an operation input from the reference value is calculated with reference value data332as of the manufacturing process being defined as the reference, and game processing is performed based on an amount of command in accordance with a motion operation.
When correction parameter setting processing is performed, in game processing, a motion of controller3(a value for angular speed sensor105) as an operation input from the reference value is calculated with reference value data336in accordance with correction parameter setting processing being defined as the reference, and game processing is performed based on an amount of command in accordance with a motion operation.
[G: Game Processing]
FIG. 20is an example non-limiting flowchart illustrating game processing performed by game device1based on the embodiment.
Each step shown inFIG. 20is typically performed by execution of a program by CPU81of main body apparatus2.
Referring toFIG. 20, CPU81determines whether or not execution of game processing has been indicated (step S40). Game execution processing unit200determines whether or not start of game processing has been indicated.
When CPU81determines that execution of game processing has been indicated (YES in step S40), it obtains correction parameter information (step S41). Specifically, obtaining unit203obtains correction parameter information stored in memory102of controller3.
Then, CPU81determines whether or not there is user correction parameter data (step S42). Specifically, selection unit202determines whether or not correction parameter information obtained by obtaining unit203includes user correction parameter data.
When CPU81determines in step S42that there is user correction parameter data (YES in step S42), it calculates a command table based on the user correction parameter data (step S44). Processing unit201calculates a command table based on the user correction parameter data selected by selection unit202. By calculating the command table, processing for correcting operation data as set by a user (calibration processing) can be performed.
When CPU81determines in step S42that there is no user correction parameter data (NO in step S42), it calculates a command table based on manufacturing process correction parameter data (step S46). Processing unit201calculates a command table based on manufacturing process correction parameter data selected by selection unit202. By calculating the command table, processing for correcting operation data as set in the manufacturing process (calibration processing) can be performed.
FIG. 21is an example non-limiting conceptual diagram illustrating a command table for the analog stick based on the embodiment.
As shown inFIG. 21, in the present example, two command tables L1and L2are provided. Command table L1is based on manufacturing process correction parameter data. Command table L2is based on user correction parameter data.
In the present example, a length by Xa in the direction of the X axis from origin O is set as the central dead band width.
In command table L1, a region beyond a length of Xb in the direction of the X axis is set as the outer dead band region. In command table L2, a region beyond a length of Xc in the direction of the X axis is set as the outer dead band region.
In the present example, stroke maximum region R2is set as described with reference toFIG. 17Bbased on maximum stroke value311, origin312, and minimum stroke value313as of the manufacturing process. Then, region R3is set based on outer dead band coefficient α of model information320.
The region between stroke maximum region R2and region R3is set as the outer dead band region. In accordance with the setting, an outer dead band limit position Xb in the direction of the X axis is set. Command table L1is set such that an amount of command makes linear transition between an amount of command Max at outer dead band limit position Xb and amount of command 0 at a central dead band limit position Xa.
Similarly, stroke maximum region R2is set as described with reference toFIG. 17Bbased on maximum stroke value315, origin316, and minimum stroke value317in accordance with the correction parameter setting processing. Then, region R3is set based on outer dead band coefficient α of model information320.
The region between stroke maximum region R2and region R3is set as the outer dead band region. In accordance with the setting, a central dead band limit position Xc in the direction of the X axis is set. Command table L2is set such that an amount of command makes linear transition between amount of command Max at outer dead band limit position Xc and amount of command 0 at central dead band limit position Xa.
Then, CPU81determines whether or not an operation input has been given (step S48). Processing unit201determines whether or not an operation input from the controller has been given.
When CPU81determines in step S48that an operation input has been given (YES in step S48), it calculates an amount of command based on the calculated command table (step S50). When processing unit201determines that an operation input has been given, it calculates an amount of command based on any one of calculated command tables L1and L2.
Then, CPU81performs game processing based on the calculated amount of command (step S52). Specifically, processing unit201generates a game image in accordance with the calculated amount of command. Then, an updated output is given to display12in accordance with the generated game image.
Then, CPU81determines whether or not end of game processing has been indicated (step S54). Processing unit201determines whether or not an instruction to end has been given.
When CPU81determines in step S54that end of game processing has been indicated (YES in step S54), the process ends (end).
When CPU81determines in step S54that end of game processing has not been indicated (NO in step S54), the process returns to step S48and the processing above is repeated.
Game processing based on the command table for the analog stick has been described in the flow above.
This is basically also applicable to the acceleration sensor. As described above, when there is no write flag data304, reference value data302as of the manufacturing process is selected. When there is write flag data304, reference value data306in accordance with the correction parameter setting processing is selected. In game processing, inclination of controller3(inclination of acceleration sensor104) as an operation input from the selected reference value is calculated and game processing is performed in accordance with an amount of command in accordance with the inclination.
This is basically also applicable to the angular speed sensor. As described above, when there is no write flag data334, reference value data332as of the manufacturing process is selected. When there is write flag data334, reference value data336in accordance with the correction parameter setting processing is selected. In game processing, a motion of controller3as an operation input from the selected reference value is calculated and game processing is performed in accordance with an amount of command in accordance with the motion.
An input onto controller3resulting from combined operations of at least two of analog stick32, acceleration sensor104, and angular speed sensor105is also similarly applicable.
Though controller3has mainly been described above, the description is also similarly applicable to controller4.
The description is also similarly applicable to accessory controller401.
In accessory controller401, a plurality of analog sticks of analog sticks411and412are provided. In this case, a plurality of manufacturing process correction parameter values and a plurality of user correction parameter values in correspondence with the plurality of respective analog sticks are stored as the correction parameter information in the memory of accessory controller401. In model information as well, correction parameters for respective corresponding models of the plurality of analog sticks are stored.
With the scheme based on the present embodiment, correction parameter information specific to controller3is stored in memory102of controller3. Then, the correction parameter information is transmitted from controller3to main body apparatus2and executed in game processing. Therefore, main body apparatus2can perform highly accurate calibration processing in game processing in accordance with individual correction parameter information stored in memory102of controller3.
Correction parameter information includes model information for each model (type) of the controller. Therefore, even when the model of the controller is updated, the model information is simply updated and it is not necessary to manage a model of the controller in main body apparatus2.
Since it is not necessary to perform complicated operational processing such as updating of a software program of main body apparatus2for communicating with a controller in response to update of the controller, convenience is improved.
An example in which a button for performing processing for setting a correction parameter for each of acceleration sensor104and angular speed sensor105is provided in correction parameter setting screen500so that correction parameter setting processing is performed has been described above. An operation performed by a user, however, is the same. Therefore, correction parameter setting processing for each sensor can also simultaneously be performed in one setting processing. With such a scheme, correction parameter setting processing can be performed in a simplified manner.
An application executable on a personal computer may be provided as a program in the present embodiment. The program according to the present embodiment may be incorporated as some functions of various application programs executed on the personal computer.
While certain example systems, methods, devices, and apparatuses have been described herein, it is to be understood that the appended claims are not to be limited to the systems, methods, devices, and apparatuses disclosed, but on the contrary, are intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims
- A game system comprising: a main body apparatus;and a game controller, the game controller including: an analog stick, a memory configured to store correction parameter information including a first manufacturing process correction parameter value determined in a manufacturing process in connection with the analog stick, a first user correction parameter value determined in accordance with an operation by a user onto the analog stick in connection with the analog stick, and a first model adjustment value corresponding to a model of the game controller in connection with the analog stick, and a first control circuit configured to transmit the correction parameter information stored in the memory to the main body apparatus, the main body apparatus including a second control circuit, wherein the second control circuit is configured to: select any of the first manufacturing process correction parameter value and the first user correction parameter value included in the transmitted correction parameter information as a first correction parameter value, and perform game processing based on the first correction parameter value, the first model adjustment value, and input data from the analog stick.
- The game system according to claim 1 , wherein the second control circuit is configured to preferentially select the first user correction parameter value when the correction parameter information includes the first user correction parameter value.
- The game system according to claim 2 , wherein the second control circuit is configured to determine whether there is identification information indicating that the correction parameter information includes the first user correction parameter value and select the first user correction parameter value included in the correction parameter information when the second control circuit determines that there is the identification information.
- The game system according to claim 1 , wherein the game controller further includes an acceleration sensor, the memory is configured to store a second manufacturing process correction parameter value determined in the manufacturing process in connection with the acceleration sensor and a second user correction parameter value determined in accordance with an operation by the user onto the game controller in connection with the acceleration sensor as a part of the correction parameter information, the second control circuit is configured to: select any of the second manufacturing process correction parameter value and the second user correction parameter value included in the transmitted correction parameter information as a second correction parameter value, and perform the game processing also based on the second correction parameter value and input data from the acceleration sensor.
- The game system according to claim 1 , wherein the game controller further includes an angular speed sensor, the memory is configured to store a third manufacturing process correction parameter value determined in the manufacturing process in connection with the angular speed sensor and a third user correction parameter value determined in accordance with an operation by the user onto the game controller in connection with the angular speed sensor as a part of the correction parameter information, the second control circuit is configured to: select any of the third manufacturing process correction parameter value and the third user correction parameter value included in the transmitted correction parameter information as a third correction parameter value, and perform the game processing also based on the third correction parameter value and input data from the angular speed sensor.
- The game system according to claim 1 , wherein the first model adjustment value comprises information for setting a central dead band region and an outer dead band region.
- The game system according to claim 1 , wherein the second control circuit is configured to write the first user correction parameter value into the memory of the game controller.
- A game controller comprising: an analog stick;an acceleration sensor;a memory;and a communication control circuit configured to communicate with a main body apparatus, the memory being configured to store correction parameter information including a first manufacturing process correction parameter value determined in a manufacturing process in connection with the analog stick, a first user correction parameter value determined in accordance with an operation by a user onto the analog stick in connection with the analog stick, and a first model adjustment value corresponding to a model of the game controller in connection with the analog stick as well as a second manufacturing process correction parameter value determined in the manufacturing process in connection with the acceleration sensor, a second user correction parameter value determined in accordance with an operation by the user onto the game controller in connection with the acceleration sensor, and a second model adjustment value corresponding to the model of the game controller in connection with the acceleration sensor, and the communication control circuit being configured to transmit the correction parameter information stored in the memory to the main body apparatus when the communication control circuit is connected to the main body apparatus, receive at least any of the first user correction parameter value and the second user correction parameter value to be stored in the memory from the main body apparatus, and transmit operation data from at least any of the analog stick and the acceleration sensor to the main body apparatus when the main body apparatus performs game processing.
- The game controller according to claim 8 , wherein the first model adjustment value includes information for setting a central dead band region.
- The game controller according to claim 8 , wherein the first model adjustment value includes information for setting an outer dead band region.
- The game controller according to claim 8 , wherein the game controller comprises a plurality of analog sticks, and the memory is configured to store a plurality of first manufacturing process correction parameter values determined in the manufacturing process in connection with the plurality of analog sticks, respectively, a plurality of first user correction parameter values determined in accordance with operations by a user onto the plurality of analog sticks in connection with the plurality of analog sticks, respectively, and a plurality of first model adjustment values for the model of the game controller for the plurality of analog sticks in connection with the plurality of analog sticks, respectively.
- The game controller according to claim 8 , wherein the game controller further comprises an angular speed sensor, the memory is configured to store a third manufacturing process correction parameter value determined in the manufacturing process in connection with the angular speed sensor and a third user correction parameter value determined in accordance with an operation by the user onto the game controller in connection with the angular speed sensor as a part of the correction parameter information, and the communication control circuit is configured to receive at least any of the first user correction parameter value, the second user correction parameter value, and the third user correction parameter value to be stored in the memory from the main body apparatus and transmit operation data from at least any of the analog stick, the acceleration sensor, and the angular speed sensor to the main body apparatus when the main body apparatus performs game processing.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.