Game processing method, game program, game device, and game system
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NINTENDO CO LTD
- Filing Date
- 2023-12-20
- Publication Date
- 2026-08-03
Smart Images

Figure 0007899484000001 
Figure 0007899484000002 
Figure 0007899484000003
Abstract
Description
Technical Field
[0001] This disclosure relates to information processing such as games.
Background Art
[0002] Conventionally, a game using a mouse as an operating device has been known (for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] There has been a demand for a new game that uses a mouse as an operating device.
[0005] Therefore, an object of the present invention is to provide a game processing method or the like that can realize a new game using a mouse as an operating device.
Means for Solving the Problems
[0006] In order to achieve the above object, for example, the following configuration examples can be cited.
[0007] One configuration example is to cause a computer of an information processing apparatus to receive first data based on incident light passing through an opening provided on the bottom surface of the mouse, receive second data based on the posture of the mouse, and when the first data indicates that the mouse is being moved in one direction in the front-rear direction on the work surface, accelerate a virtual object in the virtual space in a predetermined direction, and when the second data indicates that the mouse is tilted in the roll direction, change the path of the moving virtual object. This is a game processing method.
[0008] According to the above configuration example, it is possible to provide users with a new and interesting game that allows them to manipulate virtual objects through novel and intuitive operations.
[0009] Another possible configuration is to instruct the computer to reduce the degree to which the virtual object changes its course in response to the second data until the first condition is met after the virtual object has been accelerated.
[0010] According to the above configuration example, even if the user unintentionally tilts the mouse when, for example, lifting it to return the mouse to its original position on the work surface after sliding the mouse in one direction, the degree to which the virtual object changes its course against the user's will can be suppressed.
[0011] As another example of configuration, the first condition may be satisfied by determining when the mouse has moved away from the work surface and then touched the work surface again.
[0012] If the mouse has been moved across the work surface, lifted, and then placed back down, the tilt of the mouse in the rolling direction can be presumed to be due to the user's intentional operation. According to the above configuration example, the virtual object's path can be smoothly changed in response to such intentional tilting operations by the user.
[0013] As another example of configuration, the first condition may be satisfied when a first predetermined time has elapsed since the first timing after the virtual object has been accelerated.
[0014] The tilt of the mouse in the rolling direction after a predetermined time has elapsed since the mouse moved across the work surface and was lifted can be presumed to be due to intentional operation by the user. According to the above configuration example, the movement of the virtual object can be smoothly changed in response to such intentional tilting operation by the user.
[0015] Another possible configuration is to have the computer start accelerating virtual objects when the mouse leaves the work surface.
[0016] According to the above configuration example, the timing of when a virtual object actually accelerates can be intuitively controlled. Furthermore, if the virtual object is, for example, a skateboard, it can provide a sense of control similar to the experience of accelerating a real skateboard by pushing off the ground.
[0017] As another example of configuration, when the computer indicates that the first data is moving the mouse on the work surface within a predetermined angular range that includes an axis extending in one direction in the forward and backward direction of the mouse, the virtual object may be accelerated in a predetermined direction.
[0018] According to the above configuration example, even if the user moves the mouse in a direction deviating from the one direction mentioned above, the virtual object will accelerate, enabling easy movement.
[0019] As another configuration example, the computer may accelerate a virtual object in a predetermined direction according to the absolute amount of mouse movement on the work surface based on the first data.
[0020] According to the above configuration example, even if the user moves the mouse in a direction deviating from the one direction mentioned above, the virtual object will accelerate not only according to the amount of movement in the one direction mentioned above, but also according to the amount of movement (absolute amount) caused by the movement operation. This prevents the unnatural feeling that the virtual object does not accelerate or accelerates less than expected relative to the distance moved.
[0021] As another configuration example, the computer may display on its display unit an acceleration parameter that indicates how the virtual object can be accelerated according to its remaining capacity, which decreases when the virtual object is accelerated and recovers when a second condition is met.
[0022] According to the above configuration example, the acceleration of virtual objects is constrained, which provides users with the interesting challenge of deciding whether or not acceleration is necessary.
[0023] As another configuration example, when the mouse is lifted from the work surface while the operation unit of the mouse is being inputted, the computer may cause a virtual object to execute a predetermined action.
[0024] According to the above configuration example, for example, it is possible to distinguish an operation for lifting the mouse to return its position on the work surface from an operation for lifting the mouse to perform a predetermined action, and it is possible to prevent an operation contrary to the user's intention.
[0025] As another configuration example, the predetermined action may be a jump.
[0026] Since the jump action and the operation of lifting the mouse from the work surface are compatible, according to the above configuration example, the virtual object can be jumped with an intuitive operation.
[0027] As another configuration example, while an operation input is being made to the operation unit, the computer may set the virtual object to a ready state.
[0028] The virtual object is a skateboarder, the ready state is a crouched state, and during the ready state, the acceleration of the skateboarder may be greater or the deceleration may be smaller than when not in the ready state.
[0029] According to the above configuration example, it is possible to intuitively understand that the crouched state is the ready state for a jump which is a predetermined action. Also, since it is possible to intuitively understand that the acceleration of the virtual object is greater or the deceleration is smaller from the crouched state, it is possible to provide an interesting aspect of whether to enter the crouched state or not.
[0030] As another configuration example, when the second data indicates that the mouse has been rotated in the yaw direction, the computer may decelerate a moving virtual object.
[0031] According to the above configuration example, it is possible to provide users with a new and interesting game that allows them to manipulate virtual objects through novel and intuitive operations.
[0032] In another configuration example, the virtual object may be a skateboarder, and when the computer receives first data indicating that the mouse is being moved backward on the work surface, it may cause the skateboarder to kick the ground in the virtual space, accelerating the skateboarder forward.
[0033] According to the above configuration example, it is possible to provide a control feel similar to that of a real skateboarder kicking off the ground and accelerating forward. [Brief explanation of the drawing]
[0034] [Figure 1] Block diagram showing an example of the internal configuration of the game device 10. [Figure 2] A schematic diagram showing an example of a mouse's appearance. [Figure 3] Diagram to explain how to use a mouse [Figure 4] This diagram shows an example of the game screen for this game. [Figure 5] A diagram to explain how to play this game. [Figure 6] A diagram to explain how to play this game. [Figure 7] A diagram to explain how to play this game. [Figure 8] A diagram to explain how to play this game. [Figure 9] A diagram to explain how to play this game. [Figure 10] This figure shows examples of various data stored in the memory unit 12. [Figure 11] An example of a flowchart for game processing. [Figure 12] An example of a flowchart for game processing. [Figure 13] An example of a flowchart for game processing. [Figure 14] A diagram showing an example of acceleration parameters. [Modes for carrying out the invention]
[0035] One embodiment will be described below.
[0036] [Hardware configuration of information processing equipment] An information processing device (information processing system) for executing the information processing according to this embodiment will be described. This information processing device is, for example, a stationary or portable game device, a personal computer, a tablet terminal, a smartphone, a wearable terminal, etc. The information processing device according to this embodiment may be a server, or it may consist of a game device, etc. as described above and a predetermined server. In this embodiment, a stationary game device (sometimes simply referred to as "game device") will be described as an example of an information processing device.
[0037] Figure 1 is a block diagram showing an example of the internal configuration of a game device (game system) 10 according to this embodiment. The game device 10 includes a processor 11. The processor 11 is an information processing unit that performs various information processing in the game device 10, and may consist of, for example, only a CPU (Central Processing Unit), or it may consist of an SoC (System-on-a-chip) that includes multiple functions such as CPU function and GPU (Graphics Processing Unit) function. The processor 11 performs various information processing by executing an information processing program (for example, a game program) stored in the storage unit 12. The storage unit 12 may be an internal storage medium such as flash memory or DRAM (Dynamic Random Access Memory), or it may be configured to utilize an external storage medium mounted in a slot (not shown).
[0038] Furthermore, the game device 10 includes a mouse communication unit 13 for wired or wireless communication with the mouse 17.
[0039] Furthermore, a display unit 15 (for example, a television) is connected to the game device 10 via an image and sound output unit 14. The processor 11 outputs the images and sounds generated (for example, by executing the above-mentioned information processing) to the display unit 15, which is capable of outputting sound, via the image and sound output unit 14.
[0040] Furthermore, the game device 10 is equipped with a network communication unit (not shown) that can communicate with external devices via a network. The network communication unit connects to a wireless LAN, for example, using a method compliant with the Wi-Fi standard, and communicates with external devices (other game devices 10) via the Internet, etc. The network communication unit can also communicate with other game devices 10 via short-range wireless communication (for example, infrared communication).
[0041] The mouse 17 and the display unit 15 may be considered as being included in the game device 10, or they may be considered as not being included.
[0042] Figure 2 is a schematic diagram showing an example of the appearance of mouse 17. As shown in Figure 2, mouse 17 has a plate shape with the y-axis as its longitudinal direction (a rectangular parallelepiped or similar shape in which the thickness in the x-axis direction is smaller than the thickness in the y-axis and z-axis directions, and the thickness in the z-axis direction is smaller than the thickness in the y-axis direction).
[0043] The mouse 17 is equipped with an inertial sensor. Specifically, the mouse 17 is equipped with an acceleration sensor (not shown) and an angular velocity sensor (not shown). Note that the two sensors, the acceleration sensor and the angular velocity sensor, may be considered together as a single inertial sensor. Furthermore, the inertial sensor may include other sensors. The acceleration sensor outputs data on the magnitude of acceleration along three predetermined axes (x, y, and z axes shown in Figure 2). Note that the acceleration sensor may output data on acceleration in one axis direction or two axis directions. The angular velocity sensor outputs data on angular velocity around three predetermined axes (x, y, and z axes shown in Figure 2). Note that the angular velocity sensor may output data on angular velocity around one axis direction or two axis directions. The output data from the acceleration sensor and the angular velocity sensor are repeatedly transmitted to the mouse communication unit 13 at appropriate intervals. The data output by the inertial sensor may be used to calculate the posture, movement, rotation, etc., of the mouse 17.
[0044] As shown in Figure 2, the mouse 17 is equipped with a sensor (sometimes called a "mouse sensor") 30 on its bottom surface for detecting operations such as the user sliding the mouse 17 on a work surface (the work surface to which the bottom surface shown in Figure 2 makes contact). The mouse sensor 30 is, for example, a general mouse sensor (e.g., an optical or laser sensor) and outputs data related to incident light through an aperture provided on the bottom surface. The output data may be used to calculate the movement of the mouse 17 on the work surface (direction of movement, distance of movement, speed of movement, virtual current coordinates, etc.). Also, as shown in Figure 2, the mouse 17 is equipped with buttons 31 and 32. Data indicating the operation status of buttons 31 and 32 is repeatedly transmitted to the mouse communication unit 13 at appropriate timings. In addition to or instead of buttons, the mouse 17 may be equipped with other operating parts. For example, the mouse 17 may be equipped with an analog stick or a touchpad. The mouse 17 is also equipped with a vibration device (not shown) that vibrates the mouse 17.
[0045] Figure 3 is a diagram illustrating how to operate the mouse 17. As shown in Figure 3, the user grasps the mouse 17 with their right hand 33. The user can then move the mouse 17 on the work surface, press button 31 with their index or middle finger, and press button 32 with their thumb, as shown in Figure 3. The user can also lift the mouse 17 from the work surface.
[0046] Mouse 17 is a right-handed mouse with a button 32 positioned to be easily pressed with the right thumb. The following describes how the mouse 17 is operated by a user with their right hand. If the user is operating with their left hand, a left-handed mouse (not shown) may be used instead of the right-handed mouse 17. The left-handed mouse differs from the right-handed mouse 17 in that the button 32 is positioned to be easily pressed with the left thumb (the position indicated by reference numeral 32 when Figure 3 is horizontally flipped).
[0047] Note that the working surface of the mouse 17 does not have to be a flat surface. For example, the user may use the upper surface (front surface) of their thigh as the working surface of the mouse 17.
[0048] [Regarding the game envisioned in this embodiment] Next, an overview of the game processing performed by the game device 10 according to this embodiment will be described. The game envisioned in this embodiment is, as an example, a skateboard game. Specifically, it is a game in which a player object (skateboarder; which may or may not include a skateboard; sometimes referred to as "PO") 100 moves around in a virtual space in response to user operations to achieve a predetermined objective (for example, the objective of reaching the goal as quickly as possible). In this game, the PO 100 may also pass through checkpoints or acquire coins.
[0049] [Overview of the game processing in this embodiment] Next, an overview of the operation of the game processing performed by the game device 10 according to this embodiment will be described. Figure 4 is an example of a game image that renders the virtual space of this game. As shown in Figure 4, the PO100 can move forward (forward of the skateboard) on the ground object (sometimes called "ground" or "road surface") in response to user operation. The PO100 is also affected by air resistance, road surface resistance, etc. (sometimes simply called "resistance"). Specifically, a force is applied to the PO100 in a direction that decelerates it according to the speed of movement, etc. The PO100 is also affected by the slope of the road surface. Specifically, a force is applied to the PO100 in a direction that causes it to go downhill, according to the angle of the slope. Therefore, the PO100 accelerates or decelerates due to the effect of the slope. The direction of travel of the PO100 may be changed in the direction of a larger slope angle.
[0050] Figure 5 illustrates the general operation of accelerating PO100 in the forward direction. Note that the user's hand operating the mouse 17 is not shown in Figure 5 and subsequent figures. As shown in Figure 5, the user can accelerate PO100 in the forward direction (the direction in which a skateboard moves forward) by moving the mouse 17 towards the user on the work surface (negative y-axis direction) (see (A) and (B)) and then lifting the mouse 17 off the work surface (see (C)). Therefore, PO100 can be moved forward with intuitive operation. The user can then repeatedly accelerate PO100 in the forward direction by placing the lifted mouse 17 on the work surface, moving it towards the user again (see (A) and (B)), and then lifting it off the work surface again (see (C)). Therefore, even if PO100 is decelerated while moving, it can be continuously moved forward.
[0051] Figure 6(1) is a diagram to specifically explain the operation of PO100 accelerating in the forward direction. Figure 6(2) is a diagram to explain in detail the mouse operation that accelerates PO100 in the forward direction. In Figure 6(2), (A) shows the point in time when the mouse 17 starts moving toward the user (negative y-axis direction) on the work surface, (B) shows the point in time when the mouse 17 has moved toward the user a predetermined distance (for example, 2 cm; the distance between (A) and (B) is shown larger for illustrative purposes) from (A) on the work surface, and (C) shows the point in time when the mouse 17, having moved further toward the user from (B) on the work surface, is lifted off the work surface (away from the work surface). Also, (D) shows the point in time when the lifted mouse 17 is moving toward the user in the air in order to perform the operation of moving the mouse 17 toward the user again on the work surface. Furthermore, (Z) indicates the point in time when the mouse 17, which has moved further forward from (B), has remained on the work surface without being lifted for a predetermined amount of time (e.g., 0.5 seconds). Note that in Figure 6(2), (Z) is shown in front of (C), but the position of (Z) has no particular significance.
[0052] First, at time (A), assume that PO100 is moving forward by inertia, as shown in Figure 6(1)(a). Then, at time (B), when mouse 17 has moved a predetermined distance towards the user on the work surface from time (A), PO100 is in a state of acceleration preparation with its right foot raised, as shown in Figure 6(1)(b). Then, at time (C), when mouse 17 has moved towards the user on the work surface from time (B) and has been lifted off the work surface, PO100 accelerates forward by pushing off the ground with its right foot, as shown in Figure 6(1)(c). In this case, PO100 accelerates to a degree corresponding to the distance mouse 17 has moved from time (B) to time (C). In other embodiments, PO100 may accelerate to a degree corresponding to the distance mouse 17 has moved from time (A) to time (C), or the degree of acceleration may be constant. If the user then wishes to accelerate PO100 again, they move the lifted mouse 17 in the air towards the back (see (D)), place it back on the work surface (put it back down; see (A)), and perform the above operation again.
[0053] Through the above operations, the user can accelerate (or repeatedly accelerate) PO100. In this way, when the mouse 17 is moved towards the user and then lifted off the work surface, PO100 accelerates by pushing off the ground, providing a sense of operation similar to pushing off the ground with the mouse 17 (the feeling of accelerating by pushing off the ground in an actual skateboard).
[0054] On the other hand, at point (Z) after a predetermined time (for example, 0.5 seconds) has elapsed from point (B), as shown in Figure 6(1)(c), PO100 accelerates in the forward direction by kicking the road surface with its right foot. In this case, PO100 may accelerate to a degree corresponding to the distance traveled by the mouse 17 from point (B) to point (Z). In other embodiments, PO100 may accelerate to a degree corresponding to the distance traveled by the mouse 17 from point (A) to point (Z), or the degree of acceleration may be constant. In this way, since PO100 accelerates in the forward direction by kicking the road surface after a predetermined time has elapsed, it is possible to provide an operating sensation similar to the acceleration action of an actual skateboard, for example, by quickly kicking the road surface in a short amount of time.
[0055] In this embodiment, whether the mouse 17 is on the work surface (i.e., the mouse is in contact with the surface) is determined by whether the mouse sensor 30 detects the work surface, but the determination method is not limited to this. For example, a button may be provided on the bottom of the mouse 17, and whether the mouse is in contact with the surface may be determined by whether the button is pressed or not. Alternatively, a distance sensor may be provided on the bottom of the mouse 17, and the distance to the work surface may be measured with the distance sensor to determine whether the mouse is in contact with the surface.
[0056] Figure 7 illustrates the distance traveled by the mouse 17 when it is moved towards the user on the work surface. The user does not necessarily grip the mouse 17 so that its y-axis is pointing straight away; as shown in Figure 7, the user may grip the mouse 17 while it is tilted in the yaw direction. Furthermore, when the user pulls the mouse 17 towards them, they do not necessarily move it straight towards them; as shown in Figure 7, the user may move the mouse 17 at a slight angle. Therefore, when the user moves the mouse 17 towards them to perform an acceleration operation, it is conceivable that the mouse 17 may move in a direction deviating from the negative y-axis direction from the perspective of the mouse 17. Thus, in this embodiment, the movement operation of the mouse 17 in a direction within a predetermined angular range including the y-axis in the xy-plane is considered an operation to accelerate the PO100, and the PO100 is accelerated. In Figure 7, as an example, the movement of the mouse 17 in a direction within a 70° range to the left and right of the y-axis in the xy-plane is considered an operation to accelerate the PO100. As a result, as shown in Figure 7, even if the user moves the mouse 17 in a direction that is offset by a predetermined amount from the negative y-axis direction, the PO100 will still accelerate.
[0057] Furthermore, in this embodiment, the distance traveled by the mouse 17 when it is moved toward the user on the work surface is not measured only in the y-axis direction, but as an absolute distance traveled. Specifically, as shown in Figure 7, it is the distance traveled in the xy-plane. By doing this, as shown in Figure 7, even if the user moves the mouse 17 in an oblique direction relative to the negative y-axis, the amount PO100 accelerating will be proportional to the absolute distance traveled by the mouse 17, thus preventing the unnatural feeling that PO100 does not move or accelerates less in proportion to the distance traveled by the mouse 17.
[0058] Figure 8 illustrates the operation of changing the direction of the moving PO100. As shown in Figure 8(1), when the mouse 17 is tilted to the left (sometimes referred to as "left tilt operation"), the PO100 tilts its body to the left and changes direction to the left to a degree corresponding to the degree (angle) of the left tilt operation. Figure 8(2) shows an example where, conversely, when the PO100 is tilted to the right (sometimes referred to as "right tilt operation"), it tilts its body to the right and changes direction to the right to a degree corresponding to the degree of the right tilt operation. In this embodiment, the greater the left tilt operation, the more the PO100 curves to the left, and the greater the right tilt operation, the more it curves to the right. Note that the examples of changing direction are not limited to those above, and in other embodiments, the PO100 may change direction by sliding laterally without changing direction, rather than by curving.
[0059] Leftward and rightward tilt operations (sometimes collectively referred to as "tilt operations") are detected by an inertial sensor provided in the mouse 17. Tilt operations may also be detected using an angular velocity sensor, or using both an accelerometer and an angular velocity sensor. Since tilt operations cause the mouse 17 to tilt in the roll rotation direction (rotation direction around the y-axis), they may also be called "operations that tilt in the roll direction."
[0060] Alternatively, for example, the initial posture may be set to one in which the z-axis of the mouse 17 is perpendicular to the work surface, and the tilt from this initial posture may be detected as a tilt caused by tilting operations. This prevents the PO100 from unintentionally changing its course even on a tilted work surface (a work surface that is not perpendicular to the direction of gravitational acceleration).
[0061] In this embodiment, even if a tilt operation is performed, the PO100 may not change its course. In other words, the course change may be restricted. Specifically, from the moment the PO100 accelerates (see (C) and (Z) in Figure 6(2)) until the mouse 17 touches the ground again (changes from an ungrounded state to a grounded state) or until a predetermined time (for example, 0.5 seconds) has elapsed, the PO100 is restricted from changing its course even if a tilt operation is performed. This prevents the lifted mouse 17 (see (D) in Figure 6(2)) from unintentionally tilting in the roll direction and causing the PO100 to change course unintentionally when the PO100 is accelerated in (C) in Figure 6(2), and also allows for a smooth reflection of intentional tilt operations after the mouse 17 has re-touched the ground (see (A) in Figure 6(2)) to change the course of the PO100. Furthermore, even if mouse 17 does not re-ground, there is a high probability that an intentional tilt operation has been performed after a certain amount of time has elapsed since PO100 accelerated. Therefore, the restriction on changing direction is lifted after the above-mentioned predetermined time has elapsed, allowing the vehicle to change direction.
[0062] In other embodiments, the movement of the mouse 17 may be restricted from the moment it begins to move toward the user on the work surface (see (A) in Figure 6(2)). Alternatively, the movement of the mouse 17 may be restricted from the moment it makes contact with the work surface (the moment contact begins; see (D) to (A) in Figure 6(2)). Furthermore, in this embodiment, the movement of the PO 100 is completely restricted, but in other embodiments, the movement of the PO 100 may not be completely restricted, but rather restricted to reduce the degree of movement. For example, while the movement of the mouse 17 is restricted, it may be restricted to only half the degree of movement it would normally make relative to the degree of tilt, or the upper limit of the degree of movement may be reduced.
[0063] Figure 9 illustrates the operation of making PO100 crouch and jump. As shown in Figure 9(1), if button 32 is held down while PO100 is not jumping, PO100 will assume a crouching position (sometimes referred to as the "jump preparation state"). By assuming a crouching position, PO100 may be able to avoid obstacles (for example, by going under them). In a crouching position, air resistance is reduced, so the force of air resistance that slows down PO100 while it is moving is reduced compared to when it is standing. In other words, the degree of deceleration is reduced. Even if button 32 is pressed, if the acceleration operation described using Figure 6 is performed, PO100 may accelerate by kicking the ground while in a crouching position. Also, if the course change operation described using Figure 8 is performed while button 32 is pressed, PO100 may change course while in a crouching position. Furthermore, if the mouse 17 is equipped with, for example, an analog stick, the PO100 may assume a crouching posture when the analog stick is tilted. Also, in this embodiment, the PO100 assumes a crouching posture while the button 32 is pressed, but in other embodiments, the PO100 may assume a crouching posture when the button 32 is pressed once, and return to an upright posture when the button 32 is pressed again while in the crouching posture.
[0064] Furthermore, if the mouse 17 is lifted while button 32 is pressed (jump preparation state), PO100 will jump. By jumping, PO100 may be able to jump over obstacles or pass through rings. Detection of the mouse 17 being lifted is performed, for example, by detecting a change in acceleration in the z-axis direction exceeding a predetermined level using an inertial sensor. Alternatively, detection of the mouse 17 being lifted may be performed by detecting that the mouse 17 is not touching the ground using the mouse sensor 30, or by both detection by the inertial sensor and detection by the mouse sensor 30. In this way, by causing PO100 to jump when the mouse 17 is lifted while button 32 is pressed (crouching position), it is possible to prevent unintended jumps when the mouse is lifted during acceleration operations (see Figure 6).
[0065] [Details of the information processing in this embodiment] Next, the information processing of this embodiment will be described in detail with reference to Figures 10 to 13.
[0066] [About the data used] The various types of data used in this game processing will now be explained. Figure 10 shows an example of data stored in the memory unit 12 of the game device 10. As shown in Figure 10, the memory unit 12 is provided with at least a program memory area 301 and a data memory area 302. The program memory area 301 stores the game program 401. The data memory area 302 stores game control data 402, image data 408, virtual camera control data 409, operation data 410, etc. The game control data 402 includes object data 403.
[0067] Game program 401 is a game program for executing this game process.
[0068] Object data 403 is data for objects placed in the virtual space, such as player objects, ground (road surface) objects, and enemy objects. Object data 403 also includes data such as the object's coordinates, orientation, posture, and state.
[0069] Image data 408 consists of image data such as backgrounds and virtual effects.
[0070] Virtual camera control data 409 is data used to control the movement of virtual cameras placed in the virtual space.
[0071] The operation data 410 is data that indicates the content of operations performed on the mouse 17. The operation data 410 includes, for example, data indicating the movement of the mouse 17 (including movement on the work surface), changes in posture, and input states such as the state of pressing various buttons. The content of this operation data is updated at a predetermined interval based on data output from the mouse 17.
[0072] In addition, the memory unit 12 stores various types of data used in game processing and rendering as needed.
[0073] [Details about game processing] Next, the game processing according to this embodiment will be described with reference to the flowchart. Figures 11 to 13 are examples of flowcharts showing the game processing according to this embodiment. In the following, we will mainly describe the processing that is characteristic of this embodiment, and omit other descriptions. For example, descriptions of the processing of reflecting received data 412, the drawing process, and the transmission process of data for transmission will be omitted.
[0074] When the main game process starts and the skateboard game begins, the game progression process shown in Figures 11 to 13 begins. This process is executed at predetermined intervals (for example, every drawing frame). When the skateboard game ends, the main game process ends.
[0075] First, in step S100 of Figure 11, the processor 11 determines whether or not PO100 is in the middle of a jump (see Figure 9(2)) based on the object data 403. If the determination is YES, the process moves to step S115 of Figure 13; if NO, the process moves to step S101.
[0076] In step S101, the processor 11 determines whether a predetermined button (button 32) is being pressed based on the operation data 411. If the determination is YES, the process moves to step S102; if NO, the process moves to step S105 in Figure 12.
[0077] In step S102, the processor 11 puts PO100 into a jump-ready state (or maintains the jump-ready state if it is already in a jump-ready state), as explained using Figure 9(1). Then the process moves to step S103.
[0078] In step S103, the processor 11 determines, based on the operation data 410, whether or not the jump operation described using Figure 9(2) has been performed. If the determination is YES, the process moves to step S104; if NO, the process moves to step S105 in Figure 12.
[0079] In step S104, the processor 11 causes PO100 to skip, as explained using Figure 9(2). The process then proceeds to step S115 in Figure 13.
[0080] In step S105 of Figure 12, the processor 11 determines whether the mouse 17 is on the ground based on the operation data 410. If the determination is YES, the process moves to step S106; if NO, the process moves to step S111 of Figure 13.
[0081] In step S106, the processor 11 calculates the distance the mouse 17 moves based on the operation data 410. Specifically, the processor 11 calculates the distance moved from (A) in Figure 6(2), as explained using Figures 6 and 7. After that, the process moves to step S107.
[0082] In step S107, the processor 11 determines whether the grounded mouse 17 has moved a predetermined distance (for example, 2 cm) since it started moving. Specifically, the processor 11 determines whether it has moved from (A) to (B) in Figure 6(2) based on the distance moved calculated in step S106. If this determination is YES, the process moves to step S108; if NO, the process moves to step S111 in Figure 13.
[0083] In step S108, the processor 11 puts PO100 into an acceleration preparation state (or maintains the acceleration preparation state if it is already in an acceleration preparation state), as explained using Figure 6(1). After that, the process moves to step S109.
[0084] In step S109, the processor 11 determines whether the acceleration conditions are met. Specifically, as explained using Figure 6, the processor 11 determines whether the mouse 17 has been lifted from the work surface (de-grounded; (C) in Figure 6(2)) or whether a predetermined time (e.g., 0.5 seconds) has elapsed since entering the acceleration preparation state ((Z) in Figure 6(2)). If the determination is YES, the process moves to step S110; if NO, the process moves to step S111 in Figure 13.
[0085] In step S110, the processor 11 sets the acceleration of PO100 according to the distance traveled by the mouse 17 (the distance traveled from (B) to (C) or (Z) in Figure 6(2)), as explained with reference to Figures 6 and 7. The process then proceeds to step S111 in Figure 13.
[0086] In step S111 of Figure 13, the processor 11 determines, based on the operation data 410, whether or not the mouse 17 is being tilted in the roll direction as described in Figure 8. If the determination is YES, the process moves to step S112; if NO, the process moves to step S115.
[0087] In step S112, the processor 11 determines, based on the object data 403, whether or not PO100 is moving (moving forward). If the determination is YES, the process moves to step S113; if NO, the process moves to step S115.
[0088] In step S113, the processor 11 determines, based on the operation data 410, whether or not the course change restriction described in Figure 6 is in effect. If the determination is YES, the process moves to step S115; if NO, the process moves to step S114.
[0089] In step S114, the processor 11 sets the path of PO100 according to the tilt of the mouse 17 in the roll direction, based on the operation data 410. Then the process moves to step S115.
[0090] In step S115, the processor 11 determines whether or not a course change restriction is in effect, similar to step S113. If the determination is YES, the process moves to step S118; if NO, the process moves to step S116.
[0091] In step S116, the processor 11 determines whether the conditions for starting the course change restriction have been met, based on the operation data 410, etc. Specifically, the processor 11 determines whether PO100 has accelerated (see (C)(Z) in Figure 6(2)). If this determination is YES, the process moves to step S117; if NO, the process moves to step S120.
[0092] In step S117, processor 11 initiates a route change restriction. The process then proceeds to step S120.
[0093] In step S118, the processor 11 determines, based on the operation data 410, whether the conditions for releasing the course change restriction have been met. Specifically, as explained using Figure 6, the processor 11 determines whether the mouse 17 has touched the ground again, or whether a predetermined time has elapsed since the start of the course change restriction. If this determination is YES, the process moves to step S119; if NO, the process moves to step S120.
[0094] In step S119, the processor 11 releases (terminates) the route change restriction. Then, the process moves to step S120.
[0095] In step S120, the processor 11 determines the speed and direction of movement of PO100 and updates the movement state of PO100. Specifically, if PO100 is not jumping, the processor 11 determines the speed and direction of movement of PO100 and updates the movement state of PO100 based on the acceleration set in step S110, the course change set in step S114, the resistance, and the slope of the road surface. For example, if the road surface is sloped laterally with respect to the direction of movement of PO100, the direction of movement of PO100 may be determined to curve towards the downward slope. The processor 11 may also reduce air resistance when PO100 is crouching. Furthermore, if PO100 is jumping, the processor 11 determines the speed of movement of PO100 based on air resistance and updates the movement state of PO100. The processor 11 may ignore road surface resistance when PO100 is jumping. The processor 11 may also determine the speed and direction of movement of PO100 based on the slope of the road surface at the moment PO100 jumps. After that, the process returns to step S100.
[0096] As described above, according to this embodiment, as explained with reference to Figure 6, by moving the mouse 17 towards the user and then lifting it from the work surface, the PO 100 can be made to kick off the road surface and accelerate, thus providing a sense of operation similar to kicking off the road surface with the mouse 17 (the feeling of accelerating by kicking off the road surface in an actual skateboard). Also, as explained with reference to Figure 8, by tilting the mouse 17 in the roll direction, the PO 100 can be made to lean its body and change direction, thus providing a sense of operation similar to leaning one's body to change direction in an actual skateboard. Furthermore, as explained with reference to Figure 9, by pressing the button 32 to make the PO 100 squat and then lifting the mouse 17, the PO 100 can be made to jump, thus providing a sense of operation similar to squatting before jumping in an actual skateboard.
[0097] [Differentiation] In the embodiment described above, as explained with reference to Figure 6, PO100 accelerated at point (C) or (Z) after the mouse 17 moved toward the user. However, the condition for initiating acceleration may be either one or the other. For example, PO100 may accelerate when the distance traveled by the mouse 17 reaches a predetermined value.
[0098] Furthermore, in the embodiment described above, it was possible to change the direction of PO100 by tilting the mouse even while moving the mouse 17 toward the user; however, changing the direction in this case may be prohibited. In other words, the user does not have to be able to accelerate PO100 and change its direction simultaneously. In this case, the user would need to choose whether to accelerate PO100 or change its direction, for example, just before a curve, which would add a strategic element to the game.
[0099] Furthermore, in the embodiment described above, there is no limit on the number of times PO100 can be accelerated, as explained using Figure 6, etc. However, a limit may be placed on the number of times PO100 can be accelerated. For example, an acceleration-capable parameter 200 that decreases with acceleration of PO100 and recovers when predetermined conditions are met may be displayed on the display unit 15, and PO100 may be accelerated in response to an acceleration operation when the acceleration-capable parameter 200 remains. Figure 14 is a diagram illustrating the acceleration-capable parameter 200. In the acceleration-capable parameter 200 shown in Figure 14(1), one of up to six circular displays decreases with each acceleration of PO100. In the acceleration-capable parameter 200 shown in Figure 14(2), the energy used for acceleration (value on the graph) decreases by a predetermined amount with each acceleration of PO100. The acceleration-capable parameter 200 may recover over time. For example, the acceleration-capable parameter 200 may recover one by one (or by a predetermined amount) if acceleration is not performed for a predetermined time, or it may recover to the maximum. For example, the acceleration parameter 200 may recover one by one (or by a predetermined amount) over time, regardless of whether acceleration is performed, or it may recover to its maximum value. For example, the acceleration parameter 200 may recover when PO100 acquires a predetermined item, or when PO100 performs a specific action (such as jumping).
[0100] Furthermore, in the embodiment described above, if acceleration does not occur, PO100 may stop, or it may continue moving, for example, at a predetermined low speed.
[0101] Furthermore, in the embodiment described above, PO100 may decelerate in response to a predetermined operation. For example, if the mouse 17 is equipped with an analog stick, when it is detected that the analog stick is tilted forward (negative y-axis direction), the moving PO100 may decelerate by raising the front of the skateboard and lowering the rear end to take a braking posture. Another example is that the positive y-axis side of the mouse 17 may be raised higher than the negative y-axis side to cause PO100 to take the above braking posture.
[0102] Furthermore, in the embodiment described above, PO100 may power slide and decelerate rapidly in response to a predetermined operation. For example, if the inertial sensor detects that the mouse 17 has been rotated by a predetermined angle or more at a rotational speed of a predetermined or greater in the yaw direction (rotational direction around the Z axis in Figure 2), PO100 may rotate in the detected rotational direction so that the side of the skateboard faces the direction of travel, and PO100 may power slide and decelerate rapidly. Note that in this embodiment, if deceleration by braking as described above is possible, the operation to perform a power slide is a different operation from the operation to perform braking as described above, and deceleration by power sliding may be greater than deceleration by braking.
[0103] Furthermore, in the above embodiment, the mouse 17 may be vibrated by a vibration device in accordance with the movement of PO 100. For example, the mouse 17 may be vibrated when PO 100 is moving on the road surface, and the vibration may be stopped when PO 100 is away from the road surface (when jumping) or when it is stopped. The intensity of the vibration of the mouse 17 may also be changed depending on the condition of the road surface (e.g., asphalt, soil, gravel). For example, the mouse 17 may be temporarily vibrated relatively strongly at the moment PO 100 kicks the road surface. For example, when PO 100 is moving on the road surface, a relatively weak vibration associated with the movement on the road surface may continue, while a relatively large vibration due to kicking the road surface may be temporarily superimposed.
[0104] Furthermore, in the above-described embodiment, PO100 carries a weapon (rifle, bow and arrow, sword, etc.), and PO100 may use the weapon in response to a predetermined operation. For example, PO100 may raise its weapon in response to an operation to raise the mouse 17. For example, if the inertial sensor detects that the angle difference between the negative y-axis direction of the mouse 17 (see Figure 2) and the direction of gravitational acceleration is within a predetermined angle (e.g., 30°), PO100 may raise its weapon. Also, if the inertial sensor detects that the mouse 17 is swung with an acceleration or angular velocity exceeding a predetermined level while PO100 is raising its weapon, PO100 may use its weapon to attack, for example, an enemy object.
[0105] Furthermore, in the embodiment described above, if the mouse 17 is lifted from the work surface and the PO 100 jumps (see Figure 9), and the mouse 17 is suddenly returned to the work surface (for example, if an acceleration change of more than a predetermined amount in the z-axis direction is detected by the inertial sensor), the PO 100 may perform a predetermined action. For example, the PO 100 may perform a somersault and land, or it may stomp on an enemy object to inflict damage.
[0106] Furthermore, in the embodiment described above, the PO100's path was changed in response to the tilt operation of the mouse 17 in the roll direction (see Figure 8). However, for example, the PO100's path may also be changed in response to the sliding movement of the mouse 17 in the x-axis direction (left and right). For example, the PO100's path may be changed by sliding it laterally. Alternatively, the PO100 may attack and damage enemy objects by changing its path through a lateral slide. Alternatively, the PO100 may attack and damage enemy objects located to the side of the PO100 without sliding it laterally in response to the sliding movement of the mouse 17 in the x-axis direction.
[0107] Furthermore, in the embodiment described above (see Figure 2), the mouse sensor 30 outputs data relating to reflected light from the work surface, and the processor 11 of the game device 10 calculates whether or not the mouse has moved on the work surface, as well as the direction and amount of movement, based on this data. However, the mouse 17 may also determine whether it has moved on the work surface, calculate its direction and amount of movement, etc., based on the data output by the mouse sensor 30, and transmit this information to the game device 10. In other words, the mouse 17 may transmit data relating to the amount of mouse movement, etc., as data based on reflected light from the work surface. Note that the calculation of such data may be performed by the processor in the mouse 17 or by the mouse sensor 30. In addition, the processor 11 of the game device 10 or the mouse 17 may calculate the current position of the mouse in the mouse coordinate system as data based on reflected light from the work surface. The same applies to the inertial sensor provided in the mouse; the actual posture, etc., may be calculated by either the game device 10 or the mouse 17.
[0108] Furthermore, the shape of the mouse 17 in this embodiment described above (see Figure 2) is just one example. For example, the mouse 17 may have a grip that is easy for the user to grasp and lift. For example, the mouse 17 may be used like a general game controller. That is, a game controller having a mouse sensor 30 is included in the scope of the mouse in this disclosure. Also, the mouse 17 may be detachable from other devices. In another embodiment, the mouse may have a rotatable ball on its surface. In this case, the mouse may output data substantially similar to that obtained when the mouse is moved on a work surface by freely rotating the ball instead of or in addition to moving the mouse on a work surface. Based on such data obtained from the mouse, game processing may be performed.
[0109] Furthermore, although a skateboard game was used as an example in the above embodiment, other games may also be used. For example, PO100 may be a person, a snowboarder, a car, a boat, an airplane, etc. For example, if PO100 is a rotating body such as a tire, the rotating body may move forward in response to the movement of the mouse 17 from front to back.
[0110] Furthermore, the above-described embodiment explained a case in which a series of processes related to game processing are executed on a single game device 10. In other embodiments, the above series of processes may be executed in an information processing system consisting of multiple information processing devices. For example, in an information processing system including a terminal-side device and a server-side device that can communicate with the terminal-side device via a network, some of the processes in the above series may be executed by the server-side device. Moreover, in an information processing system including a terminal-side device and a server-side device that can communicate with the terminal-side device via a network, the main processes in the above series may be executed by the server-side device, and some of the processes may be executed on the terminal-side device. In addition, in the above information processing system, the server-side system may be composed of multiple information processing devices, and the processes to be executed on the server side may be shared among multiple information processing devices. Furthermore, a so-called cloud gaming configuration may also be used. For example, the game device 10 may be configured to send operation data indicating user operations to a predetermined server, where various game processes are executed, and the execution results are streamed to the game device 10 as video and audio. [Industrial applicability]
[0111] The game processing method, game program, game device, and game system described herein can provide novel game processing using a mouse. [Explanation of Symbols]
[0112] 10 game devices 11 processors 12. Memory 15 Display section 17 Mouse 30 Mouse Sensors Buttons 31 and 32 100 Player Objects
Claims
1. In the computer of the information processing device, The mouse receives first data based on incident light through an opening on its bottom surface. The second data based on the posture of the mouse is received. When the first data indicates that the mouse is being moved backward on the work surface, the virtual object in the virtual space, which is a skateboarder, is made to kick the ground in the virtual space, accelerating the virtual object forward. A game processing method that, when the second data indicates that the mouse is tilted in the roll direction, changes the path of the moving virtual object.
2. To the aforementioned computer, The game processing method according to claim 1, wherein the degree to which the virtual object changes its course according to the second data is reduced from the time the virtual object is accelerated until the first condition is met.
3. The game processing method according to claim 2, wherein the first condition is satisfied when it is determined that the mouse has returned to contact with the work surface after being away from it.
4. The game processing method according to claim 2, wherein the first condition is satisfied when a first predetermined time has elapsed from a first timing after the virtual object has been accelerated.
5. To the aforementioned computer, The game processing method according to claim 1, wherein acceleration of the virtual object is initiated when the mouse leaves the work surface.
6. To the aforementioned computer, The game processing method according to claim 1, wherein when the first data indicates that the mouse is being moved on the work surface within a predetermined angular range including an axis extending in one direction in the front-to-back direction of the mouse, the virtual object is accelerated forward.
7. To the aforementioned computer, The game processing method according to claim 6, wherein the virtual object is accelerated forward according to the absolute amount of movement of the mouse on the work surface based on the first data.
8. To the aforementioned computer, The game processing method according to claim 1, wherein the virtual object can be accelerated according to the remaining amount, and an acceleration parameter that decreases when the virtual object is accelerated and recovers when a second condition is met is displayed on the display unit.
9. To the aforementioned computer, The game processing method according to claim 1, wherein when the mouse is lifted from the work surface during operation input to the mouse's operating unit, the virtual object is made to perform a predetermined action.
10. The game processing method according to claim 9, wherein the predetermined action is a jump.
11. To the aforementioned computer, The game processing method according to claim 9, wherein the virtual object is put into a ready state while an operation input is being made to the operation unit.
12. The aforementioned preparation state is a crouching position. The game processing method according to claim 11, wherein during the preparation state, the acceleration or deceleration of the skateboarder is greater or less than when it is not in the preparation state.
13. To the aforementioned computer, The game processing method according to any one of claims 1 to 12, wherein when the second data indicates that the mouse has been rotated in the yaw direction, the virtual object in motion is slowed down.
14. In the computer of the information processing device, The mouse receives first data based on incident light through an opening on its bottom surface. The second data based on the posture of the mouse is received. When the first data indicates that the mouse is being moved backward on the work surface, the virtual object in the virtual space, which is a skateboarder, is made to kick the ground in the virtual space, accelerating the virtual object forward. A game program that changes the path of a moving virtual object when the second data indicates that the mouse is tilted in the roll direction.
15. The computer, The game program according to claim 14, wherein the degree to which the virtual object changes its course in accordance with the second data is reduced from the time the virtual object is accelerated until the first condition is met.
16. The game program according to claim 15, wherein the first condition is satisfied when a first predetermined time has elapsed from a first timing after the virtual object has been accelerated.
17. A game device equipped with a processor, The aforementioned processor, The first data is received based on the incident light through an opening on the bottom surface of the mouse. Upon receiving second data based on the posture of the mouse, When the first data indicates that the mouse is being moved backward on the work surface, the virtual object in the virtual space, which is a skateboarder, is made to kick the ground in the virtual space, accelerating the virtual object forward. A game device that changes the path of a moving virtual object when the second data indicates that the mouse is tilted in the rolling direction.
18. The processor is The game device according to claim 17, wherein the degree to which the virtual object changes its course according to the second data is reduced from the time the virtual object is accelerated until the first condition is met.
19. The game device according to claim 18, wherein the first condition is satisfied when a first predetermined time has elapsed from a first timing after the virtual object has been accelerated.
20. A game system equipped with a mouse and a processor, The aforementioned mouse, The first data is transmitted based on the incident light passing through an opening provided on the bottom surface of the mouse. The second data based on the mouse's posture is transmitted. The aforementioned processor, Upon receiving the first data, Upon receiving the second data, When the first data indicates that the mouse is being moved backward on the work surface, the virtual object in the virtual space, which is a skateboarder, is made to kick the ground in the virtual space, accelerating the virtual object forward. A game system that changes the path of a moving virtual object when the second data indicates that the mouse is tilted in the roll direction.
21. The processor is The game system according to claim 20, wherein the degree to which the virtual object changes its course in accordance with the second data is reduced from the time the virtual object is accelerated until the first condition is met.
22. The game system according to claim 21, wherein the first condition is satisfied when a first predetermined time has elapsed from a first timing after the virtual object has been accelerated.