Game program, game processing method, game system, and game device

The game program uses sensor data to standardize controller orientations, enhancing operability by reducing the impact of holding posture variations on player actions in ball games.

JP2025173837APending Publication Date: 2025-11-28NINTENDO CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2024079639
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-15
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

In existing ball games, the way a controller is held can affect the results of operations due to differences in posture, leading to inconsistencies in player input and reduced operability.

Method used

A game program that uses acceleration and angular velocity sensors to determine the orientation of a controller relative to a predetermined axis, allowing for consistent player character movements and actions regardless of how the controller is held, with specific conditions for movement and shooting actions.

Benefits of technology

Improves operability by minimizing the influence of holding posture on controller operations, enabling intuitive and responsive player character movements and actions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025173837000001_ABST
    Figure 2025173837000001_ABST
Patent Text Reader

Abstract

To provide a game program, a game processing method, a game system, and a game device of a ball game for performing control based on movement of an operation device by preventing an influence of a way of holding the operation device.SOLUTION: The correspondence between a direction in space and a direction with an operation device as a reference is set and updated according to a position of the operation device around a predetermined shaft on the basis of operation data at least including velocity data and angular velocity data in a ball game, a position regarding a pitch in space of the operation device is specified, a player character possessing a ball is moved when a first condition regarding at least one of acceleration data and angular velocity data in a vertical direction within space is satisfied, and shooting operation for releasing a ball to the player character is performed when a second condition regarding a position regarding a pitch within space and at least one of acceleration data and angular velocity data is satisfied.SELECTED DRAWING: Figure 30
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a ball game process in which a game is played by moving an operation device itself. [Background technology]

[0002] BACKGROUND ART Conventionally, ball games have been known in which a player can shoot a ball by swinging an operating device (hereinafter, referred to as a controller) (for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 5443041 Summary of the Invention [Problem to be solved by the invention]

[0004] In the above game, for example, the player could hold a roughly rod-shaped controller in his right hand and shoot the ball by swinging his right hand.

[0005] In this regard, although it is possible to hold a controller in one hand, for example, if the controller has a flat shape, the way in which it is held may differ depending on which side faces up when operating. Furthermore, depending on the progress of the game, the way in which the controller is held (the controller's posture) may change during play. Therefore, for example, when control is based on the direction in which the controller is swung or the posture at that time, differences in the way the controller is held may affect the results of operations that the user intended. [Means for solving the problem]

[0006] In view of the above, the following configuration example can be given.

[0007] (Configuration 1) Configuration 1 is a game program for causing a computer of an information processing device to execute a ball game, the game program causing the computer to set and update a correspondence between directions in space and directions relative to the controller device in accordance with the orientation of the controller device around a predetermined axis based on operation data transmitted from the controller device having an acceleration sensor and an angular velocity sensor and including at least acceleration data and angular velocity data, identify an orientation of the controller device relative to the pitch in the space, cause a player character holding the ball to move on a field in the game space when a first condition related to at least one of the acceleration data and the angular velocity data in at least the up and down directions in the space is satisfied, and cause the player character holding the ball to perform a shooting action to release the ball when a second condition related to the orientation relative to the pitch in the space and at least one of the acceleration data and the angular velocity data is satisfied.

[0008] According to the above configuration, the operation device can be moved and operated while being less susceptible to the influence of the way of holding it with respect to the predetermined axis.

[0009] (Configuration 2) In configuration 2, in configuration 1, the operating device may be vertically elongated, the predetermined axis may be an axis along the longitudinal direction of the operating device, and the attitude with respect to the pitch in space may be the pitch of a direction vector of the predetermined axis in space.

[0010] According to the above configuration, when making the player character perform a predetermined action, the predetermined action can be made by moving the operating device, while being less affected by differences in the posture of the controller due to differences in how the operating device is held.

[0011] (Configuration 3) In configuration 3, in configuration 2, the operating device may have a button surface on which operating buttons are arranged. The computer may further identify, based on the operation data, whether at least the button surface is facing upward, rightward, or leftward, and may set and update a correspondence between directions in space and directions of the operating device based on the identified state.

[0012] According to the above configuration, if the operating device is held so that the thumb is always in contact with the button surface, the player character can be made to perform a predetermined action by moving the arm in the same manner, regardless of the orientation of the operating device.

[0013] (Configuration 4) Configuration 4 may be configured in the above configuration 2 such that, when the pitch of the direction vector of a predetermined axis in the space is within a first upward range, the computer is not caused to update the correspondence between the direction in the space and the direction of the operating device in accordance with the attitude of the operating device around the predetermined axis.

[0014] According to the above configuration, when the operating device is in an upward orientation, it is possible to prevent the correspondence relationship between directions from being unintentionally changed.

[0015] (Configuration 5) A fifth aspect of the present invention is any one of the first to fourth aspects, wherein the first condition at least includes a condition that the magnitude of acceleration applied in the vertical direction in the space exceeds a first threshold value.

[0016] According to the above configuration, the player character can be moved by, for example, using an operation such as swinging the control device with a certain amount of force in an up or down direction in space as a trigger, thereby allowing the user to intuitively adjust the timing at which the player character starts to move.

[0017] (Configuration 6) Configuration 6 may be the same as configuration 5 above, wherein the computer further causes the player character in possession of the ball to stop moving on the field when the magnitude of acceleration applied in the vertical direction in space exceeds a first threshold and then falls below the first threshold, or when the magnitude of acceleration exceeds a second threshold greater than the first threshold and then falls below the second threshold.

[0018] According to the above configuration, the control of moving and stopping the player character can be controlled with improved responsiveness.

[0019] (Configuration 7) In a seventh aspect of the present invention, in any one of the first to sixth aspects, the ball game may be basketball, and the action of moving on the field may be a dribbling action that involves movement of the player character.

[0020] According to the above configuration, the user can make the player character perform a dribbling action that involves movement, using an operation that feels similar to dribbling.

[0021] (Configuration 8) In configuration 8, in any one of configurations 1 to 7, the ball game may be basketball. The computer may cause the player character in possession of the ball to start a jumping motion when the orientation with respect to the pitch in space is within a predetermined upward range and a predetermined upward angular velocity in space is applied to the operation device, and may cause the player character in possession of the ball to perform a shooting motion under a second condition that a predetermined angular velocity is further applied to the operation device while the player character in possession of the ball is jumping.

[0022] According to the above configuration, a shooting motion can be performed by an operation that imitates the shooting motion in basketball, thereby increasing the entertainment value of the basketball game.

[0023] (Configuration 9) A configuration 9 is based on the above-mentioned configuration 8, and may further cause the computer to determine, when a shooting motion is performed, a trajectory of the ball resulting from the shooting motion based at least on the position relative to the pitch in space.

[0024] According to the above configuration, the way the operating device is moved when a shooting motion is performed can be appropriately reflected in the trajectory of the shot in basketball.

[0025] (Configuration 10) A configuration 10 may be configured in any one of the above configurations 1 to 9, further causing the computer to identify an orientation of the controller device in relation to yaw in space. Then, when a first condition is satisfied, the computer may cause the player character in possession of the ball to move on a field in the game space in a direction corresponding to the orientation in relation to yaw in space.

[0026] According to the above configuration, the player character can be moved with an intuitive operation while being less susceptible to the influence of the way the device is held relative to the predetermined axis. [Effects of the Invention]

[0027] According to this embodiment, it is possible to improve operability in a ball game in which the game progresses by operating the operation device. [Brief explanation of the drawings]

[0028] [Figure 1] FIG. 1 shows an example of a state in which the left controller 3 and the right controller 4 are attached to the main unit 2. [Figure 2] FIG. 10 shows an example of a state in which the left controller 3 and the right controller 4 are detached from the main unit 2. [Figure 3] Six-sided views showing an example of the main unit 2 [Figure 4] Six-sided diagram showing an example of the left controller 3 [Figure 5] Six-sided diagram showing an example of the right controller 4 [Figure 6] A block diagram showing an example of the internal configuration of the main unit 2. [Figure 7] A block diagram showing an example of the internal configuration of the main unit 2, the left controller 3, and the right controller 4. [Figure 8] An example of a game screen according to this embodiment [Figure 9] An example of the user's (controller's) posture during gameplay [Figure 10] FIG. 1 is a diagram illustrating the flow of the game according to the present embodiment. [Figure 11] An example of vertical swing operation [Figure 12] An example of a game screen according to this embodiment [Figure 13] An example of how to switch to shoot mode [Figure 14] An example of a game screen according to this embodiment [Figure 15] An example of swing-up operation [Figure 16] An example of a game screen according to this embodiment [Figure 17] An example of a swing-down operation [Figure 18] An example of a game screen according to this embodiment [Figure 19] An example of how to hold the controller [Figure 20] An example of how to hold the controller [Figure 21] An example of how to hold the controller [Figure 22] An example of how to hold the controller [Figure 23] A diagram for explaining the real space pitch attitude [Figure 24] A diagram showing an example of a swing-down operation [Figure 25] A diagram showing an example of a swing-down operation [Figure 26] FIG. 10 is a diagram illustrating a transition between a moving state and a stopped state. [Figure 27] FIG. 10 is a diagram illustrating a transition between a moving state and a stopped state. [Figure 28] FIG. 10 is a diagram illustrating a transition between a moving state and a stopped state. [Figure 29]A memory map showing an example of various data stored in the DRAM 85 [Figure 30] A flowchart showing details of game processing according to the present embodiment. [Figure 31] Flowchart showing details of the attitude calculation process [Figure 32] Flowchart showing details of stop state processing [Figure 33] Flowchart showing details of moving state processing [Figure 34] Flowchart showing details of shoot mode processing [Figure 35] Flowchart showing details of shoot preparation processing [Figure 36] Flowchart showing details of processing during jump [Figure 37] Flowchart showing details of processing during shooting DETAILED DESCRIPTION OF THE INVENTION

[0029] An embodiment will be described below.

[0030] A game system according to an example of this embodiment will be described below. An example of the game system 1 according to this embodiment includes a main unit (information processing device; in this embodiment, it functions as a game device main unit) 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 are each detachable from the main unit 2. In other words, the game system 1 can be used as an integrated device by attaching the left controller 3 and the right controller 4 to the main unit 2. The game system 1 can also be used by separating the main unit 2 from the left controller 3 and the right controller 4 (see FIG. 2). Below, the hardware configuration of the game system 1 according to this embodiment will be described, followed by a description of the control of the game system 1 according to this embodiment.

[0031] FIG. 1 is a diagram showing an example of a state in which a left controller 3 and a right controller 4 are attached to a main unit 2. As shown in FIG. 1, the left controller 3 and the right controller 4 are each attached to and integrated with the main unit 2. The main unit 2 is a device that executes various processes (e.g., game processes) in the game system 1. The main unit 2 is equipped with a display 12. The left controller 3 and the right controller 4 are devices that have operation units that allow the player to perform inputs.

[0032] Fig. 2 is a diagram showing an example of the state in which the left controller 3 and the right controller 4 are detached from the main unit 2. As shown in Figs. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main unit 2. Note that, below, the left controller 3 and the right controller 4 may be collectively referred to as "controllers."

[0033] Fig. 3 is a six-sided view showing an example of the main unit 2. As shown in Fig. 3, the main unit 2 includes a substantially plate-shaped housing 11. In this embodiment, the main surface of the housing 11 (in other words, the front surface, i.e., the surface on which the display 12 is provided) is generally rectangular.

[0034] The shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Furthermore, the main unit 2 alone or an integrated device in which the left controller 3 and right controller 4 are attached to the main unit 2 may be a portable device. Furthermore, the main unit 2 or the integrated device may be a handheld device. Furthermore, the main unit 2 or the integrated device may be a portable device.

[0035] 3, the main unit 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays images generated by the main unit 2. In this embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device.

[0036] The main device 2 also includes a touch panel 13 on the screen of the display 12. In this embodiment, the touch panel 13 is of a type that allows multi-touch input (for example, a capacitance type). However, the touch panel 13 may be of any type, and may be of a type that allows single-touch input (for example, a resistive type).

[0037] The main unit 2 is provided with a speaker (i.e., speaker 88 shown in FIG. 6) inside the housing 11. As shown in FIG. 3, speaker holes 11a and 11b are formed on the main surface of the housing 11. The output sound of the speaker 88 is output from these speaker holes 11a and 11b, respectively.

[0038] The main unit 2 also has a left terminal 17, which is a terminal for the main unit 2 to communicate with the left controller 3 via a wired connection, and a right terminal 21, which is a terminal for the main unit 2 to communicate with the right controller 4 via a wired connection.

[0039] As shown in FIG. 3, the main unit 2 includes a slot 23. The slot 23 is provided on the upper side of the housing 11. The slot 23 has a shape that allows a predetermined type of storage medium to be inserted therein. The predetermined type of storage medium is, for example, a storage medium (e.g., a dedicated memory card) dedicated to the game system 1 and the same type of information processing device. The predetermined type of storage medium is used, for example, to store data used by the main unit 2 (e.g., application save data, etc.) and / or programs executed by the main unit 2 (e.g., application programs, etc.). The main unit 2 also includes a power button 28.

[0040] The main unit 2 has a lower terminal 27. The lower terminal 27 is a terminal through which the main unit 2 communicates with the cradle. In this embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the all-in-one device or the main unit 2 alone is placed on the cradle, the game system 1 can display images generated and output by the main unit 2 on a stationary monitor. In this embodiment, the cradle also has the function of charging the all-in-one device or the main unit 2 alone that is placed on it. The cradle also has the function of a hub device (specifically, a USB hub).

[0041] FIG. 4 is a six-sided view showing an example of the left controller 3. As shown in FIG. 4, the left controller 3 includes a housing 31. In this embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the up-down direction in FIG. 4 (the y-axis direction shown in FIG. 4). The left controller 3 can also be held in a vertically long orientation when detached from the main unit 2. The housing 31 has a shape and size that allows it to be held in one hand, particularly the left hand, when held in a vertically long orientation. The left controller 3 can also be held in a horizontally long orientation. When the left controller 3 is held in a horizontally long orientation, it may be held with both hands.

[0042] The left controller 3 is equipped with a left analog stick (hereinafter referred to as the left stick) 32, which is an example of a directional input device. As shown in FIG. 4, the left stick 32 is provided on the main surface of the housing 31. The left stick 32 can be used as a directional input unit that can input directions. By tilting the left stick 32, the player can input a direction corresponding to the tilt direction (and input a magnitude corresponding to the tilt angle). Note that the left controller 3 may be equipped with a cross key or a slide stick that can perform slide inputs, instead of an analog stick, as a directional input unit. In this embodiment, input can be made by pressing down the left stick 32.

[0043] The left controller 3 is equipped with various operation buttons. The left controller 3 is equipped with four operation buttons 33 to 36 (specifically, a right button 33, a down button 34, an up button 35, and a left button 36) on the main surface of the housing 31. The left controller 3 is also equipped with a record button 37 and a - (minus) button 47. The left controller 3 is equipped with a first L button 38 and a ZL button 39 on the upper left side of the housing 31. The left controller 3 is also equipped with a second L button 43 and a second R button 44 on the side of the housing 31 that is attached to the main unit 2. These operation buttons are used to issue instructions according to various programs (for example, OS programs and application programs) executed on the main unit 2.

[0044] The left controller 3 also includes a terminal 42 for wired communication between the left controller 3 and the main unit 2.

[0045] FIG. 5 is a six-sided view showing an example of the right controller 4. As shown in FIG. 5, the right controller 4 includes a housing 51. In this embodiment, the housing 51 has a vertically long shape, that is, a shape that is long in the up-down direction in FIG. 5 (the y-axis direction shown in FIG. 5). The right controller 4 can also be held in a vertically long orientation when detached from the main unit 2. The housing 51 has a shape and size that allows it to be held in one hand, particularly the right hand, when held in a vertically long orientation. The right controller 4 can also be held in a horizontally long orientation. When the right controller 4 is held in a horizontally long orientation, it may be held with both hands.

[0046] Like the left controller 3, the right controller 4 is equipped with a right analog stick (hereinafter referred to as the right stick) 52 as a directional input unit. In this embodiment, the right stick 52 has the same configuration as the left stick 32 of the left controller 3. The right controller 4 may also be equipped with a cross key or a slide stick capable of slide input, instead of an analog stick. Like the left controller 3, the right controller 4 is equipped with four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51. The right controller 4 is further equipped with a + (plus) button 57 and a home button 58. The right controller 4 is also equipped with a first R button 60 and a ZR button 61 on the upper right side of the housing 51. Like the left controller 3, the right controller 4 is also equipped with a second L button 65 and a second R button 66.

[0047] The right controller 4 also includes a terminal 64 for wired communication between the right controller 4 and the main unit 2.

[0048] Fig. 6 is a block diagram showing an example of the internal configuration of main unit 2. In addition to the configuration shown in Fig. 3, main unit 2 includes components 81-91, 97, and 98 shown in Fig. 6. Some of these components 81-91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in housing 11.

[0049] The main unit 2 includes a processor 81. The processor 81 is an information processing unit that executes various types of information processing executed in the main unit 2, and may be composed of, for example, only a CPU (Central Processing Unit), or may be composed of an SoC (System-on-a-chip) that includes multiple functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor 81 executes various types of information processing by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as flash memory 84, or an external storage medium inserted into slot 23, etc.).

[0050] The main device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85 as examples of internal storage media built into the main device 2. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is a memory used primarily to store various types of data (which may be programs) saved in the main device 2. The DRAM 85 is a memory used to temporarily store various types of data used in information processing.

[0051] The main device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23, and reads and writes data from and to a predetermined type of storage medium (e.g., a dedicated memory card) inserted into the slot 23 in accordance with instructions from the processor 81.

[0052] The processor 81 reads and writes data from and to the flash memory 84, DRAM 85, and the above-mentioned storage media as appropriate, to execute the above-mentioned information processing.

[0053] The main unit 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates with external devices via a network (specifically, wireless communication). In this embodiment, the network communication unit 82 connects to a wireless LAN and communicates with external devices using a method conforming to the Wi-Fi standard as a first communication mode. The network communication unit 82 also performs wireless communication with other main units 2 of the same type using a predetermined communication method (e.g., communication using a proprietary protocol or infrared communication) as a second communication mode. Note that wireless communication using the second communication mode enables wireless communication with other main units 2 located within a closed local network area, and realizes a function that enables so-called "local communication," in which data is transmitted and received by direct communication between multiple main units 2.

[0054] The main unit 2 is equipped with a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or right controller 4. Any communication method may be used between the main unit 2 and the left controller 3 and right controller 4, but in this embodiment, the controller communication unit 83 performs communication with the left controller 3 and right controller 4 in accordance with the Bluetooth (registered trademark) standard.

[0055] The processor 81 is connected to the left terminal 17, right terminal 21, and lower terminal 27. When performing wired communication with the left controller 3, the processor 81 transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. When performing wired communication with the right controller 4, the processor 81 transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. When performing wired communication with the right controller 4, the processor 81 transmits data to the cradle via the lower terminal 27. As described above, in this embodiment, the main unit 2 can perform both wired and wireless communication with the left controller 3 and the right controller 4. When an integrated device in which the left controller 3 and the right controller 4 are attached to the main unit 2 or the main unit 2 alone is attached to the cradle, the main unit 2 can output data (e.g., image data and audio data) to a stationary monitor or the like via the cradle.

[0056] Here, the main unit 2 can communicate simultaneously (in other words, in parallel) with multiple left controllers 3. The main unit 2 can also communicate simultaneously (in other words, in parallel) with multiple right controllers 4. Therefore, multiple players can simultaneously input to the main unit 2 using their own sets of left controllers 3 and right controllers 4. For example, a first player can input to the main unit 2 using a first set of left controllers 3 and right controllers 4, while a second player can simultaneously input to the main unit 2 using a second set of left controllers 3 and right controllers 4.

[0057] The main device 2 includes a touch panel controller 86, which is a circuit that controls the touch panel 13. The touch panel controller 86 is connected between the touch panel 13 and the processor 81. Based on a signal from the touch panel 13, the touch panel controller 86 generates data indicating, for example, the position where a touch input was made, and outputs the data to the processor 81.

[0058] The display 12 is also connected to the processor 81. The processor 81 displays on the display 12 an image generated (for example, by executing the above-described information processing) and / or an image acquired from the outside.

[0059] The main unit 2 includes a codec circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The codec circuit 87 is connected to the speakers 88 and the audio input / output terminal 25, and is also connected to the processor 81. The codec circuit 87 is a circuit that controls the input and output of audio data to and from the speakers 88 and the audio input / output terminal 25.

[0060] The main device 2 includes a power control unit 97 and a battery 98. The power control unit 97 is connected to the battery 98 and the processor 81. Although not shown, the power control unit 97 is also connected to each part of the main device 2 (specifically, each part that receives power from the battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the battery 98 to each of the above parts based on instructions from the processor 81.

[0061] Furthermore, battery 98 is connected to lower terminal 27. When an external charging device (e.g., a cradle) is connected to lower terminal 27 and power is supplied to main device 2 via lower terminal 27, battery 98 is charged with the supplied power.

[0062] Figure 7 is a block diagram showing an example of the internal configuration of the main unit 2, the left controller 3, and the right controller 4. Note that details of the internal configuration of the main unit 2 are omitted in Figure 7 because they are shown in Figure 6.

[0063] The left controller 3 is equipped with a communication control unit 101 that communicates with the main unit 2. As shown in FIG. 7 , the communication control unit 101 is connected to each component, including the terminal 42. In this embodiment, the communication control unit 101 can communicate with the main unit 2 both via wired communication via the terminal 42 and via wireless communication without using the terminal 42. The communication control unit 101 controls the method of communication between the left controller 3 and the main unit 2. That is, when the left controller 3 is attached to the main unit 2, the communication control unit 101 communicates with the main unit 2 via the terminal 42. When the left controller 3 is detached from the main unit 2, the communication control unit 101 communicates wirelessly with the main unit 2 (specifically, with the controller communication unit 83). Wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with, for example, the Bluetooth (registered trademark) standard.

[0064] The left controller 3 also includes a memory 102, such as a flash memory. The communication control unit 101 is configured, for example, by a microcomputer (also called a microprocessor), and executes firmware stored in the memory 102 to perform various processes.

[0065] The left controller 3 includes buttons 103 (specifically, buttons 33 to 39, 43, 44, and 47). The left controller 3 also includes a left stick 32. Each button 103 and left stick 32 repeatedly outputs information relating to an operation performed on that button 103 and left stick 32 to the communication control unit 101 at an appropriate timing.

[0066] The left controller 3 is equipped with an inertial sensor. Specifically, the left controller 3 is equipped with an acceleration sensor 104. The left controller 3 is also equipped with an angular velocity sensor 105. In this embodiment, the acceleration sensor 104 detects the magnitude of acceleration along three predetermined axes (for example, the x, y, and z axes shown in FIG. 4). The acceleration sensor 104 may detect acceleration along one or two axes. In this embodiment, the angular velocity sensor 105 detects angular velocity around three predetermined axes (for example, the x, y, and z axes shown in FIG. 4). The angular velocity sensor 105 may detect angular velocity around one or two axes. The acceleration sensor 104 and the angular velocity sensor 105 are each connected to the communication control unit 101. The detection results of the acceleration sensor 104 and the angular velocity sensor 105 are repeatedly output to the communication control unit 101 at appropriate timing.

[0067] The communication control unit 101 acquires information about the input (specifically, information about the operation or the detection results by the sensors) from each input unit (specifically, each button 103, left stick 32, and each sensor 104 and 105). The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing a predetermined process on the acquired information) to the main unit 2. The operation data is repeatedly transmitted once every predetermined time. The interval at which the information about the input is transmitted to the main unit 2 may or may not be the same for each input unit.

[0068] By transmitting the above operation data to the main unit 2, the main unit 2 can obtain the input made to the left controller 3. That is, the main unit 2 can determine the operation of each button 103 and left stick 32 based on the operation data. Furthermore, the main unit 2 can calculate information regarding the movement and / or posture of the left controller 3 based on the operation data (specifically, the detection results of the acceleration sensor 104 and the angular velocity sensor 105).

[0069] The left controller 3 is equipped with a power supply unit 108. In this embodiment, the power supply unit 108 has a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and to each part of the left controller 3 (specifically, each part that receives power from the battery).

[0070] As shown in FIG. 7, the right controller 4 is equipped with a communication control unit 111 that communicates with the main unit 2. The right controller 4 also has a memory 112 that is connected to the communication control unit 111. The communication control unit 111 is connected to each component, including the terminal 64. The communication control unit 111 and memory 112 have the same functions as the communication control unit 101 and memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main unit 2 both via wired communication via the terminal 64 and via wireless communication that does not use the terminal 64 (specifically, communication in accordance with the Bluetooth (registered trademark) standard), and controls the method of communication between the right controller 4 and the main unit 2.

[0071] The right controller 4 has input units similar to those of the left controller 3. Specifically, it has buttons 113, a right stick 52, and inertial sensors (an acceleration sensor 114 and an angular velocity sensor 115). These input units have the same functions as those of the left controller 3, and operate in the same manner.

[0072] The right controller 4 is equipped with a power supply unit 118. The power supply unit 118 has the same functions as the power supply unit 108 of the left controller 3 and operates in the same manner.

[0073] [Outline of Game Processing in This Embodiment] Next, an overview of the operation of the game processing executed by the game system 1 according to this embodiment will be described. As described above, in the game system 1, the main unit 2 is configured so that the left controller 3 and the right controller 4 can be detachably attached to each other. When playing a game with the left controller 3 and the right controller 4 attached to the main unit 2, game images are output to the display 12. Furthermore, when the main unit 2 alone with the left controller 3 and the right controller 4 detached is attached to a cradle, the main unit 2 can also output game images to a stationary monitor or the like via the cradle. In this embodiment, the latter mode of gameplay will be described as an example. Specifically, the main unit 2 alone with the left controller 3 and the right controller 4 detached is attached to a cradle, and the main unit 2 outputs game images and the like to a stationary monitor or the like via the cradle.

[0074] In the following description, the left controller 3 and the right controller 4 may be collectively referred to simply as "controllers."

[0075] [About the assumed game] Next, an overview of the game assumed in this embodiment will be described. The game assumed in this embodiment is a ball game. In this embodiment, a basketball game will be taken as an example of a ball game. In this embodiment, a basketball game in a two-on-two match is assumed. FIG. 8 shows an example of a game screen of the basketball game in this embodiment (hereinafter simply referred to as this game). In addition, FIG. 9 shows an example of the posture of the user (controller) when playing this game. Both examples are assumed to be those immediately after game play has started.

[0076] In this game, the user controls a player character object (hereinafter referred to as a PC) using the right controller 4 or the left controller 3. In this embodiment, when starting to play the game, the user starts the game with the controller's initial orientation (reference orientation) set so that the tip of the controller to be used for play faces the monitor (the positive z-axis side of the real-space coordinate system in FIG. 9 , hereinafter referred to as the forward direction in real space) and the main surface of the controller faces upward in real space (the positive y-axis side of the real-space coordinate system in FIG. 9 , hereinafter referred to as the upward direction in real space). Specifically, when using the right controller 4 for play, the tip of the controller refers to the side where the first R button 60 and ZR button 61 are provided (the positive y-axis side in FIG. 5 ). When using the left controller 3 for play, the tip of the controller refers to the side where the first L button 38 and ZL button 39 are provided (the positive y-axis side in FIG. 4 ). The following description will primarily assume that the user is using the right controller 4, with reference made to the use of the left controller 3 as needed. For ease of explanation, the y-axis of each controller in Figures 4 and 5 will be referred to as the "controller front axis." The x-axis of each controller in Figures 4 and 5 will be referred to as the "controller horizontal axis," and the z-axis will be referred to as the "controller vertical axis."

[0077] Next, the screen example in Fig. 8 will be described. In Fig. 8, a PC 201, a teammate character 202, and two opposing team characters (hereinafter referred to as EC) 203 are present on a field in a virtual game space simulating a basketball court. Part of the goal post is also displayed at the back of the screen. The PC 201 is in possession of a ball 204 and is currently dribbling the ball. Note that this example shows a case where game play begins with the player character in possession of the ball.

[0078] [Stopped and moving status summary] Next, the general flow of play and example operations in this game will be described. FIG. 10 is a schematic diagram showing the transition of the state of the PC 201 (hereinafter referred to as the PC state) as the flow of play in this game progresses. Immediately after gameplay begins, the PC 201 is in a "stopped state." The stopped state is a state in which the PC 201 is standing still and performing a dribbling motion without moving. In this stopped state, as shown in FIG. 11, if the user performs an operation of swinging the right controller 4 up or down in real space with the tip of the right controller 4 facing generally forward (hereinafter referred to as a vertical swing operation), the PC state can be transitioned to a "moving state." Thereafter, this moving state is maintained as long as the vertical swing operation is continued. The moving state is a state in which the PC 201 moves while dribbling toward a predetermined destination point on the field, specifically, a predetermined point below the basket. In other words, it is a state in which the PC 201 is performing a dribbling motion that involves movement. FIG. 12 shows an example screen when the PC 201 is in a moving state. FIG. 12 shows the PC 201 moving toward the goal while avoiding the EC 203.

[0079] The movement route of the PC 201 when it is moving is calculated as follows. First, the straight-line distance from the current position of the PC 201 to the destination point is calculated as the route. Then, if there is an obstacle such as an EC on this straight line, a route that bypasses it is calculated. If there is no obstacle, the straight-line route is used.

[0080] Furthermore, when the PC 201 is in the moving state, the user can stop the vertical swing operation to transition the PC 201 to the stopped state. By transitioning to the stopped state, the movement of the PC 201 can be stopped, and a dribbling motion can be performed on the spot.

[0081] [About stealing] Here, the "stealing action" performed by the EC 203 will be described. In this game, the EC 203 may attempt a "stealing action," which is an action to steal the ball 204 from the PC 201. The stealing action is, for example, an action of waving a hand horizontally as if to steal the ball 204 at close range. In this embodiment, when the EC 203 attempts a stealing action against the PC 201, if the PC 201 is in a moving state, the ball 204 is stolen. On the other hand, if the PC 201 is in a stationary state, the ball 204 is not stolen and the stealing action can be prevented. In other words, if the PC 201 is in a moving state, there is a risk that the EC will steal the ball 204.

[0082] [About Shoot Mode] Returning to FIG. 10 , shooting will now be described. When the user performs a shoot mode transition operation while the PC 201 is in either a stationary or moving state, the PC 201 enters shoot mode. Shoot mode is a mode for shooting a ball, and includes three states: a "shoot preparation state," a "jumping state," and a "shoot state," which will be described below. When the user performs a shoot mode transition operation, the PC state first transitions to the "shoot preparation state." The shoot preparation state is a state in which the PC 201 holds the ball 204 and waits. In this example, the shoot mode transition operation is performed by pressing the ZR button 61 when using the right controller 4, or by pressing the ZL button 39 when using the left controller 3. For example, when the user presses the ZR button 61 as shown in FIG. 13 , a shoot mode screen such as that shown in FIG. 14 is displayed. Before entering shoot mode, the virtual camera is positioned to capture a fairly wide range of the field, as shown in FIGS. 8 and 12 above. On the other hand, during the shoot mode, the virtual camera moves to a position behind the PC 201 where the goal ring is displayed on the screen, and is zoomed in to a certain extent.

[0083] If the user performs a "swing-up operation" within a predetermined time after the PC 201 has transitioned to the shoot preparation state, the PC state transitions to a "jumping state." A swing-up operation is an operation in which the right controller 4 is swung upward in real space, as shown in FIG. 15. The jumping state is a state in which the PC 201 is performing an action of jumping with the ball raised (hereinafter referred to as a jumping action), as shown in FIG. 16. Note that in this embodiment, if a swing-up operation is not performed within the predetermined time, the shot is treated as having failed at that point (this is treated as a type of violation).

[0084] The jumping state continues until the jumping motion ends (the PC 201 lands). Then, during this jumping state, if the user performs an operation of swinging the right controller 4 down in the forward direction in real space (hereinafter referred to as a downward swing operation) as shown in FIG. 17, the PC state transitions to a "shooting state." The shooting state is the state after the PC 201 has shot the ball, as shown in FIG. 18. Note that the movement trajectory of the ball 204 in the shooting state is calculated based on the acceleration and angular velocity detected by the right controller 4 when the downward swing operation is performed. Furthermore, in this embodiment, if a downward swing operation is not performed during the jumping state, the shot is also treated as a failed shot.

[0085] After that, the result of the shot is determined, either the ball 204 goes into the goal ring and the shot is successful, or the ball does not go into the goal ring and the shot is unsuccessful, and one set of play ends. After this, the next set of play begins, and the screen shown in Figure 8 above is displayed.

[0086] The score for a successful shot is determined based on the position of PC 201 on the field when the shot transitions to the shooting preparation state. For example, if the shot is taken in the area outside the semicircle below the goal, which is set as the "3-point area" on the field, the score will be 3 points.

[0087] In this way, the game in this example involves moving PC201 toward the goal using a vertical swing operation, transitioning to a shooting preparation state at the appropriate time, performing a series of swing-up and swing-down operations to shoot, and then completing one set of play based on the result of the shot.

[0088] [How to hold it] The vertical swing operation is an operation of swinging the right controller 4 up and down in real space with the tip of the controller facing the monitor, as shown in FIG. 11 above. In this operation, as seen from the user, the forward direction of the controller's front axis corresponds to the positive z-axis direction of the real-space coordinate system in FIG. 11 above (the forward direction in real space). However, as shown in FIGS. 4 and 5, the controller has a vertically long, approximately flat shape. Therefore, even if the controller's front axis is facing forward in real space, it is conceivable that the controller will be held in a way that changes its orientation around the front axis during play.

[0089] 19 to 22 show examples of how to hold the controller assumed in this embodiment, using the right controller 4 as an example. All of FIGS. 19 to 22 show a state in which the right controller 4 is held with the tip end facing forward in real space (toward the monitor). In the example of FIG. 19, the right controller 4 is held with its main surface (the surface with the right stick 52 and operation buttons 53 to 56) facing upward in real space. Hereinafter, the holding style (controller posture) shown in FIG. 19 will be referred to as "flat holding." With this holding style, the directions of the horizontal axis and vertical axis of the controller correspond to the left-right and up-down directions in real space. In other words, the pitch direction of the controller (around the x-axis in FIGS. 4 and 5) corresponds to the pitch direction in real space (more precisely, the world space, which is regarded as real space in game processing).

[0090] 20 shows an example of a holding style in which the left side of the right controller 4 (the side on which the second L button 65 and the second R button 66 are located) is held facing downward in real space (hereinafter, referred to as the downward direction in real space). In other words, the orientation of the right controller 4 is rotated 90 degrees around the front axis from the orientation shown in FIG. 19 above. Hereinafter, the holding style shown in FIG. 20 will be referred to as a "vertical holding style." With this holding style, the direction of the horizontal axis of the controller corresponds to the up-down direction in real space, and the direction of the vertical axis of the controller corresponds to the left-right direction in real space. More specifically, the right direction of the horizontal axis of the controller corresponds to the upward direction in real space, and the left direction of the horizontal axis of the controller corresponds to the downward direction in real space. Furthermore, the upward direction of the vertical axis of the controller corresponds to the leftward direction in real space, and the downward direction of the vertical axis of the controller corresponds to the rightward direction in real space. Furthermore, the yaw direction of the controller (around the z-axis in FIGS. 4 and 5) corresponds to the pitch direction in real space.

[0091] The example in FIG. 21 is another example of the "vertical grip" described above. That is, although the posture of the right controller 4 itself is the same as that in FIG. 20, the gripping method is different from that in FIG. 20. In FIG. 20, the thumb is held on the side, whereas in FIG. 21, the grip is as in FIG. 19, with the wrist rotated 90 degrees. In both FIG. 20 and FIG. 21, this embodiment regards the grip as "vertical grip." In other words, when the wrist is rotated 90 degrees from the grip as in FIG. 19, changing to the state shown in FIG. 21, the gripping method changes from "flat grip" to "vertical grip."

[0092] Furthermore, the example in Figure 22 is the opposite of Figure 20 above, in that the right controller 4 is held with its left side facing upward in real space. Hereinafter, the holding style shown in Figure 22 will be referred to as "reverse vertical holding." In this holding style, the direction of the controller's horizontal axis corresponds to the up and down direction in real space, and the direction of the controller's vertical axis corresponds to the left and right direction in real space. Furthermore, the yaw direction of the controller corresponds to the pitch direction in real space. However, in contrast to the example in Figure 20, the right direction of the controller's horizontal axis corresponds to the downward direction in real space, and the left direction of the controller's horizontal axis corresponds to the upward direction in real space. Furthermore, the upward direction of the controller's vertical axis corresponds to the right direction in real space, and the downward direction of the controller's vertical axis corresponds to the left direction in real space.

[0093] Although not shown, a holding style opposite to that shown in FIG. 19 above, in which the main surface of the right controller 4 is held facing downward in real space, is also possible. This holding style is called a "reverse flat grip." In this embodiment, since it is difficult to operate the analog sticks and various buttons on the main surface in a "reverse flat grip," the following description assumes that gameplay will not be performed using a "reverse flat grip." However, in other embodiments, gameplay may be performed using a "reverse flat grip" depending on the content of the game. Even in this case, the control described below can be applied.

[0094] Depending on how the controller is held, as described above, the correspondence between the yaw direction (horizontal direction) / pitch direction (vertical direction) in real space and the yaw direction / pitch direction as seen from the controller may change. In light of this change in correspondence, this embodiment constantly determines how the controller is held, making it possible to identify the pitch orientation of the controller's front axis in real space (hereinafter referred to as the real-space pitch orientation) regardless of how the controller is held. Specifically, control is performed to update the setting of the correspondence between directions in the real-space coordinate system and directions in the controller coordinate system depending on the current holding style (orientation about the controller's front axis). In other words, the correspondence between the directions on the controller coordinate axes that correspond to the up and down directions in real space is constantly updated for the current controller orientation. For example, when the controller is held flat as shown in FIG. 19 , the correspondence setting is updated so that the pitch direction in the controller coordinate system corresponds to the pitch direction in the real-space coordinate system. Furthermore, when the controller is held vertically or inverted vertically as shown in FIGS. 20 and 22 , the correspondence setting is updated so that the yaw direction in the controller coordinate system corresponds to the pitch direction in the real-space coordinate system. In this embodiment, the setting of this correspondence is constantly updated, and the vertical swing operation is determined based on the acceleration in the pitch direction in real space. Note that any method for setting this correspondence may be used, and for example, it may be defined as a transformation matrix that converts the yaw rotation of the controller into a pitch rotation.

[0095] In this embodiment, the real space pitch attitude is calculated as a pitch angle such as that shown in Fig. 23. In the example of Fig. 23, the pitch angle is calculated as 0° (or 360°) when the tip of the controller is facing directly downward, 90° when facing forward, 180° when facing directly upward, and 270° when facing directly backward.

[0096] After the transition to the jumping state, until the transition to the shooting state, the controller maintains a posture in which the front axis of the controller (the tip of the controller) faces upward in real space for a certain amount or more (hereinafter referred to as the upward posture). A shot can be taken by performing a downward swing while in the jumping state. However, it is conceivable that there will be differences in the degree to which the wrist is twisted when performing the downward swing depending on the user. For example, when performing the upward swing, assume that the left side of the right controller 4 faces left in real space (hereinafter referred to as the left side in real space) as shown in FIG. 24. When a downward swing is performed in this state, some users perform the downward swing without twisting their wrist much, with the left side of the right controller 4 facing left in real space. Furthermore, for example, it is conceivable that some users perform a downward swing while twisting their wrist so that the main surface of the right controller 4 faces left in real space after the swing, as shown in FIG. 25. In such a case, if the correspondence between the grip position and the direction in the real-space coordinate system is constantly updated as described above during a shooting motion, a situation may arise in which the correspondence between the swing direction of the controller and the direction in real space changes unintentionally by the user. As a result, the user may not achieve the operation result intended by the user. For example, the user may intend to throw the ball forward, but on the game screen, the ball flies sideways. Therefore, in this embodiment, control is also performed to stop the constant updating of the correspondence between the direction of the controller and the real space as described above while the controller is in an upward position. This makes it possible to calculate the trajectory of the shot by appropriately reflecting the change in the position of the controller during the shot.

[0097] [About control of moving / stopped state switching] Next, the control performed in this embodiment regarding the transition between the stopped state and the moving state described above will be described. As described above, the stopped state and the moving state can be switched by starting / stopping a vertical swing operation. In this embodiment, this switching control is basically performed based on a change in acceleration in the upward direction in real space (hereinafter referred to as Y-direction acceleration) taking into account the directional correspondence relationship described above. In other words, the transition between the stopped state and the moving state is determined based on a change in acceleration in the direction in the controller coordinate system that corresponds to the up and down direction in real space. Specifically, first, the Y-direction acceleration for the past few frames is obtained as an absolute value. Because the absolute value is obtained, the sign of downward acceleration (negative acceleration) is inverted and treated as upward acceleration. As a result, all acceleration during a vertical swing operation is treated as upward acceleration. Next, the average of the Y-direction acceleration for the past few frames (hereinafter referred to as the Y acceleration average value) is calculated. Then, when the Y acceleration average value goes from being below a predetermined threshold to exceeding the threshold, the state is transitioned from the stopped state to the moving state. When the Y acceleration average value goes from being above the threshold to being below the threshold, the state is transitioned from the moving state to the stopped state. FIG. 26 shows an example of the relationship between changes in the average Y acceleration value and transitions between stopped and moving states. In the graph of FIG. 26, the vertical axis represents the average Y acceleration value, and the horizontal axis represents time. In addition, black circles in FIG. 26 indicate that the PC state is moving, and white circles indicate that it is stopped. In the example of FIG. 26, at time T1, the average Y acceleration value exceeded threshold V1, causing a transition from the stopped state to the moving state, and then, at time T2, the average Y acceleration value fell below threshold V1, causing a transition from the moving state to the stopped state.

[0098] Now, let's consider a situation in which the user continues to swing the controller vertically with some force, and the average Y acceleration value is somewhat away from threshold V1, as shown in FIG. 27. Let's also assume that the user stops the vertical swing at time T1 in FIG. 27. In this case, if the point in time when it is determined that the average Y acceleration value falls below threshold V1 is time T2, then a period A from T1 to T2 is required from when the user stops the vertical swing until the PC state transitions to the stopped state. It is believed that this period A becomes longer the further away the average Y acceleration value at the time the vertical swing is stopped is from threshold V1.

[0099] Considering the existence of the stealing operation, if a stealing operation is attempted while the device is moving, it is necessary to transition from the moving state to the stopped state as quickly as possible to quickly prevent it. In other words, considering the offensive and defensive tactics involved in the stealing operation, it is preferable to have as fast a response as possible regarding the transition between the moving state and the stopped state. Taking this response into consideration, in this embodiment, control is performed using two thresholds for determining the transition between the stopped and moving states. FIG. 28 shows an example of the relationship between the switching control and the thresholds in this embodiment. In addition to a first threshold V1, a second threshold V2 is set, which is a higher average Y-acceleration value. FIG. 28 shows that a vertical swing operation is initiated from the stopped state, and the average Y-acceleration exceeds the first threshold V1 at time T1, resulting in a transition to the moving state (moving state 1). At time T2, the average Y-acceleration falls below the first threshold V1, resulting in a transition to the stopped state (stopped state 2). Furthermore, at time T3, the average Y-acceleration exceeds the first threshold V1, resulting in a transition to the moving state again (moving state 2). Subsequently, at time T4, when the Y acceleration average value is slightly above the second threshold V2, the user stops the vertical swing operation. Subsequently, at time T5, the Y acceleration average value falls below the second threshold V2, and accordingly, the PC state transitions to the stopped state (while still not falling below the first threshold V1). In this case, the period from when the vertical swing operation is stopped at time T4 to time T5, when the PC state transitions to the stopped state, is period B. Period B is shorter than period A in the case of FIG. 27 above. In other words, compared to the case of FIG. 27, the response from when the vertical swing operation is stopped to when the PC state transitions to the stopped state is improved.

[0100] FIG. 28 also shows that after time T5, at time T6, the state transitions to the moving state. In other words, the example in FIG. 28 shows that the vertical swing operation is momentarily stopped at time T5, and then immediately resumed. In other words, the example shows a series of actions: the PC 201 is immediately transitioned to the stopped state when a stealing action is initiated by the EC 203, and the PC 201 is immediately transitioned to the moving state when the stealing action is prevented. By providing two thresholds in this way, the response time for transitions between the stopped state and the moving state is improved. This allows the player to enjoy the offensive and defensive tactics of the stealing action, enhancing the entertainment value of the game.

[0101] [Determining the trajectory of a shot] Next, a method for determining the trajectory of the ball 204 in the shooting state will be described. In this embodiment, the ball 204 can be released by performing a downward swing operation in the jumping state as described above. In this embodiment, the trajectory of the ball 204 is calculated based on the attitude and swing speed of the controller during the downward swing operation. Specifically, the launch speed (flight distance) of the ball 204 is determined based on the swing speed. For example, a launch speed is calculated that will cause the ball 204 to fly farther if the swing speed is fast (if the swing is strong), and that will cause the ball 204 to fall short of the goal hoop if the swing speed is slow (if the swing is weak).

[0102] Furthermore, the angle of the wrist is estimated from the real-space pitch orientation of the controller and reflected as the launch angle of ball 204. Specifically, when the pitch angle of the real-space pitch orientation is 180° (a posture facing directly upward) in FIG. 23 above, a launch angle of ball 204 is calculated so that the ball follows a beautiful parabolic curve. When the pitch angle is a slightly forward-leaning angle, such as 135° in FIG. 23, a launch angle of ball 204 is calculated so that the ball follows a linear trajectory. When the pitch angle is a slightly backward-leaning angle, such as 225° in FIG. 23, a launch angle of ball 204 is calculated so that the ball follows a soft trajectory.

[0103] In this embodiment, the controller posture in the frame in which the downward swing operation is detected is compared with the controller posture in the previous frame to calculate the difference in the controller horizontal axis. This difference is then reflected as a deviation in the left-right direction of the launch direction of the ball 204.

[0104] In this way, in this embodiment, regardless of how the controller is held, the vertical posture and movement in real space are determined. Then, based on this, the vertical swing operation, swing-up operation, etc. are determined and the basketball game is controlled. This improves the operability of the basketball game.

[0105] [Details of the game processing of this embodiment] Next, the game processing in this embodiment will be described in more detail with reference to Figures 29 to 37. Here, the processing for controlling the PC 201 that possesses the ball 204 will be mainly described, and details of other game processing will not be described. The following description will be given taking the case where the right controller 4 is used as an example.

[0106] [About data usage] First, the various data used in this game processing will be described. Fig. 29 is a memory map showing an example of the various data stored in the DRAM 85 of the main unit 2. The DRAM 85 of the main unit 2 stores a game program 301, PC data 302, player character data 311, operation data 312, controller posture data 316, a controller posture buffer 317, an end flag 318, end state data 319, correspondence setting data 320, and shot position information 321.

[0107] The game program 301 is a program for executing the game processing in this embodiment.

[0108] The PC data 302 is data related to the PC 201. The PC data 302 includes current position data 303, PC movement parameters 304, movement status flag 305, shoot mode flag 306, preparation status flag 307, jumping status flag 308, shoot status flag 309, etc. Although not shown, the PC data 302 also includes various data required for game processing, such as data indicating the appearance of the PC 201 (polygon data, etc.) and various motion data (animation data) performed by the PC 201.

[0109] The current position data 303 indicates the current position of the PC 201 on the field.

[0110] The PC movement parameters 304 are data used to control the movement of the PC 201. For example, the PC movement parameters 322 include parameters indicating the movement direction and movement speed of the PC 201.

[0111] The moving state flag 305 is a flag that indicates whether the PC state is moving or stationary. When it is on, it indicates a moving state, and when it is off, it indicates a stationary state. The initial value of the moving state flag 305 is assumed to be off.

[0112] The shoot mode flag 306 is a flag that indicates whether or not the current mode is shoot mode. When it is on, it indicates that the current mode is shoot mode, and when it is off, it indicates that the current mode is not shoot mode. The initial value of the shoot mode flag 306 is off.

[0113] The ready state flag 307 is a flag that indicates whether the PC state is ready to shoot or not. When it is on, it indicates that the PC is ready to shoot, and when it is off, it indicates that the PC is not ready to shoot. The initial value of the ready state flag 307 is assumed to be off.

[0114] The jumping state flag 308 is a flag that indicates whether the PC state is in a jumping state. When it is on, it indicates that the PC is in a jumping state, and when it is off, it indicates that the PC is not in a jumping state. The initial value of the jumping state flag 308 is set to off.

[0115] The shoot state flag 309 is a flag that indicates whether the PC state is in a shoot state or not. When it is on, it indicates that the PC state is in a shoot state, and when it is off, it indicates that the PC state is not in a shoot state. The initial value of the shoot state flag 309 is assumed to be off.

[0116] Next, the player character data 311 is data relating to character objects other than the PC 201, specifically, the teammate characters 202 and the EC 203. The player character data 311 includes various parameters for controlling the actions of each character object.

[0117] Next, the operation data 312 is data obtained from the controller operated by the user. In other words, it is data indicating the operation content performed by the user. Here, data obtained from the right controller 4 is taken as an example, but if the left controller 3 is used, the operation data is obtained as operation data for the left controller 3. The operation data 312 includes at least button data 313, acceleration data 314, and angular velocity data 315. The button data 313 is data indicating the press states of various buttons on the right controller 4. The acceleration data 314 indicates the detection results of the acceleration sensor 114, and the angular velocity data 315 indicates the detection results of the angular velocity sensor 115.

[0118] Next, the controller attitude data 316 is data related to the current attitude of the controller. The controller attitude data 316 includes rotation matrix data that represents the rotation from the reference attitude to the current attitude of the controller. This rotation matrix is, for example, an arrangement of unit vectors that represent the front axis, horizontal axis, and vertical axis of the controller, expressed in an xyz coordinate system. In this embodiment, the reference attitude is assumed to be the attitude shown in FIG. 19 for the right controller 4. That is, an attitude in which the main surface of the right controller 4 faces upward in real space and the left side face faces leftward in real space is treated as the reference attitude. In other words, the reference attitude is assumed to be an attitude in which the controller front axis coincides with the z axis of the real-space coordinate system in FIG. 9 or 19, the controller horizontal axis coincides with the x axis of the real-space coordinate system, and the controller vertical axis coincides with the y axis of the real-space coordinate system. The controller attitude data 316 also includes data that represents the rotations about the controller front axis, controller horizontal axis, and controller vertical axis, as well as data that represents the attitudes of the controller front axis, controller horizontal axis, and controller vertical axis.

[0119] The controller attitude buffer 317 is a buffer for temporarily storing a predetermined amount of past controller attitude data 316. The controller attitude buffer 317 is used to compare the past attitude of the controller with the current attitude, calculate changes therebetween, and so on.

[0120] The end flag 318 is a flag that indicates whether the result of the shot has been determined. The end flag 318 is initially off, and is set to on once the result of the shot has been determined.

[0121] The end state data 319 is data that indicates whether the shot was successful (a point was scored) or unsuccessful.

[0122] The correspondence setting data 320 is data that sets the correspondence between directions in the controller coordinate system and directions in the real space coordinate system when the controller is currently held as described above.

[0123] The shooting position information 321 is data indicating the position on the field when the PC 201 transitions to the shooting preparation state.

[0124] In addition, although not shown, data relating to the ball 204 (appearance data and parameters for movement control) and various data necessary for game processing such as score status are also generated as appropriate and stored in the DRAM 85.

[0125] [Details of the processing performed by Processor 81] Next, details of the game processing in this embodiment will be explained. Here, an example will be explained in which the user is playing using the right controller 4. Furthermore, the flowchart shown below is merely an example of the processing process. Therefore, the processing order of each step may be changed as long as the same results are obtained. Furthermore, the values ​​of variables and thresholds used in the determination steps are merely examples, and other values ​​may be used as necessary.

[0126] Figure 30 is a flowchart showing details of the game processing according to this embodiment. The processing loop relating to steps S1 to S9 in Figure 30 is repeated a predetermined number of times per second according to the frame rate. In Figure 30, first, in step S1, processor 81 acquires operation data 312. At this time, processor 81 stores the contents of controller posture data 316 calculated in the processing relating to the previous frame in controller posture buffer 317.

[0127] Next, in step S2, processor 81 executes an attitude calculation process. Figure 31 is a flowchart showing the details of the attitude calculation process. In Figure 31, first, in step S21, processor 81 calculates vectors indicating the attitudes of the right controller 4 related to the controller front axis, controller horizontal axis, and controller vertical axis (attitude vectors), based on operation data 312.

[0128] Next, in step S22, the processor 81 determines whether the right controller 4 is in an upward orientation. In this embodiment, if the upward component of the orientation vector of the controller front axis is equal to or greater than a predetermined value, it is determined that the right controller 4 is in an upward orientation. If the result of this determination is that the right controller 4 is not in an upward orientation (NO in step S22), then in step S23 the processor 81 classifies the current way in which the right controller 4 is being held into one of the three types: "flat grip," "vertical grip," or "reverse vertical grip." This classification of the way in which the right controller 4 is being held is performed, for example, as follows. First, the orientations of the controller front axis, horizontal axis, and vertical axis of the right controller 4 in the reference orientation described above are each considered as three-axis vectors within the range of values ​​from -1 to +1. Here, it is assumed that in the reference orientation, the front axis is represented by (0,0,1), the horizontal axis by (1,0,0), and the vertical axis by (0,1,0). Based on this reference posture, if the controller's vertical axis (the main surface side) is pointing upward and the controller's horizontal axis is not tilted significantly (the horizontal axis is not pointing significantly upward), the holding position is determined to be "flat grip." Also, if the horizontal axis (the left side of the right controller 4) is pointing somewhat downward and the vertical axis is pointing somewhat sideways, the holding position is determined to be "vertical grip." Here, "somewhat" means that the accuracy is sufficient to enable the above-mentioned vertical swing operation to be identified, and includes, for example, tilts up to about 45 degrees. For example, in the case of flat grip as shown in FIG. 19, even if the controller's horizontal axis is tilted up or down by about 45 degrees from horizontal, it is still considered to be flat grip. More specifically, in this embodiment, if the y-component of the controller's vertical axis is greater than 0 (a positive value) and the absolute value of the y-component of the controller's horizontal axis is less than 0.5, the holding position is determined to be "flat grip." For example, if the y component of the controller's horizontal axis is less than 0 (negative value: value indicating downwards) and the absolute value of the y component of the controller's vertical axis is less than 0.5, it is determined to be "vertical holding." If the horizontal axis (the left side of the right controller 4) is pointing somewhat upwards and the vertical axis is pointing somewhat to the side, it is treated as "reverse vertical holding." For example, this occurs when the y component of the controller's horizontal axis is greater than 0 (positive value: value indicating upwards) and the absolute value of the y component of the controller's vertical axis is less than 0.5.Note that a state in which the controller's vertical axis is pointing downward and the horizontal axis is not tilted much is considered to be the "reverse flat grip" state, but as mentioned above, this embodiment will be described under the assumption that the game will not be played in this grip. For example, even if the "reverse flat grip" state itself is determined to be present, the correspondence setting data 320, which will be described later, will not be updated.

[0129] Also, while the right controller 4 is used as an example here, if the left controller 3 is used for play, the relationship for vertical holding will be reversed. For example, if the conditions for determining "vertical holding" are met with the right controller 4, the left controller 3 will be determined to be "reverse vertical holding."

[0130] Once the current way of holding the controller has been classified into one of the three types of holding ways as described above, in step S24, the processor 81 updates the correspondence setting data 320 in accordance with the classified holding way. That is, the setting of the correspondence between the direction of the right controller 4 in the reference posture and the direction in real space is updated. For example, in the case of "flat holding," a relationship is set in the correspondence setting data 320 that associates the pitch direction of the right controller 4 with the pitch direction in real space. In the cases of "vertical holding" and "reverse vertical holding," a relationship is set that associates the yaw direction of the right controller 4 with the pitch direction in real space. Furthermore, for "vertical holding" and "reverse vertical holding," the rotation directions are reversed. For example, in the case of "vertical holding," clockwise yaw rotation of the right controller 4 is associated with upward rotation in real space, and in the case of "reverse vertical holding," counterclockwise yaw rotation of the right controller 4 is associated with upward rotation in real space.

[0131] Next, in step S25, processor 81 calculates the acceleration and angular velocity in each direction in real space, such as the Y-direction acceleration, based on the correspondence setting data 320, and then calculates the current attitude and swing direction, etc. of the right controller 4 based on these. If the result of calculation based on correspondence setting data 320 shows that, for example, the right controller is held in a "vertical" position, when a swing operation in the yaw direction in the controller coordinate system is detected, this will be treated as a swing in the pitch direction (pitch direction in real space) in the reference attitude.

[0132] Next, in step S26, the processor 81 calculates the real space pitch attitude based on the calculation result of step S25. In this embodiment, the pitch angle in the real space as shown in Fig. 23 is calculated.

[0133] On the other hand, if the result of the judgment in step S22 above is that the right controller 4 is in an upward orientation (YES in step S22), in step S27, the processor 81 does not update the correspondence setting data above, but calculates the current orientation and swing direction of the right controller 4, etc., based on the immediately previous correspondence setting data.

[0134] Thereafter, the processor 81 ends the attitude calculation process.

[0135] Returning to FIG. 30, next, in step S3, processor 81 determines whether shoot mode flag 306 is on. If the result of this determination is that shoot mode flag 306 is off (NO in step S3), then, in step S5, processor 81 determines whether moving state flag 305 is on. If the result of this determination is that moving state flag 305 is off (NO in step S5), then, in step S6, processor 81 performs stopped state processing. On the other hand, if moving state flag 305 is on (YES in step S5), processor 81 performs moving state processing in step S7. Below, the stopped state processing and moving state processing will be explained in order.

[0136] [Stop state processing] FIG. 32 is a flowchart showing details of the stop state processing. First, in step S31, processor 81 causes PC 201 to perform a dribbling action on the spot. Next, in step S32, processor 81 determines whether or not a predetermined time has elapsed since previous moving state flag 305 was set to OFF. If the result of the determination shows that the predetermined time has elapsed (YES in step S32), then in step S33, processor 81 calculates the Y acceleration average value based on the Y-direction acceleration of the past few frames contained in controller posture buffer 317 and the current Y-direction acceleration. Then, processor 81 determines whether or not the Y acceleration average value has changed from a value less than second threshold value V2 to equal to or greater than second threshold value V2. If the result of the determination shows that the Y acceleration average value has changed (YES in step S33), in step S35, processor 81 sets moving state flag 305 to ON. Thereafter, processor 81 ends the stop state processing. On the other hand, if there has been no change (NO in step S33), then in step S34, processor 81 determines whether the Y acceleration average value has changed from a value less than the first threshold value V1 to equal to or greater than the first threshold value V1. If the result of the determination is that there has been a change (YES in step S34), the process proceeds to step S35. If there has been no change (NO in step S34), the process proceeds to step S36, which will be described later.

[0137] On the other hand, if the result of the determination in step S32 above is that the predetermined time has not elapsed (NO in step S32), the processes of steps S33 and S34 above are skipped, and the process proceeds to step S36 described below. In other words, control is performed to prevent transitions between the stationary state and the moving state from occurring for a while after transition from the moving state to the stationary state. This is to prevent a decrease in operability due to frequent transitions between the stationary state and the moving state when the Y acceleration average value is a value near the first threshold value V1 or the second threshold value V2.

[0138] Next, in step S36, processor 81 determines whether or not a shoot mode transition operation has been performed, based on operation data 312. If the result of this determination is that a shoot mode transition operation has been performed (YES in step S36), processor 81 sets shoot mode flag 306 and preparation state flag 307 to ON in step S37. Next, in step S38, processor 81 changes the various settings of the virtual camera to settings for shoot mode.

[0139] Next, in step S39, processor 81 sets shot position information 321 based on the current position on the field of PC 201. After that, processor 81 ends the stop state processing.

[0140] On the other hand, if the result of the determination in step S36 above is that the operation to transition to the shoot mode has not been performed (NO in step S36), the processes in steps S37 to S39 above are skipped and the stop state process ends.

[0141] [Movement state processing] Next, the moving state processing will be described. Fig. 33 is a flowchart showing the details of the moving state processing. First, in step S51, processor 81 calculates a route from the current position of PC 201 to the target point (for example, under the goal). Then, processor 81 moves PC 201 (and ball 204) along the route while causing PC 201 to perform a dribbling motion. After reaching the target point, PC 201 is controlled not to move any further and to perform a dribbling motion in place.

[0142] Next, in step S52, the processor 81 determines whether or not a predetermined time has elapsed since the previous movement status flag 305 was set to ON. If the result of this determination is that the predetermined time has elapsed (YES in step S52), then in step S53, the processor 81 determines whether or not the Y acceleration average value has changed from equal to or greater than the second threshold value V2 to less than the second threshold value V2. If the result of this determination is that the Y acceleration average value has changed (YES in step S53), then in step S55, the processor 81 sets the movement status flag 305 to OFF. Thereafter, the processor 81 ends the movement status processing. On the other hand, if the Y acceleration average value has not changed (NO in step S53), then in step S54, the processor 81 determines whether or not the Y acceleration average value has changed from equal to or greater than the first threshold value V1 to less than the first threshold value V1. If the result of this determination is that the Y acceleration average value has changed (YES in step S54), the process proceeds to step S55. If there has been no change (NO in step S54), the process proceeds to step S56, which will be described later.

[0143] On the other hand, if the result of the determination in step S52 above is that the predetermined time has not elapsed (NO in step S52), the processes in steps S53 and S54 above are skipped, and the process proceeds to step S56, which will be described later.

[0144] Next, in step S56, processor 81 determines whether or not a shoot mode transition operation has been performed, based on operation data 312. If the result of this determination is that a shoot mode transition operation has been performed (YES in step S56), then in steps S57 to S59, the same processes as steps S37 to S39 in Figure 32 are performed. On the other hand, if a shoot mode transition operation has not been performed (NO in step S56), the processes of steps S57 to S59 are skipped, and the movement state process ends.

[0145] Returning to FIG. 30, next, the processing when the result of the determination in step S3 above is shoot mode (YES in step S3) will be described. In this case, in step S4, processor 81 executes shoot mode processing. FIG. 34 is a flowchart showing the details of shoot mode processing. In FIG. 34, first, in step S71, processor 81 determines whether or not the PC state is in a shoot preparation state based on preparation state flag 307. If the result of this determination is in a shoot preparation state (YES in step S71), processor 81 executes shoot preparation processing in step S72.

[0146] Figure 35 is a flowchart showing details of the shoot preparation processing. In Figure 35, first, in step S81, processor 81 determines whether a certain time has passed since preparation state flag 307 was set to ON, that is, since the transition to the shoot preparation state. If the result of this determination is that a certain time has passed (YES in step S81), processing is performed to end one set of play as the shot was unsuccessful. First, in step S82, processor 81 sets end flag 318 to ON. Next, in step S83, processor 81 sets end state data 319 to "shot failed." Thereafter, the shoot preparation processing ends.

[0147] On the other hand, if the result of the determination in step S81 above is that a certain amount of time has not elapsed since the transition to the shoot preparation state (NO in step S81), then in step S84, the processor 81 determines whether or not an angular velocity of a predetermined value or more has been applied in a direction corresponding to the upward direction in real space while the real-space pitch orientation (pitch angle) of the right controller 4 is within a predetermined upward range. For example, if the ZR button 61 is pressed and then the swing-up operation is performed with the tip of the right controller 4 pointing slightly upward, it is determined that the determination condition is met. On the other hand, if the ZR button 61 is pressed and then the right controller 4 is swung up from a state in which the tip of the right controller 4 was pointing directly downward until the tip is pointing forward, it is not determined that the determination condition is met.

[0148] As a result of the above determination, if the above determination condition is met (YES in step S84), in step S85, processor 81 sets preparation state flag 307 to OFF and sets jumping flag state 308 to ON. On the other hand, if the above determination condition is not met (NO in step S84), the processing of step S85 is skipped. Thereafter, the shoot preparation processing ends.

[0149] 34, if the result of the determination in step S71 above is that the PC is not in the shoot preparation state (NO in step S71), then in step S73 processor 81 determines whether or not the PC state is in the jumping state, based on jumping state flag 308. If the result of this determination is that the PC state is in the jumping state (YES in step S73), then in step S75 processor 81 executes jumping processing.

[0150] FIG. 36 is a flowchart showing details of the during-jump processing. In FIG. 36, first, in step S91, processor 81 causes PC 201 to perform a jumping motion. Next, in step S92, processor 81 determines whether a certain time has elapsed since the PC state transitioned to the during-jump state. This certain time is, for example, the time from the start to the end of the jumping motion (playback of animation) of PC 201. If the result of this determination is that the certain time has not elapsed (NO in step S92), processor 81 determines in step S95 whether a predetermined angular velocity, for example, a downward angular velocity, has been applied. That is, processor 81 determines whether the above-mentioned downward swing operation has been performed. If the result of this determination is that a downward swing operation has been performed (YES in step S95), processor 81 sets during-jump state flag 308 to OFF and sets shoot state flag 309 to ON in step S96. Next, in step S97, processor 81 calculates the trajectory of the ball. In this embodiment, as described above, the trajectory of the ball is calculated based on the attitude of the controller in relation to the pitch during the downward swing, the swing speed, etc. After that, the in-jump processing ends.

[0151] On the other hand, if the result of the determination in step S95 above is that a downward swing operation has not been performed (NO in step S95), the processes in steps S96 and S97 above are skipped, and the jump process ends.

[0152] Next, a description will be given of the process when, as a result of the determination in step S91 above, a certain amount of time has passed since the PC state transitioned to the jumping state (YES in step S91). This case corresponds to the case where, after transitioning to the jumping state, the jumping motion ends without a shot being taken. Therefore, a process is performed to end one set of play by treating the shot as a failed shot. Specifically, in step S83, processor 81 sets end flag 318 to ON. Next, in step S84, processor 81 sets end state data 319 to "shot failed". Thereafter, the jumping process ends.

[0153] Returning to FIG. 34, next, if the result of the determination in step S73 above is that jumping state flag 308 is off (NO in step S73), processor 81 executes shooting processing in step S74. FIG. 37 is a flowchart showing the details of the shooting processing. In FIG. 37, first, in step S101, processor 81 moves ball 204 along the calculated ball trajectory. Next, in step S102, processor 81 continues the jumping motion of PC 201 (which continues even after the shot). This processing is executed until PC 201 lands after the shot.

[0154] Next, in step S103, processor 81 determines whether ball 204 has entered the goal hoop. If the result of this determination is that ball 204 has entered the goal hoop (YES in step S103), in step S104, processor 81 adds points to the user's team according to shot position information 321. Next, in step S105, processor 81 sets end flag 318 to ON, and then in step S106, processor 81 sets end state data 319 to "shot successful." Thereafter, the shooting process ends.

[0155] On the other hand, if the result of the determination in step S103 above is that ball 204 has not entered the goal ring (NO in step S103), then in step S107 processor 81 determines whether it has been determined that ball 204 did not enter the goal ring, i.e., that the shot has failed. For example, if ball 204 lands without passing through the goal ring, it is determined that the shot has failed. If the result of this determination is that the shot has failed (YES in step S107), then in step S108 processor 81 sets end flag 318 to ON. In the following step S109, processor 81 sets end state data 319 to "shot failed". Thereafter, the in-shooting process ends. On the other hand, if it has not yet been determined that the shot has failed (NO in step S107), the processes in steps S108 and S109 above are skipped, and the in-shooting process ends.

[0156] Returning to FIG. 34, when the shoot preparation process, the jump process, or the shoot process is completed, the shoot mode process ends.

[0157] Returning to FIG. 30, after the moving state processing, the stopped state processing, and the shoot mode processing, in step S8, processor 81 generates and outputs a game image that reflects the results of the various game processes described above.

[0158] Next, in step S9, processor 81 determines whether end flag 318 is on or not. If it is not on (NO in step S9), the process returns to step S1 above, and the process is repeated. On the other hand, if it is on (YES in step S9), in step S10, processor 81 displays either the effect for when the shot is successful or the effect for when the shot is unsuccessful, based on end state data 319. This completes the game processing (for one set).

[0159] In this way, in this embodiment, the operation of moving the controller is determined while updating the correspondence between the direction in real space and the direction as seen from the controller's perspective, depending on the orientation (way of holding) of the controller around the front axis. Therefore, the movement of the controller in a predetermined direction in real space can be grasped regardless of the orientation of the controller. This makes it possible to provide a game that uses operations by moving the controller, while making it less likely that the way the controller is held will affect the perception of the orientation related to pitch in real space.

[0160] [Variations] In the above embodiment, an example was shown in which, in the moving state, a route to a destination is automatically calculated and the PC 201 is automatically moved along this route. In this regard, in other embodiments, in the moving state, the moving direction of the PC 201 on the field may be determined based on the orientation of the controller in the yaw direction in real space. In this case, too, the orientation of the controller in the yaw direction in real space can be determined based on the correspondence between the controller-based direction and the direction in real space described above. This allows the moving direction of the PC 201 to be manually controlled by, for example, changing the orientation of the tip of the controller left or right in real space during a vertical swing operation in the moving state. Furthermore, for example, while the controller is stopped, the user can move the PC 201 in the desired direction by pointing the controller in the direction in which the PC 201 is desired and then starting a vertical swing operation.

[0161] In addition, in the above embodiment, basketball was used as an example of a ball game, but the above processing can also be applied to other ball games, such as soccer games, which have movement patterns equivalent to the above-mentioned dribbling and goals into which the ball can be shot.

[0162] In the above example, the "holding style" is classified into three types, but the classification is not limited to three types and may be further subdivided. The correspondence between the directions in the controller coordinate system and the directions in the real space coordinate system may be updated according to each holding style.

[0163] In the above embodiment, the game processing described above is executed by a single main unit 2. The main unit 2 may include multiple storage devices and processors. The game processing may be executed by sharing the processing among these devices. The above processing may also be executed in a distributed system consisting of multiple information processing devices including a server. [Explanation of symbols]

[0164] 1. Game System 2 Main unit 3 Left Controller 4 Right Controller 81 processors 84 Flash memory 85 DRAM

Claims

1. The computer of the information processing device Run a ball game, In the ball game, Based on operation data transmitted from an operation device equipped with an acceleration sensor and an angular velocity sensor and including at least acceleration data and angular velocity data, setting and updating a correspondence relationship between a direction in space and a direction based on the operation device in accordance with an attitude of the operation device around a predetermined axis; Identifying a pitch-related attitude of the control device in the space; when a first condition is satisfied regarding at least one of the acceleration data and the angular velocity data in at least a vertical direction in the space, causing a player character in possession of a ball to move on a field in the game space; causing the player character in possession of the ball to perform a shooting motion to release the ball when a second condition is satisfied regarding the attitude with respect to the pitch in the space and at least one of the acceleration data and the angular velocity data; Game program.

2. The operating device has a vertically elongated shape, the predetermined axis is an axis along the longitudinal direction of the operating device, 2. The game program according to claim 1, wherein the attitude related to the pitch in the space is the pitch of a direction vector of the predetermined axis in the space.

3. the operation device has a button surface on which operation buttons are arranged, The computer further comprises: Based on the operation data, 3. The game program according to claim 2, further comprising: a program for identifying whether at least the button face is facing upward, rightward, or leftward; and a program for setting and updating a correspondence between directions in the space and directions of the operation device based on the identified mode.

4. The computer further comprises:

3. A game program as described in claim 2, wherein when the pitch of the direction vector of the specified axis in the space is within a first upward range, the correspondence between the direction in the space and the direction of the controller device according to the attitude of the controller device about the specified axis is not updated.

5. 5. The game program according to claim 1, wherein the first condition includes at least a condition that a magnitude of acceleration applied in a vertical direction within the space exceeds a first threshold value.

6. The computer further comprises:

6. The game program according to claim 5, wherein the player character in possession of the ball stops moving on the field when the magnitude of acceleration applied in the vertical direction in the space exceeds the first threshold and then falls below the first threshold, or when the magnitude of acceleration exceeds a second threshold that is greater than the first threshold and then falls below the second threshold.

7. The ball game is a basketball game, 6. The game program according to claim 5, wherein the action of moving on the field is a dribbling action that accompanies movement of the player character.

8. The ball game is a basketball game, The computer, causing the player character holding the ball to start a jumping action when an orientation relative to the pitch in the space is within a predetermined range upward and a predetermined angular velocity in the space upward is applied to the operation device; 5. The game program according to claim 1, wherein the shooting action is performed under the second condition that a predetermined angular velocity is further applied to the operation device while the player character holding the ball is performing the jumping action.

9. The computer further comprises:

9. The game program according to claim 8, wherein, when the shooting motion is performed, a trajectory of the ball resulting from the shooting motion is determined based on at least a posture relative to the pitch in the space.

10. The computer further comprises: Identifying a yaw orientation of the control device in space; 5. The game program according to claim 1, wherein, when the first condition is satisfied, the player character in possession of the ball is made to move on a field in a game space in a direction corresponding to its attitude with respect to yaw in the space.

11. The computer of the information processing device Run a ball game, In the ball game, Based on operation data transmitted from an operation device equipped with an acceleration sensor and an angular velocity sensor and including at least acceleration data and angular velocity data, setting and updating a correspondence relationship between a direction in space and a direction based on the operation device in accordance with an attitude of the operation device around a predetermined axis; Identifying a pitch-related attitude of the control device in the space; when a first condition is satisfied regarding at least one of the acceleration data and the angular velocity data in at least a vertical direction in the space, causing a player character in possession of a ball to move on a field in the game space; causing the player character in possession of the ball to perform a shooting motion to release the ball when a second condition is satisfied regarding the attitude with respect to the pitch in the space and at least one of the acceleration data and the angular velocity data; Game processing method.

12. The operating device has a vertically elongated shape, the predetermined axis is an axis along the longitudinal direction of the operating device, 12. A game processing method according to claim 11, wherein the attitude related to the pitch in the space is the pitch of a direction vector of the predetermined axis in the space.

13. the operation device has a button surface on which operation buttons are arranged, The computer further comprises: Based on the operation data, 13. The game processing method according to claim 12, further comprising: specifying whether at least the button face is facing upward, rightward, or leftward; and setting and updating a correspondence between directions in the space and directions of the operation device based on the specified mode.

14. The computer further comprises:

13. A game processing method according to claim 12, wherein, when the pitch of the direction vector of the predetermined axis in the space is within a first upward range, the correspondence between the direction in the space and the direction of the controller device according to the attitude of the controller device about the predetermined axis is not updated.

15. 15. The game processing method according to claim 11, wherein the first condition includes at least a condition that a magnitude of acceleration applied in a vertical direction in the space exceeds a first threshold value.

16. The computer further comprises:

16. The game processing method according to claim 15, wherein the player character in possession of the ball is stopped from moving on the field when a magnitude of acceleration applied in the vertical direction in the space exceeds the first threshold and then falls below the first threshold, or when a magnitude of acceleration exceeds a second threshold that is greater than the first threshold and then falls below the second threshold.

17. The ball game is basketball, 16. The game processing method according to claim 15, wherein the action of moving on the field is a dribbling action that accompanies movement of the player character.

18. The ball game is a basketball game, The computer, causing the player character holding the ball to start a jumping action when an orientation relative to the pitch in the space is within a predetermined range upward and a predetermined angular velocity in the space upward is applied to the operation device; 15. The game processing method according to claim 11, wherein the shooting action is performed under the second condition that a predetermined angular velocity is further applied to the operation device while the player character holding the ball is performing the jumping action.

19. The computer further comprises:

20. The game processing method according to claim 18, wherein, when the shooting motion is performed, a trajectory of the ball resulting from the shooting motion is determined based on at least a posture relative to the pitch in the space.

20. The computer further comprises: Identifying a yaw orientation of the control device in space; 15. A game processing method according to claim 11, further comprising, when the first condition is satisfied, causing the player character in possession of the ball to move on a field in a game space in a direction corresponding to its attitude with respect to yaw in the space.

21. A gaming system including a computer, The computer Run a ball game, In the ball game, Based on operation data transmitted from an operation device equipped with an acceleration sensor and an angular velocity sensor and including at least acceleration data and angular velocity data, setting and updating a correspondence relationship between a direction in space and a direction based on the operation device in accordance with an attitude of the operation device around a predetermined axis; Identifying a pitch-related attitude of the control device in the space; when a first condition is satisfied regarding at least one of the acceleration data and the angular velocity data in at least a vertical direction in the space, causing a player character in possession of a ball to move on a field in the game space; causing the player character in possession of the ball to perform a shooting motion to release the ball when a second condition is satisfied regarding the attitude with respect to the pitch in the space and at least one of the acceleration data and the angular velocity data; Game system.

22. The operating device has a vertically elongated shape, the predetermined axis is an axis along the longitudinal direction of the operating device, 22. The game system according to claim 21, wherein the attitude related to the pitch in the space is the pitch of a direction vector of the predetermined axis in the space.

23. the operation device has a button surface on which operation buttons are arranged, The computer further comprises: Based on the operation data, 23. The game system according to claim 22, wherein the state of at least the button face is identified as being upward, rightward, or leftward, and a correspondence between directions in the space and directions of the operation device is set and updated based on the identified state.

24. The computer further comprises:

23. A game system as described in claim 22, wherein, when the pitch of the direction vector of the predetermined axis in the space is within a first upward range, the correspondence between the direction in the space and the direction of the controller device according to the attitude of the controller device about the predetermined axis is not updated.

25. A gaming device equipped with a computer, The computer Run a ball game, In the ball game, Based on operation data transmitted from an operation device equipped with an acceleration sensor and an angular velocity sensor and including at least acceleration data and angular velocity data, setting and updating a correspondence relationship between a direction in space and a direction based on the operation device in accordance with an attitude of the operation device around a predetermined axis; Identifying a pitch-related attitude of the control device in the space; when a first condition is satisfied regarding at least one of the acceleration data and the angular velocity data in at least a vertical direction in the space, causing a player character in possession of a ball to move on a field in the game space; causing the player character in possession of the ball to perform a shooting motion to release the ball when a second condition is satisfied regarding the attitude with respect to the pitch in the space and at least one of the acceleration data and the angular velocity data; Game device.

Citation Information

Patent Citations

  • Game device, control method and programs of the same

    JP2010119787A

  • Posture calculation program and program using posture information

    JP2018163132A

  • Method and system for using sensors on a control device to control a game - Patents.com

    JP2019535347A

  • Sport game system, sport game program, sport game device, and sport game processing method

    JP2022160980A

  • Game program, game system, game device control method, and game device

    JP2023001160A