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

The game system allows for high-degree freedom in deforming terrain and objects buried within it by updating voxel data and rendering polygon meshes in response to user input, addressing the limitation of fixed voxel-based object deformation in existing systems.

JP2025113071AActive Publication Date: 2025-08-01NINTENDO CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2024011592
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-30
Publication Date
2025-08-01
Estimated Expiration
2044-01-30

AI Technical Summary

Technical Problem

Existing image generation systems using voxels for games do not allow for objects generated from voxels to be deformed freely according to user operations.

Method used

A game system that stores voxel data representing terrain and objects in a virtual space, updates voxel data to simulate terrain destruction based on user input, and generates polygon meshes to render the terrain surface, allowing high-degree freedom in deforming terrain and objects buried within it.

Benefits of technology

Enables games where terrain and objects can be deformed with high freedom, supporting gameplay scenarios involving object burial and excavation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025113071000001_ABST
    Figure 2025113071000001_ABST
Patent Text Reader

Abstract

To provide a game program, a game system, a game device and a game processing method capable of playing a game by deforming an object generated from voxels with a high degree of freedom through a user's operation.SOLUTION: A storage medium is made to store geography volume data indicating a shape of geography in a virtual space and object data indicating an object that is arranged in a position where at least part of it is embedded in the geography. If a destruction event in which geography is destroyed on the basis of an entry of a user's operation occurs, voxels included in an erasure range that is set on the basis of a position where the destruction event occurs are made to update voxel data so that it shows that the geography does not exist. First game processing is performed on the basis of whether an object is embedded in geography based on the geography volume data after the destruction event.SELECTED DRAWING: Figure 19
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a game program, a game system, a game device, and a game processing method capable of generating an image using voxel data.

Background Art

[0002] Conventionally, there has been an image generation system that creates character voxels based on imaging information and generates polygon mesh information to display a game image (see, 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] However, the image generation system disclosed in Patent Document 1 uses voxels for a game for the use of imaging information, and it is not assumed that objects generated from the voxels can be freely deformed.

[0005] Therefore, an object of the present invention is to provide a game program, a game system, a game device, and a game processing method that can play a game by deforming an object generated from voxels with a high degree of freedom by a user's operation.

Means for Solving the Problems

[0006] In order to achieve the above object, the present invention can adopt the following configuration, for example.

[0007] One configuration example of the game program of the present invention is executed on a computer of an information processing apparatus. The game program holds voxel data indicating the presence of terrain for each voxel included in a voxel space set in a virtual space, thereby storing terrain volume data representing the shape of the terrain in the virtual space and object data representing an object arranged at a position where at least a part of the object is buried in the terrain in a storage medium. When a destruction event occurs to destroy the terrain based on a user's operation input, the game program updates the voxel data so as to indicate that there is no terrain for the voxels included in an erasure range set based on the position where the destruction event occurred, and performs a first game process on the terrain based on the terrain volume data after the destruction event, based on whether or not the object is buried in the terrain. Then, the game program generates an image of the virtual space by at least rendering a polygon mesh representing the surface of the terrain based on the terrain volume data.

[0008] According to the above, by the user's operation, the terrain generated from voxels can be deformed with a high degree of freedom, and a game using an object buried in the terrain can be played.

[0009] Also, the first game process may be further performed based on whether or not the object is supported by the terrain based on the terrain based on the terrain volume data after the destruction event.

[0010] According to the above, by causing a destruction event to deform the terrain, a game that disrupts the situation where the object is supported by the terrain can be realized.

[0011] Also, the computer may be made to specify a contact location between a first determination shape that is the shape of the object or a basic shape enclosing the object and the terrain, and based on the ratio of the volume or surface area of the second determination shape, which is the basic shape enclosing the contact location, to the first determination shape, perform a first determination to determine that the object is buried in the terrain when the ratio is greater than a predetermined standard.

[0012] According to the above, by using the volume ratio or surface area ratio of the basic shape, the determination processing load is reduced.

[0013] Further, the computer may be caused to perform a second determination on whether the object is supported by the terrain based on the positional relationship between the center of gravity of the first determination shape and the second determination shape. In this case, the first game process may be performed based on the first determination and the second determination.

[0014] According to the above, the support determination of the object can be easily performed by using the positional relationship of the basic shape.

[0015] Further, in the second determination, when the second determination shape or the third determination shape enclosing the second determination shape includes the center of gravity with respect to the component other than the height direction, and at least a part of the second determination shape or the third determination shape is below the center of gravity with respect to the height direction, it may be determined that the object is supported by the terrain.

[0016] According to the above, the support determination of the object can be easily performed by utilizing the fact that the center of gravity of the first determination shape is above the second determination shape or the third determination shape.

[0017] Further, when it is determined in the first determination that the object is not buried in the terrain, and further when it is determined in the second determination that the object is not supported by the terrain, or when a predetermined event occurs, the first game process may be performed.

[0018] According to the above, it is possible to perform a game process using a situation where the object is not only not buried in the terrain but also not supported by the terrain.

[0019] Further, the first determination shape may be a bounding box for the object. The second determination shape may be a bounding box at the contact location.

[0020] According to the above, the determination shape used in the determination process can be easily set.

[0021] Also, the above bounding box may be an oriented bounding box.

[0022] According to the above, a more accurate determination process can be performed.

[0023] Also, the above computer may further cause the player character to perform a destruction action that can destroy the terrain based on a user's operation input. In this case, the above destruction event may be that the destruction action by the player character hits the terrain.

[0024] According to the above, since a process of deforming the terrain according to the destruction action of the player character and a process based on whether an object is buried in the terrain after the destruction action occur, it is possible to reduce the discomfort caused by the change in the embedding state of the object.

[0025] Also, the above first game process may be a process of acquiring an item associated with an object.

[0026] According to the above, it is possible to realize a game in which an object buried in the terrain is excavated to obtain an item.

[0027] Also, the above first game process may be a process of dropping an object in the virtual space.

[0028] According to the above, by destroying the terrain, it is possible to realize a game in which an object buried in the terrain is excavated.

[0029] Also, the above object may be arranged at a position where a hole having a predetermined basic shape smaller than the object is formed on the terrain surface or inside the terrain in a state where no destruction event has occurred.

[0030] According to the above, it is possible to easily form the shape of the terrain for embedding the object, and it is possible to facilitate the processing using the shape of the terrain in which the object is embedded.

[0031] Further, the computer may generate a polygon mesh by an algorithm that determines the vertex positions of the polygon based on the voxel data between the voxels where the terrain does not exist and the voxels where the terrain exists. The computer may recalculate the vertices of the polygon mesh in a range including at least the voxels whose voxel data has been updated based on the occurrence of a destruction event.

[0032] According to the above, by limiting the recalculation of the vertices of the polygon mesh to the range including the voxels whose voxel data has been updated, the processing load can be reduced.

[0033] Further, the present invention may be implemented in the form of a game system, a game device, and a game processing method.

Effect of the Invention

[0034] According to the present invention, by the operation of the user, the terrain generated from the voxels can be deformed with a high degree of freedom, and a game using the object buried in the terrain can be performed.

Brief Description of the Drawings

[0035]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Mode for Carrying Out the Invention

[0036] Hereinafter, a game system according to an example of the present embodiment will be described. An example of the game system 1 in the present embodiment includes a main body device (information processing device; functioning as a game device main body in the present embodiment) 2, a left controller 3, and a right controller 4. The main body device 2 is detachable from the left controller 3 and the right controller 4, respectively. That is, the game system 1 can be used as a device in which the left controller 3 and the right controller 4 are respectively attached to the main body device 2 and integrated. Further, the game system 1 can also be used with the main body device 2, the left controller 3, and the right controller 4 separated (see FIG. 2). Hereinafter, the hardware configuration of the game system 1 of the present embodiment will be described, and then the control of the game system 1 of the present embodiment will be described.

[0037] FIG. 1 is 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. As shown in FIG. 1, the left controller 3 and the right controller 4 are respectively attached to the main body device 2 and integrated. The main body device 2 is a device that executes various processes (for example, game processing) in the game system 1. The main body device 2 includes a display 12. The left controller 3 and the right controller 4 are devices provided with an operation unit for the user to input.

[0038] FIG. 2 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are removed from the main body device 2. As shown in FIGS. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main body device 2. In the following, the left controller 3 and the right controller 4 may be collectively referred to as the "controller".

[0039] FIG. 3 is a six-sided view showing an example of the main body device 2. As shown in FIG. 3, the main body device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front surface, that is, the surface on which the display 12 is provided) is generally rectangular in shape.

[0040] Note that the shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Also, the main body device 2 alone or the integrated device in which the left controller 3 and the right controller 4 are attached to the main body device 2 may be a portable device. Further, the main body device 2 or the integrated device may be a hand-held device. Also, the main body device 2 or the integrated device may be a transportable device.

[0041] As shown in FIG. 3, the main body device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays an image generated by the main body device 2. In the present embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device.

[0042] Also, the main body device 2 includes a touch panel 13 on the screen of the display 12. In the present embodiment, the touch panel 13 is of a type capable of multi-touch input (for example, a capacitance type). However, the touch panel 13 may be of any type, for example, a type capable of single-touch input (for example, a resistive film type).

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

[0044] In addition, the main body device 2 includes a left terminal 17 which is a terminal for the main body device 2 to perform wired communication with the left controller 3, and a right terminal 21 for the main body device 2 to perform wired communication with the right controller 4.

[0045] As shown in FIG. 3, the main body device 2 includes a slot 23. The slot 23 is provided on the upper surface of the housing 11. The slot 23 has a shape capable of mounting a predetermined type of storage medium. The predetermined type of storage medium is, for example, a storage medium (e.g., a dedicated memory card) dedicated to the game system 1 and the same type of information processing device. The predetermined type of storage medium is used to store, for example, data (e.g., save data of an application, etc.) used in the main body device 2 and / or programs (e.g., application programs, etc.) executed by the main body device 2. In addition, the main body device 2 includes a power button 28.

[0046] The main body device 2 includes a lower terminal 27. The lower terminal 27 is a terminal for the main body device 2 to communicate with the cradle. In this embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the integrated device or the main body device 2 alone is placed on the cradle, the game system 1 can display the image generated and output by the main body device 2 on the stationary monitor. Also, in this embodiment, the cradle has a function of charging the placed integrated device or the main body device 2 alone. Further, the cradle has a function of a hub device (specifically, a USB hub).

[0047] FIG. 4 is a six-sided view showing an example of the left controller 3. As shown in FIG. 4, the left controller 3 includes a housing 31. In the present embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the vertical direction (i.e., the y-axis direction shown in FIGS. 1 and 4). The left controller 3 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 31 has a shape and size that can be gripped with one hand, particularly the left hand, when gripped in a vertically long orientation. Further, the left controller 3 can also be gripped in a horizontally long orientation. When the left controller 3 is gripped in a horizontally long orientation, it may be gripped with both hands.

[0048] The left controller 3 includes an analog stick 32. As shown in FIG. 4, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 can be used as a direction input unit capable of inputting a direction. The user can input a direction according to the tilting direction (and an input of a magnitude according to the tilted angle) by tilting the analog stick 32. Note that the left controller 3 may include, as a direction input unit, a cross key or a slide stick capable of slide input instead of the analog stick. Further, in the present embodiment, it is possible to input by pressing the analog stick 32.

[0049] The left controller 3 is provided with various operation buttons. The left controller 3 is provided with four operation buttons 33 to 36 (specifically, a right direction button 33, a down direction button 34, an up direction button 35, and a left direction button 36) on the main surface of the housing 31. Further, the left controller 3 is provided with a recording button 37 and a -(minus) button 47. The left controller 3 is provided with a first L button 38 and a ZL button 39 at the upper left of the side surface of the housing 31. Also, the left controller 3 is provided with a second L button 43 and a second R button 44 on the side surface of the housing 31 on the side where it is attached when attached to the main body device 2. These operation buttons are used to give instructions according to various programs (for example, an OS program or an application program) executed by the main body device 2.

[0050] Also, the left controller 3 is provided with a terminal 42 for the left controller 3 to perform wired communication with the main body device 2.

[0051] FIG. 5 is a six-sided view showing an example of the right controller 4. As shown in FIG. 5, the right controller 4 includes a housing 51. In the present embodiment, the housing 51 has a vertically long shape, that is, a shape that is long in the vertical direction. The right controller 4 can also be gripped in a vertically long orientation when removed from the main body device 2. The housing 51 has a shape and size that can be gripped with one hand, particularly the right hand, when gripped in a vertically long orientation. Also, the right controller 4 can be gripped in a horizontally long orientation. When the right controller 4 is gripped in a horizontally long orientation, it may be gripped with both hands.

[0052] Similar to the left controller 3, the right controller 4 includes an analog stick 52 as a direction input unit. In this embodiment, the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3. Further, instead of the analog stick, the right controller 4 may be provided with a cross key or a slide stick capable of slide input. Also, similar to the left controller 3, the right controller 4 includes four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51. Furthermore, the right controller 4 includes a + (plus) button 57 and a home button 58. Also, the right controller 4 includes a first R button 60 and a ZR button 61 at the upper right of the side surface of the housing 51. Also, similar to the left controller 3, the right controller 4 includes a second L button 65 and a second R button 66.

[0053] In addition, the right controller 4 includes a terminal 64 for the right controller 4 to perform wired communication with the main body device 2.

[0054] FIG. 6 is a block diagram showing an example of the internal configuration of the main body device 2. The main body device 2 includes each of the components 81 to 91, 97, and 98 shown in FIG. 6 in addition to the configuration shown in FIG. 3. Some of these components 81 to 91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in the housing 11.

[0055] The main body device 2 includes a processor 81. The processor 81 is an information processing unit that executes various information processes to be executed in the main body device 2. For example, it may be composed of only a CPU (Central Processing Unit), or it may be composed of a SoC (System-on-a-chip) including a plurality of functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor 81 executes various information processes by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 84 or an external storage medium mounted on the slot 23).

[0056] As an example of an internal storage medium built into the main body device 2, the main body device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is mainly a memory used to store various data (which may be a program) stored in the main body device 2. The DRAM 85 is a memory used to temporarily store various data used in information processing.

[0057] The main body device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23 and reads and writes data to and from a predetermined type of storage medium (for example, a dedicated memory card) mounted on the slot 23 in accordance with an instruction from the processor 81.

[0058] The processor 81 appropriately reads and writes data between the flash memory 84, the DRAM 85, and each of the above storage media to execute the above information processes.

[0059] The main body device 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates (specifically, wirelessly communicates) with an external device via a network. In the present embodiment, the network communication unit 82 connects to a wireless LAN and communicates with an external device by a method compliant with the Wi-Fi standard as a first communication mode. Also, the network communication unit 82 performs wireless communication with other main body devices 2 of the same type by a predetermined communication method (for example, communication by a proprietary protocol or infrared communication) as a second communication mode. Note that the wireless communication by the second communication mode enables wireless communication with other main body devices 2 arranged within a closed local network area, and realizes a function that enables so-called "local communication" in which data is transmitted and received by direct communication between a plurality of main body devices 2.

[0060] The main body device 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or the right controller 4. The communication method between the main body device 2 and the left controller 3 and the right controller 4 is arbitrary, but in the present embodiment, the controller communication unit 83 communicates with the left controller 3 and between the right controller 4 in accordance with the Bluetooth (registered trademark) standard.

[0061] The processor 81 is connected to the left terminal 17, the right terminal 21, and the lower terminal 27 described above. When the processor 81 performs wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. Also, when the processor 81 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. Further, when the processor 81 communicates with the cradle, it transmits data to the cradle via the lower terminal 27. Thus, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively. Also, when the left controller 3 and the right controller 4 are attached to the main body device 2 as an integrated device or when the main body device 2 alone is attached to the cradle, the main body device 2 can output data (for example, image data and audio data) to a stationary monitor or the like via the cradle.

[0062] Here, the main body device 2 can communicate with a plurality of left controllers 3 simultaneously (in other words, in parallel). Also, the main body device 2 can communicate with a plurality of right controllers 4 simultaneously (in other words, in parallel). Therefore, a plurality of users can simultaneously input to the main body device 2 using respective sets of the left controller 3 and the right controller 4. As an example, while the first user inputs to the main body device 2 using the first set of the left controller 3 and the right controller 4, it is possible for the second user to input to the main body device 2 using the second set of the left controller 3 and the right controller 4.

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

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

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

[0066] Also, the battery 98 is connected to the lower terminal 27. When an external charging device (for example, a cradle) is connected to the lower terminal 27 and power is supplied to the main body device 2 via the lower terminal 27, the supplied power is used to charge the battery 98.

[0067] FIG. 7 is a block diagram showing an example of the internal configuration of the main body device 2, the left controller 3, and the right controller 4. The details of the internal configuration of the main body device 2 are shown in FIG. 6, so they are omitted in FIG. 7.

[0068] The left controller 3 includes a communication control unit 101 that communicates with the main body device 2. As shown in FIG. 7, the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main body device 2 by both wired communication via the terminal 42 and wireless communication without using the terminal 42. The communication control unit 101 controls the communication method that the left controller 3 performs with respect to the main body device 2. That is, when the left controller 3 is attached to the main body device 2, the communication control unit 101 communicates with the main body device 2 via the terminal 42. Also, when the left controller 3 is detached from the main body device 2, the communication control unit 101 performs wireless communication with the main body device 2 (specifically, the controller communication unit 83). The wireless communication between the controller communication unit 83 and the communication control unit 101 is performed according to, for example, the Bluetooth (registered trademark) standard.

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

[0070] The left controller 3 includes each button 103 (specifically, buttons 33 to 39, 43, 44, and 47). Also, the left controller 3 includes an analog stick (described as "stick" in FIG. 7) 32. Each button 103 and the analog stick 32 output information regarding the operation performed on themselves to the communication control unit 101 repeatedly at appropriate timings.

[0071] The communication control unit 101 acquires information regarding input (specifically, information regarding operations or detection results by sensors) from each input unit (specifically, each button 103 and the analog stick 32). The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main body device 2. Note that the operation data is repeatedly transmitted at a rate of once every predetermined time. Note that the intervals at which the information regarding input is transmitted to the main body device 2 may be the same or different for each input unit.

[0072] By transmitting the above operation data to the main body device 2, the main body device 2 can obtain the input performed on the left controller 3. That is, the main body device 2 can determine operations on each button 103 and the analog stick 32 based on the operation data.

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

[0074] As shown in FIG. 7, the right controller 4 includes a communication control unit 111 that communicates with the main body device 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 the memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main body device 2 both by wired communication via the terminal 64 and by wireless communication without using the terminal 64 (specifically, communication according to the Bluetooth (registered trademark) standard), and controls the communication method that the right controller 4 performs with the main body device 2.

[0075] The right controller 4 includes the same input units as those of the left controller 3. Specifically, it includes each button 113 and the analog stick 52. These input units have the same functions as those of the left controller 3 and operate in the same manner.

[0076] The right controller 4 includes a power supply unit 118. The power supply unit 118 has the same function as the power supply unit 108 of the left controller 3 and operates in the same manner.

[0077] Next, referring to FIGS. 8 to 15, an overview of the processing executed in the game system 1 will be described. In the present embodiment, the game system 1 generates a game image in which terrain objects and characters (for example, player characters operated by a player) are arranged in a game space, which is a three-dimensional virtual space, and causes the display device to display the game image. In the present embodiment, the display device on which the game image is displayed may be the above-described display 12 or a stationary monitor.

[0078] In the present embodiment, the shapes of some objects in the game space are defined by voxel data. Here, a voxel is a rectangular parallelepiped (more specifically, a cubic) region arranged in a grid pattern in the game space, and voxel data is data set for each voxel. Hereinafter, an object whose shape is defined by voxel data will be referred to as a "voxel object". In the present embodiment, the game system 1 stores voxel data as data for generating voxel objects in the game space for each of a plurality of voxels set in the game space.

[0079] FIG. 8 is a diagram showing an example of a terrain object that is a voxel object. As shown in FIG. 8, in the present embodiment, a terrain object representing a terrain such as the ground is defined in shape by voxel data (that is, it is a voxel object). Each cube shown in FIG. 8 represents a terrain object. In FIG. 8, the portions that are the sides of the terrain object are shown in thick lines, but this thick line is added for the purpose of making the drawing easier to view, and in reality, the sides of the terrain object do not need to be shown thickly.

[0080] Also, the terrain object shown in FIG. 8 is generated, for example, according to the rule that "when the parameter included in the voxel data set for a voxel is greater than a predetermined value, a cube is placed at the position of the voxel, and when it is less than or equal to the predetermined value, nothing is placed at the position of the voxel". The terrain object shown in FIG. 8 is shown for the purpose of clearly exemplifying the relationship between voxels and voxel objects. In the present embodiment, actually, for example, like the terrain object shown in FIG. 15 described later, a voxel object is generated based on voxel data according to a rule that results in a more complex shape compared to the length of one side of a voxel. Note that the rule for determining the shape of a voxel object based on voxel data is arbitrary. In other embodiments, the game system 1 may generate a voxel object as shown in FIG. 8 or a voxel object as shown in FIG. 15 based on object data.

[0081] Regarding the voxel object, the shape can be changed by changing the voxel data of each voxel. FIGS. 9 and 10 are diagrams showing an example of the state before and after a part of the terrain object shown in FIG. 8 is deleted. That is, when the hatched portion of the terrain object shown in FIG. 9 is destroyed, the terrain object changes to the shape shown in FIG. 10. At this time, the game system 1 can easily erase the terrain object by rewriting the voxel data described later so as to indicate that there is no terrain object for the voxels in the hatched portion. Note that when the game system 1 adds a terrain object, it can easily change the shape of the terrain object by changing the voxel data of each voxel in the same manner as when erasing the terrain object.

[0082] In this way, the game system 1 can freely change the shape of the voxel object by rewriting the voxel data. For example, when the shape of a terrain object changes as a result of being destroyed for some reason (e.g., a player character strikes the terrain object) in the game, the game system 1 does not directly change the data indicating the outer shape of the terrain object (i.e., the mesh described later), but can freely change the shape of the terrain object by changing the voxel data used for generating the terrain object.

[0083] FIG. 11 is a diagram showing an example of the content of the voxel data. Here, in the present embodiment, the game space can be divided into a plurality of voxels arranged in a grid pattern. The game system 1 stores by associating voxel data with each voxel in the game space. The voxel data indicates the presence or absence of a voxel object in the voxel corresponding to the voxel data.

[0084] As shown in FIG. 11, the voxel data includes density data. The density data is data of density indicating the degree to which an object is included in the region defined by each voxel. Although details will be described later, the position and shape of the surface of the voxel object (that is, the mesh described later) are determined based on the above density. That is, in the present embodiment, the above density is also data used to create a mesh that defines the surface of the voxel object.

[0085] In the present embodiment, the density can take an integer value in the range from a lower limit value (for example, 0) to an upper limit value (for example, 255). In the present embodiment, in the game system 1, when the value of the density set for a voxel is high, the ratio of the volume occupied by the voxel object in the voxel tends to be large, and when the value of the density is low, the ratio in the voxel is small. For example, when the density is 0, there is no object in the voxel, when the density is 255, all of the voxel is an object, and when the density is a value in between, the object can occupy the voxel at a ratio corresponding to the value. Then, based on the density, the shape of the voxel mesh, that is, the shape of the voxel object is determined. However, the shape of the voxel object generated based on the above density does not necessarily have to be a volume that exactly matches the ratio indicated by the density. For example, in the method of generating a voxel object as shown in FIG. 8 and the method of generating a voxel object as shown in FIG. 15, the volumes may be different even though they are based on the same density.

[0086] Note that in other embodiments, the density may indicate either a state in which the entire region within the voxel is occupied by the voxel object or a state in which the voxel object is not included in the region within the voxel. For example, the density data may be data that can only take either 0 or 1.

[0087] As shown in FIG. 11, the voxel data includes material data. The material data indicates the material (in other words, substance) of the voxel object generated from the voxel data. Here, in the present embodiment, materials such as sand, rock, and soil are set for the voxel object. That is, in the present embodiment, a plurality of types of materials are prepared as materials that can be set for the voxel object, and any one of the plurality of types of materials is set for the voxel object.

[0088] As shown in FIG. 11, in the present embodiment, the material data indicates identification information of the material (referred to as "material ID"). Further, in the present embodiment, the game system 1 stores material information indicating the properties and textures of the materials prepared in the game for each material. In the present embodiment, the material information associates the material ID, the properties of the material, and the appearance of the material (specifically, the texture). Specifically, the material information is information that associates the material ID, the identification information of the properties of the material (referred to as "property ID"), and the identification information of the texture of the material (referred to as "texture ID") (see FIG. 11).

[0089] FIG. 12 is a diagram showing an example of property information indicating the properties of materials. As shown in FIG. 12, the game system 1 stores property information that associates the above property ID with information indicating the content of the property indicated by the property ID. The properties of the material are the properties that the voxel object in which the material is set has in the game, and are, for example, information such as the weight and slipperiness shown in FIG. 12. Note that the specific content of the property is arbitrary, and for example, the following information may be set as the property of the material. · Temperature · Fragility (for example, the number of times until the voxel object breaks when an impact is applied to the voxel object) · Whether another object adheres to the voxel object · The amount of health restored to the player character when the player character destroys a voxel object · The amount of in-game currency acquired by the player character when the player character destroys a voxel object Note that the specific content of the properties set for the material is arbitrary. In other embodiments, information different from the above may be set as information indicating the properties of the material.

[0090] FIG. 13 is a diagram showing an example of texture information indicating the texture of a material. As shown in FIG. 13, the game system 1 stores texture information associating the above texture ID with the texture indicated by the texture ID.

[0091] Note that, as data defining the appearance of the voxel object, in addition to the texture information, any information regarding color and / or pattern may be set. For example, as information regarding the appearance of the voxel object, a crack pattern may be set. By using such a pattern, the game system 1 can generate an image of a voxel object representing an appearance with cracks.

[0092] As described above, in the present embodiment, the material data defines the properties of the voxel object and the texture to be used for the voxel object by the material ID. For example, when the material ID indicated by the material data included in the voxel data is "002", the property indicated by the property ID "001" associated with the material ID in the material information is set as the property of the voxel object corresponding to the voxel data (see the arrow shown in FIG. 11). Also, in the above case, the texture indicated by the texture ID "002" associated with the material ID in the material information is applied to the voxel object corresponding to the voxel data (see the arrow shown in FIG. 11).

[0093] As described above, in the present embodiment, the game system 1 manages the properties and textures of materials separately. Therefore, in the present embodiment, it is possible to easily set a plurality of types of materials having the same properties but different appearances (i.e., textures), or a plurality of types of materials having different properties but the same appearance.

[0094] Note that the material data may be any data that can identify the properties and / or textures of the material. For example, in other embodiments, the material data may indicate the above property ID and texture ID, or may have a data structure that actually includes data indicating the properties and textures of the material.

[0095] Also, the material data may be information regarding the material and may further indicate other information different from the above properties and textures. For example, the material data may include effect data indicating an effect that occurs when an effect generation condition (for example, a part of the voxel object is destroyed, or a character steps on the voxel object) set for the voxel object is satisfied. Note that the effect data may be data indicating an effect image (for example, an effect image representing that the voxel object has been destroyed), or may be data indicating an effect sound (the sound of footsteps when a character walks on the voxel object).

[0096] As shown in FIG. 11, the voxel data includes state data indicating the state of the voxel object. The specific content of the state data is arbitrary. For example, the state data may be data indicating whether the voxel object is in a wet state, or may be data indicating the amount of damage applied to the voxel object. The content of the state data may be updated during the game.

[0097] In this embodiment, the surface of the voxel object is represented by a mesh. A mesh is a collection of a plurality of faces (specifically, polygons) arranged in the game space. In this embodiment, the game system 1 generates a mesh of the voxel object based on the voxel data of each voxel set in the game space. Hereinafter, an example of generating a mesh based on voxel data will be described.

[0098] FIG. 14 is a diagram showing an example of a method for generating a mesh. In FIG. 14, for the purpose of making the drawing easy to view and the explanation easy to understand, voxels and meshes are represented two-dimensionally, but actually, a three-dimensional mesh is generated based on voxels in a three-dimensional space.

[0099] As described above, in this embodiment, the density set for the voxels is set in the range of 0 to 255. Also, in this embodiment, it is assumed that voxels with a density equal to or higher than the reference value are inside the object, and voxels with a density lower than the reference value are outside the object. It is not necessary to define only voxels with a density of 0 as outside the object (that is, reference value = 1), and the reference value is, for example, 128. In the example shown in FIG. 14, the density is 0 in voxel 201 and other outer voxels, the density of voxel 202 is 100 which is lower than the reference value, and the densities of voxels 203 and 204 are set to 150 and 200 which are equal to or higher than the reference value. In this embodiment, the game system 1 generates vertices between voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value. Specifically, for each region (the region surrounded by a dotted line in the drawing) spanning eight (four in the drawing) adjacent voxels, a determination is made as to whether to generate a vertex. That is, a vertex is generated in a region that spans both voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value. Further, when the boundary between adjacent vertices (the boundary of the above-described region including each vertex) passes between voxels with a density equal to or higher than the reference value and voxels with a density lower than the reference value, a polygon mesh is generated by connecting those vertices.

[0100] The coordinates of the vertices are determined by comparing the densities of adjacent voxels for each of the X, Y, and Z axes and performing interpolation based on the density differences. At this time, coordinate calculations can be further performed based on the normal information. The normal information may be pre-retained for at least some of the voxels, or if not retained, the normal information may also be calculated based on the densities of adjacent voxels. In FIG. 14, since the density of voxel 202 is less than the reference value, in the determination of the presence or absence of vertices, voxel 202 is treated as outside the object, but the density value itself of voxel 202 is used for the coordinate calculation of the generated vertices. If the reference value is set to a value lower than the density of voxel 202, more vertices will be added to the upper right and upper left sides of voxel 202 in FIG. 14.

[0101] By generating the polygon mesh as described above, a shape with a volume that reflects the density of each voxel to some extent can be generated. However, depending on the relationship with adjacent voxels, it is possible that voxels with a density of 0 may include some areas inside the object, or voxels with a density of 255 may include some areas outside the object. Also, in this embodiment, since voxels with a density less than the reference value are treated as outside the object, the volume is smaller by the amount that the number of vertices is reduced compared to the case of treating them as inside the object. That is, it is not necessary to calculate the polygon mesh so as to have a volume that exactly corresponds to the density value.

[0102] FIG. 15 is a diagram showing an example of a game image including a terrain object. In this embodiment, by generating the mesh as described above, the voxel object can be made into a shape with complex unevenness compared to, for example, the length of one side of the voxel.

[0103] Note that the method of generating the mesh based on the voxel data is arbitrary. For example, in other embodiments, when the density of the voxel data is greater than a predetermined value, the mesh may be generated such that a cube is arranged in the voxel (see FIG. 8).

[0104] For each face of the mesh generated as described above, the game system 1 determines the appearance (i.e., color and / or pattern) of each face according to the material specified by the voxel data. Specifically, the game system 1 determines the texture to be used for rendering each face of the mesh based on the voxel data, and generates an image of the voxel object by mapping the determined texture to each face. Note that the texture mapped to each face of the mesh is determined based on the voxel data of the voxel (referred to as the target voxel) used to generate the face among the voxels where the voxel object exists. Note that the target voxel depends on the method of generating the mesh, and is, for example, one or more voxels arranged around the face. That is, the texture mapped to the face of the mesh is determined to be a texture corresponding to the material set for one or more voxels arranged around the face.

[0105] In other embodiments, one voxel data may include multiple types (e.g., two types) of material data. At this time, the voxel data includes ratio data regarding the multiple types of material data. The ratio data is data for determining the texture to be used for the voxel object, and indicates the ratio of the influence of each material (specifically, the texture corresponding to the material) indicated by the multiple types of material data on the appearance (specifically, color and / or pattern) of the voxel object. Also, when determining the texture mapped to each face of the mesh, the texture is determined based on various data (specifically, density data, multiple types of material data, and ratio data) included in the voxel data of the target voxel. For example, when multiple types of materials are set for the target voxel corresponding to one face, the texture corresponding to the material (one type) with the greatest influence degree may be used considering the above ratio, or each texture corresponding to the multiple types of materials may be used considering the above ratio.

[0106] In another embodiment, there may be both a voxel object using voxel data including one type of material data and a voxel object using voxel data including two types of material data.

[0107] Next, with reference to FIGS. 16 to 21, an example of game play in which a player character in a game space operates in response to a user operation on the game system 1 will be described. For example, in this embodiment, each operation button or stick operation of the left controller 3 and / or the right controller 4 in the game system 1 which is an integrated device, or a touch operation on the touch panel 13 of the main body device 2, an operation of moving the entire game system 1, an operation of changing the posture, etc., the player character PC appearing in the game space displayed on the display 12 operates.

[0108] FIG. 16 is a diagram showing an example of a game image in which a buried object OBJ partially buried in a terrain object TO is displayed on the display 12. In FIG. 16, the terrain object TO is an example of a voxel object generated based on the above-described voxel data, and its surface is represented by a mesh. In the example shown in FIG. 16, one of the voxel spaces defining the voxels is set on a game field F in the game space, and a terrain object TO is generated on the game field F by defining a plurality of voxels in the voxel space. Here, the voxel space is set at least one in at least a part of the game space to define a plurality of voxels, and the length of one side (resolution) of the voxel, the vector (direction) in the global coordinates of the xyz axes in the vector space, the lengths of the x, y, and z directions of the voxel space, the position of the voxel space in the game space, etc. are defined for each voxel space. In FIG. 16, an example of drawing by mesh generation with the appearance as shown in FIG. 15 by the method described in FIG. 14 is illustrated, but it may be drawn by the block-shaped mesh described in FIGS. 9 and 10.

[0109] In this embodiment, at least a part of the terrain object TO may be buried with the buried object OBJ. For example, the buried object OBJ is a virtual object such as a fossil, and can be excavated from the terrain object TO by the player character PC operated by the user. The buried object OBJ is generated based on a polygon model not based on voxel data, voxel data in a voxel space different from the terrain object TO, or the like. When excavated by the player character PC, the player character PC can acquire the excavated buried object OBJ itself or items related to the excavated buried object OBJ.

[0110] In the example of the game image shown in FIG. 16, a part of the buried object OBJ is exposed from the outer surface of the terrain object TO and a part of it is arranged in a state of being buried inside the terrain object TO. Note that the buried object OBJ may be arranged in a state of being completely buried inside the terrain object TO. The buried object OBJ buried in the terrain object TO in this way can be excavated when the surrounding terrain object TO is destroyed and a predetermined excavation condition is satisfied. In this embodiment, by performing an action of destroying the terrain object TO by the player character PC, it is possible to destroy the terrain object TO and make at least a part of it disappear. When the destruction action of the player character PC that destroys the terrain object TO around the buried object OBJ buried in the terrain object TO is performed so as to make it disappear, the player character PC can acquire the buried object OBJ excavated by the destruction action.

[0111] FIG. 17 is a diagram for explaining an example of a small box SB and a main body box MB set in the buried object OBJ. The buried object OBJ has a three-dimensional solid shape, and in FIG. 17, an ellipsoidal solid object is illustrated as an example. A small box SB is set in the buried object OBJ. The small box SB is used to form holes and cavities in the terrain object TO for burying and fixing the buried object OBJ, and is formed in a rectangular parallelepiped shape that can be included in the buried object OBJ. Note that the shape of the small box SB may be a size that is included such that a plurality of corners are in contact with the surface of the buried object OBJ, or a size that is included in a state where none of the corners are in contact with the surface of the buried object OBJ.

[0112] Also, a main body box MB is set in the buried object OBJ. The main body box MB is used to determine whether the buried object OBJ is covered by the terrain object TO or whether the buried object OBJ is supported by the terrain object TO, and is formed in a basic shape that can include the buried object OBJ. For example, the main body box MB may be formed in a rectangular parallelepiped shape that includes the buried object OBJ, and may be a size that includes the buried object OBJ in a state where a plurality of points on the outer surface of the buried object OBJ are in contact with the inner surface so that the gap is minimized, or a size that includes the buried object OBJ in a state where none of the points are in contact with the inner surface. As an example, the main body box MB is a bounding box for the buried object OBJ, and is set as an oriented bounding box for the buried object OBJ or an axis-aligned bounding box (AABB) parallel to the coordinate axes of the game space. Note that the main body box MB corresponds to an example of a first determination shape that is the shape of the object or the basic shape that includes the object.

[0113] FIG. 18 is a longitudinal sectional view showing an example of the state of the buried object OBJ buried and fixed in the terrain object TO. In FIG. 18, a hole in the shape of the small box SB set in the buried object OBJ is formed on the surface of the terrain object TO. The buried object OBJ is buried in the hole of the terrain object TO according to the position and orientation of the hole in the shape of the small box SB. Here, whether at least a part of the buried object OBJ is buried and fixed in the terrain object TO is determined based on the first determination and the second determination.

[0114] The first determination determines whether the buried object OBJ is covered by the terrain object TO. First, in the first determination, the contact location between the main body box MB of the buried object OBJ and the terrain object TO is specified. In the example of FIG. 18, a plurality of contact points T between the inside of the main body box MB and the surface of the terrain object TO are specified as the contact location. For example, on the mesh formed on the surface of the terrain object TO, the points included in the portion included inside the main body box MB are respectively specified as the contact points T, and further, among the vertices of the corners of the main body box MB, the vertices in contact with the terrain object TO are added as the contact points T. Note that the points on the mesh may be the vertices of each polygon included in the mesh or representative points on the surface of each polygon. Note that the specification of the contact location in this embodiment includes a mode of calculating and newly setting the contact location and a mode of confirming that the already set contact location is valid. Note that the contact location may be specified by a plurality of contact points T between the inside of the main body box MB and the surface of the terrain object TO (that is, not including the vertices of the corners of the main body box MB in contact with the terrain object TO).

[0115] Note that the contact point T may be such that other contact locations are specified. As an example, as in the example described above, when the contact location between the main body box MB of the buried object OBJ and the terrain object TO is specified, a plurality of contact points located inside the terrain object TO on the surface of the main body box MB may be specified as the contact location. As another example, the contact location between the buried object OBJ and the terrain object TO may be specified. In this case, as a first example, a plurality of contact points between the surface of the buried object OBJ and the inside of the terrain object TO may be specified as the contact location. As a second example, a plurality of contact points between the inside of the buried object OBJ and the surface of the terrain object TO may be specified as the contact location.

[0116] Next, in the first determination described above, a cover box CB that encloses the contact location is set. The cover box CB is formed in a basic shape that can enclose all of the plurality of contact points T. For example, the cover box CB may be in the shape of a rectangular parallelepiped sized to enclose at least one contact point T in contact with the inner surface so that the gap with each of the plurality of contact points T is minimized, or may be in the shape of a rectangular parallelepiped sized to enclose without any contact point T contacting the inner surface. As an example, the cover box CB is a bounding box for the plurality of contact points T, and is set as an oriented bounding box whose each face is parallel to each face of the main body box MB or an axis-parallel bounding box parallel to the coordinate axes of the game space. Note that the cover box CB may be an oriented bounding box for the plurality of contact points T set regardless of the direction of the main body box MB or the coordinate axes of the game space. Further, the cover box CB corresponds to an example of a second determination shape that is a basic shape enclosing the contact location.

[0117] Next, in the first determination, the volume ratio (coverage ratio) between the cover box CB and the main body box MB is calculated. When the coverage ratio is greater than the threshold value, it is determined that the buried object OBJ is covered by the terrain object TO. And when it is determined that the buried object OBJ is covered by the terrain object TO, it is considered that the buried object OBJ is fixedly arranged in a state of being buried in the terrain object TO. For example, the coverage ratio is calculated by dividing the volume of the cover box CB by the volume of the main body box MB. The larger the value, the greater the proportion of the buried object OBJ covered by the terrain object TO. Note that the coverage ratio may also be calculated by dividing the surface area of the cover box CB by the surface area of the main body box MB.

[0118] The second determination determines whether the buried object OBJ is arranged in a state supported by the terrain object TO. And when it is determined that the buried object OBJ is supported by the terrain object TO, even if the first determination is a negative determination, a part of the buried object OBJ is considered to be fixed and arranged in a state of being buried and supported by the terrain object TO. In the second determination, based on the positional relationship between the center of gravity of the main body box MB and the cover box CB, it is determined whether the buried object OBJ is supported by the terrain object TO. At this time, in an embodiment where the cover box CB is not an axis-parallel bounding box parallel to the coordinate system of the game space, an axis-parallel bounding box CB' for the cover box CB is calculated, and the determination is made based on the positional relationship between the center of gravity of the main body box MB and the cover box CB'. For example, when the cover box CB or the cover box CB' includes the center of gravity of the main body box MB with respect to components other than the height direction of the game space, and at least a part of the cover box CB or the cover box CB' is below the center of gravity of the main body box MB in the height direction, it is determined that the buried object OBJ is supported by the terrain object TO. As an example, when the center of gravity of the main body box MB is included in the cover box CB' or when the cover box CB is arranged in the vertical direction in the game space of the center of gravity of the main body box MB, it is determined that the buried object OBJ is supported by the terrain object TO. Also, the cover box CB' corresponds to an example of a third determination shape that encloses the second determination shape.

[0119] If both the above first determination and the above second determination are negative determinations, the buried object OBJ will fall from the placement position of the terrain object TO, so the buried object OBJ will not be in a state of being fixed and placed on the terrain object TO. If the above first determination is a negative determination and the above second determination is an affirmative determination, a part of the buried object OBJ will be in a state of being supported by the terrain object TO with a part of the buried object OBJ buried in the terrain object TO. However, if an impact equal to or greater than the threshold value is applied to the buried object OBJ thereafter, the buried object OBJ may fall from the terrain object TO. The above threshold value may be a predetermined fixed value or a value that changes according to the coverage rate of the buried object OBJ (a value that becomes smaller as the coverage rate is lower). In addition, the impact applied to the buried object OBJ may occur when an action to destroy the terrain object TO is performed.

[0120] Also, a player character PC that operates according to a user operation can drop the buried object OBJ from the terrain object TO by destroying the terrain object TO around the buried object OBJ. FIG. 19 is a diagram showing an example of a game image in which the player character PC performs an action of destroying a part of the terrain object TO.

[0121] In FIG. 19, according to a user operation, the player character PC is performing a destruction action such as hitting the terrain object TO formed under the buried object OBJ. In this embodiment, by performing an action of destroying the terrain object TO by the player character PC, it is possible to destroy the terrain object TO and eliminate at least a part of it. As an example, as shown in FIG. 19, by performing an action of hitting a part of the terrain object TO by the player character PC, the terrain object TO can be destroyed and a part of the terrain object TO can be deformed and eliminated.

[0122] As shown in Fig. 19, a part of the terrain object TO is destroyed and deformed by the destruction action of the player character PC and is erased from the game space. Specifically, in the terrain object TO formed at the lower part of the buried object OBJ, a bell-shaped destruction range with a semi-elliptical spherical shape is formed at the innermost part missing due to the destruction by the destruction action of the player character PC.

[0123] Thus, when a part of the terrain object TO disappears due to destruction, a determination process is newly performed on the terrain object TO whose voxel situation has changed, regarding whether the buried object OBJ is buried and fixed. In this embodiment, when editing such as deletion is performed on the voxels where the buried object OBJ is buried, the presence or absence and deformation of the voxels near the contact point T constituting the buried object OBJ are confirmed. And when editing such as the voxels being erased or deformed is performed, the contact point T of the voxels is changed to update the cover box CB, and the above first determination and the above second determination are newly performed. Note that the change of the contact point T due to the editing of the voxels may simply remove the contact point T of the erased voxels, or may identify the contact point T again using the mesh reformed using the voxels after editing.

[0124] For example, as in the example of Fig. 19, when the terrain object TO around the buried object OBJ disappears or deforms due to destruction, the contact location between the main body box MB of the buried object OBJ and the terrain object TO changes, so it is conceivable that the results of the above first determination and second determination also change. For example, in the example of Fig. 19, compared with the state of Fig. 18, since the terrain object TO supporting the lower part of the buried object OBJ has disappeared, the position of the contact point T at the lower part has changed, and thereby the shape and size of the cover box CB have changed. Therefore, when the cover ratio changes, the cover ratio may become less than or equal to the above threshold value, and it may be determined in the above first determination that the buried object OBJ is not covered by the terrain object TO.

[0125] Also, in the second determination in the example of FIG. 19, since the cover box CB' is not arranged in the vertical direction in the game space of the center of gravity of the main body box MB, it is determined that the buried object OBJ is not supported by the terrain object TO. Therefore, when it is determined that the cover ratio is equal to or less than the threshold value in the first determination and it is determined that the cover box CB' is not arranged in the vertical direction in the game space of the center of gravity of the main body box MB in the second determination, it is considered that the buried object OBJ is not fixed to the terrain object TO.

[0126] Thus, when it is determined that the buried object OBJ is not fixed to the terrain object TO, the buried object OBJ falls from the arrangement position of the terrain object TO. For example, as shown in FIG. 20, the buried object OBJ falls toward the game field F based on the physical laws set in the game space from the arrangement position where it was buried in the terrain object TO. The fallen buried object OBJ can be excavated by the player character PC performing a predetermined action or automatically. By performing the action of excavating this buried object OBJ, the player character PC can acquire the buried object OBJ itself or an item related to the buried object OBJ.

[0127] In this embodiment, the terrain object TO is expressed as being destroyed and deformed / erased by changing the voxel data of each voxel constituting the terrain object TO. FIG. 21 is a diagram showing an example of the destruction range of the voxels to be destroyed in the terrain object TO. Note that the left diagram in FIG. 21 shows the front surface (the surface to be destroyed) of the terrain object TO as seen from the side of the player character PC that destroys the terrain object TO. Also, the right diagram in FIG. 21 shows the right side surface of the terrain object TO shown in the left diagram.

[0128] The destruction range of the terrain object TO destroyed by the destruction action of the player character PC is set based on the position, strength, ability of the player character PC when destroying the terrain object TO, and the strength (material) of the terrain object TO. For example, the destruction range is set to a range where the distance from a reference position set based on the position where the destruction action by the player character PC occurs in the game space is within a predetermined distance. In the example of FIG. 21, for the terrain object TO, a bell-shaped destruction range with a hemispherical shape at the innermost part missing due to the destruction is formed centered on the position where the player character PC performed the destruction action. Note that the shape of the destruction range may be other shapes, such as spherical, ellipsoidal, cubic, cylindrical, wedge-shaped, shapes generated by 3D software, or shapes with some parts of these shapes missing. Also, the position of the destruction range may be set centered on the position where the destruction action by the player character PC occurs in the game space (for example, the position reached by the fist with which the player character PC punches), or may be set centered on a predetermined distance in front of the position as seen from the player character PC.

[0129] Voxels to be erased / deformed with reference to the above-described destruction range are determined using a signed distance field (SDF). The SDF indicates the distance from each voxel to the closest destruction range surface. With the destruction range surface set to 0, the outside of the destruction range is regarded as having a positive distance and the inside of the destruction range is regarded as having a negative distance. Then, according to the SDF in each voxel, the erase / deformation process for each voxel is set. For example, for voxels to be erased, the voxel data of the voxel is rewritten to indicate that there is no terrain object, so that the part of the voxel is erased from the terrain object TO.

[0130] For example, in this embodiment, by changing the density included in the voxel data, the deletion / deformation of each voxel is controlled. For example, the density is an index indicating the degree of the volume occupied by the voxel object within the region defined by the voxel. The value of the density can take an integer value in the range from a lower limit value (for example, 0) to an upper limit value (for example, 255). And, it is assumed that when the value of the density set for the voxel is high, the above-mentioned degree within the voxel is large, and when the value of the density is low, the above-mentioned degree within the voxel is small. Also, for a voxel whose density is set to the lower limit value (that is, 0), no voxel object is included in the voxel, and for a voxel whose density is set to the upper limit value (that is, 255), it is regarded that the voxel object is included in the whole of the voxel. That is, the density becomes voxel data indicating the existence of the terrain object by being set to a value larger than the lower limit value, and functions as voxel data indicating the non-existence of the terrain object by being set to the lower limit value. However, the shape of the voxel mesh generated based on the density does not necessarily have a volume that exactly corresponds to the value of the density.

[0131] In this embodiment, based on the SDF of each voxel, the deletion / deformation of each voxel is controlled by rewriting the density of each voxel. Specifically, by rewriting the density of at least the voxels with a negative SDF distance to a low value, at least some of the voxels included within the destruction range are set to a state where there is no terrain object. As a first example, by rewriting the density of the voxels with a negative SDF distance to the lower limit value, the voxels included within the destruction range are set to a state where there is no terrain object, and by maintaining the density of the voxels with a positive SDF distance at the original value, the voxels outside the destruction range are set to a state where there is a terrain object. As a second example, by rewriting the density of the voxels with a negative SDF distance to a lower value as the absolute value of the distance is larger, and by rewriting the density of the voxels with an absolute value larger than a predetermined value to the lower limit value, a part of the voxels included within the destruction range is set to a state where there is no terrain object, and by maintaining the density of the voxels with a positive SDF distance at the original value, the voxels outside the destruction range are set to a state where there is a terrain object. As a third example, by rewriting the density of the voxels with a negative SDF distance to the lower limit value, the voxels included within the destruction range are set to a state where there is no terrain object, and by rewriting the density of the voxels with a positive SDF distance to a lower value as the absolute value of the distance is smaller, a part of the voxels outside the destruction range is also set to a state where there is no voxel object throughout the voxel.

[0132] Note that the rewriting of the density in the above-described voxel data may adjust the amount of change in the density according to the type and state of the material indicated by the material data included in the voxel data. For example, the amount of change in the density may be adjusted according to the properties of the material indicated by the material data (e.g., fragility, temperature) (e.g., the amount of change in the density rewritten to a lower value is increased for more fragile materials).

[0133] Also, the rewriting of the density in the above-described voxel data may adjust the amount of change in the density according to the state data included in the voxel data. For example, the state data is data indicating the amount of damage added from the player character PC to the terrain object TO. As an example, regarding whether to decrease the density in the voxel data or increase the amount of damage, it may be determined according to the relationship between the attack power of the player character PC and the defensive power of the terrain object TO. Specifically, in the relationship between the hardness of the attacking side (for example, the hardness of the fist with which the player character PC punches the terrain object TO) and the hardness of the side receiving the attack (the hardness of the material of the terrain object TO), when the hardness of the attacking side is harder, the density in the destruction range is rewritten, and when the hardness of the side receiving the attack is harder, neither the density nor the amount of damage in the destruction range is rewritten. And when the hardness of the attacking side is equal to the hardness of the side receiving the attack, the amount of damage to the voxels within the destruction range is increased, and when the amount of damage exceeds the allowable amount (damage durability value by the material) of the voxels, the density of the voxels is rewritten. Note that when the amount of damage to the voxels exceeds the allowable amount of the voxels, the density of the voxels may be set to 0 to erase the voxels, and the amount of damage to the voxels can also function as voxel data indicating the absence of terrain.

[0134] Then, as described above, after rewriting the density, an update for display is performed by newly generating a mesh on the surface of the terrain object TO (specifically, the surface newly exposed to the outside due to destruction). For example, based on the occurrence of an event in which the terrain object TO is destroyed, a new mesh is generated by recomputing the vertices of the mesh in the range including at least the voxels whose voxel data has been rewritten by the destruction. As an example, as shown in FIG. 14, each vertex of the mesh is generated. In this way, after voxel deletion, a new mesh is generated by an algorithm that recomputes the vertices of the mesh based on the density of each voxel between the voxels where the terrain does not exist and the voxels where the terrain exists, and thus the terrain object TO around the buried object OBJ may be deleted. In this embodiment, when the terrain object TO around the buried object OBJ is deleted by generating such a new mesh, the buried state of the buried object OBJ is determined. Then, the texture used for rendering each face of the mesh is determined based on the voxel data, and the determined texture is mapped to each face to generate an image of the terrain object TO after destruction. Note that the range for performing the above-described mesh recomputation and buried determination may be a chunk (a group of voxels that is a processing unit composed of a predetermined number of voxels) including the voxels whose voxel data has been rewritten. For example, if 16×16×16 voxels are used as one chunk and recomputation and buried determination are performed for the chunk including the voxels whose voxel data has been rewritten, the processing can be reduced compared to recomputing the mesh and performing buried determination for the entire game space. The range may be the voxel space in which the voxels whose voxel data has been rewritten are arranged, or the entire terrain object TO including the voxels whose voxel data has been rewritten. Also, if there is no problem with the processing load, mesh recomputation and buried determination may be performed for the entire game space.

[0135] In the above description, as an example of game processing based on whether the buried object OBJ is buried in the terrain object TO after the player character PC performs an action to destroy the terrain object TO, a process in which the player character PC excavates the buried object OBJ and an effect is performed in which the buried object OBJ falls onto the game field F from the position where it is buried, or a process in which an effect is performed to obtain the buried object OBJ itself or an item related to the buried object OBJ is used. However, the game processing based on whether the buried object OBJ is buried may involve other effects being performed. As an example, when the buried object OBJ changes from a state where it is completely buried in the terrain object TO to a state where a part of it is exposed, a process in which the buried object OBJ emits light or a process in which an effect is performed to obtain a score according to the type of the buried object OBJ may be performed. As another example, even if the state where the buried object OBJ is completely buried in the terrain object TO is maintained, when the terrain object TO near where the buried object OBJ is buried is destroyed, a process in which an effect is performed to generate a predetermined sound or vibration or a process in which an effect is performed in which another character starts moving towards the player character PC may be performed.

[0136] In the above description, an example in which the main body box MB and the small box SB are respectively set for the buried object OBJ has been used. By using boxes with such basic shapes, the processing load for performing the burial determination can be reduced, but it is not necessary to set the main body box MB and / or the small box SB. When the main body box MB is not set, the contact location between the buried object OBJ and the terrain object TO is specified in the specification of the contact location, the volume and surface area of the buried object OBJ are used in the calculation of the above-mentioned coverage rate, and the center of gravity of the buried object OBJ is calculated in the calculation of the above-mentioned center of gravity, then the above-mentioned first determination and second determination can be performed in the same manner. Further, when the small box SB is not set, the buried object OBJ itself may be used to form a hole in the terrain object TO, or a hole having a shape different from that of the small box SB may be formed in the terrain object TO, and the buried object OBJ may be buried in the hole.

[0137] In the above description, as an example of an event in which the terrain object TO is erased, an example is used where a destruction action in which the player character PC hits the terrain object TO causes a part of it to be destroyed, deformed, or erased. However, the terrain object TO may be erased by other events. For example, an event in which the player character PC destroys it by hitting the terrain object TO with the whole body or other parts such as legs, or an event in which the player character PC destroys it by hitting the terrain object TO with an item such as a weapon may also be possible. Also, an event in which the player character PC throws or kicks another object and the other object hits the terrain object TO and is destroyed, or an event in which the player character PC shoots or fires and the bullet object fired by the shooting or firing hits the terrain object TO and is destroyed, etc., may cause the terrain object TO to be erased (deformed). Further, regardless of the actions of the player character PC, the terrain object TO may be erased (deformed) due to environmental changes in the game space such as vibrations caused by an earthquake, application of crushing force due to the collision of waves or wind and rain, deterioration or decay due to exposure to the outside air, etc.

[0138] In the above description, as an example of an object whose part is erased from the game space, the terrain object TO is used. However, it goes without saying that the same buried determination process is possible even when other voxel objects are erased from the game space. For example, buildings, trees, moving objects such as vehicles moving in the game space, other characters such as enemy characters existing in the game space, items placed in the game space, objects such as food and tools placed in the game space, etc., other voxel objects. Even when the buried object OBJ is buried in them, it is possible to perform the process of erasing a part of them from the game space and the buried determination process respectively.

[0139] Next, with reference to FIGS. 22 to 24, a specific example of information processing in the game system 1 will be described.

[0140] FIG. 22 is a diagram showing an example of various data used for information processing in the game system 1. As shown in FIG. 22, the game system 1 stores a game program, voxel space data, voxel object data, mesh data, buried object data, operation data, player character data, destruction range data, and the like. The game program and the voxel space data are data that are stored in the game system 1 in advance before the execution of the game process. The game program and the voxel space data are stored, for example, in a storage medium mounted on the slot 23 of the main body device 2. Further, the voxel object data, the mesh data, the buried object data, the operation data, the player character data, and the destruction range data are data that are generated during the execution of the game process. The voxel object data, the mesh data, the buried object data, the operation data, the player character data, and the destruction range data are stored, for example, in the DRAM 85 of the main body device 2.

[0141] The game program is a game program for executing the game process (specifically, the game process shown in FIGS. 23 and 24) in the present embodiment.

[0142] The voxel space data is data that defines the voxels set in the game space. Specifically, the voxel space data indicates the length of one side of the voxel and the direction of each side of the voxel in the game space. Further, when voxels are set only in a partial region of the game space, the voxel space data may include data indicating the position and size of the space (that is, the voxel space) in which the voxels are set (that is, data indicating the range in the game space where the voxels are set).

[0143] The voxel object data is data indicating the voxel objects arranged in the game space. Specifically, the voxel object data includes voxel data for each unit region for a part or the whole range in the game space.

[0144] Mesh data is data indicating a mesh set for a voxel object arranged in a game space. The mesh data includes, for example, data indicating the position of each vertex in the mesh.

[0145] Submerged object data is data indicating a submerged object arranged in a game space. Specifically, the submerged object data includes type data, shape and size data, position and orientation data, main body box data, center of gravity position data, small box data, contact point data, cover box data, and cover ratio data. The type data is data indicating the type of the submerged object. The shape and size data is data indicating the shape and size of the submerged object. The position and orientation data is data indicating the position and orientation of the submerged object arranged in the game space. The main body box data is data indicating the shape and size of the main body box set for the submerged object and the position and orientation in the game space. The center of gravity position data is data indicating the center of gravity position of the main body box in the game space. The small box data is data indicating the shape and size of the small box set for the submerged object and the position and orientation in the game space. The contact point data is data indicating the contact location (contact point) between the main body box of the submerged object arranged in the game space and the terrain object. The cover box data is data indicating the shape and size of the cover box of the submerged object and the position and orientation in the game space. The cover ratio data is data indicating the cover ratio calculated for the submerged object.

[0146] The operation data is data appropriately acquired from the left controller 3 and / or the right controller 4 and the main body device 2 respectively. As described above, the data acquired from the left controller 3 and / or the right controller 4 and the main body device 2 respectively includes information regarding inputs from each input unit (specifically, each button, analog stick, touch panel) (specifically, information regarding operations). In this embodiment, data is acquired from the left controller 3 and / or the right controller 4 and the main body device 2 respectively, and the acquired data is used to appropriately update the operation data. Note that the update cycle of the operation data may be updated every frame, which is the cycle of the process executed in the game system 1 described later, or may be updated every cycle in which the above data is acquired.

[0147] The player character data is data indicating the arrangement position and arrangement posture of the player character PC arranged in the game space, as well as the actions and states in the game space.

[0148] The destruction range data is data indicating the destruction range set when the terrain object TO is destroyed by the player character PC.

[0149] Note that in addition to the data shown in FIG. 22, the game system 1 stores data such as the above-described property information and texture information as data stored in the game system 1 in advance before the execution of the game process.

[0150] FIG. 23 is a flowchart showing an example of the flow of the game process executed by the game system 1. FIG. 24 is a subroutine showing an example of the burial determination process in step S10 in the flowchart shown in FIG. 23. In this embodiment, the series of processes shown in FIGS. 23 and 24 are performed by the processor 81 executing the game program. Also, the timing at which the game process shown in FIGS. 23 and 24 is started is arbitrary. As an example, it is started in response to an instruction to start the game being given by the player during the execution of the above game program.

[0151] In the present embodiment, the processor 81 of the main body device 2 executes the processing of each step shown in FIGS. 23 and 24 by executing the game program stored in the game system 1. However, in other embodiments, some of the processing of each step may be executed by a processor (for example, a dedicated circuit or the like) different from the processor 81. Further, when the game system 1 can communicate with another information processing device (for example, a server), a part of the processing of each step shown in FIGS. 23 and 24 may be executed in the other information processing device. That is, the processing of each step shown in FIGS. 23 and 24 may be executed by a plurality of information processing devices including the main body device 2 cooperating with each other. Also, the processing of each step shown in FIGS. 23 and 24 is merely an example, and if the same result can be obtained, the processing order of each step may be changed, or another processing may be executed in addition to (or instead of) the processing of each step.

[0152] Further, the processor 81 executes the processing of each step shown in FIGS. 23 and 24 using a memory (for example, DRAM 85). That is, the processor 81 stores the information (in other words, data) obtained by each processing step in the memory, and when using the information in subsequent processing steps, reads out the information from the memory and uses it.

[0153] In FIG. 23, the processor 81 sets voxel objects in the initial state in the game space (step S1), and proceeds to the next step. Specifically, the processor 81 acquires voxel data indicating the arrangement of the voxel objects in the initial state, and stores (or writes, in other words) part or all of the acquired voxel data in the DRAM 85 as voxel object data. Note that the voxel data indicating the arrangement of the voxel objects in the initial state is stored, for example, in a storage medium mounted in the slot 23 of the main device 2. Note that a computer that stores, in a storage medium, terrain volume data representing the shape of the terrain in the virtual space and object data representing an object arranged at a position where at least a part of the object is buried in the terrain by holding voxel data indicating the presence of the terrain for each voxel included in the voxel space set in the virtual space corresponds, as an example, to the processor 81 that performs the process of step S1.

[0154] Note that the voxel data written in the DRAM 85 as voxel object data may be part of the voxel data used for generating the game image among the voxel data in the entire range of the game space. For example, the processor 81 may generate an image of an object using voxel data only for a part of the game space (for example, a range within a predetermined distance from the position of the virtual camera). At this time, the voxel object data may include the voxel data within the said range. Further, when voxel data for a part of the game space is written, the same process as step S1 is executed at an appropriate timing (for example, the timing when the position of the virtual camera has moved more than a predetermined distance) during the execution of a series of processes in steps S4 to S13 described later.

[0155] Next, the processor 81 generates a mesh for the voxel object (step S2), proceeds to the next step to start the game, and repeatedly executes the processes of steps S3 to S11 during the game. The mesh is generated according to the method described above. Here, the processor 81 generates a mesh based on the voxel object data stored in the DRAM 85. By the process of step S2 above, voxel objects such as terrain objects are constructed in the game space.

[0156] Next, the processor 81 sets a buried object in the initial state in the game space (step S3) and proceeds to the next step. Specifically, the processor 81 places the buried object at the initial position in the game space and initializes the buried object data regarding the buried object, small box, main body box, contact point, and cover box arranged by the method described above. For example, the processor 81 initializes the buried object data using the type, shape, size, position, and posture of the buried object arranged at the initial position. Also, the processor 81 sets the main body box of the buried object arranged at the initial position and initializes the buried object data using the shape, size, position, posture, and center of gravity position of the main body box. Further, the processor 81 sets a small box for the buried object arranged at the initial position and initializes the buried object data using the shape, size, position, and posture of the small box. Furthermore, the processor 81 forms a hole in the voxel object based on the set small box and updates the voxel object data. Then, the processor 81 identifies the contact point of the buried object by the method described above, sets a cover box based on the contact point, and initializes the buried object data using the position of the contact point and the shape, size, position, and posture of the cover box.

[0157] Regarding the buried object data initially set in step S3 above, it may also be buried object data regarding buried objects belonging to the range where voxel data is set in step S1 above. When buried object data for a partial range of the game space is initially set, processing similar to step S3 above is executed at an appropriate timing (for example, the timing when the position of the virtual camera has moved by a predetermined distance or more) during the execution of a series of processes in steps S4 to S13 described later.

[0158] Next, the processor 81 acquires data corresponding to a user operation from the left controller 3, the right controller 4, and / or the main body device 2 and updates the operation data (step S4), and proceeds to the next step.

[0159] Next, the processor 81 controls the operations of various objects (for example, player characters and enemy characters) appearing in the game space (step S5), and proceeds to the next step. For example, the processor 81 controls the operation of the player character based on the operation data acquired in step S4 above and updates the player character data. In addition, the processor 81 controls the operation of the enemy character based on an algorithm defined in the game program.

[0160] Next, the processor 81 determines whether an erasure condition for erasing at least a part of the voxel object is satisfied (step S6). For example, when an impact on the terrain object TO by the player character PC occurs, the processor 81 sets the position where the impact occurs and the surrounding range as the destruction range, updates the destruction range data, destroys the terrain object TO (voxel object) existing in the destruction range, and erases the destroyed part. As an example, in order to express that the destruction range has been destroyed, the object within the destruction range is erased by setting the value of the density indicated by the voxel data in at least some of the voxels within the destruction range to 0. Therefore, when the voxels of the voxel object are included within the destruction range due to the impact of the player character, the processor 81 makes an affirmative determination in step S6 above. Then, when the above erasure condition is satisfied, the processor 81 proceeds to step S7. On the other hand, when the above erasure condition is not satisfied, the processor 81 proceeds to step S11.

[0161] In step S7, the processor 81 updates the voxel data regarding the voxel object that satisfies the deletion condition, and proceeds with the process to the next step. For example, the processor 81 changes the density of the voxels in the portion struck by the player character and the voxels in the surrounding portion so that at least a part of the voxel object that satisfies the deletion condition is deleted, and updates the voxel data corresponding to each voxel. Further, the processor 81 deforms the voxel object in the voxels around the destruction range (for example, the range of the strike) to be deleted (however, it shall be 0 or more), by decreasing the density of the voxels around the destruction range. Specifically, the processor 81 updates the voxel object data stored in the DRAM 85 so as to change the density data regarding the above-described range to be deleted and the voxel data of the voxels around it. Note that the processor 81 may update the density data so that the density indicates a value less than the above-described reference value. For example, the processor 81 may set the density to 0 for the voxels in the portion (destruction range) struck by the player character, and decrease the density by a predetermined value for the voxels in the surrounding portion. Note that the computer that updates the voxel data so as to indicate that there is no terrain for the voxels included in the deletion range set based on the position where the destruction event has occurred corresponds, as an example, to the processor 81 that performs the process of step S7.

[0162] Next, the processor 81 updates the mesh for the voxel object whose voxel data has been changed in step S7 above (step S8), and proceeds with the process to the next step. That is, the processor 81 generates a mesh of the voxel object that satisfies the deletion condition based on the voxel object data after the update in step S7. Thereby, the mesh of the terrain object can be dynamically changed during the game. Note that the processor 81 updates the mesh data stored in the DRAM 85 with the content indicating the newly generated mesh.

[0163] Next, the processor 81 determines whether the voxel data of the voxels in contact with the buried object has been updated in step S7 (step S9). If the voxel data of the voxels in contact with the buried object has been updated, the processor 81 proceeds to step S10. On the other hand, if the voxel data of the voxels in contact with the buried object has not been updated, the processor 81 proceeds to step S12.

[0164] On the other hand, in step S11, the processor 81 determines whether an impact equal to or greater than a predetermined threshold has been applied to the buried object arranged in the game space. If an impact equal to or greater than a predetermined threshold has been applied to the buried object, the processor 81 proceeds to step S10. On the other hand, if an impact equal to or greater than a predetermined threshold has not been applied to the buried object, the processor 81 proceeds to step S12.

[0165] In step S10, the processor 81 performs buried object determination processing and proceeds to step S12. Hereinafter, with reference to FIG. 24, the buried object determination processing performed in step S10 will be described. Note that, as an example, the computer that performs the first game process based on whether an object is buried in the terrain based on the terrain volume data after the destruction event corresponds to the processor 81 that performs the processing of step S10.

[0166] In FIG. 24, the processor 81 confirms the contact points of the buried object determined in step S9 that the voxel data of the contacting voxels has been updated (step S81), and proceeds to the next step. For example, the processor 81 checks whether there is any change in the voxels of the contact points that make up the cover box set for the buried object. Specifically, the processor 81 specifies the contact points of the buried object using the contact point data related to the buried object, and checks whether the voxels near the contact points include voxels that have been erased or deformed and changed.

[0167] Next, the processor 81 determines whether there is a change in the voxels near the contact point (step S82). For example, in the confirmation in step S81 above, if the voxels near the contact point include voxels that have been erased or deformed, the processor 81 makes an affirmative determination in step S82. And if there is a change in the voxels near the contact point, the processor 81 proceeds to step S83. On the other hand, if there is no change in the voxels near the contact point, the processor 81 proceeds to step S86.

[0168] In step S83, the processor 81 changes the contact point and proceeds to the next step. As an example, in the confirmation in step S81 above, the processor 81 removes the contact point of the voxel determined to have been erased from the contact point of the buried object to be processed, and updates the contact point data of the buried object. As another example, the processor 81 re - identifies the contact point of the buried object to be processed by the above - mentioned method using a newly formed mesh or the like based on the voxel determined to have changed in the confirmation in step S81 above, thereby updating the contact point data of the buried object.

[0169] Next, the processor 81 re - sets the cover box of the buried object to be processed (step S84) and proceeds to the next step. For example, the processor 81 uses the contact point changed in step S83 above to re - set the cover box of the buried object to be processed by the above - mentioned method, and updates the cover box data of the buried object.

[0170] Next, the processor 81 calculates the coverage rate (step S85) and proceeds to step S86. For example, the processor 81 refers to the main box data and cover box data of the buried object to be processed and calculates the coverage rate by the above - mentioned method, and updates the coverage rate data of the buried object.

[0171] In step S86, the processor 81 performs the above-described first determination, that is, determines whether the coverage rate is equal to or less than the above threshold, for the buried object for which it is determined that the voxel data of the voxel that comes into contact in step S9 has been updated or the buried object for which it is determined that an impact has been applied in step S11. Then, when the coverage rate of the buried object is equal to or less than the predetermined threshold, the processor 81 proceeds to step S87. On the other hand, when the coverage rate of the buried object is greater than the predetermined threshold, the processor 81 ends the processing by this subroutine.

[0172] In step S87, the processor 81 performs a support determination process and proceeds to the next step. For example, the processor 81 performs a process for determining the above-described second determination, that is, whether the buried object to be processed is supported by the terrain object, for the buried object to be processed.

[0173] Next, the processor 81 determines whether the buried object to be processed is supported by the terrain object based on the support determination process in step S87 (step S88). Then, when the buried object to be processed is supported by the terrain object, the processor 81 proceeds to step S89. On the other hand, when the buried object to be processed is not supported by the terrain object, the processor 81 proceeds to step S90.

[0174] In step S89, the processor 81 determines whether an impact of a predetermined magnitude or greater has been applied to the buried object to be processed. For example, if an impact of a predetermined magnitude or greater is applied to the buried object to be processed by the action of the player character PC or by an effect other than the action, the processor 81 makes an affirmative determination in step S89 above. Note that the predetermined magnitude may be a fixed value of the impact force determined in advance, or a value that changes according to the magnitude of the coverage rate of the buried object to be processed (for example, a value that becomes smaller as the coverage rate becomes smaller). Then, if an impact of a predetermined magnitude or greater has been applied to the buried object to be processed, the processor 81 proceeds to step S90. On the other hand, if an impact of a predetermined magnitude or greater has not been applied to the buried object to be processed, the processor 81 ends the processing by this subroutine.

[0175] In step S90, the processor 81 performs a process of releasing the fixation of the buried object and ends the processing by this subroutine. For example, the processor 81 releases the state in which the buried object to be processed is fixed by the terrain object, and operates the buried object so as to fall toward the game field F based on the physical laws set in the game space from the arrangement position of the terrain object, and updates the buried object data. Note that if the buried object whose fixation has been released or an item related to the buried object is automatically acquired by the player character, the process related to the acquisition may be performed in step S90 above without producing the above-described falling motion, and the buried object may be erased from the game space.

[0176] Returning to FIG. 23, in step S12, the processor 81 generates a game image representing the game space and causes it to be displayed on the display device, and proceeds to the next step. Specifically, the processor 81 generates a game image representing a game space including voxel objects, buried objects, and other objects (e.g., player characters and enemy characters). Note that the image of the voxel object is generated according to the method described above using the voxel object data and mesh data stored in the DRAM 85. Also, the image of the buried object is generated based on the buried object data stored in the DRAM 85. Also, the image of the player character is generated using the player character data stored in the DRAM 85. Then, the processor 81 causes the generated game image to be displayed on the display device. Note that during the game, the process of step S12 is repeatedly executed at a rate of once per predetermined time (e.g., one frame time). Also, as an example, a computer that generates an image of the virtual space by at least rendering a polygon mesh representing the surface of the terrain based on the terrain volume data corresponds to the processor 81 that performs the processes of steps S8 and S12.

[0177] Next, the processor 81 determines whether to end the game (step S13). Conditions for ending the game process in step S13 include, for example, that the conditions for ending the game process are satisfied, or that the user has performed an operation to end the game process. If the processor 81 does not end the game process, it returns to step S4 above and repeats the process, and if it ends the game process, it ends the process according to this flowchart. Thereafter, the series of processes from step S4 to step S13 are repeatedly executed until it is determined in step S13 that the process ends.

[0178] As described above, in this embodiment, by the operation of the user, a game using buried objects buried in the terrain object generated from voxels can be performed with a high degree of freedom of deforming the terrain object.

[0179] As is clear from the flowchart described above, when an event occurs in which the player character PC destroys the terrain object TO, in addition to the process of erasing voxels by the destruction in step S7 above, the process for the buried object buried by the destruction in step S10 above is also executed. By performing these two processes, it becomes possible to quickly determine the state of the buried object due to the destruction.

[0180] Also, the game system 1 may be any device, such as a portable game device, any portable electronic device (PDA (Personal Digital Assistant), mobile phone, personal computer, camera, tablet, etc.). In this case, the input device for performing the operation of operating the player object PO does not have to be the left controller 3, the right controller 4, or the touch panel 13, and may be another controller, mouse, touch pad, touch panel, trackball, keyboard, cross key, slide pad, etc.

[0181] Also, in the above description, an example in which the information processing is performed by the game system 1 respectively is used, but at least a part of the above processing steps may be performed by another device. For example, when the game system 1 is configured to be communicable with another device (for example, another server, another image display device, another game device, another portable terminal), the above processing steps may be further executed by the cooperation of the other device. In this way, by performing at least a part of the above processing steps by another device, the same processing as the above-described processing becomes possible. Also, the above-described information processing can be executed by the cooperation between one processor or a plurality of processors included in an information processing system constituted by at least one information processing device. Also, in the above embodiment, the processor 81 of the game system 1 can perform information processing by executing a predetermined program, but a part or all of the above processing may be performed by a dedicated circuit provided in the game system 1.

[0182] Here, according to the above-described modification example, the present invention can also be realized in a so-called cloud computing system form, a distributed wide-area network, or a local network system form. For example, in the system form of a distributed local network, it is also possible to execute the above processing in cooperation between a stationary information processing device (stationary game device) and a portable information processing device (portable game device). Needless to say, in these system forms, there is no particular limitation on which device performs the above-described processing, and the present invention can be realized regardless of any processing sharing.

[0183] In addition, the processing order, setting values, conditions used for determination, etc. used in the above-described information processing are merely examples, and it goes without saying that the present embodiment can be realized even with other orders, values, and conditions.

[0184] In addition, the above program may be supplied to the game system 1 not only through an external storage medium such as an external memory but also through a wired or wireless communication line. Further, the above program may be pre-recorded in a non-volatile storage device inside the device. As the information storage medium for storing the above program, in addition to a non-volatile memory, a CD-ROM, a DVD, or an optical disk-shaped storage medium similar thereto, a flexible disk, a hard disk, a magneto-optical disk, a magnetic tape, etc. may also be used. Further, as the information storage medium for storing the above program, a volatile memory for storing the above program may also be used. Such a storage medium can be referred to as a computer-readable recording medium. For example, by causing a computer or the like to read and execute the programs of these recording media, various functions described above can be provided.

[0185] As described above, the present invention has been described in detail. However, the foregoing description is merely illustrative of the present invention in every respect and is not intended to limit its scope. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. Further, those skilled in the art will understand that an equivalent scope can be implemented based on the description of the present invention and common general technical knowledge from the description of specific embodiments of the present invention. Also, it should be understood that the terms used in this specification are used in the meanings commonly used in the art unless otherwise specified. Therefore, unless otherwise defined, all technical and scientific terms used in this specification have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. In case of conflict, this specification (including definitions) shall prevail.

Industrial Applicability

[0186] As described above, the present invention can be used as a game program, a game system, a game device, a game processing method, etc. that can play a game by highly freely deforming an object generated from voxels by a user's operation.

Description of Symbols

[0187] 1... Information processing system 2... Main body device 3... Left controller 4... Right controller 11... Housing 12... Display 13... Touch panel 32, 52... Analog stick 42, 64... Terminal 81... Processor 82... Network communication unit 83... Controller communication unit 85... DRAM 101, 111... Communication control unit

Claims

1. A game program executed on a computer of an information processing apparatus, wherein the computer holds voxel data indicating the presence of terrain for each voxel included in a voxel space set in a virtual space, thereby storing, in a storage medium, terrain volume data representing the shape of the terrain in the virtual space and object data representing an object disposed at a position where at least a part of the object is buried in the terrain, when a destruction event for destroying the terrain occurs based on a user's operation input, updates the voxel data so as to indicate that the terrain does not exist for voxels included in an erasure range set based on the position where the destruction event occurred, performs first game processing on the terrain based on the terrain volume data after the destruction event, based on whether or not the object is buried in the terrain, A game program that generates an image of the virtual space by at least rendering a polygon mesh representing the surface of the terrain based on the terrain volume data.

2. The game program according to claim 1, wherein the first game processing is performed on the terrain based on the terrain volume data after the destruction event, further based on whether or not the object is supported by the terrain.

3. wherein the computer identifies a contact location between the first determination shape, which is the shape of the object or a basic shape enclosing the object, and the terrain, performs a first determination to determine that the object is buried in the terrain when the ratio of the volume or surface area of the second determination shape, which is a basic shape enclosing the contact location, to the first determination shape is greater than a predetermined criterion, according to the game program of claim 1 or 2.

4. wherein the computer further performs a second determination to determine whether or not the object is supported by the terrain based on the positional relationship between the center of gravity of the first determination shape and the second determination shape, performs the first game processing based on the first determination and the second determination, according to the game program of claim 3.

5. In the second determination, when the second determination shape or a third determination shape that encloses the second determination shape includes the center of gravity with respect to components other than the height direction, and at least a part of the second determination shape or the third determination shape is below the center of gravity in the height direction, it is determined that the object is supported by the terrain. The game program according to claim 4.

6. When it is determined in the first determination that the object is not buried in the terrain, and further when it is determined in the second determination that the object is not supported by the terrain, or when a predetermined event occurs, the first game process is caused to be performed. The game program according to claim 4 or 5.

7. The first determination shape is a bounding box for the object. The second determination shape is a bounding box of the contact location. The game program according to any one of claims 3 to 6.

8. The bounding box is an oriented bounding box. The game program according to claim 7.

9. The computer is further caused to cause the player character to perform a destruction action capable of destroying the terrain based on a user's operation input. The destruction event is that the destruction action by the player character hits the terrain. The game program according to any one of claims 1 to 8.

10. The first game process is a process of acquiring an item associated with the object. The game program according to any one of claims 1 to 9.

11. The first game process is a process of dropping the object in the virtual space. The game program according to any one of claims 1 to 10.

12. The object is arranged at a position where a hole of a predetermined basic shape smaller than the object is formed on the terrain surface or inside the terrain in a state where the destruction event has not occurred. The game program according to any one of claims 1 to 11.

13. The computer generates the polygon mesh by an algorithm that determines the vertex positions of the polygon based on the voxel data between the voxels where the terrain does not exist and the voxels where the terrain exists. The game program according to any one of claims 1 to 12, which causes vertices of the polygon mesh in a range including at least voxels whose voxel data has been updated to be recalculated based on the occurrence of the destruction event.

14. A storage medium that stores terrain volume data representing the shape of the terrain in the virtual space and object data representing an object disposed at a position where at least a part of the object is buried in the terrain, by holding voxel data indicating the presence of the terrain for each voxel included in a voxel space set in the virtual space; When a destruction event occurs to destroy the terrain based on a user's operation input, the voxel data is updated to indicate that the terrain does not exist for the voxels included in an erasure range set based on the position where the destruction event has occurred; a first game process is performed on the terrain based on the terrain volume data after the destruction event, based on whether the object is buried in the terrain; A game system comprising: a computer that generates an image of the virtual space by at least rendering a polygon mesh representing the surface of the terrain based on the terrain volume data.

15. The game system according to claim 14, wherein the first game process is performed based on whether the object is supported by the terrain, further based on the terrain volume data after the destruction event.

16. The computer identifies a contact location between the terrain and a first determination shape that is the shape of the object or a basic shape enclosing the object; performs a first determination of determining that the object is buried in the terrain when the ratio of the volume or surface area of the second determination shape, which is a basic shape enclosing the contact location, to the first determination shape is greater than a predetermined criterion, based on the ratio. The game system according to claim 14 or 15.

17. The computer further performs a second determination of determining whether the object is supported by the terrain, based on a positional relationship between the center of gravity of the first determination shape and the second determination shape; The game system according to claim 16, wherein the first game process is performed based on the first determination and the second determination.

18. In the second determination, when the second determination shape or a third determination shape enclosing the second determination shape includes the center of gravity with respect to components other than the height direction, and at least a part of the second determination shape or the third determination shape is below the center of gravity with respect to the height direction, it is determined that the object is supported by the terrain. The game system according to claim 17.

19. When it is determined in the first determination that the object is not buried in the terrain, and further when it is determined in the second determination that the object is not supported by the terrain, or when a predetermined event occurs, the first game process is performed. The game system according to claim 17 or 18.

20. The first determination shape is a bounding box for the object. The second determination shape is a bounding box at the contact location. The game system according to any one of claims 16 to 19.

21. The bounding box is an oriented bounding box. The game system according to claim 20.

22. The computer further causes the player character to perform a destruction action that can destroy the terrain based on a user's operation input. The destruction event is that the destruction action by the player character hits the terrain. The game system according to any one of claims 14 to 21.

23. The first game process is a process of acquiring an item associated with the object. The game system according to any one of claims 14 to 22.

24. The first game process is a process of dropping the object in the virtual space. The game system according to any one of claims 14 to 23.

25. The object is arranged at a position where a hole of a predetermined basic shape smaller than the object is formed on the terrain surface or inside the terrain in a state where the destruction event has not occurred. The game system according to any one of claims 14 to 24.

26. The computer A polygon mesh is generated by an algorithm that determines vertex positions of a polygon based on the voxel data between voxels where the terrain does not exist and voxels where the terrain exists. The game system according to any one of claims 14 to 25, wherein vertices of the polygon mesh in a range including at least voxels whose voxel data has been updated are recalculated based on the occurrence of the destruction event.

27. By holding voxel data indicating the presence of terrain for each voxel included in a voxel space set in a virtual space, terrain volume data representing the shape of the terrain in the virtual space and object data representing an object arranged at a position where at least a part of the object is buried in the terrain are stored in a storage medium. A contact point between the first determination shape, which is the shape of the object or a basic shape enclosing the object, and the terrain is specified. When a destruction event occurs in which the terrain is destroyed based on a user's operation input. The voxel data is updated to indicate that the terrain does not exist for voxels included in an erasure range set based on the position where the destruction event occurred. Based on the ratio of the volume or surface area of the second determination shape, which is the basic shape enclosing the contact point, to the first determination shape, a first determination is made that the object is buried in the terrain based on the terrain volume data after the destruction event when the ratio is greater than a predetermined criterion, and a first game process is performed based on the first determination. A game device comprising a computer that generates an image of the virtual space by at least rendering a polygon mesh representing the surface of the terrain based on the terrain volume data.

28. The computer further makes a second determination as to whether the object is supported by the terrain based on the positional relationship between the center of gravity of the first determination shape and the second determination shape. The game device according to claim 27, wherein the first game process is performed based on the first determination and the second determination.

29. The game device according to claim 28, wherein in the second determination, the second determination shape or a third determination shape that encloses the second determination shape includes the center of gravity with respect to components other than the height direction, and at least a part of the second determination shape or the third determination shape is below the center of gravity in the height direction, and it is determined that the object is supported by the terrain.

30. Causing a processor of an information processing apparatus to hold voxel data indicating the presence of terrain for each voxel included in a voxel space set in a virtual space, thereby storing terrain volume data representing the shape of the terrain in the virtual space and object data representing an object disposed at a position where at least a part of the object is buried in the terrain in a storage medium, specifying a contact location between the first determination shape, which is the shape of the object or a basic shape enclosing the object, and the terrain, when a destruction event occurs to destroy the terrain based on a user's operation input, updating the voxel data so as to indicate that the terrain does not exist for voxels included in an erasure range set based on the position where the destruction event occurred, performing a first determination to determine that the object is buried in the terrain based on the terrain volume data after the destruction event when the ratio of the volume or surface area of the second determination shape, which is a basic shape enclosing the contact location, to the first determination shape is greater than a predetermined criterion, and performing a first game process based on the first determination, A game processing method for generating an image of the virtual space by at least rendering a polygon mesh representing the surface of the terrain based on the terrain volume data.

31. Further causing the processor to perform a second determination to determine whether or not the object is supported by the terrain based on the positional relationship between the center of gravity of the first determination shape and the second determination shape, The game processing method according to claim 30, wherein the first game process is performed based on the first determination and the second determination.

32. In the second determination, when the second determination shape or a third determination shape that encloses the second determination shape includes the center of gravity with respect to components other than the height direction, and at least a part of the second determination shape or the third determination shape is below the center of gravity with respect to the height direction, it is determined that the object is supported by the terrain. The game processing method according to claim 31.

Citation Information

Patent Citations

  • Method and system for generating a polygone network that articulates a curved surface using routing

    CN117173371A

  • Entertainment system, entertainment device, recording medium and program

    JP2001300144A

  • Information processing system, program and game character movement control method

    JP2006014874A

  • Information processor, operation control program, and operation control method

    JP2019087074A

  • Information processor, information processing program, information processing system, and information processing method

    JP2020080007A