Game system, game apparatus, storage medium having game program stored therein, and game process method
Claim Score by NHIP
Abstract
An example game system includes a game apparatus, an operating device, and a hand-held device. The game apparatus receives first operation data from the operating device and second operation data from the hand-held device, and performs a predetermined game control process. Furthermore, the game apparatus generates a first game image of a virtual game space representing a result of the game control process, based on a first virtual camera, and the game apparatus also generates a second game image based on a second virtual camera. The first game image is outputted to a first display device provided independently of the hand-held device. The second game image is outputted to a second display device of the hand-held device. Moreover, the game apparatus performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.

Term
4.9 yearsto projected expiry
Projected expiry 18 August 2031, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
19 claims: 5 independent, 14 dependent
- 1A game system comprising a game apparatus, an operating device, and a hand-held device, wherein, the game apparatus includes:a first reception section for receiving data transmitted from the operating device and the hand-held device;a game process section for performing a predetermined game control process;a first image generation section for generating a first game image of a virtual game space based on a first virtual camera set in the game virtual space, the virtual game space representing a result of the game control process;a second image generation section for generating a second game image of the game space based on a second virtual camera set in the game space;a first image output section for outputting the first game image to a first display device provided independently of the hand-held device;and a second image output section for outputting the second game image to the hand-held device, the operating device includes: a first operation data output section for outputting first operation data representing manipulation on the operating device;and a first operation data transmission section for transmitting the first operation data to the game apparatus, the hand-held device includes: a second operation data output section outputting second operation data representing manipulation on the hand-held device;a second operation data transmission section for transmitting the second operation data to the game apparatus;a second reception section for receiving the second game image from the game apparatus;and a display process section for displaying the second game image on a second display device provided in the hand-held device, and the game process section performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.
- 16A game system comprising a game apparatus, an operating device, and a hand-held device, wherein, the system includes:a first operation data output section for outputting first operation data representing manipulation on the operating device;a second operation data output section for outputting second operation data representing manipulation on the hand-held device;a game process section for performing a predetermined game control process;a first image generation section for generating a first game image of a virtual game space based on a first virtual camera set in the virtual game space, the virtual game space representing a result of the game control process;a second image generation section for generating a second game image of the game space based on a second virtual camera set in the game space;a first image output section for outputting the first game image to a first display device provided independently of the hand-held device;and a display process section for displaying the second game image on a second display device provided in the hand-held device, and the game process section performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.
- 17Broadest claimClaim Score 34, narrow(NHIP)A game apparatus capable of communicating with an operating device and a hand-held device, the apparatus comprising:a first reception section for receiving data transmitted from the operating device and the hand-held device;a game process section for performing a predetermined game control process;a first image generation section for generating a first game image of a virtual game space based on a first virtual camera set in the virtual game space, the virtual game space representing a result of the game control process;a second image generation section for generating a second game image of the game space based on a second virtual camera set in the game space;a first image output section for outputting the first game image to a first display device provided independently of the hand-held device;and a second image output section for outputting the second game image to the hand-held device so as to be displayed on a second display device provided in the hand-held device, wherein, the game process section performs as the game control process a process for controlling a position of the second virtual camera based, on the first operation data and an attitude of the second virtual camera based on the second operation data.
- 18A computer-readable storage medium having stored therein a game program executable in a computer of a game apparatus capable of communicating with an operating device and a hand-held device, the program causing the computer to function as:first reception means for receiving data transmitted from the operating device and the hand-held device;game process means for performing a predetermined game control process;first image generation means for generating a first game image of a virtual game space based on a first virtual camera set in the virtual game space, the virtual game space representing a result of the game control process;second image generation means for generating a second game image of the game space based on a second virtual camera set in the game space;first image output means for outputting the first game image to a first display device provided independently of the hand-held device;and second image output means for outputting the second game image to the hand-held device so as to be displayed on a second display device provided in the hand-held device, wherein, the game process means performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.
- 19A game process method to be executed in a game system including a game apparatus, an operating device, and a hand-held device, wherein, the game apparatus performs:a first reception step for receiving data transmitted from the operating device and the hand-held device;a game process step for performing a predetermined game control process;a first image generation step for generating a first game image of a virtual game space based on a first virtual camera set in the virtual game space, the virtual game space representing a result of the game control process;a second image generation step for generating a second game image of the game space based on a second virtual camera set in the game space;a first image output step for outputting the first game image to a first display device provided independently of the hand-held device;and a second image output step for outputting the second game image to the hand-held device, the operating device performs: a first operation data output step for outputting the first operation data;and a first operation data transmission step for transmitting the first operation data to the game apparatus, the hand-held device performs: a second operation data output step for outputting the second operation data;a second operation data transmission step for transmitting the second operation data to the game apparatus;a second reception step for receiving the second game image from the game apparatus;and a display process step for displaying the second game image on a second display device provided in the hand-held device, and in the game process step, the game apparatus performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.
Independent claims5
372 paragraphs in 5 sections, as filed
CROSS REFERENCE TO RELATED APPLICATION
p-0002The disclosure of Japanese Patent Application Nos. 2010-192220 and 2011-120681, filed Aug. 30, 2010 and May 30, 2011, respectively, is incorporated herein by reference.
FIELD
p-0003This application describes a game system, a game apparatus, a storage medium having a game program stored therein, and a game process method in which a plurality of players are allowed to play a game at the same time.
BACKGROUND AND SUMMARY
p-0004Conventionally, there are some technologies for two or more players to play a game. In such a conventional technology, two players manipulate one object in concert with each other. Concretely, there is a technology in which one player operates a driver character and the other player a passenger character, thereby manipulating a mobile character in which the driver character and the passenger character ride.
p-0005In the aforementioned technology, the driver character is primarily manipulated, and the manipulation of the passenger character is a secondary game operation. Specifically, the manipulation of the passenger character has less impact on game progression, and the player's manipulation of the passenger character is not sufficiently reflected on game progression. Accordingly, the game might become less enjoyable to the player who manipulates the passenger character.
p-0006(1) An example game system comprises a game apparatus, an operating device, and a hand-held device. The game apparatus includes a first reception section, a game process section, a first image generation section, a second image generation section, a first image output section, and a second image output section. The first reception section receives data transmitted from the operating device and the hand-held device. The game process section performs a predetermined game control process. The first image generation section generates a first game image of a virtual game space based on a first virtual camera set in the virtual game space, the virtual game space representing a result of the game control process. The second image generation section generates a second game image of the game space based on a second virtual camera set in the game space. The first image output section outputs the first game image to a first display device provided independently of the hand-held device. The second image output section outputs the second game image to the hand-held device.
p-0007In addition, the operating device includes a first operation data output section and a first operation data transmission section. The first operation data output section outputs the first operation data. The first operation data transmission section transmits the first operation data to the game apparatus.
p-0008In addition, the hand-held device includes a second operation data output section, a second operation data transmission section, a second reception section, and a display process section. The second operation data output section outputs the second operation data. The second operation data transmission section transmits the second operation data to the game apparatus. The second reception section receives the second game image from the game apparatus. The display process section displays the second game image on a second display device provided in the hand-held device.
p-0009In addition, the game process section performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.
p-0010The “game apparatus” may be any information processing device that performs a game process, and generates an image based on the game process. Specifically, The game apparatus may be an information processing device exclusively designed for game use, or a multi-purpose information processing device such as a general personal computer.
p-0011The “operating device” may be any device capable of transmitting operation data (first operation data) to the game apparatus, and may communicate with the game apparatus in a wired or wireless manner.
p-0012The “hand-held device” is a portable game apparatus in an embodiment to be described later, but it does not have to have a function of performing a game process (game program). Specifically, the hand-held device may be used as a game controller for the game apparatus. Alternatively, a terminal device <b>200</b> in a variant to be described later may be used as the hand-held device.
p-0013The “game system” includes the game apparatus, the operating device, and the hand-held device, and may or may not include the “first display device” for displaying the first game image. That is, the game system may be provided either in the form in which the first display device is not included or in the form in which it is included.
p-0014The “game process section” may be information processing means for performing not only a game control process (step S<b>3</b>) for a shooting game as in the embodiment to be described later but also any game control processes for controlling the position and the attitude of the second virtual camera based on the first operation data and the second operation data.
p-0015The “first display device” is provided independently of the hand-held device, and may be any device, such as a television <b>2</b> in the embodiment to be described later, which can display an image generated by the game apparatus. For example, the first display device may be integrally formed with the game apparatus (within a single casing).
p-0016The “first operation data output section” may be any feature capable of detecting an operation on the operating device, including an acceleration sensor <b>37</b>, a gyroscope unit <b>6</b> (gyroscopes <b>55</b> and <b>56</b>), an imaging information calculation section (infrared light detection means) <b>35</b>, and an operating section <b>32</b> in the embodiment to be described later.
p-0017The “second operation data output section” may be any feature capable of detecting an operation on the hand-held device, including an acceleration sensor <b>89</b>, a gyroscope <b>90</b>, a touch panel <b>63</b>, an operate button group <b>64</b>, and an analog stick <b>65</b> in the embodiment to be described later.
p-0018Also, in the above configuration (1), the first virtual camera may be arbitrarily set within the game space. Specifically, the first virtual camera may be controlled based on the first operation data as in the embodiment to be described later, may be controlled independently of any operation data, or may be fixed at a predetermined position within the game space.
p-0019According to the above configuration (1), the position of the second virtual camera is controlled by the first player manipulating the operating device, and the attitude of the second virtual camera is controlled by the second player manipulating the hand-held device. Specifically, in the present embodiment, the position or the attitude of the second virtual camera changes in accordance with each player's game operation, so that the display range on the second display device changes. Thus, according to the above configuration (1), each player can change the display range by his/her own game operation, and therefore the player's game operation can be fully reflected in game progression. Accordingly, unlike in conventional games, players' operations are fully reflected in game progression, and therefore the players will not lose interest in the game, and can thoroughly enjoy the game.
p-0020(2) The game process section may further perform as the game control process a process for controlling the first virtual camera based on the first operation data.
p-0021According to the above configuration (2), the first virtual camera is controlled by the first player's operation. Accordingly, players can freely adjust the display ranges of game spaces displayed on display devices. Thus, each player can play the game while adjusting the viewpoint so that he/she can readily view the game image without worrying about causing any inconvenience for the other player, which makes it possible to provide a game with superior operability.
p-0022(3) The game process section may at least control a position of the first virtual camera based on the first operation data such that the first virtual camera moves simultaneously with movement of the second virtual camera.
p-0023The wording “the first virtual camera moves simultaneously with movement of the second virtual camera” is intended to mean that the two virtual cameras are equal both in the moving distance and the moving direction within the game space. Also, while in the above configuration (3), the position of the first virtual camera is at least controlled, the attitude of the first virtual camera may additionally be controlled based on the first operation data as in the embodiment to be described later or it may not be so controlled.
p-0024According to the above configuration (3), the virtual cameras move simultaneously with each other, and therefore the targets (virtual cameras) of manipulation by the players are caused to move together based on the first operation data. In addition, the attitude of the second virtual camera is controlled based on the second operation data, and therefore the second player can freely adjust the display range of the game space to be displayed as the second game image. Accordingly, the above configuration (3) makes it possible to provide a game in which viewpoints from which to display game images move concurrently on their respective display devices, and the players can freely adjust the display ranges on the display devices. Thus, it is possible to realize a game to be played by two players in concert with each other, in which, for example, the first player adjusts the viewpoint, and the second player performs a game operation while viewing the game space from the viewpoint adjusted by the first player.
p-0025(4) The second operation data output section may include a sensor for outputting data whose value changes in accordance with movement of the hand-held device. In this case, the second operation data includes data outputted by the sensor included in the second operation data output section. The game process section controls the attitude of the second virtual camera in accordance with the movement of the hand-held device.
p-0026The “movement of the hand-held device” is meant to include changes in position and attitude of the hand-held device. Specifically, the “movement” may refer to either the change in position or attitude, or both. The “sensor” may be any feature allowing the game process section to calculate (estimate) some movement of the hand-held device based on a sensor output.
p-0027According to the above configuration (4), the second player can perform a game operation of moving the hand-held device itself. The second player can intuitively play the game with such a game operation which can be more readily performed.
p-0028(5) The second operation data output section may include an acceleration sensor and/or a gyroscope. In this case, the second operation data includes acceleration data sensed by the acceleration sensor included in the second operation data output section and/or angular rate data sensed by the gyroscope included in the second operation data output section.
p-0029According the above configuration (5), by using the sensing result by the acceleration sensor or the gyroscope, the game process section can readily calculate (estimate) the movement of the hand-held device.
p-0030(6) The first operation data output section may include a sensor for outputting data whose value changes in accordance with movement of the operating device. In this case, the first operation data includes data outputted by the sensor included in the first operation data output section. The game process section controls the position of the second virtual camera based on the movement of the operating device.
p-0031The “movement of the operating device” is meant to include changes in an operational position and an operational attitude. The “sensor” may be any feature allowing the game process section to calculate (estimate) some movement of the operating device based on a sensor output, similar to an imaging information calculation section <b>35</b>, an acceleration sensor <b>37</b>, and gyroscopes <b>55</b> and <b>56</b> in the embodiment to be described later.
p-0032According to the above configuration (6), the first player can perform a game operation of moving the operating device itself. The first player can intuitively play the game with such a game operation which can be more readily performed.
p-0033(7) The first operation data output section may include an acceleration sensor and/or a gyroscope. In this case, the first operation data includes acceleration data sensed by the acceleration sensor included in the first operation data output section and/or angular rate data sensed by the gyroscope included in the first operation data output section.
p-0034According to the above configuration (7), by using the sensing result by the acceleration sensor or the gyroscope, the game process section can readily calculate (estimate) the movement of the operating device.
p-0035(8) The game process section may perform as the game control process a process for controlling the action of a predetermined object arranged in the game space based on the first operation data, and may also control the second virtual camera to be positioned in accordance with a position of the predetermined object.
p-0036The wording “the second virtual camera to be positioned in accordance with a position of the predetermined object” is intended to mean that the position of the second virtual camera is determined based on the position of the predetermined object, and such a position may be the position of the predetermined object or may be different from the position of the predetermined object (e.g., it may be a position at a predetermined distance behind the predetermined object). Accordingly, in the above configuration (8), the second virtual camera may be set so as to generate an image of the game space as viewed from the position of the predetermined object or an image of the game space including the predetermined object.
p-0037Also, in the above configuration (8), the position of the second virtual camera may be determined solely by the position of the predetermined object or by both the position and the attitude of the predetermined object.
p-0038According to the above configuration (8), the first player can manipulate a predetermined object. Furthermore, the second virtual camera is positioned in accordance with the position of the predetermined object, and therefore the second virtual camera moves in accordance with movement of the predetermined object. Thus, it is possible to realize a game to be played by two players in concert with each other, in which, for example, the first player moves an object, and the second player performs a predetermined game operation (here, a shooting operation) while viewing the game space being displayed from the viewpoint which moves with the object.
p-0039(9) The game process section may control the first virtual camera based on the first operation data such that a first game image including the predetermined object is generated, and may also control the position of the second virtual camera based on the first operation data such that a second game image as viewed from the position of the predetermined object is generated.
p-0040The wording “such that a second game image as viewed from the position of the predetermined object is generated” is intended to encompass not only the case where the position of the second virtual camera matches the position of the predetermined object but also the case where the second virtual camera is set at a position around the predetermined object.
p-0041According to the above configuration (9), a so-called first-person perspective game image is displayed as the second game image, and a game image including a predetermined object is displayed as the first game image. As a result, the second player can play the game while viewing the first-person perspective game image, which offers the realistic feel, or while viewing the first game image being displayed on the first display device to confirm situations around the predetermined object. Furthermore, the first player can manipulate the object while viewing the first game image, which makes it easy to comprehend situations around the object to be manipulated. Thus, the above configuration (9) makes it possible to display game images on display devices so as to allow players to readily perform manipulations.
p-0042(10) The game process section may further perform as the game control process a shooting process for shooting toward a position within the game space that corresponds to a predetermined position on a screen of the second display device.
p-0043The wording “a predetermined position on a screen of the second display device” is intended to mean a predetermined (fixed) position on the screen (e.g., a position at the center of the screen as in the embodiment to be described later) or a position pointed at by the second player (a touch position in the variant to be described later).
p-0044The above configuration (10) makes it possible to provide a shooting game to be played by two players in concert with each other, in which the first player adjusts a shooting position, and the second player adjusts a shooting direction.
p-0045(11) The second operation data output section may include a touch panel provided on a screen of the second display device. In this case, the second operation data includes touch data representing a touch position on the touch panel. The game process section performs as the game control process a game process based on a position within the game space that corresponds to the touch position.
p-0046The wording “a game process based on a position within the game space that corresponds to the touch position” is intended to encompass any game process to be performed in relation to a position within the game space that corresponds to the touch position. The game process may be, for example, a process for firing a bullet toward that position as in the embodiment to be described later or a predetermined process to be performed on an object present at that position (e.g., a process for causing the object to perform a predetermined action or a process for attacking the object).
p-0047According to the above configuration (11), the second player can perform a game operation using the touch panel, which makes it possible to more readily perform game operations using the hand-held device.
p-0048In particular, where the above configuration (11) is combined with the above configuration (10) such that the touch position is used in place of the “predetermined position” in (10), the second player can perform a shooting operation through a touch operation on the touch panel. Furthermore, the second player can adjust the attitude of the second virtual camera, and therefore can fire a bullet toward a touched position by changing the display range of the game space to be displayed on the second display device and touching an arbitrary position within the display range. Thus, in the above case, it becomes possible to more readily perform an operation of firing a bullet in a desired direction, which makes it possible to provide a shooting game with superior operability.
p-0049(12) The game process section may set a predetermined attitude as a reference attitude and may calculate a degree and a direction of tilt of the second virtual camera from the reference attitude based on the second operation data, thereby calculating the attitude of the second virtual camera.
p-0050According to the above configuration (12), as for the attitude of the second virtual camera, the second player adjusts the degree and the direction of tilt from the reference attitude fixed within the game space. That is, the attitude of the second virtual camera within the game space is determined by the second player's operation, independently of the first player's operation. Thus, the second player can readily change the attitude of the second virtual camera to a desired attitude.
p-0051(13) The game process section may set an attitude determined based on the first operation data as a reference attitude, and may calculate a degree and a direction of tilt of the second virtual camera from the reference attitude based on the second operation data, thereby calculating the attitude of the second virtual camera.
p-0052According to the above configuration (13), as for the attitude of the second virtual camera, the second player adjusts the degree and the direction of tilt from the reference attitude determined by the first operation data. That is, the attitude of the second virtual camera within the game space is determined by both the first player's operation and the second player's operation. As a result, the second virtual camera cannot be set in a desired attitude unless the players cooperate with each other, which renders game operations highly strategic and enjoyable. Moreover, for example, in the case where the direction (attitude) of the object manipulated by the first player corresponds to the attitude of the second virtual camera, the second player can play the game with the feeling as if he/she were actually riding in the object, which makes it possible to enhance the realistic feel of the game.
p-0053(14) The first image generation section may generate as the first game image a game image representing the game space as viewed from the first virtual camera and having the second game image superimposed on a part thereof.
p-0054According to the above configuration (14), the content of the second game image is displayed on the first display device, and therefore the first player can also readily view the second game image. As a result, the first player can readily comprehend the situation of the second player's game operation. Thus, as in the embodiment to be described later, it becomes possible to facilitate easy game operations in a game to be played by players in concert with each other.
p-0055(15) Another example game system comprises a game apparatus, an operating device, and a hand-held device. The game system includes a first operation data output section, a second operation data output section, a game process section, a first image generation section, a second image generation section, a first image output section, a second image output section, and a display process section. The first operation data output section outputs first operation data representing manipulation on the operating device. The second operation data output section outputs second operation data representing manipulation on the hand-held device. The game process section performs a predetermined game control process. The first image generation section generates a first game image of a virtual game space based on a first virtual camera set in the virtual game space, the virtual game space representing a result of the game control process. The second image generation section generates a second game image of the game space based on a second virtual camera set in the game space. The first image output section outputs the first game image to a first display device provided independently of the hand-held device. The second image output section outputs the second game image to the hand-held device. The display process section displays the second game image on a second display device provided in the hand-held device.
p-0056Also, the game process section performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.
p-0057(16) Another example game apparatus is capable of communicating with an operating device and a hand-held device. The game apparatus includes a first reception section, a game process section, a first image generation section, a second image generation section, a first image output section, and a second image output section. The first reception section receives data transmitted from the operating device and the hand-held device. The game process section performs a predetermined game control process. The first image generation section generates a first game image of a virtual game space based on a first virtual camera set in the virtual game space, the virtual game space representing a result of the game control process. The second image generation section generates a second game image of the game space based on a second virtual camera set in the game space. The first image output section outputs the first game image to a first display device provided independently of the hand-held device. The second image output section outputs the second game image to the hand-held device so as to be displayed on a second display device provided in the hand-held device.
p-0058Also, the game process section performs as the game control process a process for controlling a position of the second virtual camera based on the first operation data and an attitude of the second virtual camera based on the second operation data.
p-0059Also, in another embodiment, there may be provided a computer-readable storage medium having stored therein a game program for causing a computer of a game apparatus to function as means equivalent to the sections of the game apparatus as described in (1) to (16) above. Furthermore, in still another embodiment, there may be provided a game process method to be performed in the game system as described in (1) to (15) above.
p-0060The game system, the game apparatus, the storage medium, and the game process method as mentioned above allow the positions and the attitudes of virtual cameras to change in accordance with players' game operations, and therefore each player can change the display range of a game space to be displayed on a display device by his/her game operation. Thus, each player's game operation can be fully reflected in game progression, so that the player can thoroughly enjoy the game.
p-0061These and other objects, features, aspects and advantages will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0062<figref idrefs="DRAWINGS">FIG. 1</figref> is an external view of an example non-limiting game system;
p-0063<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram illustrating an internal configuration of an example non-limiting game apparatus;
p-0064<figref idrefs="DRAWINGS">FIG. 3</figref> is a perspective view illustrating an external configuration of an example non-limiting operating device;
p-0065<figref idrefs="DRAWINGS">FIG. 4</figref> is a perspective view illustrating an external configuration of an example non-limiting controller;
p-0066<figref idrefs="DRAWINGS">FIG. 5</figref> is a diagram illustrating an internal configuration of the example non-limiting controller;
p-0067<figref idrefs="DRAWINGS">FIG. 6</figref> is another diagram illustrating an internal configuration of the example non-limiting controller;
p-0068<figref idrefs="DRAWINGS">FIG. 7</figref> is a block diagram illustrating a configuration of the example non-limiting operating device;
p-0069<figref idrefs="DRAWINGS">FIG. 8</figref> is a diagram illustrating an external configuration of an example non-limiting hand-held device;
p-0070<figref idrefs="DRAWINGS">FIG. 9</figref> is a block diagram illustrating an internal configuration of the example non-limiting hand-held device;
p-0071<figref idrefs="DRAWINGS">FIG. 10</figref> is a diagram illustrating an exemplary game image (first game image) to be displayed on a television;
p-0072<figref idrefs="DRAWINGS">FIG. 11</figref> is a diagram illustrating an exemplary game image (second game image) to be displayed on the hand-held device;
p-0073<figref idrefs="DRAWINGS">FIG. 12</figref> is a diagram illustrating the positional relationship between an airplane and virtual cameras;
p-0074<figref idrefs="DRAWINGS">FIG. 13</figref> is a diagram illustrating various types of example data for use in a game process;
p-0075<figref idrefs="DRAWINGS">FIG. 14</figref> is a main flowchart showing a flow of an example non-limiting game process to be performed by the example non-limiting game apparatus;
p-0076<figref idrefs="DRAWINGS">FIG. 15</figref> is a flowchart illustrating a detailed flow of an example non-limiting game control process (step S<b>3</b>) shown in <figref idrefs="DRAWINGS">FIG. 14</figref>;
p-0077<figref idrefs="DRAWINGS">FIG. 16</figref> is a diagram illustrating the relationship between the attitude of the example non-limiting hand-held device and the attitude of a second virtual camera;
p-0078<figref idrefs="DRAWINGS">FIG. 17</figref> is a diagram illustrating an arrangement of the second virtual camera and a predetermined plane within a game space;
p-0079<figref idrefs="DRAWINGS">FIG. 18</figref> is a diagram illustrating an exemplary first game image in a variant of the embodiment;
p-0080<figref idrefs="DRAWINGS">FIG. 19</figref> is a diagram illustrating an exemplary first game image to be displayed on a television in another variant of the embodiment;
p-0081<figref idrefs="DRAWINGS">FIG. 20</figref> is a diagram illustrating an exemplary second game image to be displayed on an example non-limiting hand-held device in the variant of the embodiment;
p-0082<figref idrefs="DRAWINGS">FIG. 21</figref> is a flowchart showing a flow of an example non-limiting game control process in the variant of the embodiment;
p-0083<figref idrefs="DRAWINGS">FIG. 22</figref> provides views illustrating an external configuration of an example non-limiting terminal device in a variant of the embodiment;
p-0084<figref idrefs="DRAWINGS">FIG. 23</figref> is a view illustrating an external configuration of the example non-limiting terminal device in the variant of the embodiment;
p-0085<figref idrefs="DRAWINGS">FIG. 24</figref> is a diagram illustrating the example non-limiting terminal device being held horizontal by a user;
p-0086<figref idrefs="DRAWINGS">FIG. 25</figref> is another diagram illustrating the example non-limiting terminal device being held horizontal by a user;
p-0087<figref idrefs="DRAWINGS">FIG. 26</figref> is a diagram illustrating the example non-limiting terminal device being held vertical by a user;
p-0088<figref idrefs="DRAWINGS">FIG. 27</figref> is another diagram illustrating the example non-limiting terminal device being held vertical by a user; and
p-0089<figref idrefs="DRAWINGS">FIG. 28</figref> is a block diagram illustrating an internal configuration of the example non-limiting terminal device shown in <figref idrefs="DRAWINGS">FIG. 22</figref>.
DETAILED DESCRIPTION
1. Overall Configuration of the Game System
p-0090An example game system <b>1</b> will now be described with reference to the drawings. <figref idrefs="DRAWINGS">FIG. 1</figref> is an external view of the game system <b>1</b>. In <figref idrefs="DRAWINGS">FIG. 1</figref>, the game system <b>1</b> includes a display device (hereinafter referred to as a “television”) <b>2</b> such as a television receiver, a game apparatus <b>3</b>, an optical disc <b>4</b>, an operating device <b>7</b>, a marker device <b>8</b>, and a hand-held device <b>9</b>. In the game system <b>1</b>, the game apparatus <b>3</b> performs game processes based on game operations performed using the operating device <b>7</b> and the hand-held device <b>9</b>, and game images acquired through the game processes are displayed on the television <b>2</b> and/or on a display (a lower LCD <b>62</b> shown in <figref idrefs="DRAWINGS">FIG. 8</figref>) of the hand-held device <b>9</b>.
p-0091In the game apparatus <b>3</b>, the optical disc <b>4</b> typifying an information storage medium used for the game apparatus <b>3</b> in a replaceable manner is removably inserted. An information processing program (a game program, for example) to be executed by the game apparatus <b>3</b> is stored in the optical disc <b>4</b>. The game apparatus <b>3</b> has, on the front surface thereof, an insertion opening for the optical disc <b>4</b>. The game apparatus <b>3</b> reads and executes the information processing program stored on the optical disc <b>4</b> which is inserted into the insertion opening, to perform the game process.
p-0092The television <b>2</b> is connected to the game apparatus <b>3</b> by a connecting cord. Game images acquired as a result of the game processes performed by the game apparatus <b>3</b> are displayed on the television <b>2</b>. The television <b>2</b> includes a speaker <b>2</b><i>a </i>(see <figref idrefs="DRAWINGS">FIG. 2</figref>), and the speaker <b>2</b><i>a </i>outputs game sounds acquired as a result of the game process. In alternative embodiments, the game apparatus <b>3</b> and the display device may be an integral unit. Also, the communication between the game apparatus <b>3</b> and the television <b>2</b> may be wireless communication.
p-0093The marker device <b>8</b> is provided along the periphery of the screen (on the upper side of the screen in <figref idrefs="DRAWINGS">FIG. 1</figref>) of the television <b>2</b>. The user can perform game operations by moving the operating device <b>7</b>, the details of which will be described later, and the marker device <b>8</b> is used by the game apparatus <b>3</b> for detecting the movement of the operating device <b>7</b>. The marker device <b>8</b> includes two markers <b>8</b>R and <b>8</b>L on opposite ends thereof. Specifically, the marker <b>8</b>R (as well as the marker <b>8</b>L) includes one or more infrared LEDs (Light Emitting Diodes), and emits an infrared light in a forward direction from the television <b>2</b>. The marker device <b>8</b> is connected to the game apparatus <b>3</b>, and the game apparatus <b>3</b> is able to control the lighting of each infrared LED of the marker device <b>8</b>. While <figref idrefs="DRAWINGS">FIG. 1</figref> shows an embodiment in which the marker device <b>8</b> is arranged on top of the television <b>2</b>, the position and the direction of arranging the marker device <b>8</b> are not limited to this particular arrangement.
p-0094The operating device <b>7</b> provides the game apparatus <b>3</b> with operation data representing the content of operations performed on the controller itself. Hereinafter, operation data transmitted to the game apparatus <b>3</b> by the operating device <b>7</b> is referred to as “first operation data”. In the present embodiment, the operating device <b>7</b> includes a controller <b>5</b> and a gyroscope unit <b>6</b>. As will be described in detail below, the operating device <b>7</b> has the gyroscope unit <b>6</b> detachably connected to the controller <b>5</b>. Alternatively, the controller <b>5</b> may include a gyroscope. The controller <b>5</b> and the game apparatus <b>3</b> are connected by wireless communication. In the present embodiment, the wireless communication between the operating device <b>7</b> and the game apparatus <b>3</b> uses, for example, Bluetooth (Registered Trademark) technology. In other embodiments, the operating device <b>7</b> and the game apparatus <b>3</b> may be connected by a wired connection.
p-0095In the present embodiment, the hand-held device <b>9</b> is a portable game apparatus which includes display devices (LCDs <b>62</b> and <b>72</b> to be described later) and input devices (e.g., a touch panel <b>63</b> and an acceleration sensor <b>89</b> to be described later). The hand-held device <b>9</b> can communicate with the game apparatus <b>3</b> wirelessly or wired. The hand-held device <b>9</b> receives game images and sound acquired by processing, from the game apparatus <b>3</b>, and displays the game images on the display while outputting the game sound from a speaker. The hand-held device <b>9</b> transmits operation data representing the content of operations performed thereon to the game apparatus <b>3</b>. Hereinafter, the operation data transmitted to the game apparatus <b>3</b> by the hand-held device <b>9</b> is referred to as the “second operation data”.
p-0096While in the present embodiment, the hand-held device <b>9</b> is a portable game apparatus, in another embodiment, the hand-held device <b>9</b> may be any device (or controller) which includes a display device (s) and an input device (s) and can be held by a user. Specifically, the hand-held device <b>9</b> is not always provided with the function of executing any game process (or game program). Furthermore, while in the present embodiment, the hand-held device <b>9</b> is a portable game apparatus equipped with two display devices as shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, the hand-held device <b>9</b> may be a portable game apparatus equipped with one display device or may be a game controller equipped with one display device.
2. Internal Configuration of the Game Apparatus
3
p-0097An internal configuration of the game apparatus <b>3</b> will be described with reference to <figref idrefs="DRAWINGS">FIG. 2</figref>. <figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram illustrating an internal configuration of the game apparatus <b>3</b>. The game apparatus <b>3</b> includes a CPU (Central Processing Unit) <b>10</b>, a system LSI <b>11</b>, external main memory <b>12</b>, a ROM/RTC <b>13</b>, a disc drive <b>14</b>, and an AV-IC <b>15</b>.
p-0098The CPU <b>10</b> performs game processes by executing a game program stored, for example, on the optical disc <b>4</b>, and functions as a game processor. The CPU <b>10</b> is connected to the system LSI <b>11</b>. The external main memory <b>12</b>, the ROM/RTC <b>13</b>, the disc drive <b>14</b>, and the AV-IC <b>15</b>, as well as the CPU <b>10</b>, are connected to the system LSI <b>11</b>. The system LSI <b>11</b> performs processes for controlling data transmission between the respective components connected thereto, generating images to be displayed, acquiring data from an external device(s), and the like. The internal configuration of the system LSI will be described below. The external main memory <b>12</b> is of a volatile type and stores a program such as a game program read from the optical disc <b>4</b>, a game program read from flash memory <b>17</b>, and various data. The external main memory <b>12</b> is used as a work area and a buffer area for the CPU <b>10</b>. The ROM/RTC <b>13</b> includes a ROM (a so-called boot ROM) incorporating a boot program for the game apparatus <b>3</b>, and a clock circuit (RTC: Real Time Clock) for counting time. The disc drive <b>14</b> reads program data, texture data, and the like from the optical disc <b>4</b>, and writes the read data into internal main memory <b>11</b><i>e </i>(to be described below) or the external main memory <b>12</b>.
p-0099The system LSI <b>11</b> includes an input/output processor (I/O processor) <b>11</b><i>a</i>, a GPU (Graphics Processor Unit) <b>11</b><i>b</i>, a DSP (Digital Signal Processor) <b>11</b><i>c</i>, VRAM (Video RAM) <b>11</b><i>d</i>, and the internal main memory <b>11</b><i>e</i>. Although not shown in the figures, these components <b>11</b><i>a </i>to <b>11</b><i>e </i>are connected with each other through an internal bus.
p-0100The GPU <b>11</b><i>b</i>, acting as a part of a rendering mechanism, generates images in accordance with graphics commands (rendering commands) from the CPU <b>10</b>. The VRAM <b>11</b><i>d </i>stores data (data such as polygon data and texture data) to be used by the GPU <b>11</b><i>b </i>to execute the graphics commands. When images are generated, the GPU <b>11</b><i>b </i>generates image data using data stored in the VRAM <b>11</b><i>d. </i>
p-0101Here, in the present embodiment, the game apparatus <b>3</b> generates both game images to be displayed on the television <b>2</b> and game images to be displayed on the display devices (the lower LCD <b>62</b> and the upper LCD <b>72</b>) of the hand-held device <b>9</b>. Hereinafter, the game images to be displayed on the television <b>2</b> are referred to as the “first game images” and the game images to be displayed on the hand-held device <b>9</b> are referred to as the “second game images”.
p-0102The DSP <b>11</b><i>c</i>, functioning as an audio processor, generates sound data using sound data and sound waveform (e.g., tone quality) data stored in one or both of the internal main memory <b>11</b><i>e </i>and the external main memory <b>12</b>.
p-0103The image data (data for first game images) and sound data, which are generated as described above, are read out by the AV-IC <b>15</b>. The AV-IC <b>15</b> outputs the read-out image data to the television <b>2</b> via an AV connector <b>16</b>, and outputs the read-out sound data to the speaker <b>2</b><i>a </i>provided in the television <b>2</b>. Thus, images are displayed on the television <b>2</b>, and sounds are outputted from the speaker <b>2</b><i>a. </i>
p-0104The input/output processor <b>11</b><i>a </i>exchanges data with components connected thereto, and downloads data from an external device(s). The input/output processor <b>11</b><i>a </i>is connected to the flash memory <b>17</b>, a network communication module <b>18</b>, a controller communication module <b>19</b>, an expansion connector <b>20</b>, a memory card connector <b>21</b>, and an image compression section <b>27</b>. An antenna <b>22</b> is connected to the network communication module <b>18</b>. An antenna <b>23</b> is connected to the controller communication module <b>19</b>. The image compression section <b>27</b> is connected to a high-speed wireless communication module <b>28</b>, and an antenna <b>29</b> is connected to the high-speed wireless communication module <b>28</b>. The controller communication module <b>19</b> is connected to the high-speed wireless communication module <b>28</b>.
p-0105The input/output processor <b>11</b><i>a </i>can be connected to a network such as the Internet via the network communication module <b>18</b> and the antenna <b>22</b> to communicate with other game devices and servers connected to the network. The input/output processor <b>11</b><i>a </i>regularly accesses the flash memory <b>17</b>, and detects the presence or absence of any data which needs to be transmitted to the network, and when detected, transmits the data to the network via the network communication module <b>18</b> and the antenna <b>22</b>. Further, the input/output processor <b>11</b><i>a </i>receives data transmitted from another game device and data downloaded from a download server via the network, the antenna <b>22</b> and the network communication module <b>18</b>, and stores the received data in the flash memory <b>17</b>. The CPU <b>10</b> executes a game program so as to read data stored in the flash memory <b>17</b> and use the data, as appropriate, in the game program. The flash memory <b>17</b> may store game save data (e.g., game result data or unfinished game data) of a game played using the game apparatus <b>3</b> in addition to data exchanged between the game apparatus <b>3</b> and other game apparatus or servers.
p-0106The input/output processor <b>11</b><i>a </i>receives first operation data transmitted from the operating device <b>7</b> via the antenna <b>23</b> and the controller communication module <b>19</b>, and stores it (temporarily) in a buffer area of the internal main memory <b>11</b><i>e </i>or the external main memory <b>12</b>. Also, the input/output processor <b>11</b><i>a </i>receives second operation data, which is transmitted from the hand-held device <b>9</b>, via the antenna <b>29</b>, the high-speed wireless communication module <b>28</b>, and the controller communication module <b>19</b>, and stores it (temporarily) in the buffer area of the internal main memory <b>11</b><i>e </i>or the external main memory <b>12</b>.
p-0107When transmitting game images (second game images) to the hand-held device <b>9</b>, the input/output processor <b>11</b><i>a </i>outputs game image data generated by the GPU <b>11</b><i>b </i>to the image compression section <b>27</b>. The image compression section <b>27</b> performs a predetermined compression process on the image data from the input/output processor <b>11</b><i>a</i>. The high-speed wireless communication module <b>28</b> wirelessly communicates with the hand-held device <b>9</b>. Accordingly, the image data compressed by the image compression section <b>27</b> is transmitted by the high-speed wireless communication module <b>28</b> to the hand-held device <b>9</b> via the antenna <b>29</b>. In the present embodiment, the image data transmitted from the game apparatus <b>3</b> to the hand-held device <b>9</b> is image data used in a game, and the playability of a game can be adversely influenced if there is a delay in the images displayed in the game. Therefore, delay may be avoided as much as possible in transmitting image data from the game apparatus <b>3</b> to the hand-held device <b>9</b>. Therefore, in the present embodiment, the image compression section <b>27</b> compresses image data using a compression technique with high efficiency such as the H.264 standard, for example. Other compression techniques may be used, and image data may be transmitted uncompressed if the communication speed is sufficient. The high-speed wireless communication module <b>28</b> is, for example, a Wi-Fi certified communication module, and may perform wireless communication at high speed with the hand-held device <b>9</b> using a MIMO (Multiple Input Multiple Output) technique employed in the IEEE 802.11n standard, for example, or may use other communication schemes.
p-0108While the above description focuses on the image data transmitted from the game apparatus <b>3</b> to the hand-held device <b>9</b>, in the present embodiment, sound data is also transmitted together with the image data. Specifically, the input/output processor <b>11</b><i>a </i>outputs sound data generated by the DSP <b>11</b><i>c </i>to the high-speed wireless communication module <b>28</b> via the image compression section <b>27</b>. The high-speed wireless communication module <b>28</b> transmits the sound data, along with the image data, to the hand-held device <b>9</b> via the antenna <b>29</b>. Note that the image compression section <b>27</b> may or may not perform a compression process on the sound data.
p-0109Also, when the hand-held device <b>9</b> transmits data (specifically, second operation data) to the game apparatus <b>3</b>, the high-speed wireless communication module <b>28</b> receives the data via the antenna <b>29</b>. The received data is acquired by the input/output processor <b>11</b><i>a</i>. Note that in the present embodiment, any data from the hand-held device <b>9</b> to the game apparatus <b>3</b> is not subjected to a compression process, and the data is not subjected to a decompression process, but in another embodiment, such data may be subjected to a compression process in the hand-held device <b>9</b> and a decompression process in the game apparatus <b>3</b>.
p-0110The input/output processor <b>11</b><i>a </i>is connected to the expansion connector <b>20</b> and the memory card connector <b>21</b>. The expansion connector <b>20</b> is a connector for an interface, such as a USB or SCSI interface. The expansion connector <b>20</b> can receive a medium such as an external storage medium, a peripheral device such as another controller, or a wired communication connector which enables communication with a network in place of the network communication module <b>18</b>. The memory card connector <b>21</b> is a connector for connecting thereto an external storage medium such as a memory card (which may be of a proprietary or standard format, such as SD, miniSD, microSD, Compact Flash, etc.). For example, the input/output processor <b>11</b><i>a </i>can access an external storage medium via the expansion connector <b>20</b> or the memory card connector <b>21</b> to store data in the external storage medium or read data from the external storage medium.
p-0111The game apparatus <b>3</b> includes a power button <b>24</b>, a reset button <b>25</b>, and an eject button <b>26</b>. The power button <b>24</b> and the reset button <b>25</b> are connected to the system LSI <b>11</b>. When the power button <b>24</b> is on, power is supplied to the components of the game apparatus <b>3</b> through an AC adaptor (not shown). When the reset button <b>25</b> is pressed, the system LSI <b>11</b> reboots a boot program of the game apparatus <b>3</b>. The eject button <b>26</b> is connected to the disc drive <b>14</b>. When the eject button <b>26</b> is pressed, the optical disc <b>4</b> is ejected from the disc drive <b>14</b>.
p-0112In other embodiments, some of the components of the game apparatus <b>3</b> may be provided as extension devices separate from the game apparatus <b>3</b>. In this case, an extension device may be connected to the game apparatus <b>3</b> via the expansion connector <b>20</b>, for example. Specifically, an extension device may include components of the image compression section <b>27</b>, the high-speed wireless communication module <b>28</b> and the antenna <b>29</b>, for example, and can be attached/detached to/from the expansion connector <b>20</b>. Thus, by connecting the extension device to a game apparatus which does not include the above components, the game apparatus can communicate with the hand-held device <b>9</b>.
3. Configuration of the Operating Device
7
p-0113Next, with reference to <figref idrefs="DRAWINGS">FIGS. 3 to 7</figref>, the operating device <b>7</b> (the controller <b>5</b> and the gyroscope unit <b>6</b>) will be described. <figref idrefs="DRAWINGS">FIG. 3</figref> is a perspective view illustrating an external configuration of the operating device <b>7</b>. <figref idrefs="DRAWINGS">FIG. 4</figref> is a perspective view illustrating an external configuration of the controller <b>5</b>. The perspective view of <figref idrefs="DRAWINGS">FIG. 3</figref> shows the operating device <b>7</b> as viewed from the top rear side thereof, and the perspective view of <figref idrefs="DRAWINGS">FIG. 4</figref> shows the controller <b>5</b> as viewed from the bottom front side thereof.
p-0114As shown in <figref idrefs="DRAWINGS">FIG. 3</figref> and <figref idrefs="DRAWINGS">FIG. 4</figref>, the controller <b>5</b> has a housing <b>31</b> formed by, for example, plastic molding. The housing <b>31</b> has a generally parallelepiped shape extending in a longitudinal direction from front to rear (Z-axis direction shown in <figref idrefs="DRAWINGS">FIG. 3</figref>), and as a whole is sized to be held by one hand of an adult or even a child. A player can perform game operations by pressing buttons provided on the controller <b>5</b>, and moving the controller <b>5</b> to change the position and the attitude (tilt) thereof.
p-0115The housing <b>31</b> has a plurality of operation buttons. As shown in <figref idrefs="DRAWINGS">FIG. 3</figref>, on the top surface of the housing <b>31</b>, a cross button <b>32</b><i>a</i>, a first button <b>32</b><i>b</i>, a second button <b>32</b><i>c</i>, an A button <b>32</b><i>d</i>, a minus button <b>32</b><i>e</i>, a home button <b>32</b><i>f</i>, a plus button <b>32</b><i>g</i>, and a power button <b>32</b><i>h </i>are provided. In the present embodiment, the top surface of the housing <b>31</b> on which the buttons <b>32</b><i>a </i>to <b>32</b><i>h </i>are provided may be referred to as a “button surface”. On the other hand, as shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, a recessed portion is formed on the bottom surface of the housing <b>31</b>, and a B button <b>32</b><i>i </i>is provided on a rear slope surface of the recessed portion. The operation buttons <b>32</b><i>a </i>to <b>32</b><i>i </i>are appropriately assigned their respective functions in accordance with the information processing program executed by the game apparatus <b>3</b>. Further, the power button <b>32</b><i>h </i>is intended to remotely turn ON/OFF the game apparatus <b>3</b>. The home button, <b>32</b><i>f </i>and the power button <b>32</b><i>h </i>each have the top surface thereof recessed below the top surface of the housing <b>31</b>. Therefore, the home button <b>32</b><i>f </i>and the power button <b>32</b><i>h </i>are prevented from being inadvertently pressed by the player.
p-0116On the rear surface of the housing <b>31</b>, the connector <b>33</b> is provided. The connector <b>33</b> is used for connecting the controller <b>5</b> to another device (for example, the gyroscope unit <b>6</b> or another controller). Both sides of the connector <b>33</b> on the rear surface of the housing <b>31</b> have a fastening hole <b>33</b><i>a </i>for preventing easy inadvertent disengagement of another device as described above.
p-0117In the rear-side portion of the top surface of the housing <b>31</b>, a plurality (four in <figref idrefs="DRAWINGS">FIG. 3</figref>) of LEDs <b>34</b><i>a</i>, <b>34</b><i>b</i>, <b>34</b><i>c</i>, and <b>34</b><i>d </i>are provided. The controller <b>5</b> is assigned a controller type (number) so as to be distinguishable from another main controller. The LEDs <b>34</b><i>a</i>, <b>34</b><i>b</i>, <b>34</b><i>c</i>, and <b>34</b><i>d </i>are each used for informing the player of the controller type which is currently being set for the controller <b>5</b> being used, and for informing the player of remaining battery power of the controller <b>5</b>, for example. Specifically, when a game operation is performed using the controller <b>5</b>, one of the LEDs <b>34</b><i>a</i>, <b>34</b><i>b</i>, <b>34</b><i>c</i>, and <b>34</b><i>d </i>corresponding to the controller type is lit up.
p-0118The controller <b>5</b> has an imaging information calculation section <b>35</b> (<figref idrefs="DRAWINGS">FIG. 6</figref>), and a light incident surface <b>35</b><i>a </i>through which a light is incident on the imaging information calculation section <b>35</b> is provided on the front surface of the housing <b>31</b>, as shown in <figref idrefs="DRAWINGS">FIG. 4</figref>. The light incident surface <b>35</b><i>a </i>is made of a material transmitting therethrough at least infrared light outputted from the markers <b>8</b>R and <b>8</b>L.
p-0119On the top surface of the housing <b>31</b>, sound holes <b>31</b><i>a </i>for externally outputting a sound from a speaker <b>49</b> (shown in <figref idrefs="DRAWINGS">FIG. 5</figref>) incorporated in the controller <b>5</b> is provided between the first button <b>32</b><i>b </i>and the home button <b>32</b><i>f. </i>
p-0120Next, with reference to <figref idrefs="DRAWINGS">FIGS. 5 and 6</figref>, an internal configuration of the controller <b>5</b> will be described. <figref idrefs="DRAWINGS">FIG. 5</figref> and <figref idrefs="DRAWINGS">FIG. 6</figref> are diagrams illustrating the internal configuration of the controller <b>5</b>. <figref idrefs="DRAWINGS">FIG. 5</figref> is a perspective view illustrating a state where an upper casing (a part of the housing <b>31</b>) of the controller <b>5</b> is removed. <figref idrefs="DRAWINGS">FIG. 6</figref> is a perspective view illustrating a state where a lower casing (a part of the housing <b>31</b>) of the controller <b>5</b> is removed. The perspective view of <figref idrefs="DRAWINGS">FIG. 6</figref> shows a substrate <b>30</b> of <figref idrefs="DRAWINGS">FIG. 5</figref> as viewed from the reverse side.
p-0121As shown in <figref idrefs="DRAWINGS">FIG. 5</figref>, the substrate <b>30</b> is fixed inside the housing <b>31</b>, and on a top main surface of the substrate <b>30</b>, the operation buttons <b>32</b><i>a </i>to <b>32</b><i>h</i>, the LEDs <b>34</b><i>a</i>, <b>34</b><i>b</i>, <b>34</b><i>c</i>, and <b>34</b><i>d</i>, an acceleration sensor <b>37</b>, an antenna <b>45</b>, the speaker <b>49</b>, and the like are provided. These elements are connected to a microcomputer <b>42</b> (see <figref idrefs="DRAWINGS">FIG. 6</figref>) via lines (not shown) formed on the substrate <b>30</b> and the like. In the present embodiment, the acceleration sensor <b>37</b> is provided on a position offset from the center of the controller <b>5</b> with respect to the X-axis direction. Thus, calculation of the movement of the controller <b>5</b> being rotated about the Z-axis may be facilitated. Further, the acceleration sensor <b>37</b> is provided anterior to the center of the controller <b>5</b> with respect to the longitudinal direction (Z-axis direction). Further, a wireless module <b>44</b> (see <figref idrefs="DRAWINGS">FIG. 6</figref>) and the antenna <b>45</b> allow the controller <b>5</b> to act as a wireless controller.
p-0122On the other hand, as shown in <figref idrefs="DRAWINGS">FIG. 6</figref>, at a front edge of a bottom main surface of the substrate <b>30</b>, the imaging information calculation section <b>35</b> is provided. The imaging information calculation section <b>35</b> includes an infrared filter <b>38</b>, a lens <b>39</b>, an image pickup element <b>40</b> and an image processing circuit <b>41</b> located in order, respectively, from the front of the controller <b>5</b>. These components <b>38</b> to <b>41</b> are attached on the bottom main surface of the substrate <b>30</b>.
p-0123On the bottom main surface of the substrate <b>30</b>, the microcomputer <b>42</b> and a vibrator <b>48</b> are provided. The vibrator <b>48</b> is, for example, a vibration motor or a solenoid, and is connected to the microcomputer <b>42</b> via lines formed on the substrate <b>30</b> or the like. The controller <b>5</b> is vibrated by actuation of the vibrator <b>48</b> based on a command from the microcomputer <b>42</b>. Therefore, the vibration is conveyed to the player's hand holding the controller <b>5</b>, and thus a so-called vibration-feedback game is realized. In the present embodiment, the vibrator <b>48</b> is disposed slightly toward the front of the housing <b>31</b>. That is, the vibrator <b>48</b> is positioned offset from the center toward the end of the controller <b>5</b>, and therefore the vibration of the vibrator <b>48</b> can lead to enhancement of the vibration of the entire controller <b>5</b>. Further, the connector <b>33</b> is provided at the rear edge of the bottom main surface of the substrate <b>30</b>. In addition to the components shown in <figref idrefs="DRAWINGS">FIGS. 5 and 6</figref>, the controller <b>5</b> includes a quartz oscillator for generating a reference clock of the microcomputer <b>42</b>, an amplifier for outputting a sound signal to the speaker <b>49</b>, and the like.
p-0124Further, the gyroscope unit <b>6</b> includes gyroscopes (gyroscopes <b>55</b> and <b>56</b> shown in <figref idrefs="DRAWINGS">FIG. 7</figref>) for detecting angular rates about three axes, respectively. The gyroscope unit <b>6</b> is detachably attached to the connector <b>33</b> of the controller <b>5</b>. The gyroscope unit <b>6</b> has, at the front edge (an edge portion oriented to the Z-axis positive direction shown in <figref idrefs="DRAWINGS">FIG. 3</figref>), a plug (a plug <b>53</b> shown in <figref idrefs="DRAWINGS">FIG. 7</figref>) connectable to the connector <b>33</b>. Further, the plug <b>53</b> has hooks (not shown) on both sides, respectively. In a state where the gyroscope unit <b>6</b> is attached to the controller <b>5</b>, the plug <b>53</b> is connected to the connector <b>33</b>, and the hooks engage with the fastening holes <b>33</b><i>a</i>, respectively, of the controller <b>5</b>. Therefore, the controller <b>5</b> and the gyroscope unit <b>6</b> are securely fixed to each other. Further, the gyroscope unit <b>6</b> has a button <b>51</b> on each side surface (surfaces oriented to the X-axis direction shown in <figref idrefs="DRAWINGS">FIG. 3</figref>). When the button <b>51</b> is pressed, the hook is disengaged from the fastening hole <b>33</b><i>a</i>. Therefore, when the plug <b>53</b> is removed from the connector <b>33</b> while the button <b>51</b> is being pressed, the gyroscope unit <b>6</b> can be disconnected from the controller <b>5</b>.
p-0125Further, a connector having the same shape as the connector <b>33</b> is provided at the rear edge of the gyroscope unit <b>6</b>. Therefore, another device which can be attached to (the connector <b>33</b> of) the controller <b>5</b> can be attached as well to the connector of the gyroscope unit <b>6</b>. In <figref idrefs="DRAWINGS">FIG. 3</figref>, a cover <b>52</b> is detachably provided over the connector.
p-0126<figref idrefs="DRAWINGS">FIGS. 3 to 6</figref> show only examples of the shape of the controller <b>5</b> and the gyroscope unit <b>6</b>, the shape of each operation button, the number and the positions of acceleration sensors and vibrators, and so on. The present embodiment can be realized with other shapes, numbers, and positions. Further, although in the present embodiment the imaging direction of the image pickup means is the Z-axis positive direction, the imaging direction may be any direction. That is, the imagining information calculation section <b>35</b> (the light incident surface <b>35</b><i>a </i>through which a light is incident on the imaging information calculation section <b>35</b>) of the controller <b>5</b> may not necessarily be provided on the front surface of the housing <b>31</b>, but may be provided on any other surface on which a light can be received from the outside of the housing <b>31</b>.
p-0127<figref idrefs="DRAWINGS">FIG. 7</figref> is a block diagram illustrating a configuration of the operating device <b>7</b> (the controller <b>5</b> and the gyroscope unit <b>6</b>). The controller <b>5</b> includes an operating section <b>32</b> (the operation buttons <b>32</b><i>a </i>to <b>32</b><i>i</i>), the connector <b>33</b>, the imaging information calculation section <b>35</b>, a communication section <b>36</b>, and the acceleration sensor <b>37</b>. The controller <b>5</b> transmits, as first operation data, data representing the content of an operation performed on the controller <b>5</b> itself, to the game apparatus <b>3</b>.
p-0128The operating section <b>32</b> includes the operation buttons <b>32</b><i>a </i>to <b>32</b><i>i </i>described above, and outputs, to the microcomputer <b>42</b> of the communication section <b>36</b>, operation button data indicating an input state (that is, whether or not each operation button <b>32</b><i>a </i>to <b>32</b><i>i </i>is pressed) of each operation button <b>32</b><i>a </i>to <b>32</b><i>i. </i>
p-0129The imaging information calculation section <b>35</b> is a system for analyzing image data taken by the image pickup means and calculating, for example, the centroid and the size of an area having a high brightness in the image data. The imaging information calculation section <b>35</b> has a maximum sampling period of, for example, about 200 frames/sec., and therefore can trace and analyze even a relatively fast motion of the controller <b>5</b>.
p-0130The imaging information calculation section <b>35</b> includes the infrared filter <b>38</b>, the lens <b>39</b>, the image pickup element <b>40</b> and the image processing circuit <b>41</b>. The infrared filter <b>38</b> transmits therethrough only infrared light included in the light incident on the front surface of the controller <b>5</b>. The lens <b>39</b> collects the infrared, light transmitted through the infrared filter <b>38</b> so as to be incident on the image pickup element <b>40</b>. The image pickup element <b>40</b> is a solid-state imaging device such as, for example, a CMOS sensor or a COD sensor, which receives the infrared light collected by the lens <b>39</b>, and outputs an image signal. The markers <b>8</b>R and <b>8</b>L of the marker device <b>8</b> provided near the display screen of the television <b>2</b> each include an infrared LED for outputting an infrared light forward from the television <b>2</b>. Therefore, the infrared filter <b>38</b> enables the image pickup element <b>40</b> to receive only the infrared light transmitted through the infrared filter <b>38</b> and generate image data, so that an image of each of the markers <b>8</b>R and <b>8</b>L can be taken with enhanced accuracy. Hereinafter, the image taken by the image pickup element <b>40</b> is referred to as a pickup image. The image data generated by the image pickup element <b>40</b> is processed by the image processing circuit <b>41</b>. The image processing circuit <b>41</b> calculates, in the pickup image, the positions of subjects to be imaged (the markers <b>8</b>R and <b>8</b>L). The image processing circuit <b>41</b> outputs data representing coordinate points of the calculated positions, to the microcomputer <b>42</b> of the communication section <b>36</b>. The data representing the coordinate points is transmitted as first operation data to the game apparatus <b>3</b> by the microcomputer <b>42</b>. Hereinafter, the coordinate points are referred to as “marker coordinate points”. The marker coordinate point changes depending on the attitude (angle of tilt) and/or the position of the controller <b>5</b> itself, and therefore the game apparatus <b>3</b> is allowed to calculate the attitude and the position of the controller <b>5</b> using the marker coordinate point.
p-0131In another embodiment, the controller <b>5</b> may not necessarily include the image processing circuit <b>41</b>, and the controller <b>5</b> may transmit the pickup image as it is to the game apparatus <b>3</b>. At this time, the game apparatus <b>3</b> may have a circuit or a program, having the same function as the image processing circuit <b>41</b>, for calculating the marker coordinate point.
p-0132The acceleration sensor <b>37</b> detects accelerations (including a gravitational acceleration) of the controller <b>5</b>, that is, force (including gravity) applied to the controller <b>5</b>. The acceleration sensor <b>37</b> detects a value of an acceleration (linear acceleration) applied to a detection section of the acceleration sensor <b>37</b> in the straight line direction along the sensing axis direction, among all accelerations applied to a detection section of the acceleration sensor <b>37</b>. For example, a multiaxial acceleration sensor having two or more axes detects an acceleration of a component for each axis, as the acceleration applied to the detection section of the acceleration sensor. For example, the three-axis or two-axis acceleration sensor may be of the type available from Analog Devices, Inc. or STMicroelectronics N.V. The acceleration sensor <b>37</b> is, for example, an electrostatic capacitance type acceleration sensor. However, another type of acceleration sensor may be used.
p-0133In the present embodiment, the acceleration sensor <b>37</b> detects a linear acceleration in each of three axis directions, i.e., the up/down direction (Y-axis direction shown in <figref idrefs="DRAWINGS">FIG. 3</figref>), the left/right direction (the X-axis direction shown in <figref idrefs="DRAWINGS">FIG. 3</figref>), and the forward/backward direction (the Z-axis direction shown in <figref idrefs="DRAWINGS">FIG. 3</figref>), relative to the controller <b>5</b>. The acceleration sensor <b>37</b> detects acceleration in the straight line direction along each axis, and an output from the acceleration sensor <b>37</b> represents a value of the linear acceleration for each of the three axes. In other words, the detected acceleration is represented as a three-dimensional vector in an XYZ-coordinate system (controller coordinate system) defined relative to the operating device <b>7</b> (the controller <b>5</b>).
p-0134Data (acceleration data) representing the acceleration detected by the acceleration sensor <b>37</b> is outputted to the communication section <b>36</b>. The acceleration detected by the acceleration sensor <b>37</b> changes depending on the attitude (angle of tilt) and the movement of the controller <b>5</b>, and therefore the game apparatus <b>3</b> is allowed to calculate the attitude and the movement of the controller <b>5</b> using the acquired acceleration data. In the present embodiment, the game apparatus <b>3</b> calculates the attitude, angle of tilt, etc., of the controller <b>5</b> based on the acquired acceleration data.
p-0135When a computer such as a processor (e.g., the CPU <b>10</b>) of the game apparatus <b>3</b> or a processor (e.g., the microcomputer <b>42</b>) of the controller <b>5</b> processes an acceleration signal outputted from the acceleration sensor <b>37</b> (or similarly from an acceleration sensor <b>89</b> to be described later), additional information relating to the controller <b>5</b> can be inferred or calculated (determined), as one skilled in the art will readily understand from the description herein. For example, in the case where the computer performs processing on the premise that the controller <b>5</b> including the acceleration sensor <b>37</b> is in static state (that is, in the case where processing is performed on the premise that the acceleration to be detected by the acceleration sensor includes only the gravitational acceleration), when the controller <b>5</b> is actually in static state, it is possible to determine whether or not, or how much the controller <b>5</b> tilts relative to the direction of gravity, based on the acceleration having been detected. Specifically, when the state where the detection axis of the acceleration sensor <b>37</b> faces vertically downward is set as a reference, whether or not the controller <b>5</b> tilts relative to the reference can be determined based on whether or not 1 G (gravitational acceleration) is applied to the detection axis, and the degree to which the controller <b>5</b> tilts relative to the reference can be determined based on the magnitude of the gravitational acceleration. Further, the multiaxial acceleration sensor <b>37</b> processes the acceleration signals having been detected for the respective axes so as to more specifically determine the degree to which the controller <b>5</b> tilts relative to the direction of gravity. In this case, the processor may calculate, based on the output from the acceleration sensor <b>37</b>, the angle at which the controller <b>5</b> tilts, or the direction in which the controller <b>5</b> tilts without calculating the angle of tilt. Thus, the acceleration sensor <b>37</b> is used in combination with the processor, making it possible to determine the angle of tilt or the attitude of the controller <b>5</b>.
p-0136On the other hand, when it is premised that the controller <b>5</b> is in dynamic state (where the controller <b>5</b> is being moved), the acceleration sensor <b>37</b> detects the acceleration based on the movement of the controller <b>5</b>, in addition to the gravitational acceleration. Therefore, when the gravitational acceleration component is eliminated from the detected acceleration through a predetermined process, it is possible to determine the direction in which the controller <b>5</b> moves. Even when it is premised that the controller <b>5</b> is in dynamic state, the acceleration component based on the movement of the acceleration sensor is eliminated from the detected acceleration through a predetermined process, whereby it is possible to determine the tilt of the controller <b>5</b> relative to the direction of gravity. In another embodiment, the acceleration sensor <b>37</b> may include an embedded processor or another type of dedicated processor for performing any desired processing on an acceleration signal detected by the acceleration detection means incorporated therein before outputting to the microcomputer <b>42</b>. For example, when the acceleration sensor <b>37</b> is intended to detect static acceleration (for example, gravitational acceleration), the embedded or dedicated processor could convert the acceleration signal to a corresponding angle of tilt (or another appropriate parameter).
p-0137The communication section <b>36</b> includes the microcomputer <b>42</b>, memory <b>43</b>, the wireless module <b>44</b> and the antenna <b>45</b>. The microcomputer <b>42</b> controls the wireless module <b>44</b> for wirelessly transmitting, to the game apparatus <b>3</b>, data acquired by the microcomputer <b>42</b> while using the memory <b>43</b> as a storage area in the process. Further, the microcomputer <b>42</b> is connected to the connector <b>33</b>. Data transmitted from the gyroscope unit <b>6</b> is inputted to the microcomputer <b>42</b> through the connector <b>33</b>. Hereinafter, a configuration of the gyroscope unit <b>6</b> will be described.
p-0138The gyroscope unit <b>6</b> includes the plug <b>53</b>, a microcomputer <b>54</b>, the two-axis gyroscope <b>55</b>, and the one-axis gyroscope <b>56</b>. As described above, the gyroscope unit <b>6</b> detects angular rates about three axes (X-, Y-, and Z-axes in the present embodiment), respectively, and transmits data (angular rate data) representing the detected angular rates, to the controller <b>5</b>.
p-0139The two-axis gyroscope <b>55</b> detects an angular rate (per unit time) about each of the X-axis and the Z-axis. Further, the one-axis gyroscope <b>56</b> detects an angular rate (per unit time) about the Y-axis. In the present embodiment, the directions of rotation about the X-axis, the Y-axis, and the Z-axis relative the imaging direction (the Z-axis positive direction) of the controller <b>5</b> are referred to as a pitch direction, a yaw direction, and a roll direction, respectively. That is, the two-axis gyroscope <b>55</b> detects angular rates in the pitch direction (the direction of rotation about the X-axis) and the roll direction (the direction of rotation about the Z-axis), and the one-axis gyroscope <b>56</b> detects an angular rate in the yaw direction (the direction of rotation about the Y-axis).
p-0140In the present embodiment, the two-axis gyroscope <b>55</b> and the one-axis gyroscope <b>56</b> are used to detect the angular rates about the three axes. However, in another embodiment, the number of gyroscopes and a combination thereof to be used may optionally selected, provided that the angular rates about the three axes can be detected.
p-0141Data representing the angular rates detected by the gyroscopes <b>56</b> and <b>57</b> are outputted to the microcomputer <b>54</b>. That is, data representing the angular rates about the three axes, i.e., the X-, Y-, and Z-axes, are inputted to the microcomputer <b>54</b>. The microcomputer <b>54</b> transmits the data representing the angular rates about the three axes, as angular rate data, to the controller <b>5</b> through the plug <b>53</b>. The transmission from the microcomputer <b>54</b> to the controller <b>5</b> is sequentially performed at a predetermined cycle, and the game is typically processed at a cycle of 1/60 seconds (corresponding to one frame time), and the transmission may be performed at a cycle shorter than a cycle of 1/60 seconds.
p-0142The controller <b>5</b> will be described again. Data outputted from the operating section <b>32</b>, the imaging information calculation section <b>35</b>, and the acceleration sensor <b>37</b> to the microcomputer <b>42</b>, and data, transmitted from the gyroscope unit <b>6</b> to the microcomputer <b>42</b> are temporarily stored to the memory <b>43</b>. The data are transmitted as the first operation data to the game apparatus <b>3</b>. At the time of the transmission to the controller communication module <b>19</b> of the game apparatus <b>3</b>, the microcomputer <b>42</b> outputs the operation data stored in the memory <b>43</b> to the wireless module <b>44</b> as the first operation data. The wireless module <b>44</b> uses, for example, the Bluetooth (registered trademark) technology to modulate the first operation data onto a carrier wave of a predetermined frequency, and radiates the low power radio wave signal from the antenna <b>45</b>. That is, the first operation data is modulated onto the low power radio wave signal by the wireless module <b>44</b> and transmitted from the controller <b>5</b>. The controller communication module <b>19</b> of the game apparatus <b>3</b> receives the low power radio wave signal. The game apparatus <b>3</b> demodulates or decodes the received low power radio wave signal to acquire the first operation data. Based on the first operation data acquired from the operating device <b>7</b>, the second operation data acquired from the hand-held device <b>9</b>, and the game program, the CPU <b>10</b> of the game apparatus <b>3</b> performs the game process. The wireless transmission from the communication section <b>36</b> to the controller communication module <b>19</b> is sequentially performed at a predetermined time interval. Since the game process is generally performed at a cycle of 1/60 sec. (corresponding to one frame time), data may be transmitted at a cycle of a shorter time period. The communication section <b>36</b> of the controller <b>5</b> outputs, to the controller communication module <b>19</b> of the game apparatus <b>3</b>, the first operation data at intervals of 1/200 seconds, for example.
p-0143As described above, the operating device <b>7</b> can transmit marker coordinate data, acceleration data, angular rate data, and operation button data as first operation data representing operations performed thereon. In addition, the game apparatus <b>3</b> executes the game process using the first operation data as game inputs. Accordingly, by using the operating device <b>7</b>, the player can perform the game operation of moving the operating device <b>7</b> itself, in addition to conventionally general game operations of pressing operation buttons. For example, it is possible to perform the operations of tilting the operating device <b>7</b> to arbitrary attitudes, pointing the operating device <b>7</b> to arbitrary positions on the screen, and moving the operating device <b>7</b> itself.
p-0144Also, in the present embodiment, the operating device is not provided with any display means for displaying game images, but the operating device <b>7</b> may be provided with a display means for displaying an image or suchlike to indicate, for example, a remaining battery level.
4. External Configuration of the Hand-Held Device
9
p-0145<figref idrefs="DRAWINGS">FIG. 8</figref> is a diagram illustrating an external configuration of the hand-held device <b>9</b>. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, the hand-held device <b>9</b> includes a lower housing <b>61</b> and an upper housing <b>71</b>. The lower housing <b>61</b> and the upper housing <b>71</b> are connected together so that they can be opened/closed (folded). In the present embodiment, the housings <b>61</b> and <b>71</b> each have a landscape-oriented rectangular plate shape and are pivotally connected together along their long-side portions. Specifically, the lower housing <b>61</b> and the upper housing <b>71</b> are connected in a foldable manner by coupling the protruding portion <b>61</b>A of the lower housing <b>61</b> with the protruding portion <b>71</b>A of the upper housing <b>71</b>.
p-0146(Description of the Lower Housing)
p-0147First, a configuration of the lower housing <b>61</b> will be described. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, a lower LCD (Liquid Crystal Display) <b>62</b>, a touch panel <b>63</b>, operation buttons <b>64</b>A to <b>64</b>L, an analog stick <b>65</b>, LEDs <b>66</b>A to <b>66</b>B, an insertion hole <b>67</b>, and a microphone hole <b>68</b> are provided in the lower housing <b>61</b>. Hereinafter, these components will be described in detail.
p-0148The lower LCD <b>62</b> is accommodated in the lower housing <b>61</b>. In the present embodiment, the number of pixels of the lower LCD <b>62</b> is, for example, 256 dots×192 dots (horizontal×vertical), but a display device with any resolution can be used as the lower LCD <b>62</b>. Furthermore, in the present embodiment, an LCD is used as the display device, but any other display device may be used such as a display device using EL (Electro Luminescence), for example.
p-0149The touch panel <b>63</b> is mounted on the screen of the lower LCD <b>62</b>. Note that in the present embodiment, the touch panel <b>63</b> is a resistive film type touch panel. However, the touch panel is not limited to the resistive film type and can be a touch panel of any type such as, for example, the electrostatic capacitance type. Furthermore, the touch panel <b>63</b> may be either a single-touch panel or a multi-touch panel. In the present embodiment, a touch panel having the same resolution (detection precision) as the resolution of the lower LCD <b>62</b> is used as the touch panel <b>63</b>. Note however that the resolution of the touch panel <b>63</b> and the resolution of the lower LCD <b>62</b> might not always coincide with each other. The insertion hole <b>67</b> (a dotted line shown in <figref idrefs="DRAWINGS">FIG. 8</figref>) is provided on the upper-side surface of the lower housing <b>61</b>. The insertion hole <b>67</b> can accommodate a stylus <b>78</b> which is used for performing operations on the touch panel <b>63</b>. Note that although an input on the touch panel <b>63</b> is usually made by using the stylus <b>78</b>, the present embodiment is not limited to the stylus <b>78</b> and a finger of the user may be used for making an input on the touch panel <b>63</b>.
p-0150The operation buttons <b>64</b>A to <b>61</b>L are each an input device for making a predetermined input. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, among the operation buttons <b>64</b>A to <b>64</b>L, a cross button <b>64</b>A (a direction input button <b>64</b>A), a button <b>64</b>B, a button <b>64</b>C, a button <b>64</b>D, a button <b>64</b>E, a power button <b>64</b>F, a select button <b>64</b>J, a HOME button <b>64</b>K, and a start button <b>64</b>L are provided on the inner-side surface (main surface) of the lower housing <b>61</b>. The cross button <b>64</b>A is cross-shaped, and includes buttons for specifying up, down, left and right directions. The buttons <b>64</b>A to <b>64</b>E, the select button <b>64</b>J, the HOME button <b>64</b>K, and the start button <b>64</b>L are appropriately assigned functions in accordance with a game program. For example, the cross button <b>64</b>A is used for selection operation, and the like, and the operation buttons <b>64</b>B to <b>64</b>E are used for determination operation, cancellation operation, etc. The power button <b>64</b>F is used for turning ON/OFF the power of the hand-held device <b>9</b>.
p-0151Although not shown, L and R buttons are provided on the upper-side surface of the lower housing <b>61</b>. The L button is provided on the left end portion of the upper surface of the lower housing <b>61</b>, and the R button is provided on the right end portion of the upper surface of the lower housing <b>61</b>. Although not shown, a sound volume button is provided on the left-side surface of the lower housing <b>61</b>. The sound volume button is used for adjusting the sound volume of a speaker of the hand-held device <b>9</b>.
p-0152An analog stick <b>65</b> is a device for directing a course, provided on the inner-side surface of the lower housing <b>61</b>. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, the analog stick <b>65</b> is provided above the cross button <b>64</b>A. The analog stick <b>65</b> is configured such that its stick portion can tilt in an arbitrary direction (at an arbitrary angle in any of the up, down, left and right directions) with respect to the inner-side surface of the lower housing <b>61</b> when it is operated with a thumb and/or a finger.
p-0153Also, a cover portion which can be opened/closed is provided on the left-side surface of the lower housing <b>61</b>. A connector (not shown) for electrically connecting the hand-held device <b>9</b> and external data storage memory <b>96</b> with each other is provided inside the cover portion. The external data storage memory <b>96</b> is detachably connected to the connector. The external data storage memory <b>96</b> is used for, for example, recording (storing) data for an image captured by the hand-held device <b>9</b>.
p-0154Also, a cover portion which can be opened/closed is provided on the upper-side surface of the lower housing <b>61</b>. A connector (not shown) for electrically and detatchably connecting the hand-held device <b>9</b> and external memory <b>95</b> having a game program recorded therein is provided inside the cover portion. A predetermined game program is executed as the external memory <b>95</b> is connected to the hand-held device <b>9</b>.
p-0155As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, a first LED <b>66</b>A for notifying the user of the ON/OFF status of the power supply of the hand-held device <b>9</b> is provided on the lower-side surface of the lower housing <b>61</b>. Also, a second LED for notifying the user of the wireless communication establishment status of the hand-held device <b>9</b> is provided on the right-side surface of the lower housing <b>61</b>. The hand-held device <b>9</b> can wirelessly communicate with other devices, and the second LED is lit while the wireless communication is maintained. The hand-held device <b>9</b> has a function of connecting to a wireless LAN by a scheme based on the IEEE 802.11n standard, for example. A wireless switch for enabling/disabling the wireless communication function is provided on the right-side surface of the lower housing <b>61</b>.
p-0156The microphone hole <b>68</b> is provided on the inner-side surface of the lower housing <b>61</b>. A microphone (see <figref idrefs="DRAWINGS">FIG. 9</figref>) as a sound input device to be described later is provided under the microphone hole <b>68</b>, and the microphone detects sound from the outside of the hand-held device <b>9</b>.
p-0157Note that although not shown, the lower housing <b>61</b> accommodates a rechargeable battery serving as the power supply of the hand-held device <b>9</b>, and the battery can be charged through a terminal provided on a side surface (e.g., the upper-side surface) of the lower housing <b>61</b>.
p-0158(Description of the Upper Housing)
p-0159Next, a configuration of the upper housing <b>71</b> will be described. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, the upper LCD (Liquid Crystal Display) <b>72</b>, an outer camera <b>73</b> (a left-eye camera <b>73</b><i>e </i>and a right-eye camera <b>73</b><i>b</i>), an inner camera <b>74</b>, a 3D adjustment switch <b>75</b>, and the 3D indicator <b>76</b> are provided in the upper housing <b>71</b>. Hereinafter, these components will be described in detail.
p-0160As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, the upper LCD <b>72</b> is accommodated in the upper housing <b>71</b>. In the present embodiment, the screen of the upper LCD <b>72</b> is designed to be longer than the screen of the lower LCD <b>62</b>, and the number of pixels of the lower LCD <b>72</b> is, for example, 640 dots×200 dots (horizontal×vertical). However, a display device with any resolution can be used as the upper LCD <b>72</b>. Furthermore, in the present embodiment, the upper LCD <b>72</b> is a liquid crystal display, but a display device using EL (Electro Luminescence), etc., may be used, for example.
p-0161Also, in the present embodiment, the upper LCD <b>72</b> is a display device capable of displaying images that can be stereoscopically viewed (with the naked eye). Specifically, in the present embodiment, a display device of a lenticular type or a parallax barrier type is used as the upper LCD <b>72</b> so that the left-eye and right-eye images, which are alternatingly displayed in the horizontal direction on the upper LCD <b>72</b>, can be seen separately by the left eye and the right eye, respectively. However, in another embodiment, the upper LCD <b>72</b> does not have to be a display device capable of displaying images that can be viewed stereoscopically. Note that in the present embodiment, the upper LCD <b>72</b> is a display device that can be switched between a stereoscopic display mode where a stereoscopically viewable image is displayed and a two-dimensional display mode where an image is two-dimensionally displayed (a two-dimensionally viewable image is displayed). The display mode switching is done with the 3D adjustment switch <b>75</b> to be described later.
p-0162The outer camera <b>73</b> is provided on an outer-side surface (the back surface opposite to the main surface on which the upper LCD <b>72</b> is provided) of the upper housing <b>71</b>, and is a stereo camera whose image pickup direction is the normal direction to the outer-side surface. The outer camera <b>73</b> includes two cameras, i.e., the left-eye camera <b>73</b><i>a </i>and the right-eye camera <b>73</b><i>b</i>. The left-eye camera <b>73</b><i>a </i>and the right-eye camera <b>73</b><i>b </i>are placed so that their image pickup directions are parallel to each other. The left-eye camera <b>73</b><i>a </i>and the right-eye camera <b>73</b><i>b </i>each include an image pickup element (e.g., a CCD image sensor, a CMOS image sensor, etc.) having a predetermined resolution, and a lens. The interval between the left-eye camera <b>73</b><i>a </i>and the right-eye camera <b>73</b><i>b </i>is set to be about equal to the interval between eyes of a human, and may be set in the range of 30 mm to 70 mm, for example. Note that the interval between the left-eye camera <b>73</b><i>a </i>and the right-eye camera <b>73</b><i>b </i>is not limited to this range. In other embodiments, the interval between the two cameras <b>73</b><i>a </i>and <b>73</b><i>b </i>may be variable. With the outer camera <b>73</b>, it is possible to take images that can be viewed stereoscopically.
p-0163The inner camera <b>74</b> is a camera which is provided on the inner-side surface (main surface) <b>71</b>B of the upper housing <b>71</b> and whose image pickup direction is the normal direction to the inner-side surface. The inner camera <b>74</b> includes an image pickup element (e.g., a CCD image sensor, a CMOS image sensor, etc.) having a predetermined resolution, and a lens. The inner camera <b>24</b> captures an image in the direction opposite to that of the outer camera <b>73</b>, and therefore when the user is looking straight at the upper LCD <b>72</b>, it is possible to capture an image of the face of the user from the front by the inner camera <b>74</b>.
p-0164The 3D adjustment switch <b>75</b> is a sliding switch, and is a switch used for switching between the display modes of the upper LCD <b>72</b> as described above. The 3D adjustment switch <b>75</b> is used for adjusting the stereoscopic feel of the stereoscopically viewable image (stereoscopic image) displayed on the upper LCD <b>72</b>. As shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, the 3D adjustment switch <b>75</b> is provided at the edge between the inner-side surface and the right-side surface of the upper housing <b>71</b>, and is provided at such a position that the 3D adjustment switch <b>75</b> can be seen when the user is looking straight at the upper LCD <b>72</b>. The 3D adjustment switch <b>75</b> is provided with a slider slidable in up and down directions, and the stereoscopic feel of the stereoscopic image can be adjusted in accordance with the position of the slider. Here, when the slider is positioned at its lowermost point, the upper LCD <b>72</b> is set to the two-dimensional display mode, and when the slider is positioned between a predetermined position above the lowermost point and the uppermost point, the upper LCD <b>72</b> is set to the stereoscopic display mode. Also, when the slider is present between the predetermined position and the uppermost point, how a stereoscopic image is seen is adjusted in accordance with the position of the slider.
p-0165The 3D indicator <b>76</b> shows whether the upper LCD <b>72</b> is in the stereoscopic display mode. The 3D indicator <b>76</b> is an LED, and is lit when the stereoscopic display mode of the upper LCD <b>72</b> is enabled.
p-0166Speaker holes <b>71</b>E are provided on the inner-side surface of the upper housing <b>71</b>. Sound from a speaker <b>93</b> to be described later is outputted from the speaker holes <b>71</b>E.
5. Internal Configuration of the Hand-Held Device
9
p-0167Next, referring to <figref idrefs="DRAWINGS">FIG. 9</figref>, an internal electrical configuration of the hand-held device <b>9</b> will be described. <figref idrefs="DRAWINGS">FIG. 9</figref> is a block diagram illustrating an internal configuration of the hand-held device <b>9</b>. As shown in <figref idrefs="DRAWINGS">FIG. 9</figref>, the hand-held device <b>9</b> includes electronic components such as an information processing section <b>81</b>, main memory <b>82</b>, an external memory interface (external memory I/F) <b>83</b>, external data storage memory I/F <b>84</b>, internal data storage memory <b>85</b>, a wireless communication module <b>86</b>, a local communication module <b>87</b>, a real time clock (RTC) <b>38</b>, an acceleration sensor <b>89</b>, a gyroscope <b>90</b>, a power supply circuit <b>94</b>, and an interface circuit (I/F circuit) <b>41</b>, in addition to the components described above. These electronic components are mounted on an electronic circuit substrate and accommodated in the lower housing <b>61</b> (or in the upper housing <b>71</b>).
p-0168The information processing section <b>81</b> is an information processing section including a CPU <b>811</b> for executing a predetermined program, a GPU <b>812</b> for performing image processes, etc. In the present embodiment, a program for performing a predetermined process is stored in memory (e.g., the external memory <b>95</b> connected to the external memory I/F <b>83</b>, or the internal data storage memory <b>85</b>) in the hand-held device <b>9</b>. The CPU <b>811</b> of the information processing section <b>81</b> executes the program, thereby performing a process according to the program (e.g., an image pickup process, an image display process to be described later, etc.). Note that a program to be executed by the CPU <b>811</b> of the information processing section <b>81</b> may be acquired from other devices through communication with the other devices. The information processing section <b>81</b> includes VRAM <b>813</b>. The GPU <b>812</b> of the information processing section <b>81</b> produces an image in accordance with an instruction from the CPU <b>811</b> of the information processing section <b>81</b>, and renders the image in the VRAM <b>813</b>. The GPU <b>812</b> of the information processing section <b>81</b> outputs the image rendered in the VRAM <b>813</b> to the upper LCD <b>72</b> and/or the lower LCD <b>62</b>, thereby displaying the image on the upper LCD <b>72</b> and/or the lower LCD <b>62</b>. Note that when image data is acquired from the outside (the game apparatus <b>3</b>), the acquired image data is stored to the VRAM <b>813</b>, and an image is displayed on the upper LCD <b>72</b> and/or the lower LCD <b>62</b>.
p-0169The main memory <b>82</b>, the external memory I/F <b>83</b>, the external data storage memory I/F <b>84</b>, and the internal data storage memory <b>85</b> are connected to the information processing section <b>81</b>. The external memory I/F <b>83</b> is an interface for detachably connecting the external memory <b>95</b>. The external data storage memory I/F <b>84</b> is an interface for detachably connecting the external data storage memory <b>96</b>.
p-0170The main memory <b>82</b> is a volatile storage section used as a work area and a buffer area for (the CPU <b>811</b> of) the information processing section <b>81</b>. That is, the main memory <b>82</b> temporarily stores various data used for the process based on the program, and temporarily stores a program acquired from the outside (the external memory <b>95</b>, other devices, etc.). In the present embodiment, PSRAM (Pseudo-SRAM) is used as the main memory <b>82</b>, for example.
p-0171The external memory <b>95</b> is a non-volatile storage section for storing a program to be executed by the information processing section <b>81</b>. The external memory <b>95</b> is formed by read-only semiconductor memory, for example. When the external memory <b>95</b> is connected to the external memory I/F <b>83</b>, the information processing section <b>81</b> can load the program stored in the external memory <b>95</b>. A predetermined process is performed by executing the program loaded by the information processing section <b>81</b>. The external data storage memory <b>96</b> is formed by non-volatile readable/writable memory (e.g., NAND-type flash memory), and is used for storing predetermined data. For example, the external data storage memory <b>96</b> stores images captured by the outer camera <b>73</b> and images captured by other devices. When the external data storage memory <b>96</b> is connected to the external data storage memory I/F <b>84</b>, the information processing section <b>81</b> can load images stored in the external data storage memory <b>96</b>, and display the images on the upper LCD <b>72</b> and/or the lower LCD <b>62</b>.
p-0172The internal data storage memory <b>85</b> is formed by readable/writable non-volatile memory (e.g., NAND-type flash memory), and is used for storing predetermined data. For example, the internal data storage memory <b>85</b> stores data and programs downloaded through wireless communication via the wireless communication module <b>86</b>.
p-0173The wireless communication module <b>86</b> has a function of connecting to a wireless LAN by a scheme based on the IEEE 802.11.n standard, for example. The local communication module <b>87</b> has a function of performing wireless communication with game devices of the same type by a predetermined communication scheme (e.g., a unique protocol or infrared communication). The wireless communication module <b>86</b> and the local communication module <b>87</b> are connected to the information processing section <b>81</b>. The information processing section <b>81</b> can transmit/receive data to/from other devices via the Internet by using the wireless communication module <b>86</b>, and can transmit/receive data to/from other game devices of the same type by using the local communication module <b>87</b>.
p-0174In the present embodiment, the game apparatus <b>3</b> and the hand-held device <b>9</b> communicate with each other via the wireless communication module <b>86</b>. Also, information processing section <b>81</b> includes an unillustrated image decompression section. The image decompression section performs a predetermined decompression process on image data (and sound data) from the wireless communication module <b>86</b>. Accordingly, when the game apparatus <b>3</b> transmits image data (and sound data), the wireless communication module <b>86</b> receives the image data and then the image decompression section performs the predetermined decompression process on the received data. The image data subjected to the decompression process is appropriately stored to the VRAM <b>813</b> by the CPU <b>811</b>, and then outputted to the upper LCD <b>72</b> and/or the lower LCD <b>62</b>.
p-0175The acceleration sensor <b>89</b> is also connected to the information processing section <b>81</b>. The acceleration sensor <b>89</b> detects magnitudes of linear acceleration along the directions of three axes (x-, y-, and z-axes shown in <figref idrefs="DRAWINGS">FIG. 8</figref>). In the present embodiment, the acceleration sensor <b>89</b> is provided inside the lower housing <b>61</b>. The acceleration sensor <b>89</b> detects magnitudes of linear acceleration of the axes, where the x-axis is the long-side direction of the lower housing <b>61</b>, the y-axis is the short-side direction of the lower housing <b>61</b>, and the z-axis is the direction vertical to the inner-side surface (main surface) of the lower housing <b>61</b>. For example, the acceleration sensor <b>89</b> may be one of those of types that are available from Analog Devices, Inc. or STMicroelectronics N.V. Note that while the acceleration sensor <b>89</b> is assumed to be an electrostatic capacitance type acceleration sensor, for example, other types of acceleration sensors may be used. The acceleration sensor <b>89</b> may be an acceleration sensor which performs detection in one or two axial directions. The information processing section <b>81</b> acquires data (acceleration data) representing acceleration detected by the acceleration sensor <b>89</b> to detect the attitude and the movement of the hand-held device <b>9</b>.
p-0176The gyroscope <b>90</b> is connected to the information processing section <b>81</b>. The gyroscope <b>90</b> detects angular rates about three axes, i.e., the x-, y- and z-axes. Any number and combination of gyroscopes may be used for detecting angular rates about the three axes, and similar to the gyroscope unit <b>6</b>, the gyroscope <b>90</b> may include a two-axis gyroscope and a one-axis gyroscope. Alternatively, the gyroscope <b>90</b> may be a gyroscope for detection in one axial direction or two axial directions. The information processing section <b>81</b> can acquire data (angular rate data) representing the angular rates detected by the gyroscope <b>90</b> to detect the attitude and the movement of the hand-held device <b>9</b>.
p-0177As described above, the hand-held device <b>9</b> can acquire acceleration data and angular rate data as operation data representing operations performed thereon. Accordingly, by using the hand-held device <b>9</b>, the player can perform the game operation of moving the hand-held device <b>9</b> itself, in addition to conventionally general game operations of pressing operation buttons.
p-0178The information processing section <b>81</b> is also connected to the RTC <b>88</b> and the power supply circuit <b>94</b>. The RTC <b>88</b> counts the time, and outputs it to the information processing section <b>81</b>. The information processing section <b>81</b> calculates the current time (date) based on the time counted by the RTC <b>88</b>. The power supply circuit <b>94</b> controls the power from the power supply (the rechargeable battery described above accommodated in the lower housing <b>61</b>) of the hand-held device <b>9</b>, and supplies power to components of the hand-held device <b>9</b>.
p-0179An I/F circuit <b>91</b> is connected to the information processing section <b>81</b>. A microphone <b>92</b> and the speaker <b>93</b> are connected to the I/F circuit <b>91</b>. Specifically, the speaker <b>93</b> is connected to the I/F circuit <b>91</b> via an amplifier, not shown. The microphone <b>92</b> detects sound of the user, and outputs a sound signal to the I/F circuit <b>91</b>. The amplifier amplifies the sound signal from the I/F circuit <b>91</b>, and outputs the sound from the speaker <b>93</b>. The touch panel <b>63</b> is connected to the I/F circuit <b>91</b>. The I/F circuit <b>91</b> includes a sound control circuit for controlling the microphone <b>92</b> and the speaker <b>93</b> (amplifier), and a touch panel control circuit for controlling the touch panel. The sound control circuit performs A/D conversion and D/A conversion on a sound signal, or converts a sound signal to sound data of a predetermined format. The touch panel control circuit produces touch position data of a predetermined format based on a signal from the touch panel <b>63</b>, and outputs it to the information processing section <b>81</b>. The touch position data represents the coordinates of the position on the input surface of the touch panel <b>63</b> at which an input has been made. Note that the touch panel control circuit reads a signal from the touch panel <b>63</b> and produces the touch position data once per a predetermined period of time. The information processing section <b>81</b> can know the position at which an input has been made on the touch panel <b>63</b> by acquiring the touch position data.
p-0180An operation button group <b>64</b> includes the operation buttons <b>64</b>A to <b>64</b>L and the L and R buttons, and is connected to the information processing section <b>81</b>. Operation button data representing the input status of the operation button group <b>64</b> (whether any button has been pressed) is outputted from the operation button group <b>64</b> to the information processing section <b>81</b>. The information processing section <b>81</b> acquires the operation data from the operation button group <b>64</b> to perform a process in accordance with the input on the operation button group <b>64</b>.
p-0181The analog stick <b>65</b> is connected to the information processing section <b>81</b>, and outputs stick data, which represents the tilting direction and amount of the analog stick <b>65</b>, to the information processing section <b>81</b>. The information processing section <b>81</b> acquires the stick data from the analog stick <b>65</b>, and performs a process according to an input with the analog stick <b>65</b>.
p-0182As described above, there are five input means included in the hand-held device <b>9</b> as input devices, which are the acceleration sensor <b>89</b>, the gyroscope <b>90</b>, the touch panel <b>63</b>, the operation button group <b>64</b>, and the analog stick <b>65</b>. However, in another embodiment, the hand-held device <b>9</b> may include any input devices. For example, the hand-held device <b>9</b> may include one or more of the five input means. For example, the hand-held device <b>9</b> may also include a touch pad or may also include infrared light detection means (an infrared filter <b>38</b>, a lens <b>39</b>, a image pickup element <b>40</b>, and an image processing circuit <b>41</b>) similar to those of the controller <b>5</b>.
p-0183The second operation data representing operations on the input devices of the hand-held device <b>9</b> is transmitted to the game apparatus <b>3</b>. Here, the second operation data includes acceleration data from the acceleration sensor <b>89</b> and angular rate data from the gyroscope <b>90</b>, in addition to the touch position data, the operation button data, and the stick data as mentioned above. The information processing section <b>81</b> wirelessly transmits the second operation data to the hand-held device <b>9</b> via the wireless communication module <b>86</b>. Note that the second operation data is sequentially transmitted from the hand-held device <b>9</b> to the game apparatus <b>3</b> in predetermined cycles, e.g., in cycles of one frame period or less as in the case of the first operation data being transmitted from the controller <b>5</b> to the game apparatus <b>3</b>.
p-0184The lower LCD <b>62</b> and the upper LCD <b>72</b> are connected to the information processing section <b>81</b>. The lower LCD <b>62</b> and the upper LCD <b>72</b> display images in accordance with an instruction from (the CPU <b>812</b> of) the information processing section <b>81</b>. In the present embodiment, it is possible for the information processing section <b>81</b> to display a stereoscopic image (stereoscopically viewable image) on the upper LCD <b>72</b> using a right-eye image and a left-eye image.
p-0185The outer camera <b>73</b> and the inner camera <b>74</b> are connected to the information processing section <b>81</b>. The outer camera <b>73</b> and the inner camera <b>74</b> capture images in accordance with instructions of the information processing section <b>81</b>, and output data for the captured images to the information processing section <b>81</b>.
p-0186The 3D adjustment switch <b>75</b> is connected to the information processing section <b>81</b>. The 3D adjustment switch <b>75</b> transmits to the information processing section <b>81</b> an electrical signal in accordance with the position of a slider <b>25</b><i>a. </i>
p-0187The 3D indicator <b>76</b> is connected to the information processing section <b>81</b>. The information processing section <b>81</b> controls lighting of the 3D indicator <b>76</b>. For example, when the upper LCD <b>72</b> is in the stereoscopic display mode, the information processing section <b>81</b> lights the 3D indicator <b>76</b>. This has been descriptive of the internal configuration of the hand-held device <b>9</b>.
6. Outline of the Game Process
p-0188Next, the game process to be executed in the game system of the present embodiment will be outlined. In the present embodiment, the game process will be described by taking as an example a game in which two players manipulate an airplane (and a gun of the airplane) in concert with each other. In the following, a player using the operating device <b>7</b> to manipulate the airplane is referred to as a “first player”, and a player using the hand-held device <b>9</b> to manipulate the gun of the airplane is referred to as a “second player”.
p-0189<figref idrefs="DRAWINGS">FIG. 10</figref> is a diagram illustrating an exemplary game image (first game image) displayed on the television <b>2</b>. Also, <figref idrefs="DRAWINGS">FIG. 11</figref> is a diagram illustrating an exemplary game image (second game image) displayed on the hand-held device <b>9</b>. As shown in <figref idrefs="DRAWINGS">FIG. 10</figref>, in the game of the present embodiment, an airplane (airplane object) <b>101</b> and targets (balloon objects) <b>103</b> appear in a virtual game space. Also, the airplane <b>101</b> has a gun (gun object) <b>102</b>. The game is to be played by two players manipulating the airplane <b>101</b> having the gun <b>102</b> to shoot the targets <b>103</b> with bullets. In the present embodiment, the first player uses the operating device <b>7</b> to perform an operation of moving the airplane <b>101</b>, and the second player uses the hand-held device <b>9</b> to perform operations on the gun <b>102</b> (operations to set the shooting direction and shoot bullets). That is, the players play the game in concert with each other with the first player playing the role of moving the airplane <b>101</b>, and the second player playing the role of shooting the targets <b>103</b> with bullets from the gun <b>102</b>.
p-0190As shown in <figref idrefs="DRAWINGS">FIG. 10</figref>, a game space image including the airplane <b>101</b> is displayed as the first game image. Accordingly, a virtual camera for generating the first game image (referred to as a “first virtual camera”) is set so as to generate a game space image as viewed from behind the airplane <b>101</b>. <figref idrefs="DRAWINGS">FIG. 12</figref> is a diagram illustrating the positional relationship between the airplane <b>101</b> and virtual cameras. As shown in <figref idrefs="DRAWINGS">FIG. 12</figref>, the first virtual camera <b>105</b> is disposed behind the airplane <b>101</b> so as to be oriented to include the airplane <b>101</b> within its imaging range (the range of the field of view). In addition, the first virtual camera is controlled to move as the airplane <b>101</b> moves. Accordingly, the position and the attitude of the first virtual camera are controlled in accordance with the first player's operation.
p-0191On the other hand, as shown in <figref idrefs="DRAWINGS">FIG. 11</figref>, a game space image as viewed from the position of the airplane <b>101</b> (more concretely, the gun <b>102</b>) is displayed as the second game image. Accordingly, as shown in <figref idrefs="DRAWINGS">FIG. 12</figref>, the second virtual camera <b>106</b> is disposed at the position of the airplane <b>101</b> (more concretely, the position of the gun <b>102</b>). Note that the second virtual camera <b>106</b> may be positioned near the airplane <b>101</b> or the gun <b>102</b> (e.g., slightly behind the gun <b>102</b>). In this manner, the position of the second virtual camera <b>106</b> is controlled by the first player's operation (to move the airplane <b>101</b>). Accordingly, in the present embodiment, the first virtual camera <b>105</b> and the second virtual camera <b>106</b> move simultaneously with each other.
p-0192Also, as described above, the second player performs operations on the gun <b>102</b>. As will be described in detail later, the direction of the gun <b>102</b> (the direction in which to shoot bullets) is controlled to accord with the attitude of the hand-held device <b>9</b>. That is, the second player can change the direction of the gun <b>102</b> by moving the hand-held device <b>9</b> to change its attitude. Also, a game space image as viewed in the shooting direction of the gun <b>102</b> is displayed as the second game image. That is, in the present embodiment, the attitude of the second virtual camera is controlled such that its line-of-sight direction accords with the shooting direction of the gun <b>102</b>. In this manner, the attitude of the second virtual camera is controlled by the second player's operation.
p-0193Note that to fire a bullet from the gun <b>102</b>, the second player presses a predetermined button (e.g., the operation button <b>64</b>B) of the hand-held device <b>9</b>. When the predetermined button is pressed, a bullet is fired in a direction pointed at by the gun <b>102</b>. In the second game image, a sight <b>104</b> is displayed at the center of the screen of the lower LCD <b>62</b>, and the bullet is fired in the direction the sight <b>104</b> is aiming at.
p-0194When playing this game, the first player manipulates the airplane <b>101</b> (e.g., to move toward the desired target <b>103</b>) while mainly viewing the first game image (<figref idrefs="DRAWINGS">FIG. 10</figref>) displayed on the television <b>2</b>. Here, as described above, the airplane <b>101</b> moves in response to the first player's operation, and correspondingly, the display range of the game space to be displayed on each display device changes, making it possible for the first player to sufficiently recognize that his/her operation is reflected in game progression.
p-0195On the other hand, while mainly viewing the second game image (<figref idrefs="DRAWINGS">FIG. 11</figref>) displayed on the lower. LCD <b>62</b> of the hand-held device <b>9</b>, the second player points the gun <b>102</b> in a desired direction and performs an operation of firing bullets at the target <b>103</b>. Here, as described above, the gun <b>102</b> changes its direction in accordance with the second player's operation and correspondingly, the display range of the game space to be displayed on the hand-held device <b>9</b> changes, making it possible for the second player, as with the first player, to sufficiently recognize that his/her operation is reflected in game progression.
p-0196As described above, according to the present embodiment, the positions of the first and second virtual cameras are controlled by the first player's operation, and the attitude of the second virtual camera by the second player's operation. That is, in the present embodiment, the virtual cameras change their positions or attitudes in accordance with the players' game operations, so that the display ranges of the game spaces to be displayed on the display devices change. Here, in conventional games where a plurality of players manipulate one object in concert with each other, one player's operation is not fully reflected in game progression, and therefore there might be a possibility where that player finds the game less fun. On the other hand, in the present embodiment, the display ranges of the game spaces to be displayed on the display devices change in accordance with the players' operations, and therefore each player can sufficiently recognize that his/her game operation is fully reflected in game progression, and therefore can thoroughly enjoy the game.
p-0197Also, according to the present embodiment, the first player can adjust the display range of the game space to be displayed on the television <b>2</b> (and the display range of the game space to be displayed on the hand-held device <b>9</b>), whereas the second player can adjust the display range of the game space to be displayed on the hand-held device <b>9</b>. That is, in the present embodiment, two display devices are prepared such that players can change the display ranges of the game spaces to be displayed on the display devices. Thus, each player can freely change the display range so that he/she can readily view the displayed image without worrying about the possibility of causing any trouble to the other player, which makes it possible to provide a game with high operability.
7. Details of the Game Process
p-0198Next, the game process to be executed in the present game system will be described in detail. First, various types of data for use in the game process will be described. <figref idrefs="DRAWINGS">FIG. 13</figref> is a diagram illustrating the data for use in the game process. In <figref idrefs="DRAWINGS">FIG. 13</figref>, main data, stored in the main memory (the external main memory <b>12</b> or the internal main memory <b>11</b><i>e</i>) of the game apparatus <b>3</b> is shown. As shown in <figref idrefs="DRAWINGS">FIG. 13</figref>, the main memory of the game apparatus <b>3</b> has stored therein a game program <b>110</b>, first operation data <b>111</b>, second operation data <b>116</b>, and process data <b>121</b>. Note that in addition to the data shown in <figref idrefs="DRAWINGS">FIG. 13</figref>, the main memory has stored therein data to be used in the game such as image data for various objects appearing in the game and sound data.
p-0199The game program <b>110</b> is partially or entirely read from the optical disc <b>4</b> at an appropriate time after the power-on of the game apparatus <b>3</b>, and then stored to the main memory. Note that the game program <b>110</b> may be acquired from a device external to the game apparatus <b>3</b> (e.g., via the Internet), rather than from the optical disc <b>4</b>. Also, a portion of the game program <b>110</b> (e.g., a program for calculating the attitude of the operating device <b>7</b> and/or the attitude of the hand-held device <b>9</b>) may be prestored in the game apparatus <b>3</b>.
p-0200The first operation data <b>111</b> is data representing the user's operation on the operating device <b>7</b>. The first operation data <b>111</b> is transmitted by the operating device <b>7</b> and then acquired by the game apparatus <b>3</b>. The first operation data <b>111</b> includes acceleration data <b>112</b>, angular rate data <b>113</b>, marker coordinate data <b>114</b>, and operation button data <b>115</b>. Note that the main memory may have stored therein the first operation data up to a predetermined number of pieces counted from the latest piece (the last acquired piece).
p-0201The acceleration data <b>112</b> is data representing acceleration (acceleration vector) detected by the acceleration sensor <b>37</b>. Here, the acceleration data <b>112</b> represents three-dimensional acceleration whose components are acceleration values associated with the directions of three axes, X-, Y-, and Z-axes, shown in <figref idrefs="DRAWINGS">FIG. 3</figref>, but in another embodiment, the data may represent acceleration associated with any one or more directions.
p-0202The angular rate data <b>113</b> is data representing angular rates detected by the gyroscopes <b>55</b> and <b>56</b> in the gyroscope unit <b>6</b>. Here, the angular rate data <b>113</b> represents angular rates about three axes, X-, Y-, and Z-axes, shown in <figref idrefs="DRAWINGS">FIG. 3</figref>, but in another embodiment, the data may represent an angular rate about each of any one or more axes.
p-0203The marker coordinate data <b>114</b> is data representing a coordinate point calculated by the image processing circuit <b>41</b> of the imaging information calculation section <b>35</b>, i.e., the data represents the marker coordinate point. The marker coordinate point is expressed by a two-dimensional coordinate system for representing a position in a plane that corresponds to a pickup image, and the marker coordinate data <b>114</b> represents coordinate values the two-dimensional coordinate system.
p-0204The operation button data <b>115</b> is data representing an input state of each of the operation buttons <b>32</b><i>a </i>to <b>32</b><i>i </i>provided on the operating device <b>7</b>.
p-0205Note that the first operation data <b>111</b> may include only part of the data items <b>112</b> to <b>115</b> so long as the operation by the player using the operating device <b>7</b> can be represented. Also, when the operating device <b>7</b> includes other input means (e.g., a touch panel, an analog stick, etc.), the first operation data <b>111</b> may include data representing operations on those other input means. Note that when the movement of the operating device <b>7</b> itself is used as a game operation, as in the present embodiment, the first operation data <b>111</b> includes data whose value changes in accordance with the movement of the operating device <b>7</b> itself, as in the case of the acceleration data <b>112</b>, the angular rate data <b>113</b>, and the marker coordinate data <b>114</b>.
p-0206The second operation data <b>116</b> is data representing the user's operation on the hand-held device <b>9</b>. The second operation data <b>116</b> is transmitted by the hand-held device <b>9</b> and acquired by the game apparatus <b>3</b>. The second operation data <b>116</b> includes acceleration data <b>117</b>, angular rate data <b>118</b>, touch position data <b>119</b>, and operation button data <b>120</b>. Note that the main memory may store the second operation data up to a predetermined number of pieces counted from the latest piece (the last acquired piece).
p-0207The acceleration data <b>117</b> is data representing acceleration (acceleration vector) detected by the acceleration sensor <b>89</b>. Here, the acceleration data <b>117</b> represents three-dimensional acceleration whose components are acceleration values associated with the directions of three axes, X-, Y-, and Z-axes, shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, but in another embodiment, the data may represent acceleration associated with any one or more directions.
p-0208The angular rate data <b>118</b> is data representing angular rates detected by the gyroscope <b>90</b>. Here, the angular rate data <b>118</b> represents angular rates about three axes, X-, Y-, and Z-axes, shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, but in another embodiment, the data may represent an angular rate about each of any one or more axes.
p-0209The touch position data <b>119</b> is data representing a position at which an input has been made to the input surface of the touch panel <b>63</b>. Here, the touch position data <b>119</b> represents a coordinate value in a two-dimensional coordinate system, which indicates the position in the input surface.
p-0210The operation button data <b>120</b> is data representing an input state of each of the operation buttons <b>64</b>A to <b>64</b>L provided on the hand-held device <b>9</b>.
p-0211Note that the second operation data <b>116</b> may simply include only one of the data items <b>117</b> to <b>120</b> so long as the operation by the player using the hand-held device <b>9</b> can be represented. Also, when the hand-held, device <b>9</b> includes other input means (e.g., a touch pad, the image pickup means of the operating device <b>7</b>, etc.), the second operation data <b>116</b> may include data representing operations on those other input means. Note that when the movement of the hand-held device <b>9</b> itself is used as a game operation, as in the present embodiment, the second operation data <b>116</b> may include data whose value changes in accordance with the movement of the hand-held device <b>9</b> itself, as in the case of the acceleration data <b>117</b> and the angular rate data <b>118</b>.
p-0212The process data <b>121</b> is data to be used in the game process to be described later (<figref idrefs="DRAWINGS">FIG. 14</figref>). The process data <b>121</b> includes first attitude data <b>122</b>, second attitude data <b>123</b>, first object data <b>124</b>, second object data <b>125</b>, first camera data <b>126</b>, and second camera data <b>127</b>. Note that in addition to the data shown in <figref idrefs="DRAWINGS">FIG. 13</figref>, the process data <b>121</b> includes various types of data to be used in the game process, e.g., data representing various parameters being set for various objects (e.g., a target object and a bullet object).
p-0213The first attitude data <b>122</b> is data representing the attitude of the operating device <b>7</b>. In the present embodiment, the first attitude data <b>122</b> is calculated based on the acceleration data <b>112</b> and the angular rate data <b>113</b> included in the first operation data <b>111</b>. The method for calculating the first attitude data <b>122</b> will be described later.
p-0214The second attitude data <b>123</b> is data representing the attitude of the hand-held device <b>9</b>. In the present embodiment, the second attitude data <b>123</b> is calculated based on the acceleration data <b>117</b> and the angular rate data <b>118</b> included in the second operation data <b>116</b>. The method for calculating the second attitude data <b>123</b> will be described later.
p-0215The first object data <b>124</b> is data representing the position and the attitude of the airplane (airplane object) <b>101</b> to be manipulated by the first player. As will be described in detail later, the first object data <b>124</b> is calculated based on the first attitude data <b>122</b> such that the travel direction of the airplane <b>101</b> changes in accordance with the attitude of the operating device <b>7</b>. Note that in addition to the position and the attitude of the airplane, the first object data <b>124</b> may represent other parameters (e.g., moving speed) being set for the airplane <b>101</b>.
p-0216The second object data <b>125</b> is data representing the direction (the bullet shooting direction) of the gun (gun object) <b>102</b> to be manipulated by the second player. As will be described in detail later, the second object data <b>125</b> is calculated based on the second attitude data <b>123</b> such that the direction of the gun <b>102</b> corresponds to the attitude of the hand-held device <b>9</b>.
p-0217The first camera data <b>126</b> is data representing an arrangement of a first virtual camera for generating a first game image to be displayed on the television <b>2</b>. Concretely, the first camera data <b>126</b> represents the position and the attitude of the first virtual camera in a virtual game space. As will be described in detail later, the first camera data <b>126</b> is calculated based on the position of the airplane <b>101</b> represented by the first object data <b>124</b>, such that a first game image, including the airplane <b>101</b>, is generated. Note that the first camera data <b>126</b> may include, for example, data representing the angle of view (the range of the field of view) of the first virtual camera.
p-0218The second camera data <b>127</b> is data representing an arrangement of a second virtual camera for generating a second game image to be displayed on the lower LCD <b>62</b> of the hand-held device <b>9</b>. Concretely, the second camera data <b>127</b> represents the position and the attitude of the second virtual camera in a virtual game space. As will be described in detail later, the second camera data <b>127</b> is calculated based on the position of the airplane <b>101</b> represented by the first object data <b>124</b> and the second attitude data <b>123</b>, such that a game space image is generated as viewed from the position of the canon <b>102</b> in the direction pointed by the canon <b>102</b>. Note that the second camera data <b>127</b> may include, for example, data representing the angle of view (the range of the field of view) of the second virtual camera.
p-0219Next, the process to be performed by the game apparatus <b>3</b> will be described in detail with reference to <figref idrefs="DRAWINGS">FIGS. 14 to 16</figref>. <figref idrefs="DRAWINGS">FIG. 14</figref> is a main flowchart showing a flow of the process to be performed by the game apparatus <b>3</b>. When the game apparatus <b>3</b> is powered on, the CPU <b>10</b> of the game apparatus <b>3</b> executes a boot program stored in an unillustrated boot ROM, thereby initializing each unit, including the main memory. The game program stored in the optical disc <b>4</b> is loaded to the main memory, and the CPU <b>10</b> starts executing the game program. Note that the game apparatus <b>3</b> may be configured such that the game program stored in the optical disc <b>4</b> is executed immediately after the power-on or such that an internal program for displaying a predetermined menu screen is initially executed after the power-on and then the game program stored in the optical disc <b>4</b> is executed when the user provides an instruction to start the game. The flowchart of <figref idrefs="DRAWINGS">FIG. 14</figref> illustrates a process to be performed when the processes described above are completed.
p-0220Note that processing in each step of the flowcharts shown in <figref idrefs="DRAWINGS">FIGS. 14</figref>, <b>15</b>, and <b>21</b> is merely illustrative, and if similar results can be achieved, the processing order of the steps may be changed. In addition, values of variables and thresholds to be used in determination steps are also merely illustrative, and other values may be used appropriately. Furthermore, while the present embodiment is described on the premise that the CPU <b>10</b> performs processing in each step of the flowcharts, part of the steps in the flowcharts may be performed by a processor other than the CPU <b>10</b> or by specialized circuits.
p-0221First, in step S<b>1</b>, the CPU <b>10</b> performs an initialization process. The initialization process is, for example, a process of constructing a virtual space, placing objects appearing in the virtual space at their initial positions, and setting initial values of various parameters to be used in the game process. Note that in the initialization process of the present embodiment, data representing the initial position and attitude of the airplane <b>101</b> is stored to the main memory as first object data <b>124</b>. Following step S<b>1</b>, the process of step S<b>2</b> is performed. Thereafter, a process loop including a series of processing in steps S<b>2</b> to S<b>8</b> is repeatedly performed once per a predetermined period of time (e.g., one frame period).
p-0222In step S<b>2</b>, the CPU <b>10</b> acquires operation data from both the operating device <b>7</b> and the hand-held device <b>9</b>. The operating device <b>7</b> repeats transmitting data originally outputted from the acceleration sensor <b>37</b>, the gyroscope unit <b>6</b>, the imaging information calculation section <b>35</b> and the operating section <b>32</b>, to the game apparatus <b>3</b> as first operation data, and therefore the game apparatus <b>3</b> sequentially receives the data from the operating device <b>7</b> and stores the received data to the main memory as first operation data <b>111</b>. In step S<b>12</b>, the CPU <b>10</b> reads the latest first operation data <b>111</b> from the main memory. Also, the hand-held device <b>9</b> repeats transmitting data originally outputted from the acceleration sensor <b>89</b>, the gyroscope <b>90</b>, the touch panel <b>63</b>, and the operation button group <b>64</b>, to the game apparatus <b>3</b> as second operation data, and therefore the game apparatus <b>3</b> sequentially receives the data from the hand-held device <b>9</b>, and stores the received data to the main memory as second operation data <b>116</b>. In step S<b>12</b>, the CPU <b>10</b> reads the latest second operation data <b>116</b> from the main memory. Following step S<b>2</b>, the process of step S<b>3</b> is performed.
p-0223In step S<b>3</b>, the CPU <b>10</b> performs a game control process. The game control process is a process for causing the game to progress by performing, for example, the processing of moving objects in accordance with the players' game operations. In the game of the present embodiment, the game control process is performed based on the players' operations to control, for example, the actions of the airplane <b>101</b> and the gun <b>102</b> and the positions of the virtual cameras. Hereinafter, referring to <figref idrefs="DRAWINGS">FIG. 15</figref>, the game control process will be described in detail.
p-0224<figref idrefs="DRAWINGS">FIG. 15</figref> is a flowchart illustrating a detailed flow of the game control process (step S<b>3</b>) shown in <figref idrefs="DRAWINGS">FIG. 14</figref>. In the game control process, the CPU <b>10</b> initially calculates the attitude of the operating device <b>7</b> in step S<b>11</b>. While the attitude of the operating device <b>7</b> may be calculated by any method so long as it is calculated based on the first operation data <b>111</b>, in the present embodiment, it is calculated based on acceleration data <b>112</b> and angular rate data <b>113</b>. Hereinafter, the method for calculating the attitude of the operating device <b>7</b> will be described.
p-0225First, the CPU <b>10</b> calculates the attitude of the operating device <b>7</b> based on the angular rate data <b>113</b> stored in the main memory. While any method can be employed for calculating the attitude of the operating device <b>7</b> based on an angular rate, the attitude is calculated using the last attitude (the last calculated attitude) and the current angular rate (the angular rate acquired by step S<b>2</b> of the current process loop). Concretely, the CPU <b>10</b> calculates the attitude by rotating the last attitude at the current angular rate for a unit time. Note that the last attitude is represented by the first attitude data <b>122</b> stored in the main memory, and the current angular rate is indicated by the angular rate data <b>113</b> stored in the main memory. Accordingly, the CPU <b>10</b> reads the first attitude data <b>122</b> and the angular rate data <b>113</b> from the main memory, and calculates the attitude of the operating device <b>7</b>. Data representing the “angular rate-based attitude” thus calculated is stored to the main memory.
p-0226Note that in the case where the attitude is calculated based on the angular rate, it is desirable to set an initial attitude. Specifically, in the case where the attitude of the operating device <b>7</b> is calculated based on the angular rate, the CPU <b>10</b> initially calculates an initial attitude of the operating device <b>7</b>. The initial attitude of the operating device <b>7</b> may be calculated based on acceleration data. Alternatively, with the operating device <b>7</b> being set in a specific attitude, the player may perform a predetermined operation, so that the specific attitude at the time of the predetermined operation is used as the initial attitude. Note that in the case where the attitude of the operating device <b>7</b> is calculated as an absolute attitude with respect to a predetermined direction in the space where the operating device <b>7</b> is located, the initial attitude may be calculated, but in the case, for example, where the attitude of the operating device <b>7</b> is calculated as a relative attitude with respect to the attitude of the operating device <b>7</b> at the beginning of the game, the initial attitude does not have to be calculated.
p-0227Next, the CPU <b>10</b> corrects the attitude of the operating device <b>7</b> calculated based on the angular rate, based on the acceleration data <b>112</b>. Concretely, the CPU <b>10</b> reads the acceleration data <b>112</b> from the main memory, and calculates the attitude of the operating device <b>7</b> based on the acceleration data <b>112</b>. Here, when the operating device <b>7</b> is in almost static state, acceleration applied to the operating device <b>7</b> and detected by the acceleration sensor <b>37</b> represents gravitational acceleration. Accordingly, the direction of the detected gravitational acceleration (the direction of gravity) can be calculated using acceleration data <b>112</b> outputted by the acceleration sensor <b>37</b>, and therefore the direction (attitude) of the operating device <b>7</b> with respect to the direction of gravity can be calculated based on the acceleration data <b>112</b>. In this manner, in the situation where the acceleration sensor <b>37</b> detects the gravitational acceleration, the direction (attitude) of the operating device <b>7</b> with respect to the direction of gravity can be calculated based on the acceleration data <b>112</b>. Data representing the “acceleration-based attitude” thus calculated is stored to the main memory.
p-0228Once the acceleration-based attitude is calculated, the CPU <b>10</b> then corrects the angular rate-based attitude using the acceleration-based attitude. Concretely, the CPU <b>10</b> reads the data representing the angular rate-based attitude and the data representing the acceleration-based attitude from the main memory, and performs a correction to cause the attitude based on the angular rate data to approach the attitude based on the acceleration data at a predetermined rate. The predetermined rate may be a predetermined constant or may be set in accordance with, for example, the acceleration indicated by the acceleration data <b>112</b>. In addition, the acceleration-based attitude cannot be calculated for a rotational direction about the direction of gravity, and therefore the CPU <b>10</b> may be configured not to perform a correction related to the rotational direction. In the present embodiment, data representing the post-correction attitude thus obtained is stored to the main memory as first attitude data <b>122</b>. Following step S<b>11</b>, the process of step S<b>12</b> is performed.
p-0229By the aforementioned process of step S<b>11</b>, the attitude of the operating device <b>7</b> is calculated. Here, among other methods for calculating the attitude of the operating device <b>7</b>, the method using an angular rate makes it possible to calculate the attitude however the operating device <b>7</b> is moving. On the other hand, the method using an angular rate calculates the attitude by cumulatively adding angular rates that are sequentially detected, and therefore there is a possibility of poor accuracy due to, for example, error accumulation or poor accuracy of the gyroscope due to a so-called temperature drift problem. Also, the method using acceleration does not cause error accumulation, but when the operating device <b>7</b> is being moved vigorously, attitude cannot be calculated with accuracy (because the direction of gravity cannot be detected with precision). In the present embodiment, the aforementioned two characteristically different methods are used, and therefore the attitude of the operating device <b>7</b> can be calculated with higher precision. While in the present embodiment, the game apparatus <b>3</b> calculates the attitude of the operating device <b>7</b> using the above two methods, in another embodiment, the attitude may be calculated using one of the two methods.
p-0230Also, in another embodiment, the attitude may be calculated based on marker coordinate data <b>114</b> in addition to (or in place of) the acceleration and the angular rate. Alternatively, the attitude calculated based on the acceleration and/or the angular rate may be corrected using the marker coordinate data <b>114</b>.
p-0231Hereinafter, attitude calculation and correction methods based on the marker coordinate data <b>114</b> will be described. The marker coordinate data <b>114</b> indicates the positions of markers <b>8</b>R and <b>8</b>L in a pickup image, and therefore based on these positions, the attitude of the operating device <b>7</b> can be calculated for a roll direction (a rotational direction about the Z-axis). Specifically, the attitude of the operating device <b>7</b> can be calculated for the roll direction based on the slope of a straight line extending between the positions of the markers <b>8</b>R and <b>8</b>L in the pickup image. Also, in the case where the position of the operating device <b>7</b> with respect to the marker device <b>8</b> can be identified (e.g., in the case where the operating device <b>7</b> can be assumed to be positioned in front of the marker device <b>8</b>), the attitude of the operating device <b>7</b> can be calculated for pitch and yaw directions based on the position of the marker device <b>8</b> in the pickup image. For example, when the positions of the markers <b>8</b>R and <b>8</b>L move left in the pickup image, it is possible to determine that the operating device <b>7</b> changes its direction (attitude) to right. In this manner, based on the positions of the markers <b>8</b>R and <b>8</b>L, the attitude of the operating device <b>7</b> can be calculated for the pitch and yaw directions. In this manner, the attitude of the operating device <b>7</b> can be calculated based on the marker coordinate data <b>114</b>.
p-0232Furthermore, in the case where the marker coordinate data <b>114</b> is used to correct the acceleration-based attitude and/or the angular rate-based attitude, the CPU <b>10</b> performs a correction to cause the acceleration-based attitude and/or the angular rate-based attitude to approach the attitude based on the marker coordinate data <b>114</b> at a predetermined rate. The predetermined rate may be a predetermined constant. Also, the correction may be performed simply for one or two directions from among the roil direction, the pitch direction, and the yaw direction. For example, in the case where the marker coordinate data <b>114</b> is used, the attitude can be calculated with accuracy for the roll direction, and therefore the CPU <b>10</b> may correct only the roll direction using the attitude based on the marker coordinate data <b>114</b>. Moreover, when the image pickup element <b>40</b> of the operating device <b>7</b> does not pick up an image of the marker device <b>8</b>, the attitude based on the marker coordinate data <b>114</b> cannot be calculated, and therefore, in this case, the correction process using the marker coordinate data <b>114</b> does not have to be performed.
p-0233In step S<b>12</b>, the CPU <b>10</b> calculates the position and the attitude of the airplane <b>101</b> based on the attitude of the operating device <b>7</b>. In the present embodiment, the travel direction of the airplane <b>101</b> is calculated based on the attitude of the operating device <b>7</b>. Concretely, the travel direction of the airplane <b>101</b> is calculated such that the airplane <b>101</b> moves straight when the operating device <b>7</b> is oriented with its tip (the end in the Z-axis positive direction shown in <figref idrefs="DRAWINGS">FIG. 3</figref>) pointing in a predetermined front direction, the airplane <b>101</b> turns right (left) when the tip points right (left) from the front direction, and the airplane <b>101</b> turns up (down) when the tip points upward (downward) from the front direction. In addition, the position of the airplane <b>101</b> is calculated by moving the current position of the airplane <b>101</b> by a predetermined moving distance in the calculated travel direction. Specifically, in the present embodiment, the moving speed of the airplane <b>101</b> is constant, and the travel direction of the airplane <b>101</b> is controlled based on the first operation data <b>111</b>. Note that “the current position of the airplane <b>101</b>” is represented by the first object data <b>124</b> stored in the main memory. Also, the attitude of the airplane <b>101</b> is calculated in accordance with the travel direction. Concretely, the attitude of the airplane <b>101</b> is calculated to be horizontal when the airplane <b>101</b> moves straight, right-side (left-side) down when the airplane <b>101</b> turns right (left), and rear-side (front-side) down when the airplane <b>101</b> turns upward (downward).
p-0234In this manner, in step S<b>12</b>, the CPU <b>10</b> reads the first attitude data <b>122</b> and the first object data <b>124</b> from the main memory, and calculates the travel direction based on the first attitude data <b>122</b>. Then, the CPU <b>10</b> calculates a new position of the airplane <b>101</b> based on the calculated travel direction and the position of the airplane <b>101</b> that is represented by the first object data <b>124</b>. Furthermore, the CPU <b>10</b> calculates the attitude of the airplane <b>101</b> based on the travel direction. Data representing the calculated position and attitude of the airplane <b>101</b> is stored to the main memory as first object data <b>124</b>. Following step S<b>12</b>, the process of step S<b>13</b> is performed.
p-0235Note that in another embodiment, the action of the airplane <b>101</b> may be controlled arbitrarily. For example, while in the present embodiment, the moving speed of the airplane <b>101</b> is constant, in another embodiment, the CPU <b>10</b> may control the moving speed (e.g., depending on whether or not a predetermined button on the operating device <b>7</b> has been pressed). Furthermore, the action of the airplane <b>101</b> is controlled not necessarily based on the attitude of the operating device <b>7</b> but an operation on the operating device <b>7</b>. For example, in another embodiment, the travel direction of the airplane <b>101</b> may be controlled based on an operation on the cross button <b>32</b><i>a. </i>
p-0236In step S<b>13</b>, the CPU <b>10</b> controls the first virtual camera based on the position and the attitude of the airplane <b>101</b>. In the present embodiment, the first virtual, camera is set such that a game space image with the airplane <b>101</b> as viewed from behind is generated (see <figref idrefs="DRAWINGS">FIG. 12</figref>). Concretely, the CPU <b>10</b> reads the first object data <b>124</b> from the main memory, and calculates a position at a predetermined distance from the rear of the airplane <b>101</b> as the position of the first virtual camera. Furthermore, the CPU <b>10</b> also calculates the attitude of the first virtual camera such that the line-of-sight direction matches the direction from the calculated position toward the airplane <b>101</b>. Then, the CPU <b>10</b> stores data representing the calculated position and attitude of the first virtual camera to the main memory as first camera data <b>126</b>. Following step S<b>13</b>, the process of step S<b>14</b> is performed.
p-0237As described in conjunction with step S<b>13</b>, the first virtual camera is controlled based on the first operation data. Here, in another embodiment, the first virtual camera may be controlled in any arbitrary manner. For example, the first virtual camera may be disposed at the position of the airplane <b>101</b> such that a game space image as viewed from the position of the airplane <b>101</b> is generated. Alternatively, for example, the first virtual camera may be positioned above the airplane <b>101</b> such that an image with the airplane <b>101</b> as viewed from above is generated. Note that in the case where, as in the present embodiment, the second game image is a so-called first-person perspective image and does not include the airplane <b>101</b>, it might be difficult to comprehend situations around the airplane <b>101</b> simply from the second game image. Therefore, to allow each player to comprehend situations around the airplane <b>101</b>, the first virtual camera may be controlled such that a first game image including the airplane <b>101</b> is generated.
p-0238In step S<b>14</b>, the CPU <b>10</b> calculates the attitude of the hand-held device <b>9</b>. The attitude of the hand-held device <b>9</b> may be calculated by any method so long as it is calculated based on the second operation data <b>116</b>. In the present embodiment, the attitude of the hand-held device <b>9</b> is calculated in the same manner as the attitude of the operating device <b>7</b>. Specifically, the CPU <b>10</b> initially calculates the attitude of the hand-held device <b>9</b> by reading the second attitude data <b>123</b> and the angular rate data <b>118</b> from the main memory and rotating the previous attitude with the current angular rate for a unit time. Then, the CPU <b>10</b> reads the acceleration data <b>117</b> from the main memory, and calculates the attitude of the hand-held device <b>9</b> based on the acceleration data <b>117</b>. Furthermore, the CPU <b>10</b> performs a correction such that an attitude based on the angular rate data <b>118</b> approaches the attitude based on the acceleration data <b>117</b> at a predetermined rate, thereby calculating the final attitude of the hand-held device <b>9</b>. Thereafter, data representing the attitude thus corrected and calculated is stored to the main memory as second attitude data <b>123</b>. Following step S<b>14</b>, the process of step S<b>15</b> is performed.
p-0239In step S<b>15</b>, the CPU <b>10</b> calculates the position of the second virtual camera based on the position of the airplane <b>101</b>. In the present embodiment, the second virtual camera is disposed at a position determined by the position of the airplane <b>101</b>, concretely, at the position of the gun <b>102</b>. Specifically, the CPU <b>10</b> reads the first object data <b>124</b> from the main memory and calculates the position of the gun <b>102</b> based on the position of the airplane <b>101</b> as the position of the second virtual camera. Note that in another embodiment, the position of the second virtual camera may be determined in an arbitrary manner, and for example, the second virtual camera may be positioned at a predetermined distance behind the gun <b>102</b>. Furthermore, in the present embodiment, the second game image is a first-person perspective image, and therefore the gun <b>102</b> is not displayed in the second game image, but in another embodiment, the position of the second virtual camera may be set such that an image with the gun <b>102</b> as viewed from behind is generated. Following step S<b>15</b>, the process of step S<b>16</b> is performed.
p-0240In step S<b>16</b>, the CPU <b>10</b> calculates the attitude of the second virtual camera based on the attitude of the hand-held device <b>9</b>. Specifically, the CPU <b>10</b> reads the second attitude data <b>123</b> from the main memory, and calculates the attitude of the second virtual camera based on the second attitude data <b>123</b>. In the present embodiment, the attitude of the second virtual camera is calculated so as to correspond to the attitude of the hand-held device <b>9</b>. Hereinafter, referring to <figref idrefs="DRAWINGS">FIG. 16</figref>, a method for calculating the attitude of the second virtual camera based on the attitude of the hand-held device <b>9</b> will be described.
p-0241<figref idrefs="DRAWINGS">FIG. 16</figref> is a diagram illustrating the relationship between the attitude of the hand-held device <b>9</b> and the attitude of the second virtual camera. In <figref idrefs="DRAWINGS">FIG. 16</figref>, vectors V<b>1</b> to V<b>3</b> represent attitudes of the hand-held device <b>9</b>, concretely, they represent directions toward the front of the hand-held device <b>9</b> (the directions pointing at the screen of the lower LCD <b>62</b> perpendicularly from the front to back side thereof). Also, three vectors v<b>1</b> to v<b>3</b> represent attitudes of the second virtual camera <b>106</b>, concretely, they represent line-of-sight directions (image shooting directions) of the second virtual camera <b>106</b>.
p-0242The top column of <figref idrefs="DRAWINGS">FIG. 16</figref> indicates a case where the hand-held device <b>9</b> is in a predetermined reference attitude. Any attitude can be set as the reference attitude of the hand-held device <b>9</b>, for example, so long as vector V<b>1</b> horizontally points to the television <b>2</b> (with the right-to-left direction of the hand-held device <b>9</b> (i.e., the x-axis direction shown in <figref idrefs="DRAWINGS">FIG. 8</figref>) pointing horizontally). When the hand-held device <b>9</b> is in the reference attitude, the second virtual camera <b>106</b> is also in the reference attitude. Any attitude can be used as the reference attitude of the second virtual camera <b>106</b>, so long as the attitude is in a predetermined direction in the game space. Specifically, in the present embodiment, when the hand-held device <b>9</b> is in the reference attitude, the attitude of the second virtual camera <b>106</b> is calculated such that the second virtual camera <b>106</b> faces a certain direction (i.e., the aforementioned predetermined direction) in the game space.
p-0243Also, the attitude of the second virtual camera <b>106</b> is set to an attitude in which the second virtual camera <b>106</b> in the reference attitude is rotated in a direction and an amount corresponding to the rotation of the hand-held device <b>9</b> from the reference attitude. For example, the attitude is calculated such that, when the hand-held device <b>9</b> in the reference attitude is rotated to the right as shown in the middle column of <figref idrefs="DRAWINGS">FIG. 16</figref>, the second virtual camera <b>106</b> turns right from the reference attitude. In addition, although not shown, when the hand-held device <b>9</b> in the reference attitude is rotated to the left, the attitude is calculated such that the second virtual camera <b>106</b> turns left from the reference attitude. Note that in the foregoing, turning “right” and “left” refers to rotational directions as viewed in a vertically downward direction in the real or virtual space.
p-0244Also, when the hand-held device <b>9</b> in the reference attitude turns downward, as shown in the bottom column of <figref idrefs="DRAWINGS">FIG. 16</figref>, the attitude is calculated such that the second virtual camera <b>106</b> in the reference attitude turns downward. Moreover, although not shown, when the hand-held device <b>9</b> in the reference attitude turns upward, the attitude is calculated such that the second virtual camera <b>106</b> in the reference attitude turns upward. Furthermore, although not shown, when the hand-held device <b>9</b> in the reference attitude turns about an axis perpendicular to the screen of the lower LCD <b>62</b>, the attitude is calculated such that the second virtual camera <b>106</b> in the reference attitude turns about an axis perpendicular to the line-of-sight direction. In this manner, in the present embodiment, the attitude of the second virtual camera <b>106</b> is calculated such that the attitude of the second virtual camera <b>106</b> in the virtual space matches the attitude of the hand-held device <b>9</b> in the real space.
p-0245Note that, in another embodiment, the attitude of the second virtual camera <b>106</b> does not always match the attitude of the hand-held device <b>9</b>, and the attitude of the second virtual camera <b>106</b> may be calculated so as to change in accordance with the attitude of the hand-held device <b>9</b>. Specifically, the amount of rotation of the second virtual camera <b>106</b> might not always match the amount of rotation of the hand-held device <b>9</b>, and with the amount of rotation of the second virtual camera <b>106</b> being set to be greater than the amount of rotation of the hand-held device <b>9</b>, the second virtual camera <b>106</b> may be sufficiently controlled by simply moving the hand-held device <b>9</b> to a slight degree. In addition, by setting the amount of rotation of the second virtual camera <b>106</b> to be less than the amount of rotation of the hand-held device <b>9</b>, it may become possible for the player to finely adjust the direction of the second virtual camera <b>106</b>. Moreover, the attitude of the second virtual camera <b>106</b> may be limited, for example, such that the line-of-sight direction and the vertically upward direction in the game space make an angle of a predetermined value or more (so as not to angle the second virtual camera <b>106</b> excessively upward).
p-0246Also, in the present embodiment, the attitude of the second virtual camera <b>106</b> is calculated so as to be a specific reference attitude when the attitude of the hand-held device <b>9</b> is the reference attitude. Specifically, when the hand-held device <b>9</b> takes a specific attitude in the real space, the attitude of the second virtual camera is fixed within the virtual space. Accordingly, in the process of step S<b>16</b>, a predetermined attitude which is fixed within the game space is set as the reference attitude (of the second virtual camera <b>106</b>), and the degree and direction of tilt from the reference attitude are determined in accordance with the second operation data <b>116</b>.
p-0247Here, in another embodiment, the CPU <b>10</b> may set an attitude determined based on the first operation data <b>111</b> as the reference attitude of the second virtual camera <b>106</b>. For example, the CPU <b>10</b> may set the attitude of the airplane <b>101</b> as the reference attitude. As a result, the attitude of the second virtual camera can be calculated using the attitude of the airplane <b>101</b> as a reference, and the attitude of the second virtual camera can change in accordance with not only the attitude of the hand-held device <b>9</b> but also the attitude of the airplane <b>101</b>. Note that such an attitude can be calculated by converting the attitude calculated in step S<b>16</b> (using the predetermined attitude as a reference) into an attitude using the attitude of the airplane <b>101</b> as a reference. Concretely, when the attitude calculated in step S<b>16</b> is expressed by a rotation matrix which represents a rotation using the predetermined attitude as a reference, the CPU <b>10</b> can calculate “the attitude using the attitude of the airplane <b>101</b> as a reference” by rotating the attitude of the airplane <b>101</b> with the rotation matrix.
p-0248As in the present embodiment, when an attitude fixed within the game space is set as the reference attitude, the attitude of the second virtual camera is determined independently of the attitude of the airplane <b>101</b>, and therefore the second player can readily change the attitude of the second virtual camera to a desired attitude. On the other hand, the attitude of the airplane <b>101</b> is set as the reference attitude, the attitude of the second virtual camera changes as the attitude of the airplane <b>101</b> changes, and therefore while viewing the second game image, the second player can play the game with the feeling as if he/she were actually riding in the airplane <b>101</b>, which makes it possible to enhance the realistic feel of the game.
p-0249By the processes of steps S<b>15</b> and S<b>16</b>, the position and the attitude of the second virtual camera <b>106</b> are calculated. Data representing the calculated position and attitude of the second virtual camera <b>106</b> is stored to the main memory as second camera data <b>127</b>. In the present embodiment, the position of the second virtual camera <b>106</b> is calculated based on the position of the airplane <b>101</b> that has been calculated based on the first operation data <b>111</b>, and therefore is controlled based on the first operation data <b>111</b>. Furthermore, the attitude of the second virtual camera <b>106</b> is calculated based on the attitude of the hand-held device <b>9</b> that has been calculated based on the second operation data <b>116</b>, and therefore is controlled based on the second operation data <b>116</b>. Following step S<b>16</b>, the process of step S<b>17</b> is performed.
p-0250In step S<b>17</b>, the CPU <b>10</b> calculates the position and the direction of the gun <b>102</b>. In the present embodiment, the position of the gun <b>102</b> is set at the position of the second virtual camera <b>106</b>. In addition, the direction of the gun <b>102</b> is calculated so as to match the line-of-sight direction of the second virtual camera <b>106</b>. Accordingly, the CPU <b>10</b> reads the second camera data <b>127</b> from the main memory, and calculates the position of the gun <b>102</b> based on the position of the second virtual camera <b>106</b> and also the direction of the gun <b>102</b> based on the attitude of the second virtual camera <b>106</b>. Note that the direction of the gun <b>102</b> can be calculated based on the second attitude data <b>123</b>. Data representing the calculated direction of the gun <b>102</b> is stored to the main memory as second object data <b>125</b>. Following step S<b>17</b>, the process of step S<b>18</b> is performed.
p-0251In step S<b>18</b>, the CPU <b>10</b> controls bullet firing in accordance with the second player's operation. In the present embodiment, when a predetermined button (e.g., the operation button <b>64</b>B) of the hand-held device <b>9</b> is pressed, the CPU <b>10</b> controls the gun <b>102</b> to fire a bullet. Specifically, the CPU <b>10</b> reads the operation button data <b>120</b> included in the second operation data <b>116</b> from the main memory, and refers to the operation button data <b>120</b> to determine whether or not the predetermined button has been pressed. If the predetermined button has been pressed, the CPU <b>10</b> then generates a new bullet (bullet object) for the gun <b>102</b>, and moves the bullet at a predetermined moving speed in a direction from the position of the gun <b>102</b> toward a position pointed at by the gun <b>102</b>. On the other hand, if the predetermined button has not been pressed, the CPU <b>10</b> does not perform any process. Following step S<b>18</b>, the process of step S<b>19</b> is performed.
p-0252In step S<b>19</b>, the CPU <b>10</b> performs other game control processes. The other game control processes include, for example, processes for controlling actions of objects (targets and fired bullets) other than the airplane <b>101</b>, determining whether or not bullets have hit (contacted) targets, and calculating points. Game data (e.g., data representing positions of the objects as mentioned above and data representing points) resulting from the other game control processes is stored to the main memory. After step S<b>19</b>, the CPU <b>10</b> ends the game control process.
p-0253In the game control process, the action of the predetermined object (airplane <b>101</b>) arranged in the game space is controlled based on the first operation data <b>111</b> (steps S<b>11</b> and S<b>12</b>), and furthermore, the second virtual camera is controlled to be situated at a position determined by the position of the object (step S<b>15</b>). As a result, the first player can manipulate the object, and the display range of the game space represented by the second game image changes in accordance with movement of the object. Therefore, the game control process makes it possible to realize a game to be played by two players in concert with each other, in which the first player moves an object and the second player performs a predetermined game operation (here, a shooting operation) while viewing the game space from the viewpoint which moves together with the object. Moreover, in the present embodiment, since the range to be displayed on the lower LCD <b>62</b> can be changed by the second player him/herself changing the direction of the second virtual camera (step S<b>16</b>), the second player's operation can be fully reflected in game progression, so that not only the first player moving the object but also the second player can perform active game operations.
p-0254Note that in the present embodiment, the second operation data <b>116</b> does not affect control over the first virtual camera, but in another embodiment, the first virtual camera may be controlled based on the first operation data <b>111</b> as well as the second operation data <b>116</b>.
p-0255Returning to the description of <figref idrefs="DRAWINGS">FIG. 14</figref>, the process of step S<b>4</b> is performed following the game control process. In step S<b>4</b>, the CPU <b>10</b> and the GPU <b>11</b><i>b </i>collaborate to generate a first game image. Specifically, the CPU <b>10</b> and the GPU <b>11</b><i>b </i>collaborate to read the first camera data <b>126</b> from the main memory and generate a game space image as viewed from the first virtual camera (a game space image as viewed from the position of the first virtual camera and in the attitude of the first virtual camera) as the first game image. In the present embodiment, a game space image with the airplane <b>101</b> being viewed from behind is generated as the first game image (see <figref idrefs="DRAWINGS">FIG. 10</figref>). The generated first game image is stored to the VRAM <b>11</b><i>d</i>. Following step S<b>4</b>, the process of step S<b>5</b> is performed.
p-0256In step S<b>5</b>, the CPU <b>10</b> and the CPU <b>11</b><i>b </i>collaborate to generate a second game image. Specifically, the CPU <b>10</b> and the GPU <b>11</b><i>b </i>collaborate to read the second camera data <b>127</b> from the main memory and generate a game space image as viewed from the second virtual camera (a game space image as viewed from the position of the second virtual camera and in the attitude of the second virtual camera) as the second game image. In the present embodiment, a game space image as viewed in a direction from the position of the airplane <b>101</b> (the gun <b>102</b>) toward a position pointed at by the gun <b>102</b> with a sight <b>104</b> superimposed thereon is generated as the second game image (see <figref idrefs="DRAWINGS">FIG. 11</figref>). The generated second game image is stored to the VRAM <b>11</b><i>d</i>. Note that in the present embodiment, the gun <b>102</b> is not rendered when generating the second game image, so that the generated second game image does not include any image of the gun <b>102</b>. Following step S<b>5</b>, the process of step S<b>6</b> is performed.
p-0257in step S<b>6</b>, the CPU <b>10</b> outputs the first game image generated in step S<b>4</b> to the television <b>2</b>. Concretely, the CPU <b>10</b> sends image data for the first game image stored in the VRAM <b>11</b><i>d </i>to the AV-IC <b>15</b>, and the AV-IC <b>15</b> outputs the image data to the television <b>2</b> via the AV connector <b>16</b>. As a result, the first game image is displayed on the television <b>2</b>. Following step S<b>6</b>, the process of step S<b>7</b> is performed.
p-0258In step S<b>7</b>, the CPU <b>10</b> outputs the second game image generated in step S<b>5</b> to the hand-held device <b>9</b>. Concretely, the CPU <b>10</b> sends image data for the second game image stored in the VRAM <b>11</b><i>d </i>to the image compression section <b>27</b>, and the image compression section <b>27</b> performs a predetermined compression process on the data before the high-speed wireless communication module <b>28</b> transmits the data to the hand-held device <b>9</b> via the antenna <b>29</b>. The hand-held device <b>9</b> receives the image data transmitted from the game apparatus <b>3</b> at the wireless communication module <b>86</b>, and causes the image decompression section to perform a predetermined decompression process on the received image data. The CPU <b>811</b> outputs the decompressed image data to the lower LCD <b>62</b> after appropriately storing the data to the VRAM <b>813</b>. As a result, the second game image is displayed on the lower LCD <b>62</b>. Following step S<b>7</b>, the process of step S<b>8</b> is performed.
p-0259In step S<b>8</b>, the CPU <b>10</b> determines whether or not to end the game. The determination of step S<b>7</b> is made based on, for example, whether or not the game is over or the player has provided an instruction to cancel the game. When the determination result of step S<b>8</b> is negative, the process of step S<b>2</b> is performed again. On the other hand, when the determination result of step S<b>8</b> is affirmative, the CPU <b>10</b> ends the game process shown in <figref idrefs="DRAWINGS">FIG. 14</figref>. Thereafter, a series of processes of steps S<b>2</b> to S<b>9</b> are repeated until a determination to end the game is made in step S<b>8</b>.
p-0260The game process allows the first player to change the display ranges of the game spaces to be displayed on the screens of the television <b>2</b> and the hand-held device <b>9</b> by manipulating the operating device <b>7</b>, and also allows the second player to change the display range of the game space to be displayed on the screen of the hand-held device <b>9</b> by manipulating the hand-held device <b>9</b>. Accordingly, in the present embodiment, the display ranges on the display devices change in accordance with the players' operations, and therefore the players' operations can be fully reflected in game progression.
8. Other Embodiments
p-0261(Variant Related to Game Operations Using the Touch Panel)
p-0262The above embodiment has been described with respect to the case where the CPU <b>10</b> performs the game control process using the acceleration data <b>117</b>, the angular rate data <b>118</b>, and the operation button data <b>120</b>. Here, in another embodiment, in addition to (or in place of) the aforementioned data, the touch position data <b>119</b> provided from the touch panel <b>63</b> and stored in the hand-held device <b>9</b> may be used in the game control process. Specifically, the CPU <b>10</b> may calculate a position in the game space that corresponds to a touch position represented by the touch position data <b>119</b>, and perform the game process based on the calculated position. For example, in the game control process of the above embodiment, the CPU <b>10</b> may cause the gun <b>102</b> to fire bullets in a direction toward a position corresponding to a touch position. Concretely, in place of the process of step S<b>18</b>, the CPU <b>10</b> may perform the following process. Hereinafter, the alternative variant process to step S<b>18</b> will be described with reference to <figref idrefs="DRAWINGS">FIG. 17</figref>.
p-0263<figref idrefs="DRAWINGS">FIG. 17</figref> is a diagram illustrating an arrangement of the second virtual camera and a predetermined plane within the game space. In <figref idrefs="DRAWINGS">FIG. 17</figref>, plane Q is a plane within the game space which corresponds to an input surface of the touch panel <b>63</b>. Plane Q is positioned at a predetermined distance from the position Pc of the second virtual camera <b>106</b> so as to be perpendicular to the line-of-sight direction of the second virtual camera <b>106</b>. In addition, plane Q is disposed with its boundary coinciding with the range of field of view of the second virtual camera <b>106</b> at its outer edges. Point P is a point in plane Q which represents a point corresponding to a touch position, i.e., a position in plane Q which is displayed at a touch position on the screen of the lower LCD <b>62</b>.
p-0264In the present variant, when an input is made to the touch panel <b>63</b>, the CPU <b>10</b> calculates the position of point P in plane Q based on the touch position represented by the touch position data <b>119</b>. Then, the CPU <b>10</b> calculates vector V which starts at the position Pc of the second virtual camera <b>106</b> and ends at point P. Bullets are fired in the direction represented by vector V. In this manner, bullets can be fired in a direction corresponding to a touch position. Note that when no input is made to the touch panel <b>63</b>, the CPU <b>10</b> does not perform the process for firing bullets.
p-0265In the variant as described above, the second player changes the display range of the game space to be displayed as the second game image (by changing the attitude of the hand-held device <b>9</b>), and touches an arbitrary position within the display range, thereby making it possible to fire bullets toward the touch position. Thus, the second player can more readily perform the operation of firing bullets in a desired direction, which leads to improved operability of the game.
p-0266(Variant Related to Game Images)
p-0267In the above embodiment, the first game image to be displayed on the television <b>2</b> is a game image representing the game space as viewed from the first virtual camera. Here, in another embodiment, the CPU <b>10</b> may generate as the first game image a game image representing the game space as viewed from the first virtual camera and having the second game image superimposed on a part thereof. <figref idrefs="DRAWINGS">FIG. 18</figref> is a diagram illustrating an exemplary first game image in a variant of the above embodiment. As shown in <figref idrefs="DRAWINGS">FIG. 18</figref>, the first game image may be a game image <b>131</b> with a second game image <b>133</b> superimposed on a part of a game image <b>132</b> representing the game space as viewed from the first virtual camera. While in <figref idrefs="DRAWINGS">FIG. 18</figref>, the second game image <b>133</b> is superimposed in the right corner of the screen of the television <b>2</b>, the position and the size of the second game image <b>133</b> may be arbitrary. In the present variant, the first player can also readily view the second game image, and therefore the first player can readily comprehend the situation of the second player's game operation. Thus, as in the above embodiment, it becomes possible to facilitate easy game operations in a game to be played by players in concert with each other.
p-0268(Variant Related to Game Images to be Displayed on the Display Devices)
p-0269The above embodiment has been described with respect to the game in which the players control the position and the attitude of the second virtual camera. Specifically, in the above embodiment, the first player controls the position of the second virtual camera, and the second player controls the attitude of the second virtual camera. Here, in another embodiment, the players may control the position and the attitude of the first virtual camera. Concretely, the second player may control the position of the first virtual camera, and the first player may control the attitude of the first virtual camera. Hereinafter, referring to <figref idrefs="DRAWINGS">FIGS. 19 to 21</figref>, a variant will be described where the players control the position and the attitude of the first virtual camera.
p-0270<figref idrefs="DRAWINGS">FIG. 19</figref> is a diagram illustrating an exemplary first game image to be displayed on the television <b>2</b> in a variant of the above embodiment. Also, <figref idrefs="DRAWINGS">FIG. 20</figref> is a diagram illustrating an exemplary second game image to be displayed on the hand-held device <b>9</b> in the variant. As shown in <figref idrefs="DRAWINGS">FIG. 19</figref>, in the present variant, the television <b>2</b> displays a game image similar to the second game image in the above embodiment. Specifically, the television <b>2</b> displays a game space image as viewed from the position of the airplane <b>101</b> (more concretely, the gun <b>102</b>) as the first game image.
p-0271Furthermore, as shown in <figref idrefs="DRAWINGS">FIG. 20</figref>, in the present variant, a game space image including the airplane <b>101</b> and targets <b>103</b>, as in the first game image in the above embodiment, is displayed as the second game image. Note that in the present variant, a game space image with the airplane <b>101</b> viewed from above is generated as the second game image, but a game space image with the airplane <b>101</b> viewed from behind, as in the first game image in the above embodiment, may be generated as the second game image.
p-0272Also, as will be described in detail later, in the present variant, the second player manipulates the airplane <b>101</b>, and the action of the airplane <b>101</b> is controlled based on the second operation data <b>116</b>. Specifically, the position of the first virtual camera (and also the position of the second virtual camera) is controlled based on the second operation data <b>116</b>. On the other hand, the first player adjusts the direction of the gun <b>102</b>, and the direction of the gun <b>102</b> is controlled based on the first operation data <b>111</b>. Therefore, the attitude of the first virtual camera is controlled based on the first operation data <b>111</b>. In this manner, in the present variant, the players roles are reversed from the above embodiment, such that the second player plays the role of moving the airplane <b>101</b>, and the first player plays the role of firing bullets from the gun <b>102</b> to hit targets <b>103</b>.
p-0273<figref idrefs="DRAWINGS">FIG. 21</figref> is a flowchart showing a flow of the game control process in the present variant. Note that in the present variant, the general flow of the game process is the same as the process shown in <figref idrefs="DRAWINGS">FIG. 14</figref> and therefore the description thereof will be omitted. Hereinafter, the game control process of the present variant will be described mainly focusing on differences from the above embodiment.
p-0274In the game control process of the present variant, the CPU <b>10</b> initially calculates the attitude of the hand-held device <b>9</b> in step S<b>21</b>. The process of step S<b>21</b> is the same as that of step S<b>14</b>. Following step S<b>21</b>, the process of step S<b>22</b> is performed.
p-0275In step S<b>22</b>, the CPU <b>10</b> calculates the position and the attitude of the airplane <b>101</b> based on the attitude of the hand-held device <b>9</b>. The method for calculating the position and the attitude of the airplane <b>101</b> is the same as the calculation method in step S<b>12</b>, except that the attitude of the hand-held device <b>9</b> is used in place of the attitude of the operating device <b>7</b>. Also, as in the above embodiment, the action of the airplane <b>101</b> may be controlled in an arbitrary manner. For example, in the present variant, since a game space image with the airplane <b>101</b> viewed from above is displayed on the lower LCD <b>62</b> as the second game image, the CPU <b>10</b> may control the action of the airplane <b>101</b> such that the airplane <b>101</b> moves up and down and right to left on the screen of the lower LCD <b>62</b> in accordance with an instruction inputted with the up, down, right or left key of the cross button <b>64</b>A on the hand-held device <b>9</b>. Following step S<b>22</b>, the process of step S<b>23</b> is performed.
p-0276In step S<b>23</b>, the CPU <b>10</b> controls the second virtual camera based on the position and the attitude of the airplane <b>101</b>. In the present variant, the second virtual camera is set such that a game space image with the airplane <b>101</b> viewed from above is generated (see <figref idrefs="DRAWINGS">FIG. 20</figref>). Concretely, the CPU <b>10</b> reads the first object data <b>124</b> from the main memory, and calculates a position at a predetermined distance above the airplane <b>101</b> as the position of the second virtual camera. In addition, the attitude of the second virtual camera is calculated such that the line-of-sight direction is a direction from the calculated position toward the airplane <b>101</b>. Thereafter, data representing the calculated position and attitude of the second virtual camera is stored to the main memory as second camera data <b>127</b>. Note that in another embodiment, the second virtual camera may be controlled in an arbitrary manner, and for example, the second virtual camera may be controlled such that a game space image with the airplane <b>101</b> viewed from behind is generated, as in the above embodiment. Following step S<b>23</b>, the process of step S<b>24</b> is performed.
p-0277In step S<b>24</b>, the CPU <b>10</b> calculates the attitude of the operating device <b>7</b>. The process of step S<b>24</b> is the same as that of step S<b>11</b>. Following step S<b>24</b>, the process of step S<b>25</b> is performed.
p-0278In step S<b>25</b>, the CPU <b>10</b> calculates the position of the first virtual camera based on the position of the airplane <b>101</b>. In the present variant, the first virtual camera is arranged at a position determined by the position of the airplane <b>101</b>, concretely, it is arranged at the position of the gun <b>102</b>. Accordingly, the method of step S<b>25</b> for calculating the position of the first virtual camera may be the same as the method of step S<b>15</b> for calculating the position of the second virtual camera. Furthermore, in another embodiment, the position of the first virtual camera may be determined arbitrarily. For example, the first virtual camera may be positioned at a predetermined distance behind the gun <b>102</b>, or the position of the first virtual camera may be set such that an image with the gun <b>102</b> viewed from behind is generated. Following step S<b>25</b>, the process of step S<b>26</b> is performed.
p-0279In step S<b>26</b>, the CPU <b>10</b> calculates the attitude of the first virtual camera based on the attitude of the operating device <b>7</b>. The method for calculating the attitude of the first virtual camera is the same as the method of step S<b>16</b> for calculating the attitude of the second virtual camera, except that the attitude of the operating device <b>7</b> is used in place of the attitude of the hand-held device <b>9</b>. In addition, as in the case where the attitude of the second virtual camera is calculated in step S<b>16</b>, the attitude of the first virtual camera may be calculated arbitrarily so long as it is calculated so as to change in accordance with the attitude of the operating device <b>7</b>. Following step S<b>26</b>, the process of step S<b>27</b> is performed.
p-0280Data representing the position and the attitude of the first virtual camera which are calculated by the processes of steps S<b>25</b> and S<b>26</b> is stored to the main memory as first camera data <b>126</b>. In the present variant, the position of the first virtual camera is controlled based on the second operation data <b>116</b> since it is calculated based on the position of the airplane <b>101</b> which is calculated based on the second operation data <b>116</b>. In addition, the attitude of the first virtual camera is controlled based on the first operation data <b>111</b> since it is calculated based on the attitude of the operating device <b>7</b> which is calculated based on the first operation data <b>111</b>.
p-0281In step S<b>27</b>, the CPU <b>10</b> calculates the direction of the gun <b>102</b>. In the present variant, the direction of the gun <b>102</b> is calculated so as to match the line-of-sight direction of the first virtual camera. Accordingly, the process of step S<b>27</b> can be performed in the same manner as the process of step S<b>17</b>, except that the first camera data <b>126</b> is used in place of the second camera data <b>127</b>. Following step <b>627</b>, the process of step <b>628</b> is performed.
p-0282In step S<b>28</b>, the CPU <b>10</b> controls bullet firing in accordance with the first player's operation. In the present variant, when a predetermined button (e.g., the A button <b>32</b><i>d</i>) on the operating device <b>7</b> is pressed, the CPU <b>10</b> causes the gun <b>102</b> to fire a bullet. Specifically, the CPU <b>10</b> reads and refers to the operation button data <b>115</b> included in the first operation data <b>111</b> from the main memory, thereby determining whether or not the predetermined button has been pressed. If the predetermined button has been pressed, the CPU <b>10</b> then generates a new bullet (bullet object) for the gun <b>102</b>, and moves the bullet at a predetermined moving speed in a direction from the position of the gun <b>102</b> toward a position pointed at by the gun <b>102</b>. On the other hand, if the predetermined button has not been pressed, the CPU <b>10</b> does not perform any process. Following step S<b>28</b>, the process of step S<b>29</b> is performed.
p-0283Note that other processing in the game control process that is to be performed in step S<b>29</b> is the same as that in step S<b>19</b>. After step S<b>29</b>, the CPU <b>10</b> ends the game control process.
p-0284In the game control process of the present variant, processes for controlling the action of a predetermined object (airplane <b>101</b>) arranged in the game space based on the second operation data <b>116</b> are performed (steps S<b>21</b> and S<b>22</b>), and furthermore, the first virtual camera is controlled to be disposed at a position determined by the position of the object (step S<b>25</b>). As a result, the second player can manipulate the object, and the display range of the game space represented by the first game image changes in accordance with movement of the object. Therefore, the game control process makes it possible to realize a game to be played by two players in concert with each other, in which the second player moves an object and the first player performs a predetermined game operation (here, a shooting operation) while viewing the game space from the viewpoint which moves together with the object. Moreover, in the present variant, since the range of the game space to be displayed on the lower LCD <b>62</b> can be changed by the first player him/herself changing the direction of the first virtual camera (step S<b>26</b>), the first player's operation can be fully reflected in game progression, so that not only the second player moving the object but also the first player can perform active game operations.
p-0285Also, in the above variant, the first player changes the attitude of the operating device <b>7</b>, thereby changing the line-of-sight direction of the first virtual camera, so that the bullet shooting direction (the direction of the gun <b>102</b>) changes. Here, in another embodiment, the bullet shooting direction may be controlled based on information other than the attitude of the operating device <b>7</b>. For example, the CPU <b>10</b> may control the bullet shooting direction based on a position (referred to as a “pointing position”) on the screen of the television <b>2</b> that is pointed at by the operating device <b>7</b>. Specifically, the CPU <b>10</b> may display a sight <b>104</b> at the pointing position, and fire a bullet in a direction specified by the sight <b>104</b>. Note that when calculating the bullet shooting direction based on the pointing position, it can be calculated by the same method as the method for calculating the bullet shooting direction based on the touch position see <figref idrefs="DRAWINGS">FIG. 18</figref>), except that the pointing position is used in place of the touch position.
p-0286Note that the pointing position is calculated as follows. Initially, the CPU <b>10</b> calculates a midpoint between two marker coordinate points based on marker coordinate data <b>114</b> included in first operation data <b>111</b>. Then, the CPU <b>10</b> performs a correction to rotate the midpoint between the marker coordinate points about the center of a pickup image, such that a vector extending between the marker coordinate points becomes parallel to an axis representing the horizontal direction of the marker coordinate system. By this correction, it is possible to calculate the instruction position with precision even when the operating device <b>7</b> is tilted from its reference attitude about the Z-axis. Next, the CPU <b>10</b> transforms the coordinates that indicate the position of the midpoint after the correction into coordinates representing a position (a pointing position) on the screen of the television <b>2</b>. Note that the pointing position of the operating device <b>7</b> moves in an opposite direction to the position of the midpoint in the pickup image, and therefore the transformation is performed for flipping both horizontal and vertical. The position on the screen that is obtained by the transformation is employed as the pointing position. In this manner, the method using the marker coordinate data <b>114</b> makes it possible to calculate the pointing position with precision.
p-0287Also, in the present variant, a game image for shooting is displayed on the television <b>2</b> side, and therefore a plurality of people can view the game image for shooting. Accordingly, in the present variant, by configuring the game system <b>1</b> so as to include more than one operating device <b>7</b>, a plurality of players can use one operating device <b>7</b> each to perform their respective game operations, so that the game can be played by even three or more people. Note that in the case where more than one operating device <b>7</b> is used, the first virtual camera may be controlled based on first operation data transmitted from a specific operating device <b>7</b> or two or more operating devices <b>7</b>. Furthermore, in the above cash, the bullet shooting direction (the position of the sight <b>104</b>) may be controlled independently of the line-of-sight direction of the first virtual camera, as in the method for controlling the bullet shooting direction based on the pointing position. The reason for this is that the players operating the operating devices <b>7</b> can fire bullets toward any positions at their individual discretion.
p-0288(Variant Related to the Content of the Game)
p-0289Taking as an example of the multiplayer game, the above embodiment has been described with respect to the game process for playing the shooting game by manipulating the airplane <b>101</b>, but the content of the game may be arbitrary. For example, the configuration of the above embodiment can also be applied to a game where the first player manipulates a mobile object such as a car, and the second player takes an image of the mobile object with a camera from above. In this case, the position and the attitude of the first virtual camera may be controlled based on the first operation data, e.g., based on the position of the mobile object. The position of the second virtual camera may be controlled based on the first operation data, e.g., based on the position of the mobile object. The attitude of the second virtual camera may be controlled based on the second operation data, for example, to be oriented in the line-of-sight direction of the camera. Thus, it is possible to realize a game to be played by two players in concert with each other, in which the first player moves a mobile object, and the second player takes an image inside a game space to be displayed from the viewpoint which moves together with the mobile object while viewing the game space.
p-0290(Variant Related to Game Operations)
p-0291In the above embodiment, the CPU <b>10</b> performs the game control process in accordance with movement of the hand-held device <b>9</b> (concretely, its attitude). Specifically, the hand-held device <b>9</b> includes sensors (the acceleration sensor <b>89</b> and the gyroscope <b>90</b>) for outputting data whose value changes in accordance with its movement, and outputs second operation data including data outputted by the sensors. In addition, the CPU <b>10</b> controls the attitude of the second virtual camera to correspond to the attitude of the hand-held device <b>9</b> based on the outputted data included in the second operation data. Here, in another embodiment, to control the attitude of the second virtual camera, the hand-held device <b>9</b> may be manipulated in an arbitrary manner which is not limited to moving the hand-held device <b>9</b> itself. For example, the CPU <b>10</b> controls the attitude of the second virtual camera based on manipulation of the operation button group <b>64</b>, the touch panel <b>63</b>, or the analog stick <b>65</b> of the hand-held device <b>9</b>, rather than based on movement of the hand-held device <b>9</b>.
p-0292Also, in the case where the attitude of the second virtual camera is controlled in accordance with movement of the hand-held device <b>9</b>, the CPU <b>10</b> may control the attitude of the second virtual camera in accordance with values other than the attitude of the hand-held device <b>9</b>. For example, the attitude of the second virtual camera may be controlled in accordance with a positional change of the hand-held device <b>9</b>. Concretely, the CPU <b>10</b> can calculate the positional change of the hand-held device <b>9</b> based on acceleration obtained by excluding gravitational acceleration from acceleration represented by the acceleration data <b>117</b>. Accordingly, for example, in the process of step S<b>16</b>, the CPU <b>10</b> may change the attitude of the second virtual camera in accordance with the positional change of the hand-held device <b>9</b>. Thus, the attitude of the second virtual camera can be changed by moving the hand-held device <b>9</b> up and down and right to left.
p-0293Note that to control the position of the second virtual camera, the operating device <b>7</b> may be manipulated in an arbitrary manner which is not limited to moving the operating device <b>7</b> itself, as in the case of the hand-held device <b>9</b>. Moreover, in the case where the position of the second virtual camera is controlled in accordance with movement of the operating device <b>7</b>, the CPU <b>10</b> may control the position of the second virtual camera in accordance with values other than the attitude of the operating device <b>7</b>. For example, a positional change can be calculated for the operating device <b>7</b> as can be done for the hand-held device <b>9</b>, and therefore, in the process of, for example, step S<b>15</b>, the CPU <b>10</b> may change the position of the second virtual camera in accordance with the positional change of the operating device <b>7</b>.
p-0294(Variant on the Device for Performing the Game Process)
p-0295While in the above embodiment, the game apparatus <b>3</b> performs a series of game processes shown in <figref idrefs="DRAWINGS">FIG. 14</figref>, part of the game processes may be performed by another device. For example, in another embodiment, part of the game processes (e.g., the second game image generation process) may be performed by the hand-held device <b>9</b>. Also, in another embodiment, game processes may be shared within a game system by a plurality of information processing devices capable of communicating with one another.
p-0296(Variant on the Configuration of the Hand-Held Device)
p-0297The hand-held device <b>9</b> in the above embodiment is an example, the shape of the operation buttons and the housing <b>50</b> of the hand-held device <b>9</b>, the number and arrangement of components, etc., are merely illustrative, and other shape, number, and arrangement may be employed. For example, a terminal device to be described below may be used as the hand-held device. Hereinafter, referring to <figref idrefs="DRAWINGS">FIGS. 22 to 28</figref>, a variant on the hand-held device will be described.
p-0298First, referring to <figref idrefs="DRAWINGS">FIGS. 22 to 27</figref>, an external configuration of a terminal device according to a variant of the above embodiment will be described. <figref idrefs="DRAWINGS">FIG. 22</figref> provides views illustrating an external configuration of a terminal device <b>200</b>, in which part (a) is a front view, part (b) is a top view, part (c) is a right side view, and part (d) is a bottom view. <figref idrefs="DRAWINGS">FIG. 23</figref> is a back view of the terminal device <b>200</b>. <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref> are diagrams illustrating the terminal device <b>200</b> being held horizontal by the user. <figref idrefs="DRAWINGS">FIGS. 26 and 27</figref> are diagrams illustrating the terminal device <b>200</b> being held vertical by the user.
p-0299As shown in <figref idrefs="DRAWINGS">FIG. 22</figref>, the terminal device <b>700</b> includes a housing <b>210</b> which is generally in the shape of a horizontally elongated rectangle. That is, it can be said that the terminal device <b>200</b> is a tablet-shaped information processing device. Note that the housing <b>210</b> may have a curved surface or may have protrusions or suchlike in its part, so long as it has a generally plate-like shape. The housing <b>210</b> is sized to be held by the user. Thus, the user can hold and move the terminal device <b>200</b>, and can change the installation position of the terminal device <b>7</b>. The vertical length (z-axis direction) of the terminal device <b>200</b> may be in the range of from 100 to 150 millimeters (mm), and 133.5 mm in the present embodiment. The horizontal length (x-axis direction) of the terminal device <b>200</b> may be in the range of from 200 to 250 mm, and 228.26 mm in the present embodiment. The thickness (the dimension in the y-axis direction) of the terminal device <b>200</b> may be in the range of from about 15 to about 30 mm in plate-like portions, from about 30 to about 50 mm including the thickest portion, and 23.6 mm (40.26 mm at the thickest portion) in the present embodiment. Also, the terminal device <b>200</b> weighs in the range of from about 400 to 600 grams (g), and 530 g in the present embodiment. As will be described in detail later, the terminal device <b>200</b> can be readily carried and operated by the user even though it is a relatively large-sized terminal device (operating device) as described above.
p-0300The terminal device <b>200</b> includes an LCD <b>211</b> on the (front-side) surface of the housing <b>210</b>. Note that the screen size of the LCD <b>211</b> may be 5 inches or more, and 6.2 inches in present embodiment. The terminal device <b>200</b> of the present embodiment is designed to be readily carried and operated, even though the LCD is relatively large. Note that in another embodiment, the LCD <b>211</b> may be provided in a smaller size so that the terminal device <b>200</b> can be provided in a relatively small size. The LCD <b>211</b> is provided approximately at the center of the surface of the housing <b>210</b>. Therefore, the user can hold and move the terminal device <b>200</b> while viewing the screen of the LCD <b>211</b> by holding the housing <b>210</b> by edges to the left and right of the LCD <b>211</b>, as shown in <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref>. While <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref> show examples where the user holds the terminal device <b>200</b> horizontal (horizontally long) by holding the housing <b>210</b> by edges to the left and right of the LCD <b>211</b>, the user can hold the terminal device <b>200</b> vertical (vertically long) as shown in <figref idrefs="DRAWINGS">FIGS. 26 and 27</figref>.
p-0301As shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>a</i>), the terminal device <b>200</b> includes a touch panel <b>212</b> on the screen of the LCD <b>211</b> as an operating means. In the present embodiment, the touch panel <b>212</b> is a resistive touch panel. However, the touch panel is not limited to the resistive type, and may be of any type such as capacitive. The touch panel <b>212</b> may be single-touch or multi-touch. In the present embodiment, a touch panel having the same resolution (detection precision) as the LCD <b>211</b> is used as the touch panel <b>212</b>. However, the touch panel <b>212</b> and the LCD <b>211</b> do not have to be equal in resolution. While a stylus <b>220</b> is usually used for providing input to the touch panel <b>212</b>, input to the touch panel <b>212</b> can be provided not only by the stylus <b>220</b> but also by the user's finger. The housing <b>210</b> is provided with an accommodation hole <b>220</b><i>a </i>for accommodating the stylus <b>220</b> used for performing operations on the touch panel <b>212</b> (see <figref idrefs="DRAWINGS">FIG. 22(</figref><i>b</i>)). Here, in order not to drop the stylus <b>220</b>, the accommodation hole <b>220</b><i>a </i>is provided in the top surface of the housing <b>210</b>, but it may be provided in a side or back surface. In this manner, the terminal device <b>200</b> includes the touch panel <b>212</b>, and the user can operate the touch panel <b>212</b> while moving the terminal device <b>200</b>. Specifically, the user can provide input directly to the screen of the LCD <b>211</b> (from the touch panel <b>52</b>) while moving the screen.
p-0302As shown in <figref idrefs="DRAWINGS">FIG. 22</figref>, the terminal device <b>200</b> includes two analog sticks <b>213</b>A and <b>213</b>B and a plurality of buttons <b>214</b>A to <b>214</b>M, as operating means (operating sections). The analog sticks <b>213</b>A and <b>213</b>E are devices capable of directing courses. Each of the analog sticks <b>213</b>A and <b>213</b>E is configured such that its movable member (stick portion) to be operated with the user's finger is slidable in an arbitrary direction (at an arbitrary angle in any of the up, down, left, right, and oblique directions) with respect to the surface of the housing <b>210</b>. That is, the analog sticks <b>213</b>A and <b>213</b>B are pointing devices which are also referred to as “slide pads”. Note that the movable members of the analog sticks <b>213</b>A and <b>213</b>B may be of types that can tilt in an arbitrary direction with respect to the surface of the housing <b>210</b>. In the present embodiment, the analog sticks are of a type with a movable member capable of sliding, and therefore the user can operate the analog sticks <b>213</b>A and <b>2136</b> without moving his/her thumbs substantially, and hence can securely hold the housing <b>210</b> during the operation. Note that in the case where the analog sticks <b>213</b>A and <b>213</b>B are of a type with a movable member capable of tilting, the user can readily perceive the degree of input (the degree of tilting), and therefore can readily perform detailed operations.
p-0303The left analog stick <b>213</b>A is provided to the left of the screen of the LCD <b>211</b>, and the right analog stick <b>213</b>B is provided to the right of the screen of the LCD <b>211</b>. Therefore, the user can provide a direction-specifying input by using the analog stick with either the left or the right hand. As shown in <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref>, the analog sticks <b>213</b>A and <b>213</b>B are positioned so as to allow the user to operate them while holding the left and right sides of the terminal device <b>200</b> (holding the terminal device <b>200</b> by edges to the left and right of the LCD <b>211</b>), and therefore the user can readily operate the analog sticks <b>213</b>A and <b>213</b>B even when holding and moving the terminal device <b>200</b>.
p-0304The buttons <b>214</b>A to <b>214</b>L are pressable keys functioning as operating means (operating sections) for providing predetermined input. As will be discussed below, the buttons <b>214</b>A to <b>214</b>L are positioned so as to allow the user to operate them while holding the left and right sides of the terminal device <b>200</b> (see <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref>), and therefore the user can readily operate the operating means even when holding and moving the terminal device <b>200</b>.
p-0305As shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>a</i>), of all the operation buttons <b>214</b>A to <b>214</b>L, the cross button (direction input button) <b>214</b>A and the buttons <b>214</b>B to <b>214</b>H and <b>214</b>M are provided on the front surface of the housing <b>210</b>. That is, these buttons <b>214</b>A to <b>214</b>H and <b>214</b>M are positioned so as to allow the user to operate them with his/her thumbs (see <figref idrefs="DRAWINGS">FIGS. 24 and 25)</figref>.
p-0306The cross button <b>214</b>A is provided to the left of the LCD <b>211</b> and below the left analog stick <b>213</b>A. That is, the cross button <b>214</b>A is positioned so as to allow the user to operate it with his/her hand. The cross button <b>214</b>A is a cross-shaped button which makes it possible to specify at least up, down, left and right directions.
p-0307Also, the buttons <b>214</b>B to <b>214</b>D are provided below the LCD <b>211</b>. These three buttons <b>214</b>B to <b>214</b>D are provided at such positions as to allow the user to operate them with either hand. Furthermore, the terminal device <b>200</b> has a power button <b>214</b>M for turning the terminal device <b>200</b> on/off. It is also possible to remotely turn the game apparatus <b>3</b> on/off by operating the power button <b>214</b>M. As with the buttons <b>214</b>B to <b>214</b>D, the power button <b>214</b>M is provided below the LCD <b>211</b>. The power button <b>214</b>M is provided to the right of the buttons <b>214</b>B to <b>214</b>D. Accordingly, the power button <b>214</b>M is positioned so as to be (readily) operable with the right hand. Moreover, the four buttons <b>214</b>E to <b>214</b>H are provided to the right of the LCD <b>211</b> and below the right analog stick <b>213</b>B. That is, the four buttons <b>214</b>E to <b>214</b>H are positioned so as to allow the user to operate them with the right hand. In addition, the four buttons <b>214</b>E to <b>214</b>H are positioned above, to the left of, to the right of, and below the central position among them. Therefore, the four buttons <b>214</b>E to <b>214</b>H of the terminal device <b>200</b> can be used to function as buttons for allowing the user to specify the up, down, left and right directions.
p-0308Note that in the present embodiment, the analog sticks <b>213</b>A and <b>213</b>B are positioned above the cross button <b>214</b>A and the buttons <b>214</b>E to <b>214</b>H. Here, the analog sticks <b>213</b>A and <b>213</b>B protrude higher than the cross button <b>214</b>A and the buttons <b>214</b>E to <b>214</b>H in the thickness direction (the y-axis direction). Therefore, if the analog stick <b>213</b>A and the cross button <b>214</b>A are switched in position, when the user operates the cross button <b>214</b>A with the thumb, the thumb might hit the analog stick <b>213</b>A, resulting in misoperation. Note that a similar problem might occur if the analog stick <b>213</b>B and the buttons <b>214</b>E and <b>214</b>H are switched in position. On the other hand, in the present embodiment, the analog sticks <b>213</b>A and <b>213</b>B are positioned above the cross button <b>214</b>A and the buttons <b>214</b>E to <b>214</b>H, and therefore when compared to the aforementioned case, it is less likely for the user's finger to hit the cross button <b>214</b>A or any of the buttons <b>214</b>E to <b>214</b>H when the user operates the analog stick <b>213</b>A or <b>213</b>B. In this manner, the present embodiment makes it possible to reduce the possibility of misoperation, thereby improving operability of the terminal device <b>200</b>. However, in another embodiment, the analog stick <b>213</b>A and the cross button <b>214</b>A may be switched in position, and the analog stick <b>213</b>B and the buttons <b>214</b>E to <b>214</b>H may be switched in position.
p-0309Here, in the present embodiment, some operating sections (the analog sticks <b>213</b>A and <b>213</b>B, the cross button <b>214</b>A, and the three buttons <b>214</b>E to <b>214</b>G) are provided either to the right or left of the display section (LCD <b>211</b>) and above the center of the housing <b>210</b> in the vertical direction (the y-axis direction). When any of these operating sections is operated, the user holds the terminal device <b>200</b> mainly by its portions above the center in the vertical direction. Here, if the user holds the housing <b>210</b> by its lower portions, the terminal device <b>200</b> loses stability (particularly when the terminal device <b>200</b> is relatively large-sized as in the present embodiment), making it difficult for the user to hold the terminal device <b>200</b>. On the other hand, in the present embodiment, when any of the operating sections is operated, the user holds the terminal device <b>200</b> mainly by its portions above the center in the vertical direction, and can also support the housing <b>210</b> with the palms from the sides. Accordingly, the user holds the housing <b>210</b> in a stabilized state, and can readily hold the terminal device <b>200</b>, so that the operating sections can be readily operated. Note that in another embodiment, at least one operating section may be provided each to the right and left of the display section above the center of the housing <b>210</b>. For example, only the analog sticks <b>213</b>A and <b>213</b>B may be provided above the center of the housing <b>210</b>. Also, for example, when the cross button <b>214</b>A is provided above the left analog stick <b>213</b>A, and the four buttons <b>214</b>E to <b>214</b>H are provided above the right analog stick <b>213</b>B, the cross button <b>214</b>A and the four buttons <b>214</b>E to <b>214</b>H may be provided above the center of the housing <b>210</b>.
p-0310Also, in the present embodiment, the housing <b>210</b> has a protrusion (projection <b>219</b>) provided at its bottom side (opposite to the surface on which the LCD <b>211</b> is provided; see <figref idrefs="DRAWINGS">FIGS. 22(</figref><i>c</i>) and <b>23</b>). As shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>c</i>), the projection <b>219</b> is a ridge-like member provided to stick outward from the back surface of the housing <b>210</b> which has a generally plate-like shape. The protrusion has such a height (thickness) as to allow the user's fingers to be rested upon it when the user is holding the back surface of the housing <b>210</b>. The protrusion may have a height of from 10 to 25 mm, and 16.66 mm in the present embodiment. Also, the protrusion may have the bottom surface slanted at 45° or more (alternatively, 60° or more) with respect to the back surface of the housing <b>210</b> such that the user's fingers can be readily placed on the protrusion. As shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>c</i>), the protrusion may be formed such that the bottom surface is slanted at a greater angle than the top surface. As shown in <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref>, the user can hold the terminal device <b>200</b> with his/her fingers in contact with the projection <b>219</b> (the projection <b>219</b> being put on the fingers), and therefore the terminal device <b>200</b> can be held in a stabilized state without tiring the user, even if the terminal device <b>200</b> is relatively large-sized. That is, the projection <b>219</b> can be said to be a support for sustaining the housing <b>210</b> with fingers and can also said to be a finger rest.
p-0311Also, the projection <b>219</b> is provided above the center of the housing <b>210</b> with respect to the vertical direction. The projection <b>219</b> is positioned approximately opposite to the operating sections (the analog sticks <b>213</b>A and <b>213</b>B) provided on the front surface of the housing <b>210</b>. Specifically, the protrusion is provided in an area including opposite positions to the operating sections provided to the right and left, respectively, of the display section. Accordingly, when manipulating the operating sections, the user can hold the terminal device <b>200</b> while supporting the projection <b>219</b> with his/her middle fingers or ring fingers (see <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref>). Thus, the terminal device <b>200</b> can be readily held, and the operating sections can be manipulated more readily. Also, in the present embodiment, the protrusion is shaped like an overhang that extends side to side (at the projecting edge), and therefore the user can readily hold the terminal device <b>200</b> by placing his/her middle fingers or ring fingers along the bottom surface of the protrusion. Note that the projection <b>219</b> is not limited to the horizontally extending shape as shown in <figref idrefs="DRAWINGS">FIG. 23</figref>, so long as it is formed to extend toward the right and left sides (at the projecting edge). In another embodiment, the projection <b>219</b> may extend in a direction slightly slanted from the horizontal direction. For example, the projection <b>219</b> may be provided so as to be slanted upward (or downward) from both the right and left ends toward the center.
p-0312Note that in the present embodiment, the projection <b>219</b> having an overhang-like shape is employed as a protrusion to be formed on the back surface of the housing for the purpose of providing the projection <b>219</b> with a catch hole to be described later, but the protrusion may have any shape. For example, in another embodiment, two protrusions may be provided on the right and left sides of the back of the housing <b>210</b> (no protrusion is provided at the center in the horizontal direction; see <figref idrefs="DRAWINGS">FIG. 26</figref>). Also, in another embodiment, the protrusion may have a hooked shape (a shape with a concaved bottom surface) in cross section (perpendicular to the x-axis direction) such that the terminal device <b>200</b> can be securely supported by the user's fingers (the protrusion can have the fingers placed thereon in a more secure manner).
p-0313Note that the protrusions (projections <b>219</b>) may be arbitrarily distanced from the top side and the bottom side of the housing <b>210</b>. For example, the protrusions may be formed so as to project from the top side. Specifically, the top surfaces of the protrusions may be formed so as to be flush with the top surface of the housing <b>210</b>. In this case, the housing <b>210</b> is configured in two terraced portions so as to be thinner in the lower portion and thicker in the upper portion. In this manner, the housing <b>210</b> may have downward-facing surfaces (the bottom surfaces of the protrusions) formed on the right side and the left side of the back surface. Thus, the user can easily hold the operating device by putting his/her fingers on the surfaces. Note that the “downward-facing surfaces” may be formed at any positions on the back surface of the housing <b>210</b>, or they may be positioned above the center of the housing <b>210</b>.
p-0314As shown in <figref idrefs="DRAWINGS">FIGS. 22(</figref><i>a</i>), <b>22</b>(<i>b</i>) and <b>22</b>(<i>c</i>), the first L button <b>214</b>I and the first R button <b>214</b>J are provided at the left and right edges on the top surface of the housing <b>210</b>. In the present embodiment, the first L button <b>214</b>I and the first R button <b>214</b>J are provided at the upper (left and right) corners of the housing <b>210</b>. Specifically, the first L button <b>214</b>I is provided at the left edge of the top surface of the plate-like housing <b>210</b> so as to be exposed from the upper left-side surface (i.e., exposed both from the top surface and the left-side surface). The first R button <b>214</b>J is provided at the right edge of the top surface of the housing <b>210</b> so as to be exposed from the upper right-side surface (i.e., exposed both from the top surface and the right-side surface). Thus, the first L button <b>214</b>I is provided at such a position as to be operable by the user's left index finger, and the first R button <b>214</b>J is provided at such a position as to be operable by the user's right index finger (see <figref idrefs="DRAWINGS">FIG. 24)</figref>. Note that in another embodiment, the operating sections provided on the left and right sides of the top surface of the housing <b>210</b> do not have to be provided at the left and right edges and may be provided in any portions other than the edges. Also, the operating sections may be provided on the left- and right-side surfaces of the housing <b>210</b>.
p-0315As shown in <figref idrefs="DRAWINGS">FIGS. 22(</figref><i>c</i>) and <b>23</b>, the second L button <b>214</b>K and the second R button <b>214</b>L are positioned on the protrusion (projection <b>219</b>). The second L button <b>214</b>K is provided near the left edge of the projection <b>219</b>. The second R button <b>214</b>L is provided near the right edge of the projection <b>219</b>. Specifically, the second L button <b>214</b>K is provided at a comparatively high position on the right side of the back surface of the housing <b>210</b> (i.e., the left side as viewed from the front surface side), and the second R button <b>214</b>L is provided at a comparatively high position on the left side of the back surface of the housing <b>210</b> (i.e., the right side as viewed from the front surface side). In other words, the second L button <b>214</b>K is provided at a position approximately opposite to the left analog stick <b>213</b>A provided on the front surface, and the second R button <b>214</b>L is provided at a position approximately opposite to the right analog stick <b>213</b>B provided on the front surface. Thus, the second L button <b>214</b>K is provided at such a position as to be operable by the user's left middle finger or index finger, and the second R button <b>214</b>L is provided at such a position as to be operable by the user's right middle finger or index finger (see <figref idrefs="DRAWINGS">FIGS. 24 and 25)</figref>. The second L button <b>214</b>K and the second R button <b>214</b>L are provided on the top surface of the projection <b>219</b>, as shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>c</i>). Therefore, the second L button <b>214</b>K and the second R button <b>214</b>L have button faces directed (obliquely) upward. When the user holds the terminal device <b>200</b>, the middle fingers or the index fingers will probably be able to move in the up/down direction, and therefore the button surfaces directed upward will allow the user to readily press the second L button <b>214</b>K and the second R button <b>214</b>L.
p-0316As described above, in the present embodiment, operating sections (the analog sticks <b>213</b>A and <b>213</b>B) are provided to the left and right of the display section (the LCD <b>211</b>) above the center of the housing <b>210</b>, and furthermore, other operating sections (the second L button <b>214</b>K and the second R button <b>214</b>L) are provided on the back side of the housing <b>210</b> at opposite positions corresponding to the operating sections on the front side. As a result, the operating sections are positioned on the front and back sides of the housing <b>210</b> so as to oppose each other with respect to the housing <b>210</b>, and therefore the user can manipulate the operating sections while holding the housing <b>210</b> both from the front and back sides. Also, when manipulating the operating sections, the user holds the housing <b>210</b> in places above the center in the vertical direction, and therefore the user can hold the upper portions of the terminal device <b>200</b> while supporting the terminal device <b>200</b> with the palms (see <figref idrefs="DRAWINGS">FIGS. 24 and 25</figref>). Thus, the user can manipulate at least four operating sections while stably holding the housing <b>210</b>, which makes it possible to provide an operating device (terminal device <b>200</b>) which can be readily held by the user and offer superior operability.
p-0317As described above, in the present embodiment, by holding the terminal device <b>200</b> with the fingers put on the bottom surface of the protrusion (projection <b>219</b>), the user can hold the terminal device <b>200</b> with ease. Also, since the second L button <b>214</b>K and the second R button <b>214</b>L are provided on the top surface of the protrusion, the user can readily operate the buttons while in the aforementioned state. The user can readily hold the terminal device <b>200</b>, for example, in the following fashion.
p-0318Specifically, the user can hold the terminal device <b>200</b> with the ring fingers put on the bottom surface (indicated by the dashed line in <figref idrefs="DRAWINGS">FIG. 24</figref>) of the projection <b>219</b> (so as to support the projection <b>219</b> with the ring fingers), as shown in <figref idrefs="DRAWINGS">FIG. 24</figref>. In this case, the user can manipulate four buttons (the first L button <b>214</b>I, the first R button <b>214</b>J, the second L button <b>214</b>K, and the second R button <b>214</b>L) with the index fingers and the middle fingers. For example, in the case where the game operation to be performed uses quite a few buttons and therefore is complicated, holding the device as shown in <figref idrefs="DRAWINGS">FIG. 24</figref> enables easy manipulation of a number of buttons. Note that the analog sticks <b>213</b>A and <b>213</b>B are provided above the cross button <b>214</b>A and the buttons <b>214</b>E to <b>214</b>H, and therefore where manipulation is relatively complicated, the user can conveniently manipulate the analog sticks <b>213</b>A and <b>213</b>B with the thumbs. Also, in <figref idrefs="DRAWINGS">FIG. 24</figref>, the user holds the terminal device <b>200</b> with the thumbs on the front surface of the housing <b>210</b>, the index fingers on the top surface of the housing <b>210</b>, the middle fingers on the top surface of the projection <b>219</b> on the back surface of the housing <b>210</b>, the ring fingers on the bottom surface of the projection <b>219</b>, and the little fingers on the back surface of the housing <b>210</b>. In this manner, the user can securely hold the terminal device <b>200</b> so as to wrap the housing <b>210</b> from all sides.
p-0319Furthermore, the user can also hold the terminal device <b>200</b> with the middle fingers put on the bottom surface (indicated by the dashed line in <figref idrefs="DRAWINGS">FIG. 25</figref>) of the projection <b>219</b>, as shown in <figref idrefs="DRAWINGS">FIG. 25</figref>. In this case, the user can readily manipulate two buttons (the second L button <b>214</b>K and the second R button <b>214</b>L) with the index fingers. For example, in the case where the game operation to be performed uses only a few buttons and therefore is relatively simple, the device may be held as shown in <figref idrefs="DRAWINGS">FIG. 25</figref>. In <figref idrefs="DRAWINGS">FIG. 25</figref>, the user can securely hold the terminal device <b>200</b> by holding the lower portion of the housing <b>210</b> with two pairs of fingers ring fingers and the little fingers).
p-0320Note that in the present embodiment, the projection <b>219</b> is provided so as to have its bottom surface positioned between the analog stick <b>213</b>A and the cross button <b>214</b>A and also between the analog stick <b>213</b>B and the four buttons <b>214</b>E to <b>214</b>H (the bottom surface being positioned below the analog sticks <b>213</b>A and <b>213</b>E but above the cross button <b>214</b>A and the four buttons <b>214</b>E to <b>214</b>H). Accordingly, in the case where the terminal device <b>200</b> is held with the ring fingers put on the projection <b>219</b> (<figref idrefs="DRAWINGS">FIG. 24</figref>), the analog sticks <b>213</b>A and <b>213</b>B can be readily manipulated with the thumbs, and in the case where the terminal device <b>200</b> is held with the middle fingers put on the projection <b>219</b> (<figref idrefs="DRAWINGS">FIG. 25</figref>), the cross button <b>214</b>A and the four buttons <b>214</b>E to <b>214</b>H can be readily manipulated with the thumbs. Thus, in both of the above two cases, the user can perform operations of specifying directions while securely holding the terminal device <b>200</b>.
p-0321Also, as described above, the user can hold the terminal device <b>200</b> lengthwise. Specifically, the user can hold the terminal device <b>200</b> longitudinally by holding the top side of the terminal device <b>200</b> with the left hand, as shown in <figref idrefs="DRAWINGS">FIG. 26</figref>. Moreover, the user can also hold the terminal device <b>200</b> longitudinally by holding the bottom side of the terminal device <b>200</b> with the left hand, as shown in <figref idrefs="DRAWINGS">FIG. 27</figref>. While the terminal device <b>200</b> is shown to be held by the left hand in <figref idrefs="DRAWINGS">FIGS. 26 and 27</figref>, it can be held by the right hand as well. In this manner, the user can hold the terminal device <b>200</b> with one hand, and therefore, for example, it is possible to perform an operation of providing input to the touch panel <b>212</b> with one hand while holding the terminal device <b>200</b> with the other hand.
p-0322Also, in the case where the terminal device <b>200</b> is held as shown in <figref idrefs="DRAWINGS">FIG. 26</figref>, the user can securely hold the terminal device <b>200</b> by putting fingers other than the thumb (in <figref idrefs="DRAWINGS">FIG. 26</figref>, the middle finger, the ring finger, and the little finger) on the bottom surface of the projection <b>219</b> (indicated by the dashed line in <figref idrefs="DRAWINGS">FIG. 26</figref>). Particularly in the present embodiment, since the projection <b>219</b> is formed so as to extend side to side (in <figref idrefs="DRAWINGS">FIG. 26</figref>, top to bottom), the user can put fingers other than the thumb on the projection <b>219</b> by holding the terminal device <b>200</b> with the hand in any position along the top side, which makes it possible to securely hold the terminal device <b>200</b>. Accordingly, in the case where the terminal device <b>200</b> is used lengthwise, the projection <b>219</b> can be used as a handle. On the other hand, in the case where the terminal device <b>200</b> is held as shown in <figref idrefs="DRAWINGS">FIG. 27</figref>, the user can manipulate the buttons <b>214</b>B to <b>214</b>D with the left hand. Accordingly, for example, it is possible to provide input to the touch panel <b>212</b> with one hand while manipulating the buttons <b>214</b>B to <b>214</b>D with the hand holding the terminal device <b>200</b>, which makes it possible to perform a larger number of operations.
p-0323Note that the terminal device <b>200</b> in the present embodiment has the protrusion (projection <b>219</b>) provided at the back surface, and therefore when the terminal device <b>200</b> is placed with the screen of the LCD <b>211</b> (the front surface of the housing <b>210</b>) facing up, the screen is set in slightly tilted state. As a result, the screen can be more readily viewed when the terminal device <b>200</b> is placed. In addition, it is also possible to readily perform an input operation on the touch panel <b>212</b> when the terminal device <b>200</b> is placed. Furthermore, in another embodiment, an additional protrusion about the same height as the projection <b>219</b> may be formed on the back surface of the housing <b>210</b>. As a result, when the terminal device <b>200</b> is placed with the screen of the LCD <b>211</b> facing up, the protrusions contact the floor surface, so that the screen is kept horizontal. Furthermore, the additional protrusion may be of a detachable (or foldable) type. As a result, it becomes possible to place the terminal device with the screen being set either in slightly tilted state or in horizontal state. That is, when the terminal device <b>200</b> is placed and used, the projection <b>219</b> can be used as a leg.
p-0324The buttons <b>214</b>A to <b>214</b>L are each appropriately assigned a function in accordance with the game program. For example, the cross button <b>214</b>A and the buttons <b>214</b>E to <b>214</b>H may be used for direction-specifying operations, selection operations, etc., whereas the buttons <b>214</b>B to <b>214</b>E may be used for setting operations, cancellation operations, etc. Also, the terminal device <b>200</b> may include a button for turning ON/OFF the screen display of the LCD <b>211</b>, and a button for performing a connection setting (pairing) with the game device <b>3</b>.
p-0325As shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>a</i>), the terminal device <b>200</b> has a marker section <b>215</b>, including markers <b>215</b>A and <b>215</b>B, provided on the front surface of the housing <b>210</b>. The marker section <b>215</b> is provided in the upper portion of the LCD <b>211</b>. The markers <b>215</b>A and <b>215</b>B are each formed by one or more infrared LEDs, as are the markers <b>6</b>R and <b>6</b>L of the marker device <b>6</b>. The infrared LEDs included in the markers <b>215</b>A and <b>215</b>B are disposed inside a window which transmits infrared light therethrough. The marker section <b>215</b> is used for the game device <b>3</b> to calculate the movement, etc., of the controller <b>5</b>, as is the marker device <b>6</b> described above. The game device <b>3</b> can control the lighting of the infrared LEDs included in the marker section <b>215</b>.
p-0326The terminal device <b>200</b> includes the camera <b>216</b> which is an image pickup means. The camera <b>216</b> includes an image pickup element (e.g., a CCD image sensor, a CMOS image sensor, or the like) having a predetermined resolution, and a lens. As shown in <figref idrefs="DRAWINGS">FIG. 22</figref>, the camera <b>216</b> is provided on the front surface of the housing <b>210</b> in the present embodiment. Therefore, the camera <b>216</b> can capture an image of the face of the user holding the terminal device <b>200</b>, and can capture an image of the user playing a game while viewing the LCD <b>211</b>, for example. In the present embodiment, the camera <b>216</b> is disposed between the two markers <b>215</b>A and <b>215</b>B.
p-0327Note that the terminal device <b>200</b> includes a microphone <b>239</b> which is a sound input means. A microphone hole <b>210</b><i>c </i>is provided in the front surface of the housing <b>210</b>. The microphone <b>239</b> is provided inside the housing <b>210</b> behind the microphone hole <b>210</b><i>c</i>. The microphone <b>239</b> detects sounds around the terminal device <b>200</b> such as the voice of the user.
p-0328The terminal device <b>200</b> includes speakers <b>237</b> which are sound output means. As shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>d</i>), speaker holes <b>217</b> are provided in the lower portion of the front surface of the housing <b>210</b>. Sound emitted by the speakers <b>237</b> is outputted from the speaker holes <b>217</b>. In the present embodiment, the terminal device <b>200</b> includes two speakers, and the speaker hales <b>217</b> are provided at positions corresponding to the left and right speakers. Note that the terminal device <b>200</b> includes a knob <b>224</b> for controlling the volume of the speakers <b>237</b>. Also, the terminal device <b>200</b> includes a sound output terminal <b>222</b> to be connected to a sound output member such as an earphone. Here, considering any additional device to be connected to the bottom surface of the housing, the sound output terminal <b>222</b> and the knob <b>224</b> are provided at the top surface of the housing <b>210</b>, but they may be provided at the left- or right-side surface or the bottom surface.
p-0329Also, the housing <b>210</b> is provided with a window <b>223</b> for emitting an infrared signal derived from the infrared communication module <b>242</b> to the outside of the terminal device <b>200</b>. Here, the window <b>223</b> is provided at the top surface of the housing <b>210</b>, such that the infrared signal is emitted forward from the user holding both sides of the housing <b>210</b> just outside the LCD <b>211</b>. However, in another embodiment, the window <b>223</b> may be provided in any other position such as the bottom surface.
p-0330Also, the terminal device <b>200</b> includes an expansion connector <b>218</b> for connecting another device to the terminal device <b>200</b>. The expansion connector <b>218</b> is a communication terminal for transmitting/receiving data (information) to/from another device connected to the terminal device <b>200</b>. In the present embodiment, the expansion connector <b>218</b> is provided at the bottom surface of the housing <b>210</b>, as shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>d</i>). Any additional device may be connected to the expansion connector <b>218</b>, including, for example, a game-specific controller (a gun-shaped controller or suchlike) or an input device such as a keyboard. The expansion connector <b>218</b> may be omitted if there is no need to connect any additional devices to terminal device <b>200</b>. The expansion connector <b>218</b> may include a terminal for supplying power to an additional device and/or a charging terminal.
p-0331In addition to the expansion connector <b>218</b>, the terminal device <b>200</b> also has a charging terminal <b>226</b> for obtaining power from an additional device. When the charging terminal <b>226</b> is connected to a predetermined charging stand, power is supplied from the charging stand to the terminal device <b>200</b>. In the present embodiment, the charging terminal <b>226</b> is provided at the bottom surface of the housing <b>210</b>. Accordingly, when the terminal device <b>200</b> and an additional device are connected, it is possible to supply power from one device to the other in addition to information exchange via the expansion connector <b>218</b>. In this manner, by providing the charging terminal <b>226</b> around the expansion connector <b>218</b> (so as to sandwich the connector <b>218</b> from both the right and left sides), it becomes possible to, when the terminal device <b>200</b> and an additional device are connected, performs information exchange and power supply between them. Moreover, the terminal device <b>200</b> has a charging connector, and the housing <b>210</b> has a cover <b>221</b> to protect the charging connector. The charging connector is connectable to a charger <b>246</b> to be described later, and once the charging connector is connected to the charger, power is supplied from the charger <b>246</b> to the terminal device <b>200</b>. In the present embodiment, the charging connector (cover <b>221</b>) is provided at the top surface of the housing <b>210</b> considering that an additional device is connected to the bottom surface of the housing, but it may be provided at the right- or left-side surface or the bottom surface.
p-0332Also, the terminal device <b>200</b> has a battery lid <b>227</b> removable from the housing <b>210</b>. A battery (battery <b>245</b> shown, in <figref idrefs="DRAWINGS">FIG. 28</figref>) is disposed under the battery lid <b>227</b>. In the present embodiment, the battery lid <b>227</b> is provided below the protrusion (projection <b>219</b>) on the back surface of the housing <b>210</b>.
p-0333Also, the housing <b>210</b> of the terminal device <b>200</b> has holes <b>225</b><i>a </i>and <b>225</b><i>b </i>provided therein for tying straps. In the present embodiment, the holes <b>225</b><i>a </i>and <b>225</b><i>b </i>are provided in the bottom surface of the housing <b>210</b>, as shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>d</i>). Furthermore, in the present embodiment, the two holes <b>225</b><i>a </i>and <b>225</b><i>b </i>are provided one at each of the right and left sides of the housing <b>210</b>. Specifically, the holes <b>225</b><i>a </i>and <b>225</b><i>b </i>are positioned to the left and right, respectively of the center at the bottom surface of the housing <b>210</b>. The user may tie a strap to either the hole <b>225</b><i>a </i>or <b>225</b><i>b</i>, and attach the strap to his/her own wrist. As a result, in case the user drops the terminal device <b>200</b> or in case the terminal device <b>200</b> slips from the hand, it is possible to prevent the terminal device <b>200</b> from falling on the ground or floor or from hitting anything. Note that in the present embodiment, since the holes are provided both on the right and left sides, the user can conveniently attach the strap to either hand.
p-0334Note that for the terminal device <b>200</b> shown in <figref idrefs="DRAWINGS">FIGS. 22 to 27</figref>, the shape of the operation buttons and the housing <b>210</b>, the number and arrangement of components, etc., are merely illustrative, and other shape, number, and arrangement may be employed.
p-0335Next, an internal configuration of the terminal device <b>200</b> will be described with reference to <figref idrefs="DRAWINGS">FIG. 28</figref>. <figref idrefs="DRAWINGS">FIG. 28</figref> is a block diagram illustrating an internal configuration of the terminal device <b>200</b>. As shown in <figref idrefs="DRAWINGS">FIG. 28</figref>, in addition to the components shown in <figref idrefs="DRAWINGS">FIG. 22</figref>, the terminal device <b>200</b> includes a touch panel controller <b>231</b>, a magnetic sensor <b>232</b>, the acceleration sensor <b>233</b>, the gyroscope <b>234</b>, a user interface controller (UI controller) <b>235</b>, a codec LSI <b>236</b>, the speaker <b>237</b>, a sound IC <b>238</b>, the microphone <b>239</b>, a wireless module <b>240</b>, an antenna <b>241</b>, an infrared communication module <b>242</b>, flash memory <b>243</b>, a power supply IC <b>244</b>, a battery <b>245</b>, and a vibrator <b>249</b>. These electronic components are mounted on an electronic circuit board and accommodated in the housing <b>210</b>.
p-0336The UI controller <b>235</b> is a circuit for controlling the input/output of data to/from various input/output sections. The UI controller <b>235</b> is connected to the touch panel controller <b>231</b>, the analog sticks <b>213</b> (analog sticks <b>213</b>A and <b>2136</b>), the operation buttons <b>214</b> (operation buttons <b>214</b>A to <b>214</b>L), the marker section <b>215</b>, the magnetic sensor <b>232</b>, the acceleration sensor <b>233</b>, the gyroscope <b>234</b>, and the vibrator <b>249</b>. The UI controller <b>235</b> is connected to the codec LSI <b>236</b> and the expansion connector <b>218</b>. The power supply IC <b>244</b> is connected to the UI controller <b>235</b>, and power is supplied to various sections via the UI controller <b>235</b>. The built-in battery <b>245</b> is connected to the power supply IC <b>244</b> to supply power. A charger <b>246</b> or a cable with which power can be obtained from an external power source can be connected to the power supply IC <b>244</b> via a charging connector, and the terminal device <b>200</b> can be charged with power supplied from an external power source using the charger <b>246</b> or the cable. Note that the terminal device <b>200</b> can be charged by being placed in an unillustrated cradle having a charging function. Specifically, although not shown, the power supply IC<b>244</b> can be connected to a cradle which can obtain power from an external power supply, via the charging terminal <b>226</b>, and the terminal device <b>200</b> can be charged with power supplied from the external power supply using the cradle.
p-0337The touch panel controller <b>231</b> is a circuit connected to the touch panel <b>212</b> for controlling the touch panel <b>212</b>. The touch panel controller <b>231</b> generates touch position data of a predetermined format based on signals from the touch panel <b>212</b>, and outputs it to the UI controller <b>235</b>. The touch position data represents, for example, the coordinates of a position on the input surface of the touch panel <b>212</b> at which an input has been made. The touch panel controller <b>231</b> reads a signal from the touch panel <b>212</b> and generates touch position data once per a predetermined period of time. Various control instructions for the touch panel <b>212</b> are outputted from the UI controller <b>235</b> to the touch panel controller <b>231</b>.
p-0338The analog stick <b>213</b> outputs, to the UI controller <b>235</b>, stick data representing the direction and the amount of sliding (or tilting) of the stick portion operated with the user's finger. The operation button <b>214</b> outputs, to the UI controller <b>235</b>, operation button data representing the input status of each of the operation buttons <b>214</b>A to <b>214</b>L (regarding whether it has been pressed).
p-0339The magnetic sensor <b>232</b> detects an azimuthal direction by sensing the magnitude and the direction of a magnetic field. Azimuthal direction data representing the detected azimuthal direction is outputted to the UI controller <b>235</b>. Control instructions for the magnetic sensor <b>232</b> are outputted from the UI controller <b>235</b> to the magnetic sensor <b>232</b>. While there are sensors using, for example, an MI (magnetic impedance) element, a fluxgate sensor, a Hall element, a GMR (giant magnetoresistance) element, a TMR (tunnel magnetoresistance) element, or an AMR (anisotropic magnetoresistance) element, the magnetic sensor <b>232</b> may be of any type so long as it is possible to detect the azimuthal direction. Strictly speaking, in a place where there is a magnetic field in addition to the geomagnetic field, the obtained azimuthal direction data does not represent the azimuthal direction. Nevertheless, if the terminal device <b>200</b> moves, the azimuthal direction data changes, and it therefore possible to calculate the change in the attitude of the terminal device <b>200</b>.
p-0340The acceleration sensor <b>233</b> is provided inside the housing <b>210</b> for detecting the magnitude of linear acceleration along each direction of three axes (the x-, y- and z-axes shown in <figref idrefs="DRAWINGS">FIG. 22(</figref><i>a</i>)). Specifically, the acceleration sensor <b>233</b> detects the magnitude of linear acceleration along each axis, where the longitudinal direction of the housing <b>210</b> is taken as the x-axis, a direction perpendicular to the front-side surface of the housing <b>210</b> as the y-axis, and the width direction of the housing <b>210</b> as the z-axis. Acceleration data representing the detected acceleration is outputted to the UI controller <b>235</b>. Also, control instructions for the acceleration sensor <b>233</b> are outputted from the UI controller <b>235</b> to the acceleration sensor <b>233</b>. While in the present embodiment, the acceleration sensor <b>233</b> is assumed to be a capacitive MEMS acceleration sensor, for example, in another embodiment, an acceleration sensor of another type may be employed. The acceleration sensor <b>233</b> may be an acceleration sensor for detection in one axial direction or two axial directions.
p-0341The gyroscope <b>234</b> is provided inside the housing <b>210</b> for detecting angular rates about the three axes, i.e., the x-, y-, and z-axes. Angular rate data representing the detected angular rates is outputted to the UI controller <b>235</b>. Also, control instructions for the gyroscope <b>234</b> are outputted from the UI controller <b>235</b> to the gyroscope <b>234</b>. Note that any number and combination of gyroscopes may be used for detecting angular rates about the three axes, and similar to the gyroscope unit <b>6</b>, the gyroscope <b>234</b> may include a two-axis gyroscope and a one-axis gyroscope. Alternatively, the gyroscope <b>234</b> may be a gyroscope for detection in one axial direction or two axial directions.
p-0342The vibrator <b>249</b> is, for example, a vibration motor or a solenoid, and is connected to the UI controller <b>235</b>. The terminal device <b>200</b> is vibrated by actuation of the vibrator <b>249</b> based on a command from the UI controller <b>235</b>. Therefore, the vibration is conveyed to the player's hand holding the terminal device <b>200</b>, and thus a so-called vibration-feedback game is realized.
p-0343The UI controller <b>235</b> outputs, to the codec LSI <b>236</b>, operation data including touch position data, stick data, operation button data, azimuthal direction data, acceleration data, and angular rate data received from various components described above. If another device is connected to the terminal device <b>200</b> via the expansion connector <b>218</b>, data representing an operation performed on that device may be further included in the operation data.
p-0344The codec LSI <b>236</b> is a circuit for performing a compression process on data to be transmitted to the game device <b>3</b>, and a decompression process on data transmitted from the game device <b>3</b>. The LCD <b>211</b>, the camera <b>216</b>, the sound IC <b>238</b>, the wireless module <b>240</b>, the flash memory <b>243</b>, and the infrared communication module <b>242</b> are connected to the codec LSI <b>236</b>. The codec LSI <b>236</b> includes a CPU <b>247</b> and internal memory <b>248</b>. While the terminal device <b>200</b> does not perform any game process itself, the terminal device <b>200</b> needs to execute a minimal set of programs for its own management and communication purposes. Upon power-on, the CPU <b>247</b> executes a program loaded into the internal memory <b>248</b> from the flash memory <b>243</b>, thereby starting up the terminal device <b>200</b>. Also, some area of the internal memory <b>248</b> is used as VRAM for the LCD <b>211</b>.
p-0345The camera <b>216</b> captures an image in response to an instruction from the game device <b>3</b>, and outputs data for the captured image to the codec LSI <b>236</b>. Also, control instructions for the camera <b>216</b>, such as an image pickup instruction, are outputted from the codec LSI <b>236</b> to the camera <b>216</b>. Note that the camera <b>216</b> can also record video. Specifically, the camera <b>216</b> can repeatedly capture images and repeatedly output image data to the codec LSI <b>236</b>.
p-0346The sound IC <b>238</b> is a circuit connected to the speaker <b>237</b> and the microphone <b>239</b> for controlling input/output of sound data to/from the speaker <b>237</b> and the microphone <b>239</b>. Specifically, when sound data is received from the codec LSI <b>236</b>, the sound IC <b>238</b> outputs to the speaker <b>237</b> a sound signal obtained by performing D/A conversion on the sound data so that sound is outputted from the speaker <b>237</b>. The microphone <b>239</b> detects sound propagated to the terminal device <b>200</b> (e.g., the user's voice), and outputs a sound signal representing the sound to the sound IC <b>238</b>. The sound IC <b>238</b> performs A/D conversion on the sound signal from the microphone <b>239</b> to output sound data of a predetermined format to the codec LSI <b>236</b>.
p-0347The codec LSI <b>236</b> transmits, as terminal operation data, image data from the camera <b>216</b>, sound data from the microphone <b>239</b> and operation data from the UI controller <b>235</b> to the game device <b>3</b> via the wireless module <b>240</b>. In the present embodiment, the codec LSI <b>236</b> subjects the image data and the sound data to a compression process as the image compression section <b>27</b> does. The terminal operation data, along with the compressed image data and sound data, is outputted to the wireless module <b>240</b> as transmission data. The antenna <b>241</b> is connected to the wireless module <b>240</b>, and the wireless module <b>240</b> transmits the transmission data to the game device <b>3</b> via the antenna <b>241</b>. The wireless module <b>240</b> has a similar function to that of the high-speed wireless communication module <b>28</b> of the game device <b>3</b>. Specifically, the wireless module <b>240</b> has a function of connecting to a wireless LAN by a scheme in conformity with the IEEE 802.11n standard, for example. Data to be transmitted may or may not be encrypted.
p-0348As described above, the transmission data to be transmitted from the terminal device <b>200</b> to the game device <b>3</b> includes operation data (terminal operation data), image data, and sound data. In the case where another device is connected to the terminal device <b>200</b> via the expansion connector <b>218</b>, data received from that device may be further included in the transmission data. In addition, the infrared communication module <b>242</b> performs infrared communication with another device in accordance with, for example, the IRDA standard. Data received via infrared communication may be included in the transmission data to be transmitted to the game device <b>3</b> by the codec LSI <b>236</b>.
p-0349As described above, compressed image data and sound data are transmitted from the game device <b>3</b> to the terminal device <b>200</b>. These data items are received by the codec LSI <b>236</b> via the antenna <b>241</b> and the wireless module <b>240</b>. The codec LSI <b>236</b> decompresses the received image data and sound data. The decompressed image data is outputted to the LCD <b>211</b>, and images are displayed on the LCD <b>211</b>. The decompressed sound data is outputted to the sound IC <b>238</b>, and the sound IC <b>238</b> outputs sound from the speaker <b>237</b>.
p-0350Also, in the case where control data is included in the data received from the game device <b>3</b>, the codec LSI <b>236</b> and the UI controller <b>235</b> give control instructions to various sections in accordance with the control data. As described above, the control data is data representing control instructions for the components of the terminal device <b>200</b> the present embodiment, the camera <b>216</b>, the touch panel controller <b>231</b>, the marker section <b>215</b>, sensors <b>222</b> to <b>224</b>, and the infrared communication module <b>242</b>) the present embodiment, the control instructions represented by the control data are conceivably instructions to activate or deactivate (suspend) the components. Specifically, any components that are not used in a game may be deactivated in order to reduce power consumption, and in such a case, data from the deactivated components is not included in the transmission data to be transmitted from the terminal device <b>200</b> to the game device <b>3</b>. Note that the marker section <b>215</b> is configured by infrared LEDs, and therefore is simply controlled for power supply to be ON/OFF.
p-0351While the terminal device <b>200</b> includes operating means such as the touch panel <b>212</b>, the analog stick <b>213</b> and the operation button <b>214</b>, as described above, in another embodiment, other operating means may be included in place of or in addition to these operating means.
p-0352Also, while the terminal device <b>200</b> includes the magnetic sensor <b>232</b>, the acceleration sensor <b>233</b> and the gyroscope <b>234</b> as sensors for calculating the movement of the terminal device <b>200</b> (including its position and attitude or changes in its position and attitude), in another embodiment, only one or two of the sensors may be included. Furthermore, in another embodiment, any other sensor may be included in place of or in addition to these sensors.
p-0353Also, while the terminal device <b>200</b> includes the camera <b>216</b> and the microphone <b>239</b>, in another embodiment, the terminal device <b>200</b> may or may not include the camera <b>216</b> and the microphone <b>239</b> or it may include only one of them.
p-0354Also, while the terminal device <b>200</b> includes the marker section <b>215</b> as a feature for calculating the positional relationship between the terminal device <b>200</b> and the controller <b>5</b> (e.g., the position and/or the attitude of the terminal device <b>200</b> as seen from the controller <b>5</b>), in another embodiment, it may not include the marker section <b>215</b>. Furthermore, in another embodiment, the terminal device <b>200</b> may include another means as the aforementioned feature for calculating the positional relationship. For example, in another embodiment, the controller <b>5</b> may include a marker section, and the terminal device <b>200</b> may include an image pickup element. Moreover, in such a case, the marker device <b>6</b> may include an image pickup element in place of an infrared LED.
p-0355The systems, devices and apparatuses described herein may include one or more processors, which may be located in one place or distributed in a variety of places communicating via one or more networks. Such processor(s) can, for example, use conventional 3D graphics transformations, virtual camera and other techniques to provide appropriate images for display. By way of example and without limitation, the processors can be any of: a processor that is part of or is a separate component co-located with the stationary display and which communicates remotely (e.g., wirelessly) with the movable display; or a processor that is part of or is a separate component co-located with the movable display and communicates remotely (e.g., wirelessly) with the stationary display or associated equipment; or a distributed processing arrangement some of which is contained within the movable display housing and some of which is co-located with the stationary display, the distributed portions communicating together via a connection such as a wireless or wired network; or a processor(s) located remotely (e.g., in the cloud) from both the stationary and movable displays and communicating with each of them via one or more network connections; or any combination or variation of the above.
p-0356The processors can be implemented using one or more general-purpose processors, one or more specialized graphics processors, or combinations of these. These may be supplemented by specifically-designed ASICs (application specific integrated circuits) and/or logic circuitry. In the case of a distributed processor architecture or arrangement, appropriate data exchange and transmission protocols are used to provide low latency and maintain interactivity, as will be understood by those skilled in the art.
p-0357Similarly, program instructions, data and other information for implementing the systems and methods described herein may be stored in one or more on-board and/or removable memory devices. Multiple memory devices may be part of the same device or different devices, which are co-located or remotely located with respect to each other.
p-0358As discussed above, the various systems, methods, and techniques described herein may be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations of these elements. Apparatus embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a non-transitory machine-readable storage device for execution by a programmable processor. A process embodying these techniques may be performed by a programmable processor executing a suitable program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object-oriented programming language or in assembly or machine language, if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Non-transitory storage devices suitable for tangibly embodying computer program instructions and data include all forms of computer memory including, but not limited to, non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs.
p-0359The processing system/circuitry described in this specification is “programmed” to control processes such as game processes in accordance with the “logic” described in the specification. One of ordinary skill in the art will therefore recognize that, for example, a processing system including at least one CPU when executing instructions in accordance this logic operates as “programmed logic circuitry” to perform the operations defined by the logic.
p-0360As described above, the present embodiment can be applied to, for example, a game system, apparatus, or program for the purpose of, for example, allowing players' operations to be fully reflected in a multiplayer game.
p-0361While some embodiments have been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised.
Contents5
24 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2013337916A1 | Cited by | United States of America | Pre-grant |
| US9517407B2 | Cited by | United States of America | Applicant |
| US9597599B2 | Cited by | United States of America | Search report |
| US9776083B2 | Cited by | United States of America | Applicant |
| US9308441B2 | Cited by | United States of America | Search report |
| US9889384B2 | Cited by | United States of America | Applicant |
| US2014256442A1 | Cited by | United States of America | Pre-grant |
| US2013252736A1 | Cited by | United States of America | Pre-grant |
| US8715080B2 | Cited by | United States of America | Applicant |
| US10376777B2 | Cited by | United States of America | Applicant |
| US2014062930A1 | Cited by | United States of America | Pre-grant |
| US2011190061A1 | Cited by | United States of America | Pre-grant |
| US2012119992A1 | Cited by | United States of America | Pre-grant |
| EP3015954A4 | Cited by | European Patent Office (EPO) | Search report |
| US9700787B2 | Cited by | United States of America | Search report |
| US10150033B2 | Cited by | United States of America | Applicant |
172 members in 11 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 2010192220 | Japan | A | |
| 2010192220 | Japan | A | |
| 2011120681 | Japan | A | |
| 2011120681 | Japan | A | |
| 2010120681 | – | – | – |
| 2010192220 | – | – | – |
| JP20100192220 | – | – | – |
| JP20110120681 | – | – | – |
Members172
| Document | Office | Kind | |
|---|---|---|---|
| CA2746481A1 | Canada | A1 | |
| CA2746486A1 | Canada | A1 | |
| CA2753118A1 | Canada | A1 | |
| US2011190049A1 | United States of America | A1 | |
| US2011190050A1 | United States of America | A1 | |
| US2011190052A1 | United States of America | A1 | |
| US2011190061A1 | United States of America | A1 | |
| EP2353677A2 | European Patent Office (EPO) | A2 | |
| EP2353678A2 | European Patent Office (EPO) | A2 | |
| WO2011096203A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2011096204A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2011204815A1 | Australia | A1 | |
| AU2011204816A1 | Australia | A1 | |
| JP2011156259A | Japan | A | |
| JP2011156260A | Japan | A | |
| KR20110103434A | Republic of Korea | A | |
| KR20110112369A | Republic of Korea | A | |
| JP4798809B1 | Japan | B1 | |
| US2011285704A1 | United States of America | A1 | |
| EP2392389A1 | European Patent Office (EPO) | A1 | |
| EP2392391A1 | European Patent Office (EPO) | A1 | |
| US2012015732A1 | United States of America | A1 | |
| US2012026166A1 | United States of America | A1 | |
| EP2415505A2 | European Patent Office (EPO) | A2 | |
| US2012040759A1 | United States of America | A1 | |
| US2012044177A1 | United States of America | A1 | |
| US2012046106A1 | United States of America | A1 | |
| EP2422854A2 | European Patent Office (EPO) | A2 | |
| US2012052952A1 | United States of America | A1 | |
| US2012052959A1 | United States of America | A1 | |
| CA2746486C | Canada | C | |
| JP2012050804A | Japan | A | |
| JP2012061301A | Japan | A | |
| JP2012064199A | Japan | A | |
| JP2012071103A | Japan | A | |
| JP2012071104A | Japan | A | |
| US2012088580A1 | United States of America | A1 | |
| CA2748627A1 | Canada | A1 | |
| EP2446943A1 | European Patent Office (EPO) | A1 | |
| EP2446944A1 | European Patent Office (EPO) | A1 | |
| EP2446945A1 | European Patent Office (EPO) | A1 | |
| EP2446946A1 | European Patent Office (EPO) | A1 | |
| US2012106041A1 | United States of America | A1 | |
| US2012106042A1 | United States of America | A1 | |
| US2012108329A1 | United States of America | A1 | |
| US2012108340A1 | United States of America | A1 | |
| KR20120046001A | Republic of Korea | A | |
| KR20120046002A | Republic of Korea | A | |
| TW201219092A | Taiwan Province of China | A | |
| TW201219093A | Taiwan Province of China | A | |
| TW201220108A | Taiwan Province of China | A | |
| TW201220109A | Taiwan Province of China | A | |
| AU2011213764A1 | Australia | A1 | |
| AU2011213765A1 | Australia | A1 | |
| CN102462960A | China | A | |
| JP2012095808A | Japan | A | |
| KR101154636B1 | Republic of Korea | B1 | |
| CN202270340U | China | U | |
| EP2392391A4 | European Patent Office (EPO) | A4 | |
| JP2012110670A | Japan | A | |
| CN102600610A | China | A | |
| CN102600611A | China | A | |
| CN102600612A | China | A | |
| CN102600613A | China | A | |
| CN102600614A | China | A | |
| CN202355827U | China | U | |
| CN202355828U | China | U | |
| CN202355829U | China | U | |
| EP2485119A2 | European Patent Office (EPO) | A2 | |
| EP2422854A3 | European Patent Office (EPO) | A3 | |
| CN202398092U | China | U | |
| CN202398095U | China | U | |
| JP2012161604A | Japan | A | |
| KR20120100702A | Republic of Korea | A | |
| HK1165745A | Hong Kong, China | A | |
| HK1165745A1 | Hong Kong, China | A1 | |
| US2012270651A1 | United States of America | A1 | |
| US8317615B2 | United States of America | B2 | |
| JP2012231977A | Japan | A | |
| JP2012232024A | Japan | A | |
| JP2012232025A | Japan | A | |
| EP2485119A3 | European Patent Office (EPO) | A3 | |
| JP2012249644A | Japan | A | |
| US8337308B2 | United States of America | B2 | |
| US8339364B2 | United States of America | B2 | |
| KR20130020715A | Republic of Korea | A | |
| AU2011204816B2 | Australia | B2 | |
| US2013063350A1 | United States of America | A1 | |
| HK1171399A | Hong Kong, China | A | |
| HK1171399A1 | Hong Kong, China | A1 | |
| HK1171400A | Hong Kong, China | A | |
| HK1171400A1 | Hong Kong, China | A1 | |
| HK1171401A | Hong Kong, China | A | |
| HK1171401A1 | Hong Kong, China | A1 | |
| HK1171402A | Hong Kong, China | A | |
| HK1171402A1 | Hong Kong, China | A1 | |
| HK1171403A | Hong Kong, China | A | |
| HK1171403A1 | Hong Kong, China | A1 | |
| US2013109477A1 | United States of America | A1 | |
| AU2011204815B2 | Australia | B2 |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20120052952
- Publication, DOCDB
- 2012052952
- Publication, EPODOC
- US2012052952
- Application
- 13212648
- Application, DOCDB
- 201113212648
- Application, EPODOC
- US201113212648
Titles
- English
- GAME SYSTEM, GAME APPARATUS, STORAGE MEDIUM HAVING GAME PROGRAM STORED THEREIN, AND GAME PROCESS METHOD
Classification
- CPC, 17
- A63F13/26
- A63F13/92
- A63F2300/1006
- A63F2300/105
- A63F2300/301
- A63F2300/403
- A63F2300/6669
- A63F2300/8017
- A63F2300/8088
- A63F13/211
- A63F13/323
- A63F13/428
- A63F13/5252
- A63F13/5255
- A63F13/53
- A63F13/803
- A63F13/843
- IPC, 11
- A63F9 24
- A63F13 219
- A63F13 211
- A63F13 2145
- A63F13 26
- A63F13 31
- A63F13 52
- A63F13 5252
- A63F13 5255
- A63F13 837
- A63F13 847
- USPC, 1
- 463037000