Game processing method, game system, and game program

The game processing method uses dual-hand input and synchronized vibration feedback to enhance gameplay interaction and feedback, addressing the limitations of existing controllers by ensuring precise and intended vibration effects.

JP2026092481APending Publication Date: 2026-06-05NINTENDO CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
NINTENDO CO LTD
Filing Date
2024-11-26
Publication Date
2026-06-05

Smart Images

  • Figure 2026092481000001_ABST
    Figure 2026092481000001_ABST
Patent Text Reader

Abstract

This invention provides a novel information processing method using a novel game controller equipped with a vibration device. [Solution] A game processing method implemented by a computer including at least one processor, wherein the processor is caused to acquire first data based on the output of the first mouse sensor from a first controller having a first mouse sensor and a first vibration device, which is operated by a mouse with one hand of the user; to control a virtual object based on the first data; to generate second data based on the control content of the virtual object; and to vibrate the second vibration device of a second controller having a second vibration device held in the other hand of the user, based on the second data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to game processing for controlling a controller provided with a vibration device.

Background Art

[0002] Conventionally, a controller provided with a vibration 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] In the above technology, there was room to provide a user with a new game process using a new controller having a vibration device.

Means for Solving the Problems

[0005] In view of the above points, for example, there are the following configuration examples.

[0006] (Configuration 1) Configuration 1 is a game processing method realized by a computer including at least one processor, and causes the processor to obtain first data based on an output of a first mouse sensor from a first controller having a first mouse sensor and a first vibration device, which is mouse-operated by one hand of a user, control the position of a virtual object based on the first data, generate second data based on the position of the virtual object, and vibrate a second vibration device of a second controller held by the other hand of the user based on the second data.

[0007] (Configuration 2) Configuration 2 may, in Configuration 1 described above, acquire third data based on the output of a first directional input unit operated by the user, have a first controller, control the position of the virtual object based on the third data, generate fourth data based on the position of the virtual object when the virtual object is being controlled based on the third data, and vibrate the first vibration device based on the fourth data.

[0008] (Composition 3) Configuration 3 may, in Configuration 1 or 2 above, acquire fifth data based on the output of the inertial sensor of the first controller, control the position of the virtual object based on the fifth data, generate sixth data based on the position of the virtual object when the virtual object is being controlled based on the fifth data, and vibrate the first vibration device based on the sixth data.

[0009] (Composition 4) Configuration 4 may, in any of the above configurations 1 to 3, acquire seventh data based on the output of a second directional input unit operated by the user, which is provided by the first controller or the second controller, control the position of a virtual object based on the seventh data when the first controller and the second controller are directly or indirectly fixed to each other, generate eighth data based on the position of the virtual object, and vibrate the first vibration device and the second vibration device based on the eighth data.

[0010] (Composition 5) Configuration 5 may generate second data based on the positional relationship between the virtual object and the first position in any of the above configurations 1 to 4.

[0011] (Composition 6) Configuration 6 may vibrate the second vibration device at a timing corresponding to the positional relationship between the virtual object and the first position in any of the above configurations 1 to 5.

[0012] (Composition 7) Configuration 7 may generate second data such that in any of the above Configurations 1 to 6, there is a second position different from the first position, attribute information associated with each of the first position and the second position is set, and the second vibration device vibrates in a manner corresponding to the attribute information.

[0013] (Configuration 8) Configuration 8 may generate second data such that in any of the above Configurations 1 to 7, the second vibration device vibrates in a manner corresponding to the positional relationship between the virtual object and the first position.

[0014] (Configuration 9) Configuration 9 may obtain ninth data based on the output of a third direction input unit or a second button that is operated by the user and is possessed by the second controller, and execute a predetermined game process based on the ninth data in any of the above Configurations 1 to 8.

Brief Description of the Drawings

[0015] [Figure 1] A diagram showing an example of a state in which the left controller 3 and the right controller 4 are attached to the main body device 2 [Figure 2] A diagram showing an example of a state in which the main body device 2, the left controller 3, and the right controller 4 are used separately [Figure 3] A six-sided view showing an example of the left controller 3 [Figure 4] A six-sided view showing an example of the right controller 4 [Figure 5] A block diagram showing an example of the internal configuration of the main body device 2 [Figure 6] A block diagram showing an example of the internal configurations of the main body device 2, the left controller 3, and the right controller 4 [Figure 7] An example of the operation mode of the controller [Figure 8] An example of the operation mode of the controller [Figure 9] An example of the game screen [Figure 10] A diagram for explaining the placement of treasures [Figure 11]An example of various data stored in the DRAM 85 of the main body device 2 [Figure 12] An example of the data configuration of the treasure-related data 603 [Figure 13] An example of the data configuration of the operation data 612 [Figure 14] A flowchart showing the details of the game process [Figure 15] A flowchart showing the details of the echo transmission process [Figure 16] A flowchart showing the details of the echo control process [Figure 17] A flowchart showing the details of the excavation process [Figure 18] A flowchart showing the details of the vibration control process [Figure 19] An example of the game screen in other embodiments

Mode for Carrying Out the Invention

[0016] Hereinafter, one embodiment will be described.

[0017] FIG. 1 shows an example of the appearance of the game system according to this embodiment. An example of the game system 1 in this embodiment includes a main body device (information processing device; functioning as a game device main body in this embodiment) 2, which is an example of a computer, a left controller 3, and a right controller 4. The main body device 2 is such that the left controller 3 and the right controller 4 are each detachable. That is, as shown in FIG. 1, the game system 1 can be used as a device in which the left controller 3 and the right controller 4 are each attached to the main body device 2 and integrated. Also, as shown in FIG. 2, the game system 1 can also be used with the main body device 2, the left controller 3, and the right controller 4 as separate entities. Hereinafter, the left controller 3 and the right controller 4 may be collectively referred to as the "controller".

[0018] The main body device 2 includes a display 12. The display 12 displays an image generated by the main body device 2. The display 12 is, as an example, a liquid crystal display device (LCD).

[0019] Next, the controller will be described. Figure 3 is a six-view drawing showing an example of the left controller 3. As shown in Figure 3, the left controller 3 has a vertically elongated shape, that is, a shape that is long in the z-axis direction as shown in Figure 3. When the left controller 3 is attached to the main unit 2, it has a protrusion 40 that fits into a recess (not shown) of the main unit 2. When the left controller 3 is removed from the main unit 2, it can also be held in a vertically elongated orientation. When the left controller 3 is held in a vertically elongated orientation, it has a shape and size that allows it to be held with one hand, especially the left hand. The left controller 3 can also be held in a horizontally elongated orientation, and when held in a horizontally elongated orientation, it may be held with both hands.

[0020] The left controller 3 is equipped with a left analog stick (sometimes referred to as the "left stick") 32, which is an example of a directional input device. As shown in Figure 2, the left stick 32 is located on the front of the left controller 3. The left stick 32 can be used as a directional input unit that can input directions. The user can input directions according to the direction of tilt by tilting the left stick 32, and can input an amount of force according to the angle of tilt.

[0021] The left controller 3 is equipped with various operation buttons. On its front, the left controller 3 is equipped with a right direction button 33, a down direction button 34, an up direction button 35, a left direction button 36, a record button 37, and a minus button 47. The left controller 3 is equipped with an L button 38 and a ZL button 39 on its top and left sides. Note that the L button 38 and ZL button 39 may be provided only on the top side of the left controller 3, or only on the left side. The left controller 3 is equipped with buttons 43 and 44 on a protrusion 40 on its right side.

[0022] The left controller 3 is provided with a mouse sensor aperture 70 on a protrusion 40 on its right side. The mouse sensor aperture 70 is an aperture that guides light to a mouse sensor 71 located inside it. The mouse sensor 71 is, for example, a general mouse sensor (e.g., an optical or laser mouse sensor), and acquires data for calculating the movement (direction of movement, distance of movement, speed of movement, etc.) of the left controller 3 on the work surface, which is positioned with its right side (i.e., the upper surface of the protrusion 40) facing the work surface.

[0023] Furthermore, the left controller 3 is equipped with a terminal 72 on the protrusion 40 on its right side for wired communication between the left controller 3 and the main unit 2.

[0024] Figure 4 is a six-view drawing showing an example of the right controller 4. As shown in Figure 4, the right controller 4 has a vertically elongated shape, that is, a shape that is long in the z-axis direction as shown in Figure 4. The right controller 4 has a protrusion 62 that fits into a recess (not shown) of the main unit 2 when it is attached to the main unit 2. When the right controller 4 is removed from the main unit 2, it can also be held in a vertically elongated orientation. When the right controller 4 is held in a vertically elongated orientation, it has a shape and size that allows it to be held with one hand, especially the right hand. The right controller 4 can also be held in a horizontally elongated orientation, and when held in a horizontally elongated orientation, it may be held with both hands.

[0025] The right controller 4 has a right analog stick (sometimes referred to as the "right stick") 52 on its front as a directional input section. 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 has various operation buttons. On its front, the right controller 4 has an A button 53, a B button 54, an X button 55, a Y button 56, a + (plus) button 57, and a home button 58. The right controller 4 has an R button 60 and a ZR button 61 on its top and right sides. Note that the R button 60 and ZR button 61 may be provided only on the top surface of the right controller 4, or only on the right side. The right controller 4 has buttons 65 and 66 on a protrusion 62 on its left side.

[0026] The right controller 4 is provided with a mouse sensor aperture 73 on a protrusion 62 on its left side. The mouse sensor aperture 73 is an aperture that guides light to a mouse sensor 74 located inside it. The mouse sensor 74 is, for example, a general mouse sensor (e.g., an optical or laser mouse sensor), and acquires data for calculating the movement (direction of movement, distance of movement, speed of movement, etc.) of the right controller 4 on the work surface, which is positioned with its left side (i.e., the upper surface of the protrusion 62) facing the work surface.

[0027] Furthermore, the right controller 4 is equipped with a terminal 75 on a protrusion 62 on its left side for wired communication between the right controller 4 and the main unit 2.

[0028] Figure 5 is a block diagram showing an example of the internal configuration of the main unit 2. The main unit 2 includes a processor 81. The processor 81 is an information processing unit that performs various information processing operations in the main unit 2, and may consist of, for example, one or more CPUs (Central Processing Units), or it may consist of a SoC (System-on-a-chip) that includes multiple functions such as CPU function and GPU (Graphics Processing Unit) function. The processor 81 performs various information processing operations by executing information processing programs (for example, game programs) stored in a storage unit (specifically, an internal storage medium such as flash memory 84, or an external storage medium installed in slot 23).

[0029] The main unit 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85 as examples of internal storage media. The flash memory 84 is a memory primarily used to store various types of data (which may be programs) stored in the main unit 2. The DRAM 85 is a memory used to temporarily store various types of data used in information processing. The processor 81 performs various information processing by appropriately reading and writing data to and from storage media such as the flash memory 84 and the DRAM 85.

[0030] Furthermore, the main unit 2 has various configurations as shown in Figure 5. These are briefly explained below. The slot interface (sometimes referred to as "slot I / F") 91 reads and writes data to a predetermined type of storage medium (e.g., a dedicated memory card) installed in slot 23, according to instructions from the processor 81. The network communication unit 82 communicates with external devices via the network (e.g., internet communication).

[0031] The controller communication unit 83 communicates wirelessly with the left controller 3 and / or the right controller 4 (for example, communication in accordance with the Bluetooth® standard). The left terminal 17 is a terminal for data communication between the processor 81 and the left controller 3. The right terminal 21 is a terminal for data communication between the processor 81 and the right controller 4. The lower terminal 27 is a terminal for outputting data (for example, image data or audio data) to a stationary monitor or the like via the cradle when the lower terminal 27 is mounted in the cradle.

[0032] The display 12 displays images generated by the processor 81 and / or images acquired from an external source. The codec circuit 87 controls the input and output of audio data to the speaker 88 and the audio input / output terminal 25. The power control unit 97 controls the power supply from the battery 98 to each part of the main unit 2 (i.e., each part that receives power from the battery 98) based on commands from the processor 81, and also starts or stops the power supply in response to the pressing of the power button 28.

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

[0034] The left controller 3 includes a communication control unit 101 that communicates with the main unit 2. As shown in Figure 6, the communication control unit 101 is connected to each component, including terminal 42. When the left controller 3 is mounted on the main unit 2, the communication control unit 101 communicates with the main unit 2 via terminal 42, and when the left controller 3 is detached from the main unit 2, it performs wireless communication with the main unit 2.

[0035] The left controller 3 includes a memory 102, such as flash memory. The communication control unit 101 is composed of a microcontroller (also called a microprocessor) and performs various processes by executing firmware stored in the memory 102.

[0036] The left controller 3 is equipped with various buttons 103 (right direction button 33, down direction button 34, up direction button 35, left direction button 36, L button 38, ZL button 39, etc.) and a left stick 32. Each button 103 and the left stick 32 repeatedly output information about the operation performed on them to the communication control unit 101 at appropriate intervals.

[0037] The left controller 3 is equipped with an inertial sensor. Specifically, the left controller 3 is equipped with an acceleration sensor 104 and an angular velocity sensor 105. In this embodiment, the acceleration sensor 104 detects the magnitude of acceleration along a predetermined three-axis direction (for example, the x, y, and z axes shown in Figure 2). Note that the acceleration sensor 104 may also detect acceleration in one axis direction or two axis directions. In this embodiment, the angular velocity sensor 105 detects angular velocity around a predetermined three-axis direction (for example, the x, y, and z axes shown in Figure 2). Note that the angular velocity sensor 105 may also detect angular velocity around one axis direction or two axis directions. The acceleration sensor 104 and the angular velocity sensor 105 are each connected to the communication control unit 101. The detection results from the acceleration sensor 104 and the angular velocity sensor 105 are repeatedly output to the communication control unit 101 at appropriate timings.

[0038] The left controller 3 is equipped with a mouse sensor 71. The mouse sensor 71 acquires data to calculate the movement of the left controller 3 on the work surface (direction of movement, distance of movement, speed of movement, etc.). Using this data, it is also possible to determine whether the right side of the left controller 3 is in contact with the work surface or close to contacting it (for example, whether the gap between the right side and the work surface is less than or equal to a predetermined distance (e.g., 1 mm)). The data acquired by the mouse sensor 71 is repeatedly output to the communication control unit 101 at appropriate intervals.

[0039] The communication control unit 101 acquires information related to input (specifically, information related to operation or detection results from sensors) from each input unit (specifically, each button 103, the left stick 32, and each sensor 104, 105, and 71). The communication control unit 101 transmits operation data, which includes the acquired information or information that has been processed in a predetermined manner, to the main unit 2. The operation data is transmitted repeatedly at a rate of once every predetermined time.

[0040] When the above operation data is transmitted to the main unit 2, the main unit 2 can obtain input from the left controller 3. That is, the main unit 2 can determine the operation of each button 103 and the left stick 32 based on the operation data. The main unit 2 can also calculate information about 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). The main unit 2 can also calculate information about mouse operations performed on the left controller 3 based on the operation data (specifically, the detection results of the mouse sensor 71).

[0041] The left controller 3 comprises an amplifier 106 and an oscillator 107. The amplifier 106 amplifies the control signal received from the communication control unit 101 and generates a drive signal. The oscillator 107 vibrates in response to the drive signal generated by the amplifier 106, causing the left controller 3 to vibrate. The type of oscillator 107 is not particularly limited and may be, for example, an eccentric motor, a linear resonant actuator, a voice coil motor (VCM), etc.

[0042] The left controller 3 includes a power supply unit 108. The power supply unit 108 has a battery and a power control circuit. 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).

[0043] As shown in Figure 6, the right controller 4 includes a communication control unit 111 that communicates with the main unit 2. The right controller 4 also includes a memory 112 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 the 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 by wired communication via the terminal 64 and by wireless communication without the terminal 64 (specifically, communication according to the Bluetooth® standard), and controls the communication that the right controller 4 makes to the main unit 2.

[0044] The right controller 4 is equipped with the same inputs as the left controller 3. Specifically, it includes buttons 113 (A button 53, B button 54, X button 55, Y button 56, R button 60, ZR button 61, etc.), a right stick 52, inertial sensors (accelerometer 114 and angular velocity sensor 115), and a mouse sensor 74. Each of these inputs has the same function and operates in the same way as the inputs of the left controller 3.

[0045] The right controller 4 comprises an amplifier 116, a vibrator 117, and a power supply unit 118. The amplifier 116, vibrator 117, and power supply unit 118 have the same functions and operate in the same manner as the amplifier 106, vibrator 107, and power supply unit 108 of the left controller 3, respectively.

[0046] In this embodiment, each controller can be used as a mouse by using the mouse sensors 71 and 74. Hereinafter, the operating mode when each controller is not used as a mouse will be referred to as the first mode, and the operating mode when it is used as a mouse will be referred to as the second mode.

[0047] The switching between the first and second modes may be controlled manually or automatically. For example, if the switching is done manually, the system may switch to the first or second mode when an operation to switch to the first or second mode is performed from a predetermined menu. Alternatively, each controller may be equipped with a switch for switching modes. Alternatively, in the first mode, the system may switch from the first to the second mode by performing a predetermined operation to switch to the second mode (for example, pressing the R button 60 and the A button 53 simultaneously). Alternatively, if the system switches automatically, the sensor output of each controller may be used. As an example, the system may be configured to distinguish between a "grounded state" where the left side of the right controller 4 and the right side of the left controller are in contact with the work surface, and a "separated state" where they are separated from the work surface, based on the output of each mouse sensor. For example, if the separated state continues for a certain period of time while in the second mode, the system may switch to the first mode. Conversely, if the grounded state continues for a certain period of time while in the first mode, the system may switch to the second mode. In addition, for example, in the right controller 4, which is in second mode, the system may switch to first mode when input is received to the right stick 52. The left controller 3 can be controlled similarly. Alternatively, for example, each controller in second mode may be configured to switch to first mode when it is attached to the main unit 2. Such modes may be set on each controller, or they may be set in the system software or applications on the main unit 2, for example, to interpret the input signals from each controller.

[0048] Here, we will explain the hand posture (how to hold the controller) when operating each controller as assumed in this embodiment, using Figures 7 and 8.

[0049] Figure 7 is a schematic diagram showing an example of hand position when both controllers are used in the first mode described above. In Figure 7, it is shown that the left controller 3 is being operated while being held and lifted with the left hand. Similarly, it is shown that the right controller 4 is being operated while being held and lifted with the right hand.

[0050] Figure 8 is a schematic diagram showing the hand position when the left controller 3 is used in the first mode and the right controller 4 is used in the second mode, i.e., as a mouse. As shown in Figure 8, when using in the second mode, the user rests their right hand on the right side of the right controller 4. More specifically, in the example in Figure 8, the user's right thumb is resting on the right stick 52, the user's right index finger is resting on the R button 60, and the user's right middle finger is resting on the ZR button 61. In other words, in Figure 8, the left controller 3 is held and lifted, while the right controller 4 is placed on the work surface without being lifted, with the right hand resting on it. In the following explanation, "gripping the controller" refers to lifting and gripping the controller, as in the left controller 3 in Figure 8. On the other hand, when the right controller 4 is operated with the side containing the mouse sensor resting on the work surface, as in the right controller 4 in Figure 8, this is referred to as "operating the mouse." Furthermore, the operation of moving the right controller 4 on the work surface is specifically referred to as "mouse movement operation."

[0051] Although not shown in the diagram, both the left controller 3 and the right controller 4 can also be used in second mode. In this case, similar to the right hand in second mode, the user's left hand will rest on the left controller 3 while the mouse is operated.

[0052] [Overview of game processing in this embodiment] Next, an overview of the operation of the game processing performed 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 attached to each other. When playing a game with the left controller 3 and the right controller 4 attached to the main unit 2, the game image is output to the display 12. In addition, when the main unit 2 alone, with the left controller 3 and the right controller 4 removed, is mounted in the cradle, the main unit 2 can also output the game image to a stationary monitor or the like via the cradle. In this embodiment, the latter case will be described as an example. Specifically, the main unit 2 alone, with the left controller 3 and the right controller 4 removed, is mounted in the cradle, and the main unit 2 outputs the game image to a stationary monitor via the cradle. Furthermore, the explanation will be based on the premise that the left controller 3 is used in the first mode and the right controller 4 is used in the second mode, as shown in Figure 8 above.

[0053] The game envisioned in this embodiment is a treasure hunt game in which players search for "treasures" buried in the ground. Figure 9 shows an example of the game screen. In Figure 9, a virtual field (hereinafter simply referred to as the field) that mimics the ground and a player object (hereinafter referred to as PO) 201 are displayed. In this example, we will explain using the case where the field is a two-dimensional field. Note that since the "treasures" are buried in the field, their location cannot be seen visually. Figure 10 is a schematic diagram showing an example of the arrangement of "treasures" in the example in Figure 9. In this example, we will explain using the case where three "treasures" are buried. In this game, as shown in Figure 10, the field is divided into invisible squares, and the "treasures" are placed along these squares. In Figure 10, the first treasure 202, the second treasure 203, and the third treasure 204 are buried. In this game, treasures are assigned a "rank" according to their value. In the example in Figure 10, the first treasure 202 is set as the most expensive "A rank". The second treasure 203 is set as the next most expensive "B rank", and the third treasure 204 is set as the cheapest "C rank". The size of the treasure (the area it occupies on the field) also differs depending on the rank, with the first treasure 202 occupying 1 square, the second treasure 203 occupying 4 squares, and the third treasure 204 occupying 9 squares. In the following explanation, the area on the field where the "treasure" is placed may also be referred to as the "treasure placement area".

[0054] On the field described above, in this game, PO201 can emit "virtual echoes" and dig in the ground. In this game, various operations of PO201 are performed using the right controller 4. Specifically, PO201 can be moved by moving the mouse, a virtual echo can be emitted by pressing the R button 60, and the digging action can be performed by pressing the ZR button 61. On the other hand, the left controller 3 is used as a virtual notification device that notifies the results of the search by virtual echoes. To explain a specific example of operation, first, PO201 is moved on the field using the mouse operation of the right controller 4. Then, when the R button 60 is clicked at the desired position, a circular virtual echo centered on PO201 is emitted. This virtual echo moves in a concentric manner. Buried "treasures" are searched for using this virtual echo. Specifically, when the emitted virtual echo collides with any treasure (on the field plane), the left controller 3 vibrates. Therefore, the time it takes from pressing the R button 60 to the vibration occurring on the left controller 3 varies depending on the distance between PO201 and each "treasure." In other words, the closer the "treasure," the shorter the time it takes from pressing the R button 60 to the vibration occurring on the left controller 3. By paying attention to the time it takes from pressing the R button 60 to the vibration occurring on the left controller 3, the user can estimate the distance between PO201 and the "treasure."

[0055] Furthermore, in this game, the intensity of the vibrations varies depending on the rank of the "treasure." Specifically, higher ranks generate stronger vibrations. Therefore, users can deduce the rank of the buried "treasure" by paying attention to the intensity of the vibrations.

[0056] Additionally, users can make PO201 perform a digging action by clicking the ZR button 61. If the digging action is performed in a location where "treasure" is buried directly beneath PO201, the "treasure" will be acquired. If the digging action is performed in a location where no "treasure" is buried, a message indicating that no "treasure" was found will be displayed.

[0057] In this game, you move PO201 using the mouse on the right controller 4, emit virtual echoes, and rely on the vibrations generated on the left controller 3 to find the location where the "treasure" is buried.

[0058] Furthermore, by outputting vibrations based on the search results from virtual echoes to the left controller 3 instead of the right controller 4, the game developers can ensure that users feel the "vibrations" they intended, thus preventing a decline in gameplay. To explain this further, this game uses a control method where the right controller 4 is used as a mouse, as described above. Therefore, the right controller 4 is basically operated while in contact with the work surface. However, if vibrations are generated in the right controller 4 while it is in contact with the work surface, the degree of vibration may change depending on the material of the work surface. For example, the vibrations felt by the user may be weaker than expected. In other words, the strength of the vibrations intended by the developers may not be properly conveyed to the user. As a result, in games where players rely on vibrations to search for "treasures," the user may not be able to make appropriate predictions, which could affect gameplay. Therefore, in this embodiment, by outputting vibrations to the left controller 3, which is being held (the first mode described above), rather than the right controller 4 which is in contact with the work surface, the developers can ensure that users feel the vibrations they intended, thus preventing a decline in gameplay. Furthermore, since vibration is not generated in the right controller 4 used for mouse operation, it is possible to suppress changes in the operability of the right controller 4 due to vibration generation.

[0059] [Examples of data used] Next, the various data used in the processing of this embodiment will be described. Figure 11 is a memory map showing an example of the various data stored in the DRAM 85 of the information processing device 2. The DRAM 85 stores the game program 601, game stage data 602, player object data 604, echo flag 608, vibration management queue 609, operation data 612, and the like.

[0060] The game program 601 is a program for executing the game processing according to this embodiment.

[0061] Game stage data 602 is data relating to the fields described above. Game stage data 602 includes at least treasure-related data 603. Figure 12 shows an example of the data structure of treasure-related data 603. Treasure-related data 603 is table-formatted data having at least the following items: treasure ID 621, treasure location data 622, treasure rank data 623, and acquired flag 624. Treasure ID 621 is an identifier to uniquely identify the "treasure". Treasure location data 622 is data indicating the location (area) where the "treasure" is buried in the above field. Treasure rank data 623 indicates the rank of the "treasure". Acquired flag 624 is a flag indicating whether the "treasure" has already been acquired or not; if it is off, it means that it has not yet been acquired.

[0062] Returning to Figure 11, the player object data 604 is data relating to PO201. The player object data 604 includes at least the PO position 606 and the PO state 607. The PO position 606 is data indicating the current position of PO201 on the field. The PO state 607 is data indicating the current state of PO201. For example, data indicating that it is moving or performing an excavation action may be set as appropriate.

[0063] The echo flag 608 indicates whether a virtual echo currently exists. Its initial value is off; when on, it indicates that a virtual echo currently exists.

[0064] The vibration management queue 609 may contain multiple vibration control data 610 that are to be reproduced. The vibration control data 610 is data that defines the content of the vibration of the left controller 3. For example, it may be data that shows the amplitude, frequency, and period of the vibration. It may also be data that shows electrical parameters such as voltage values ​​to achieve the intended vibration. It may also be data that combines these elements. Furthermore, for example, it may be data that specifies which preset to use from among the preset amplitude and frequency data. In this embodiment, the vibration of the left controller 3 is controlled based on the vibration control data 610 registered in the vibration management queue 609. When the reproduction of the vibration related to each vibration control data 610 is completed, that vibration control data 610 is deleted from the vibration management queue 609.

[0065] Operation data 612 is data that indicates the operation performed on the controller. Figure 13 shows an example of the data structure of operation data 612. Operation data 612 includes right controller data 641 and left controller data 651.

[0066] The right controller data 641 includes right button operation data 642, right stick operation data 643, right mouse operation data 644, and right inertial sensor data 645. The right button operation data 642 is data indicating the pressed state of each button 113 of the right controller 4. The right stick operation data 643 is data indicating the input direction and input amount of the right stick 52. The right mouse operation data 644 is data indicating the detection result of the mouse sensor 74 of the right controller 4. The right mouse operation data 644 may be, for example, data indicating the amount of movement in the x and y axes, or the position coordinates (x, y) on the virtual mouse plane. The right inertial sensor data 645 is data indicating the detection result of the acceleration sensor 114 and the angular velocity sensor 115. For example, it may be 3-axis acceleration data or angular velocity data.

[0067] The left controller data 651 includes left button operation data 652, left stick operation data 653, left mouse operation data 654, and left inertial sensor data 655. The left button operation data 652 is data indicating the pressed state of each button 103 of the left controller 3. The left stick operation data 653 is data indicating the input direction and input amount of the left stick 32. The left mouse operation data 654 is data indicating the detection result of the mouse sensor 71 of the left controller 3. The left inertial sensor data 655 is data indicating the detection result of the acceleration sensor 104 and the angular velocity sensor 105.

[0068] [Example flowchart] Next, an example of a flowchart for the game processing will be described. In this embodiment, the flowchart shown below is realized by one or more processors reading and executing programs stored in one or more memories. Furthermore, this flowchart is merely one example of the processing process. Therefore, the processing order of each step may be changed if the same result can be obtained. Also, the values ​​of the variables and the thresholds used in the judgment step are merely examples, and other values ​​may be used as needed.

[0069] Figure 14 is a flowchart detailing an example of game processing according to this embodiment. The processing loop of steps S1 to S13 in Figure 14 is repeated multiple times per second depending on the frame rate.

[0070] When game processing begins, in step S1, the processor 81 first performs preparation processing. In this process, the above field on which the "treasures" are placed is first generated based on the game stage data 602. Then, PO201 is placed at the position on the field that is set as the initial placement position. Furthermore, guidance images and audio (not shown in the illustration) instructing the user on how to hold the controller, as shown in Figure 8, are presented to the user. When the user performs a predetermined operation to indicate that they have completed preparation for the operation method as shown in Figure 8, the game screen is displayed and actual gameplay begins, and processing proceeds to step S2.

[0071] Next, in step S2, the processor 81 obtains the operation data 612.

[0072] Next, in step S3, the processor 81 determines, based on the operation data 612, whether or not any operation has been performed on the right controller 4. If the result of this determination is that no operation has been performed on the right controller 4 (NO in step S3), the process proceeds to step S11, which will be described later.

[0073] On the other hand, if an operation is performed on the right controller 4 (YES in step S3), in step S4, the processor 81 determines, based on the right mouse operation data 644, whether or not a mouse movement operation to move the right controller 4, which is the second mode, has been performed. If, as a result of this determination, a mouse movement operation has been performed (YES in step S4), in step S5, the processor 81 controls the movement of PO201 based on the right mouse operation data 644. After that, the process proceeds to step S6. On the other hand, if no mouse movement operation has been performed, the process in step S5 is skipped.

[0074] Next, in step S6, the processor 81 determines, based on the right button operation data 642, whether or not the virtual echo transmission operation (click of the R button 60) has been performed. If the determination is made and the transmission operation has been performed (YES in step S6), then in step S7, the processor 81 executes the echo transmission process.

[0075] Figure 15 is a flowchart detailing the echo transmission process described above. First, in step S21, the processor 81 generates a virtual echo and starts its movement. Simultaneously, it begins measuring the distance the virtual echo has traveled. Furthermore, in step S22, the processor 81 sets the echo flag 608 to ON. This completes the echo transmission process.

[0076] Returning to Figure 14, if the result of the determination in step S6 is that no transmission operation has been performed (NO in step S6), then in step S8, the processor 81 executes echo control processing. Figure 16 is a flowchart detailing the echo control processing. First, in step S31, the processor 81 determines whether the echo flag 608 is on or off. If it is off (NO in step S31), the processor 81 terminates the echo control processing. If it is on (YES in step S31), in step S32, the processor 81 moves the virtual echo by a predetermined distance (moving it in a concentric manner). The measurement of the distance (radius) of the virtual echo's movement also continues.

[0077] Next, in step S33, the processor 81 determines whether the virtual echo has collided with any of the "treasures" whose acquired flag 624 is off, that is, whether the location of an unacquired "treasure" overlaps with the location of the outer edge of the virtual echo. If the result of this determination is that there is no collision (NO in step S33), the process proceeds to step S36, which will be described later. If there is a collision (YES in step S33), in step S34, the processor 81 determines the rank of the collided "treasure" based on the treasure-related data 603.

[0078] Next, in step S35, the processor 81 generates vibration control data 610 indicating the vibration details (vibration timing, amplitude, period, etc.) based on the distance from PO201 to the collided "treasure" and the rank of the "treasure," and registers it in the vibration management queue 609. In this case, if the virtual echo collides with multiple "treasures" simultaneously, vibration control data 610 is generated for each "treasure."

[0079] Next, in step S36, the processor 81 determines whether the transmitted virtual echo has traveled to a predetermined distance. If the virtual echo has traveled to the predetermined distance (YES in step S36), in step S37, the processor 81 sets the echo flag 608 to off. In other words, once the virtual echo has spread to the predetermined distance, the process of erasing the virtual echo is performed. On the other hand, if it has not traveled to the predetermined distance (NO in step S36), the process in step S37 is skipped. This completes the echo control process.

[0080] Returning to Figure 14, in step S9, the processor 81 determines whether or not an excavation operation (clicking the ZR button 61) has been performed. If the result of this determination is that no excavation operation has been performed (NO in step S9), the process proceeds to step S11, which will be described later. If an excavation operation has been performed (YES in step S9), in step S10, the processor 81 executes the excavation process.

[0081] Figure 17 is a flowchart detailing the excavation process described above. First, in step S41, the processor 81 determines whether the current position of PO201 is included in the treasure placement area corresponding to an unacquired "treasure". If the determination is correct (YES in step S41), in step S42, the processor 81 causes PO201 to perform an excavation action and executes a process to acquire the corresponding "treasure". For example, the "treasure" may be added to PO201's possessions, or points may be added according to the rank of the "treasure".

[0082] Next, in step S43, the processor 81 sets the acquired flag 624, which corresponds to the acquired "treasure," to ON. After that, the mining process ends.

[0083] On the other hand, if the result of the determination in step S41 is that the current position of PO201 is not included in the treasure placement area (NO in step S41), then in step S44, the processor 81 causes PO201 to perform the excavation action and then displays a message indicating that no "treasure" was obtained. After that, the excavation process ends.

[0084] Returning to Figure 14, in step S11, the processor 81 performs vibration control processing. Figure 18 is a flowchart detailing this vibration control processing. First, in step S51, the processor 81 determines whether there is vibration control data 610 in the vibration management queue 609 that has not yet been played back. If the result of this determination is yes (YES in step S51), in step S52, the processor 81 starts playing back vibrations based on the unplayed vibration control data 610. On the other hand, if there is no vibration control data 610 (NO in step S51), the process in step S52 is skipped.

[0085] Next, in step S53, the processor 81 determines whether or not there is vibration control data 610 being played back. If the result of this determination is that there is no vibration control data 610 being played back (NO in step S53), the processor 81 terminates the vibration control process. On the other hand, if there is vibration control data 610 being played back (YES in step S53), in step S54, the processor 81 continues to play back vibrations based on the vibration control data 610 being played back. Next, in step S55, the processor 81 determines whether or not there is vibration control data 610 that has finished playing back. If the result of this determination is that there is (YES in step S55), in step S56, the processor 81 removes the finished vibration control data 610 from the vibration management queue 609. On the other hand, if there is no vibration control data 610 that has finished playing back (NO in step S55), the process in step S56 is skipped. This completes the vibration control process.

[0086] Returning to Figure 14, in step S12, the processor 81 executes a process to output the results of the above various processes. Specifically, it executes a process to output the game image and game sound reflecting the above various processes to the stationary monitor, and a process to output the vibration playback signal based on the vibration control data 610 to the left controller 3.

[0087] Next, in step S13, the processor 81 determines whether the conditions for terminating the game process have been met. If the conditions are not met (NO in step S13), the process returns to step S1 and is repeated. If the conditions are met (YES in step S13), the game process is terminated.

[0088] [Differentiation] Next, some variations will be described. In the above embodiment, an example was given in which the movement of PO201 is controlled based on the mouse movement operation of the right controller 4 in second mode. In other embodiments, the movement of PO201 may also be controlled by movement operation of the right controller 4 switched to first mode. When movement is controlled by the right controller 4 in first mode, for example, PO201 can be moved with the right stick 52. When the movement of PO201 is controlled based on the operation of the right stick 52, the system may be configured to output vibrations for the virtual echo to the right controller 4. As shown in Figure 7 above, when the right controller 4 is operated in first mode, the right controller 4 is not in contact with the work surface, so even if vibrations are output to the right controller 4, the vibrations intended by the developer can be appropriately felt by the user.

[0089] Furthermore, when vibrating the right controller 4, the vibration control data 610 output to the left controller 3 in the above process may be used as is, or pre-prepared vibration control data for the right controller 4 may be used, or the vibration control data 610 may be modified, for example, by reducing or increasing the magnitude of the vibration, and this may be used as vibration data for the right controller 4.

[0090] Furthermore, as described above, when the right controller 4 is operated while switching between the first mode and the second mode, vibration may be output to the right controller 4 when it switches to the first mode, or vibration may continue to be output to the left controller 3 even when the right controller 4 switches to the first mode. For example, if the game content may cause confusion for the user if the vibrating controller changes between the right controller 4 and the left controller 3, the vibration output may be configured to be fixed to the left controller 3 regardless of whether the right controller 4 is in the first mode or the second mode.

[0091] Furthermore, the above processing may be applied to games that do not perform the switching control between the first and second modes as described above. For example, the above processing may be applied to a game in which the operation method of the left controller 3 is fixed to the operation method of the first mode, and the operation method of the right controller 4 is fixed to the operation method of the second mode.

[0092] Furthermore, the determination of whether the controller is in contact with or close to contact the work surface may be performed by the main unit 2. Such determination may be performed by the system software of the main unit 2 or by the game application. In addition to or instead of the above, the determination of the controller state necessary for switching between the first mode and the second mode may be performed as appropriate, and the entity performing this determination may be the controller, the main unit, or both.

[0093] Another example of movement control using the right controller 4 in the first mode described above is that the PO201 may be controlled based on the output of the acceleration sensor 114 or the angular velocity sensor 115. In this case as well, the vibrations corresponding to the virtual echo should be output to the right controller 4. In this case as well, the vibrations intended by the developer can be appropriately felt by the user.

[0094] Furthermore, as an example of other operating modes, for example, when the controller is used attached to the main unit 2 as shown in Figure 1 above, the vibration described above may be configured to be output to both the left and right controllers. In addition to the configuration shown in Figure 1, for example, each controller may be fixed to a predetermined peripheral device and used as an integrated controller, and in this case as well, the vibration described above may be configured to be output to both the left and right controllers. Furthermore, when the left controller 3 and the right controller 4 are directly or indirectly fixed to each other, for example, the left stick 32 may be used as a directional input unit to control the movement of PO201. Furthermore, the same vibration control data 610 for the virtual echo may be output to both the left and right controllers. In this way, by outputting vibration to both controllers when the left and right controllers are used as an integrated unit, the discomfort that may occur when vibration is felt from only one controller can be reduced. Furthermore, in such cases, it is not limited to outputting the same vibration pattern to both controllers, but the vibration patterns may be different for the left and right controllers. Furthermore, similar control may be possible even if the left and right controllers are not directly or indirectly fixed to each other.

[0095] Furthermore, in the treasure hunt game described above, the virtual field may be a two-dimensional field, a three-dimensional field, or a one-dimensional field.

[0096] Furthermore, the above example describes a scenario where the vibration begins when the virtual echo collides with the "treasure." However, in other embodiments, the vibration may be determined based on the positional relationship between PO201 and the "treasure." For example, the timing of the vibration start may be determined based on the straight-line distance between PO201 and the "treasure."

[0097] In other examples, vibration may be determined not only based on the "position" of PO201, but also on other factors related to PO201. For example, when the state of PC201 changes from the first state to the second state based on the mouse movement operation of the right controller 4, the vibration corresponding to the second state may be determined and the vibration control data described above may be generated. The "state" may include exploration state, invincible state, defensive state, weakened state, attack state, flight state, etc. When PC201 is in the first state, vibration may or may not occur. It can also be said that the first state and the second state are states in which different vibrations occur.

[0098] The left controller 3 may also be used for game operation. For example, the left stick 32 of the left controller 3 in the first mode may be used to control the movement of PO201, and the right controller 4 in the second mode may be used to control a movable pointer. In this case, the pointer may be controlled with a mouse, and the virtual echo may be emitted with the R button 60 centered on the position of the pointer, and vibration may be output to the left controller 3 according to the result. Then, PO201 may be moved with the left stick 32 and mining may be performed at the position of PO201.

[0099] Additionally, the "treasures" buried in the ground may be configured to emit pulses at regular intervals, and when PO201 touches one of these pulses, the left controller 3 may vibrate. The interval of the emitted pulses may also be varied depending on the rank of the "treasure." Furthermore, the magnitude of the vibration may be set according to the distance between the pointer's position and the "treasure."

[0100] Furthermore, the above processing can be applied to any game that uses vibrations to allow players to guess the location or position of something, not just "treasures."

[0101] Furthermore, the treasure hunt game described above is just one example; other games may also use vibration on a controller other than the one being used for mouse operation. For example, the above processing can be applied to the following game processing. For example, it may be a competitive game in which the player character and the enemy character can emit circular "pulses" to each other, and damage can be inflicted by hitting the opponent with these "pulses". Figure 19 shows an example screen of such a competitive game. In Figure 19, PO201, the enemy character, and multiple obstacle objects (shown as shaded circular and rectangular objects in Figure 19) exist on a virtual field. As an example of operation, similar to the embodiment described above, PO201 can be moved by using the right controller 4 in second mode to move the mouse, and "pulses" can be emitted by pressing the R button 60. Also, the "pulses" are configured to be blocked by the obstacle objects. In other words, it is a game in which the player moves PO201 while hiding behind obstacle objects and hitting the enemy character with "pulses". Then, when the "pulse" hits an enemy character, you should output vibration to left controller 3 as described above.

[0102] Furthermore, in other cases, such as in a first-person shooter (FPS), the user can control the aiming reticle by moving the mouse with the right controller 4, fire by pressing the R button 60, and receive vibration feedback on the left controller 3 upon impact. The type of vibration may also be varied depending on the object hit. This allows the user to intuitively understand the result of their shots through the vibration on the left controller 3 without compromising the operability of the right controller 4.

[0103] Furthermore, the above processing can also be applied to other types of games, such as competitive games that utilize the element of "hiding" something. For example, the above processing can be applied to a game where one user hides treasure on a field-like surface as described above, and the other user tries to find the treasure. In particular, in this case, the above processing can be applied to the controller of the user who "hides" the treasure. For example, the user can move PO201 on the field using the mouse on the right controller 4 and "hide" the treasure at the location of PO201 by clicking the R button 60. At this time, the left controller 3 can be vibrated to inform the user that the treasure hiding operation was successful. If the right controller 4 were to vibrate, a vibration sound would be generated through the work surface, potentially revealing to the opponent that the "treasure" has been hidden at that location. However, by outputting vibration to the left controller 3, the "treasure" can be hidden without the opponent noticing.

[0104] Furthermore, this can be applied to games that don't involve the "treasures" mentioned above, but rather to games where, for example, you hide items that attack when other player objects pass over them. In this case as well, vibrating the left controller 3 prevents the opponent from noticing the hidden location, thus maintaining the game's dynamics.

[0105] Furthermore, the above processing may also be applied to other game processing, such as the following. For example, it may be applied to a "medical examination game" in which the right controller 4 is used to simulate the "chestpiece" of a "stethoscope" and controlled by the mouse. In this case, the left controller 3 may be positioned near the user's ear. The right controller 4 may be used to manipulate the virtual chestpiece, and predetermined vibrations such as "heart sounds" may be played according to its position.

[0106] Furthermore, vibrations accompanied by sound, which can be perceived by hearing, may be generated in addition to or instead of vibrations that are perceived by touch.

[0107] For example, this could be applied to game processing where the left controller 3 is used as a "shield." For instance, imagine a game where you advance while dodging enemy attacks. PO201's forward movement is automatic, left and right movement is controlled by the mouse on the right controller 4, and clicking the R button 60 can trigger the "raise shield" action. If the defense against an enemy attack is successful, the left controller 3 may vibrate.

[0108] Furthermore, the above embodiment described a case in which the above processing is performed on a single information processing device 2. The information processing device 2 may include multiple storage devices and processors. The processing may be divided among these and executed by each of them. In addition, the information processing device may be a server, and the above processing may be performed in a distributed system consisting of multiple information processing devices including the server.

[0109] Furthermore, in other embodiments, the main unit 2 may be, for example, an information processing device such as a smartphone, tablet terminal, personal computer, or wearable terminal. Also, the main unit 2 may not have a display 12. In addition, the processor 81 may be a general-purpose processor or a dedicated processor, and is not limited to any particular form such as a SoC, CPU, ASIC, or microcontroller.

[0110] Furthermore, the above controller configuration is merely an example, and its shape is not limited to that shown above; it may take other shapes. Also, the controller may not be detachable from the main unit 2. In addition, the types and number of input ports are not limited to those shown above. For example, only one of the two controllers may be equipped with a mouse sensor. Only one of the two controllers may be equipped with a joystick. The controllers do not necessarily have to come in pairs. [Explanation of Symbols]

[0111] 2. Information Processing Device 3 Left controller 4 Right controller 32 Left Stick 38 L button 39 ZL button 52 Right Stick 60 R button 61 ZR button 71 Mouse Sensor 74 Mouse detection 81 processors 85 DRAM 107 Oscillator 117 Oscillator

Claims

1. A game processing method implemented by a computer including at least one processor, The aforementioned processor, The mouse is operated by one hand of the user, and first data based on the output of the first mouse sensor is acquired from a first controller having a first mouse sensor and a first vibration device. Based on the first data, the position of the virtual object is controlled. Based on the position of the virtual object, second data is generated. Based on the second data, the second controller, which has a second vibration device held in the user's other hand, vibrates the second device. Game processing method.

2. The first controller acquires third data based on the output of a first directional input unit operated by the user, Based on the third data, the position of the virtual object is controlled. When the virtual object is controlled based on the third data, a fourth data is generated based on the position of the virtual object. The game processing method according to claim 1, wherein the first vibration device is vibrated based on the fourth data.

3. The first controller acquires fifth data based on the output of the inertial sensor, Based on the fifth data, the position of the virtual object is controlled. When the virtual object is controlled based on the fifth data, sixth data is generated based on the position of the virtual object. The game processing method according to claim 1, wherein the first vibration device is vibrated based on the sixth data.

4. A seventh data is acquired based on the output of a second directional input unit operated by the user, which is located in the first controller or the second controller. When the first controller and the second controller are directly or indirectly fixed to each other, the position of the virtual object is controlled based on the seventh data, and the eighth data is generated based on the position of the virtual object. The game processing method according to claim 1, wherein the first vibration device and the second vibration device are vibrated based on the eighth data.

5. The game processing method according to claim 1, wherein the second data is generated based on the positional relationship between the virtual object and the first position.

6. The game processing method according to claim 1, wherein the second vibration device is vibrated at a timing corresponding to the positional relationship between the virtual object and the first position.

7. There is a second position different from the first position, Attribute information associated with the first position and the second position is set, The game processing method according to claim 1, wherein the second data is generated so that the second vibration device vibrates in a manner corresponding to the attribute information.

8. The game processing method according to claim 1, wherein the second data is generated so that the second vibration device vibrates in a manner corresponding to the positional relationship between the virtual object and the first position.

9. The second controller is configured to acquire ninth data based on the output of the third directional input unit or the second button operated by the user. The game processing method according to claim 1, wherein a predetermined game processing is performed based on the ninth data.

10. An information processing system equipped with a processor, The aforementioned processor, The mouse is operated by one hand of the user, and first data is acquired from a first controller having a first mouse sensor and a first vibration device, based on the output of the first mouse sensor. Based on the first data, the position of the virtual object is controlled. Based on the position of the virtual object, second data is generated. Based on the second data, the second controller, which has a second vibration device held in the other hand of the user, vibrates the second vibration device. Information processing systems.

11. A game program to be run on a computer containing at least one processor, The aforementioned processor, The mouse is operated by one hand of the user, and first data based on the output of the first mouse sensor is acquired from a first controller having a first mouse sensor and a first vibration device. Based on the first data, the position of the virtual object is controlled. Based on the position of the virtual object, second data is generated. Based on the second data, the second controller, which has a second vibration device held in the other hand of the user, vibrates the second vibration device. Game program.