Game program, information processing system, information processor and game processing method

JP2025113167AActive Publication Date: 2025-08-01NINTENDO CO LTD

Patent Information

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

AI Technical Summary

Technical Problem

Existing technologies are limited in generating game events based on changes in voxel data, lacking the ability to dynamically respond to deformations and material changes in voxel objects.

Method used

A game program and processing method that updates voxel data to generate events based on density changes, calculates parameters for deformation, and controls player characters' actions in response to voxel updates, incorporating material types and generating in-game events such as item appearance and player motivation.

Benefits of technology

Enables dynamic game events and player engagement by responding to voxel object deformations and material changes, providing incentives and motivations through events and item rewards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025113167000001_ABST
    Figure 2025113167000001_ABST
Patent Text Reader

Abstract

To make a game event occur in response to a change in voxel data.SOLUTION: An information processing system updates voxel data on the basis of game processing. The information processing system generates and updates a mesh for display on the basis of the density included in the voxel data to draw a virtual space that includes the mesh for display. If a first event occurs on the basis of game processing, the information processing system generates a first voxel update scope in the virtual space and performs first update to decrease or increase of the density of each voxel corresponding to the first voxel update scope in the virtual space. The information processing system updates a first parameter indicating the degree of a change relative to voxels caused by the first voxel update. The information processing system makes a second event occur on the basis of the first parameter during game processing.SELECTED DRAWING: Figure 43
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a game program, an information processing system, an information processing apparatus, and a game processing method for generating an object in a virtual space using voxel data.

Background Art

[0002] Conventionally, a mesh of an object has been generated based on voxel data (see, for example, Non-Patent Document 1).

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Conventionally, voxel data has only been used for generating a mesh.

[0005] Therefore, an object of the present invention is to provide a game program, an information processing system, an information processing apparatus, and a game processing method capable of generating a game event according to a change in voxel data.

Means for Solving the Problems

[0006] In order to solve the above problems, the present invention employs the following configurations (1) to (12).

[0007] (1) An example of the present invention is a game program that causes a computer to execute the following processes. · A process of updating voxel data defined in a virtual space, wherein for each of a plurality of voxels, the density indicating the degree to which the space defined by the voxel is virtually occupied by contents is at least set, based on game processing. · A process of generating and updating a display mesh corresponding to the voxel data and drawn based on a virtual camera, by determining vertex coordinates of the display mesh based on at least the density included in the voxel data. · When a first event occurs based on game processing, a process of generating a first voxel update range in the virtual space and performing a first voxel update to decrease or increase the density of each voxel corresponding to the first voxel update range in the virtual space among the voxel data. · A process of updating a first parameter indicating the degree of change to the voxels performed by the first voxel update. · A process of generating a second event based on the first parameter in game processing.

[0008] According to the configuration of (1) above, an event can be generated according to the deformation of the voxel object, and game processing according to the degree of deformation can be executed.

[0009] (2) In the configuration of (1) above, the first voxel update may be an update that decreases the density. The first parameter may be calculated based on the cumulative amount of decrease in density.

[0010] According to the configuration of (2) above, an event can be generated according to a deformation that erases the voxel object.

[0011] (3) In the configuration of (1) above, the first voxel update may be an update that decreases the density. The first parameter may be calculated based on the cumulative amount of decrease in the volume of the voxel, based on the volume of the space in which the voxel is defined and the amount of decrease in the density of the voxel.

[0012] According to the configuration of (3) above, an event can be generated according to the amount of decrease in the volume of the internal region of the voxel object in the virtual space.

[0013] (4) In the configuration of (1) above, the first parameter may be calculated based on the number of times the first voxel update has been performed.

[0014] According to the configuration of (4) above, an event can be generated according to the number of times the voxel object has been deformed.

[0015] (5) In any of the configurations from (1) to (4) above, for each of the plurality of voxels in the voxel data, a material indicating the type of content may be further set. The game program may further cause the computer to execute the following processing. · A process of determining the material of the display mesh based on at least the material included in the voxel data · A process of rendering the virtual space including the display mesh based on the vertex coordinates of the display mesh and the texture corresponding to the material of the display mesh · A process of calculating the first parameter based on the degree of change for each material with respect to the voxels to which the material is set

[0016] According to the configuration of (5) above, an event can be generated according to the change for each material of the voxel object.

[0017] (6) In any of the configurations (1) to (4) above, the game program may further cause the computer to execute the following processes. · A process of controlling a player character in a virtual space based on operation input · A process of causing the player character to perform a first action as a first event · A process of increasing the number of executable times of a second action of the player character as a first parameter based on an increase in degree · A process of causing the player character to perform a second action by consuming the number of executable times as a second event when the number of executable times remains

[0018] According to the configuration of (6) above, by increasing the number of executable times of the second action by the player character in response to a change in the voxel object, it is possible to give the player a motivation to deform the voxel object.

[0019] (7) In the configuration of (6) above, for each of the plurality of voxels in the voxel data, a material indicating the type of content may be further set. The game program may further cause the computer to execute the following processes. · A process of determining the material of the display mesh based at least on the material included in the voxel data · A process of rendering a virtual space including the display mesh based on the vertex coordinates of the display mesh and the texture corresponding to the material of the display mesh · A process of setting, as the number of executable times increases, the material corresponding to the second action corresponding to the increased number of executable times based on the material of the voxel changed by the first voxel update · A process of causing the player character to perform an action of releasing an object in which the material corresponding to the second action is set as the second action

[0020] According to the configuration of (7) above, the material of the object related to the second action can be the material based on the material of the updated voxel.

[0021] (8) In the configuration of (7) above, the first voxel update may be an update that decreases the density. The game program may further cause the computer to execute the following processing every time the number of times the first voxel update is performed reaches the first number of times. · Processing to increase the number of executable times · Based on the material and the amount of density decrease of each voxel changed by the first voxel update when the first number of times is reached, or a plurality of first voxel updates until the first number of times is reached, determine the material that has decreased the most, and determine the material that has decreased the most as the material corresponding to the second action

[0022] According to the configuration of (8) above, the material of the object related to the second action can be the material based on the material of the voxel whose density has decreased when the number of executable times of the second action is increased or until it is increased.

[0023] (9) In any of the configurations from (1) to (8) above, the second event may be an in-game event that occurs in response to the degree of change in the voxels indicated by the first parameter reaching a predetermined degree.

[0024] According to the configuration of (9) above, it is possible to give the player an incentive to deform more voxel objects.

[0025] (10) In the configuration of (9) above, the game program may cause the computer to execute the following processing. · Based on the voxel data, a process of generating and updating the vertices of the display mesh is performed based on a method of setting vertices for a portion where a voxel having a density in a first range and a voxel having a density in a second range lower than the first range are adjacent · As a second event, a process of arranging an item object at a position within a virtual space where a voxel having a density in a first range is defined

[0026] According to the configuration of (10) above, by arranging the item object in response to the change of the voxel object, it is possible to give the player a motivation to deform the voxel object.

[0027] (11) In the configuration of (10) above, the game program causes the computer to perform an appearance determination as to whether to make an item object appear each time the degree of change of the voxel indicated by the first parameter increases by a predetermined degree. If it is determined that the item object should appear, the item object may be made to appear and arranged.

[0028] According to the configuration of (11) above, since the item object is arranged periodically by continuously changing the voxel, it is possible to give the player a motivation to continuously deform the voxel object.

[0029] (12) In the configuration of (9) above, the game program may cause the computer to give in-game items to the player in response to the degree of change of the voxel indicated by the first parameter reaching a predetermined degree.

[0030] According to the configuration of (12) above, by giving items in response to the change of the voxel object, it is possible to give the player a motivation to deform the voxel object.

[0031] Another example of the present invention may be an information processing apparatus or an information processing system that executes the processes in (1) to (12) above. Another example of the present invention may also be a game processing method for causing an information processing system to execute the processes in (1) to (12) above.

Effect of the Invention

[0032] According to the game program, information processing system, information processing apparatus, or game processing method described above, it is possible to generate a game event according to a change in voxel data.

Brief Description of the Drawings

[0033]

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

Figure 25

Figure 26

Figure 27

Figure 28

Figure 29

Figure 30

Figure 31

Figure 32

Figure 33

Figure 34

Figure 35

Figure 36

Figure 37

Figure 38

Figure 39

Figure 40

Figure 41

Figure 42

Figure 43

Embodiments for Carrying Out the Invention

[0034] [1. Configuration of the Game System] 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. Also, the game system 1 can be used with the main body device 2, the left controller 3, and the right controller 4 separated from each other (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.

[0035] 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 processes) 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.

[0036] 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, respectively. 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 "controller".

[0037] Figure 3 is a six-sided view showing an example of the main body device 2. As shown in Figure 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.

[0038] 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 with the left controller 3 and the right controller 4 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.

[0039] As shown in Figure 3, the main body device 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays the 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.

[0040] 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).

[0041] The main body device 2 includes a speaker (that is, the speaker 88 shown in Figure 6) inside the housing 11. As shown in Figure 3, speaker holes 11a and 11b are formed in 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.

[0042] The main body device 2 also 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.

[0043] 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 storage medium of a predetermined type. The storage medium of the predetermined type 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 storage medium of the predetermined type is used, for example, to store data (e.g., save data of an application, etc.) used in the main body device 2 and / or a program (e.g., a program of an application, etc.) executed in the main body device 2. Further, the main body device 2 includes a power button 28.

[0044] 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 the present 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 an image generated and output by the main body device 2 on a stationary monitor. Further, in the present 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).

[0045] 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 held in a vertically long orientation when removed from the main body device 2. The housing 31 has a shape and size that can be held with one hand, particularly the left hand, when held in a vertically long orientation. Further, the left controller 3 can also be held in a horizontally long orientation. When the left controller 3 is held in a horizontally long orientation, it may be held with both hands.

[0046] 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.

[0047] 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 arrow button 33, a down arrow button 34, an up arrow button 35, and a left arrow 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.

[0048] 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.

[0049] 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.

[0050] 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. Also, 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. Further, 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.

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

[0052] FIG. 6 is a block diagram showing an example of the internal configuration of the main body device 2. In addition to the configuration shown in FIG. 3, the main body device 2 includes each of the components 81 to 91, 97, and 98 shown in FIG. 6. 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.

[0053] 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, etc.).

[0054] As an example of an internal storage medium built in 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.

[0055] 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 according to an instruction from the processor 81.

[0056] The processor 81 appropriately reads and writes data between the flash memory 84 and the DRAM 85, and each of the above storage media, and executes the above information processing.

[0057] 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) 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 (registered trademark) standard as a first communication mode. Further, 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 so-called "local communication" in which wireless communication is possible with other main body devices 2 arranged within a closed local network area, and data is transmitted and received by direct communication between a plurality of main body devices 2.

[0058] 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. However, in the present embodiment, the controller communication unit 83 communicates with the left controller 3 and the right controller 4 in accordance with the Bluetooth (registered trademark) standard.

[0059] The processor 81 is connected to the above-described left terminal 17, right terminal 21, and lower terminal 27. 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. Further, 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. Also, 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. Further, 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 (e.g., image data and audio data) to a stationary monitor or the like via the cradle.

[0060] 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, it is possible for a first user to input to the main body device 2 using a first set of the left controller 3 and the right controller 4 while a second user inputs to the main body device 2 using a second set of the left controller 3 and the right controller 4.

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

[0062] The main unit 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.

[0063] The main unit 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. Also, although not shown, the power control unit 97 is connected to each part of the main unit 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.

[0064] 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 unit device 2 via the lower terminal 27, the supplied power is charged to the battery 98.

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

[0066] 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 both by wired communication via the terminal 42 and by 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 removed 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 in accordance with, for example, the Bluetooth (registered trademark) standard.

[0067] 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.

[0068] 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 an appropriate timing.

[0069] The communication control unit 101 acquires information related to input (specifically, information related to 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 related to input is transmitted to the main body device 2 may be the same or different for each input unit.

[0070] When the above operation data is transmitted 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.

[0071] 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).

[0072] 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 by both wired communication via the terminal 64 and wireless communication without using the terminal 64 (specifically, communication conforming to the Bluetooth (registered trademark) standard), and controls the communication method that the right controller 4 performs with the main body device 2.

[0073] 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.

[0074] 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.

[0075] [2. Overview of Processing in the Game System] Next, with reference to FIGS. 8 to 29, 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 that is a three-dimensional virtual space, and displays it on a display device. Note that, 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.

[0076] [2-1. Voxel] In the present embodiment, for some objects in the game space, the shape is 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 indicating information regarding 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 a plurality of voxels set in the game space.

[0077] 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, it is not necessary for the sides of the terrain object to be thickly displayed.

[0078] Note that the terrain object shown in FIG. 8 is generated, for example, according to the rule that "if 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 if 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, in reality, for example, like the terrain object shown in FIG. 13 described later, a voxel object is generated according to a rule that results in a complex shape (based on voxel data). Note that the rule for determining the shape of the 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. 13 based on object data.

[0079] 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 also 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.

[0080] 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 is changed 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.

[0081] In this embodiment, it is assumed that voxels are defined throughout the game space (that is, the voxel space in which voxels are set corresponds to the entire game space). However, the voxel space does not necessarily have to be set throughout the game space, and it may be set in a partial area of the game space. When the voxel space is set in a partial area of the game space, the shape of the voxel object is defined by the voxel data regarding the voxels in the voxel space, and the position of the voxel object in the game space is defined by the position of the voxel space in the game space. Also, in the game space, a main voxel space set throughout the game space and a sub-voxel space set in a partial area of the game space may be set. At this time, the game system 1 stores voxel data for each voxel space.

[0082] FIG. 11 is a diagram showing an example of voxel data. The voxel data includes density data, a first material ID, a second material ID, material mixing ratio data, and state data for each voxel defined in the game space. In the voxel data in this embodiment, these data are set for each voxel.

[0083] The density data indicates the density, which is an index used to define the shape of the voxel object based on the voxel (specifically, the shape defined by a mesh described later). 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.

[0084] In this 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 this 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 region within the voxel object in the voxel tends to be large, and when the value of the density is low, the ratio tends to be small. Based on the density, the surface shape of the voxel object is determined. In this way, the density is an index that affects the ratio of the volume occupied by the region within the voxel object in the voxel. It can also be said that the density is an index indicating the degree to which the space of the voxel is virtually occupied by the content (that is, the virtual content of the voxel object). For example, when the density is 0, the inside of the voxel is empty, when the density is 255, all of the inside of the voxel is the content of the voxel object, and when the density is a value between 0 and 255, the inside of the voxel can be occupied by the content of the voxel object at a ratio corresponding to the value. Then, based on the above density, the shape of the mesh, that is, the surface shape of the voxel object can be determined. The mesh can be said to be the surface of the part where the content exists in the voxel, or it can also be said to be the boundary between the part where the content exists and the part where it does not exist in the voxel. Note that the volume occupied by the region within the voxel object generated based on the above density does not have to be exactly the volume corresponding to 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. 13, even if based on the same density, the volume of the voxel object may be different.

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

[0086] The first material ID and the second material ID are information indicating the material (in other words, substance) of the voxel. Here, in the present embodiment, materials such as sand, rock, or soil are set for the voxel. Note that in the game system 1, a plurality of types of materials are prepared as materials that can be set for the voxel (refer to the material data shown in FIG. 12). In the present embodiment, up to two materials out of the plurality of types of prepared materials can be set for one voxel. The first material ID is an ID indicating the first material set for the voxel, and the second material ID is an ID indicating the second material set for the voxel. Although details will be described later, the material of the voxel object (that is, the material set for the polygon of the voxel object) is determined based on the material set for the voxel.

[0087] As described above, in the present embodiment, the voxel data includes the ID indicating the material. However, in other embodiments, the voxel data may be a data structure including data directly indicating the content of the material (that is, the name, properties, and drawing setting information described later).

[0088] The material mixing ratio data is an example of data indicating the ratio of each material in the voxel. In the present embodiment, since the number of material IDs set in one voxel is up to two, the material mixing ratio data indicating one of the ratio of the material indicated by the first material ID and the material indicated by the second material ID can also represent the other ratio. In the present embodiment, the material mixing ratio is a value indicating the ratio of the second material to the whole composed of the first material and the second material by a value of 0 or more and 1 or less. For example, when the material mixing ratio set in a certain voxel is 0.4, it means that in the voxel, the first material and the second material are composed in a ratio of 0.6:0.4. Although details will be described later, the appearance and properties of the voxel object are determined based on the material. The material mixing ratio is used to determine the appearance and properties of the voxel object. In other embodiments, the material mixing ratio may be a value indicating the ratio of the first material. Also, the ratio of the materials in the voxel may be represented by respective values indicating the ratio of each material. In particular, in other embodiments, when three or more types of materials can be set instead of up to two types, the ratio of the materials in the voxel is represented as a plurality of values respectively indicating the ratio of each material.

[0089] In the present embodiment, it is not always necessary to set two types of materials in the voxel, and one type of material may be set. For example, when one type of material is set in a certain voxel, the first material ID indicates the material, and the material mixing ratio is set to 0.

[0090] The state data indicates the state set in the voxel. The specific content and number of types of the state data are arbitrary. In the present embodiment, the state data includes data indicating the amount of damage set in the voxel. In other embodiments, the state data may include, for example, data indicating whether the voxel is in a wet state (and the degree thereof).

[0091] As described above, in this embodiment, since the voxel data includes the material ID, the game system 1 stores material data that defines the content of the material indicated by the material ID. FIG. 12 is a diagram showing an example of the material data. As shown in FIG. 12, in the material data in this embodiment, for each material, the material ID is associated with the name, properties, rendering settings, and internal material ID information set for the material.

[0092] The name included in the material data is the name set for the material (for example, soil, sand, grass, etc.). Although details will be described later, during the game, the name of the material of the voxel object may be displayed (see FIG. 28). In order to perform such a display, the material data includes information on the name of the material.

[0093] The properties included in the material data are the properties set for the material. The properties of the material are the properties that the voxel object to which the material is set has in the game. Note that the specific content and number of types of the properties of the material are arbitrary. For example, at least any of the following information may be set as the properties of the material. · Hardness · Weight · Slipperiness · Damage setting when the player character touches · Temperature · Whether another object can adhere to the voxel object · Amount of recovery of the player character's physical strength when the player character destroys or acquires the voxel object · Amount of in-game currency acquired by the player character when the player character destroys or acquires the voxel object In other embodiments, information different from the above may be set as the information indicating the properties of the material.

[0094] In this embodiment, as information for specifying the properties of a material, the material data includes an ID indicating the property (see FIG. 12). Although not shown, the game system 1 stores property information in which, for each property to be prepared, the content of the property (for example, a value indicating the weight or slipperiness described above) is associated with the property ID. By referring to the above property information, the game system 1 can specify the specific content of the property set for the material.

[0095] The rendering settings included in the material data are information indicating settings related to rendering, such as the texture used for rendering the voxel object to which the material is set. In this embodiment, as information on the rendering settings, the material data includes the ID of the texture used for rendering the voxel object to which the material is set (see FIG. 12). Although not shown, the game system 1 stores texture information in which, for each texture to be prepared, the texture ID is associated with the texture indicated by the texture ID. By referring to the above texture information, the game system 1 can specify the specific content of the texture set for the material. In other embodiments, as information on the rendering settings, in addition to the texture information, any information related to the shading settings may be set. For example, the reflectivity, information related to the normal, etc. may be set.

[0096] As shown in FIG. 12, in the material data of the present embodiment, an internal material ID is associated with a material ID. When the material ID to which the internal material ID is associated indicates the material of the outer part of an object, the internal material ID indicates the material of the inner part of the object (hereinafter referred to as "internal material"). For example, the ID of the material representing the outer bark of a tree may be associated with the ID of the material representing the inside of the tree as the internal material ID. Also, for example, the ID of the material representing the ground surface of grass may be associated with the ID of the material representing the internal soil when the grass on the ground surface is peeled off as the internal material ID. In the present embodiment, the internal material is preset for each type of material. However, depending on the type of material, there may be a case where the internal material is not set, that is, the internal material ID is not associated with the material ID. Although details will be described later, the internal material is used as the material after change when a material change process is executed on the voxel in which the material to which the internal material is associated is set (see [2-8-1. Example where the number of bullets increases and an event where the player character throws a bullet occurs] described later).

[0097] In the material data in this embodiment, the same value as the ID set as the internal material ID is set as the material ID. For example, in the example shown in FIG. 12, the ID of the soil material (001 in FIG. 12), which is the internal material ID associated with the ID of the grass material (003 in FIG. 12), is also set as the material ID. Therefore, by referring to the material data, it is possible to specify the name, properties, and drawing setting information associated with the internal material ID. Note that the material data may be any data structure capable of specifying information corresponding to the internal material ID. The material data may be a data structure in which the name, properties, and drawing setting information are indirectly associated with the internal material ID as described above, or a data structure in which these information are directly associated with the internal material ID.

[0098] Also, the material data may include data other than the data shown in FIG. 13. For example, the material data may include data related to sound settings. For example, the data related to sound settings may be data that defines the footstep sound output when the player character walks on the voxel object based on the voxel.

[0099] Note that the material data may be any form of data capable of specifying the properties and / or drawing settings of the material. For example, in other embodiments, the material data may have a data structure that includes data directly indicating the properties and / or drawing settings of the material instead of a data structure including the material ID and the texture ID.

[0100] [2-2. Update of Voxel Data] During the game, when the above-described voxel data is updated, the voxel object is deformed. In the present embodiment, when a game event (hereinafter referred to as an "update event") for updating the voxel object occurs, the game system 1 updates the voxel data. The specific content of the update event is arbitrary. The update event may be, for example, that a character appearing in the game performs an action to deform the voxel object (for example, the player character punches the voxel object), or an event that deforms the voxel object occurs (for example, an object thrown by the character contacts the voxel object, or a bomb explodes).

[0101] FIG. 13 is a diagram showing an example of the game space when an update event occurs. The situation shown in FIG. 13 is a situation where the player character 201 performs a punch action on the terrain object 202, which is a voxel object. Although details will be described later, in the example shown in FIG. 13, the voxel data is updated so that the terrain object 202 around the position where the punch action by the player character 201 hits is deleted. As a result, the state in which the terrain object 202 is destroyed by the punch action of the player character 201 is expressed.

[0102] In this embodiment, when an update event occurs, the game system 1 sets an update range (update range 203 shown in FIG. 13) for updating the voxel object in the game space. The position, shape, and size of the update range are arbitrary. The position of the update range may be determined based on, for example, the position where the object related to the generated update event (for example, the player character who performed a punch) contacts the voxel object. In the example shown in FIG. 13, the position of the update range 203 may be determined based on the position where the punch by the player character 201 hits, and for example, the hit position or the position a predetermined distance forward from the hit position may be the center position of the update range 203. The shape and size of the update range may be determined in advance to be a shape corresponding to the type of the update event. For example, when an update event due to the punch of the player character 201 occurs, the shape and size of the update range may be determined as a sphere with a predetermined size as shown in FIG. 13. Further, the size of the update range may be determined according to a value indicating the degree of influence of the generated update event (for example, the strength of the punch or the size of the explosion).

[0103] The game system 1 changes the density for the voxels corresponding to the set update range. Note that the voxels corresponding to the update range are, for example, the voxels within the update range or the voxels overlapping with the update range. As a result of the change in density, the mesh of the voxel object is changed by the process described later, so that the shape of the voxel object (the visible shape and the shape used for collision determination) is changed. Note that in other embodiments, in addition to changing the density for the voxels included in the update range, the game system 1 may change the material (that is, the first material, the second material, and the material mixing ratio) in the voxels or change the state in the voxels.

[0104] In this embodiment, the game system 1 determines whether a voxel is included in the update range using an SDF (Signed Distance Field). The game system 1 sets an SDF indicating the update range set in the game space, and makes the above determination based on the value of the SDF. The SDF represents, with a sign, the distance from a defined shape for any position. FIG. 14 is a diagram showing an example of the update range. In the example shown in FIG. 14, a spherical update range is set in the game space. For example, in the example shown in FIG. 14, among the positions in the game space, the SDF value becomes negative for the positions inside the shape represented by the SDF, and the SDF value becomes positive for the positions outside the shape represented by the SDF. In this example, it is possible to determine whether or not it is included in the update range depending on whether the value of the SDF is positive or negative. Also, by using the value of the signed distance, not only simple inside / outside determination but also processes such as correction and interpolation can be performed.

[0105] In the above, an example in which a change is added to the voxel object such that the voxel object within the update range is deformed as if it were erased has been described, but the changes added to the voxel object using the update range are not limited to this. For example, a change in which a voxel object is newly added within the update range (that is, the volume occupied by the area within the voxel object increases by the amount of the update range) may be added to the voxel object (see FIG. 29 described later). Also, a change may be added to the voxel object such that only the material of the voxels within the update range changes without changing the density of the voxels. Further, a change combining a change in the density of the voxels and a change in the material may be added.

[0106] [2-3. Calculation of vertices] When the density of the voxels is updated as described above, the game system 1 sets vertices based on the updated voxel data. The above vertices can be the vertices of the mesh of the voxel object. Although details will be described later, in this embodiment, the above vertices are simplified, and the simplified vertices become the vertices of the mesh of the voxel object.

[0107] FIG. 15 is a diagram showing an example of a method for setting vertices. In FIGS. 15 to 24 described below, for the purpose of making the drawings easier to view and the explanations easier to understand, voxels, vertices, meshes, etc. are represented two-dimensionally, but in reality, vertices and meshes are set in a three-dimensional space based on voxels in the three-dimensional space. In this embodiment, the game system 1 uses a method of setting vertices at coordinates based on the positions and densities of a plurality of surrounding voxels for a portion where a voxel having a density of a setting indicating its existence (i.e., a density equal to or greater than a reference value described later) and a voxel having a density of a setting indicating its non-existence (i.e., a density less than the reference value described later) are adjacent. The details of this method will be described below.

[0108] As described above, in this embodiment, the density set for each voxel is set in the range of 0 to 255. A voxel with a density of 0 is completely in the air, and a voxel with a density of 255 represents a state where it is completely filled. Densities between 0 and 255 are treated interpolatively and used for vertex determination. And in this embodiment, voxels with a density greater than or equal to a reference value are virtually treated as being inside the object, and voxels with a density less than the reference value are treated as being outside the object. It can also be said that voxels with a density greater than or equal to the reference value are virtually treated as voxels indicating their existence, and voxels with a density less than the reference value are treated as voxels indicating their non-existence. It is not necessary to define only voxels with a density of 0 as being outside the object (i.e., set the reference value = 1), and the reference value can be, for example, 128. In the example shown in FIG. 15, the density is 0 in voxel 211 and other outer voxels, the density of voxel 212 is 100 which is less than the reference value, and the densities in voxels 213 and 214 are set to 150 and 210 which are greater than or equal to the reference value. In this embodiment, the game system 1 generates vertices between voxels with a density greater than or equal to the reference value and voxels with a density less than the reference value. Specifically, for each region spanning eight (four in the drawing) adjacent voxels (the region surrounded by the dotted line in the drawing), a determination is made as to whether to generate a vertex. That is, a vertex is generated in a region spanning both voxels with a density greater than or equal to the reference value and voxels with a density less than the reference value. The coordinates of the vertex are determined by interpolating based on the density difference by comparing the densities of adjacent voxels for each of the X, Y, and Z axes. By setting normal information that defines the position and orientation of the straight line connecting the vertices, the coordinates of the vertices can be further calculated based on the normal information. Note that the normal information may be retained in advance 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. 15, since the density of voxel 212 is less than the reference value, voxel 212 is treated as being outside the object in the determination of the presence or absence of vertices, but the density value of voxel 212 itself is used for the calculation of the coordinates of the generated vertices.If the reference value is set to a value lower than the density of voxel 212, the number of vertices will further increase on the upper right side and the upper left side of voxel 212 in FIG. 15.

[0109] By setting the vertices as described above, when generating a mesh that connects each of the set vertices (or each vertex after performing the simplification process described later on each of the set vertices), a shape having 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 a voxel with a density of 0 may include a region within the object, or a voxel with a density of 255 may include a region outside the object. Also, in this embodiment, since voxels with a value less than the reference value are processed as outside the object, the volume is smaller by the amount that the number of vertices is less compared to the case of processing them as inside the object. Thus, it is not necessary to calculate the polygon mesh so as to have a volume that exactly corresponds to the density value.

[0110] [2-4. Determination of Vertex Material] The game system 1 determines the material for each of the vertices set as described above. The vertex material is determined based on the materials of the voxels around the vertex. The voxels around the vertex are, for example, the voxels used to determine whether to generate the vertex (that is, the voxels that overlap with the "region spanning voxels" described above). Note that in other embodiments, the voxels used to determine the vertex material do not have to be the same as the voxels used to determine the generation of the vertex and may be different.

[0111] FIG. 16 is a diagram showing an example of a method for determining the material of a vertex. In the example shown in FIG. 16, it is assumed that vertex 219 is set for four voxels 215 to 218, and the four voxels 215 to 218 are the above-mentioned "voxels around the vertex". In the actual three-dimensional space, the number of voxels around the vertex is eight. Also, in the example shown in FIG. 16, for voxel 215, the density is 255, the first material is "sand", and the material mixing ratio is 0 (that is, the first material: the second material = 1:0, or the second material may not be set). For voxel 216, the density is set to 0 (the first and second materials may not be set). For voxel 217, the density is 204, the first material is "sand", the second material is "grass", and the material mixing ratio is 0.3 (that is, the first material: the second material = 0.7:0.3). For voxel 218, the density is 153, the first material is "soil", the second material is "grass", and the material mixing ratio is 0.4 (that is, the first material: the second material = 0.6:0.4). Also, the coordinates indicating the position of vertex 219 are assumed to be (X, Y) = (0.8, 0.6). Note that the coordinate system of these coordinates has the left-right direction in FIG. 16 as the X coordinate, the up-down direction as the Y coordinate, and the center position of the lower-left voxel 217 (the position of the white circle shown in FIG. 13) among the center positions of voxels 215 to 218 as (0, 0).

[0112] When determining the material of a vertex, the game system 1 calculates an evaluation value for each material in the surrounding voxels based on the density of the material and a weight value based on the distance from the voxel to the vertex. First, the weight value is calculated for each voxel and is calculated so that it becomes larger as the distance from the center position of the voxel to the vertex is closer. In the present embodiment, when the center position of the voxel is (x1, y1) and the coordinates of the vertex are (x2, y2), the weight value for a certain voxel is calculated according to the following formula (1). (Weight value) = |(1 - x1) - x2|·|(1 - y1) - y2|…(1) In the example shown in FIG. 16, the weight values of each of the voxels 215 to 218 calculated according to the above formula (1) are as follows. (Weight value of voxel 215)=|(1 - 0) - 0.8|·|(1 - 1) - 0.6| = 0.12 (Weight value of voxel 216)=|(1 - 1) - 0.8|·|(1 - 1) - 0.6| = 0.48 (Weight value of voxel 217)=|(1 - 0) - 0.8|·|(1 - 0) - 0.6| = 0.08 (Weight value of voxel 218)=|(1 - 1) - 0.8|·|(1 - 0) - 0.6| = 0.32

[0113] Also, the game system 1 calculates the density of the material for each voxel. Here, the density of the material is a value obtained by multiplying the ratio occupied by the material among the materials set in the voxel by the density of the voxel. In the present embodiment, as the density of the voxel, a value obtained by normalizing the above-described value from 0 to 255 to a value from 0 to 1 is used. In the example shown in FIG. 16, for voxel 215, since the only material set is sand, the above ratio regarding the sand material is 1, and since the density of the voxel is 1, the density of the sand material is 1. For voxel 216, since the density is 0 and no material is set, the density of the material is not calculated. Or, if any material is set, the density of the material is 0. For voxel 217, the above ratios of the set sand material and grass material are 0.7 and 0.3, respectively, and since the density of the voxel is 204 / 255 = 0.8, the density of the sand material is 0.7·0.8 = 0.56, and the density of the grass material is 0.3·0.8 = 0.24. For voxel 218, the above ratios of the set soil material and grass material are 0.6 and 0.4, respectively, and since the density of the voxel is 153 / 255 = 0.6, the density of the soil material is 0.6·0.6 = 0.36, and the density of the soil material is 0.4·0.6 = 0.24.

[0114] Then, the game system 1 calculates the above evaluation value for each material based on the above weight value and the density of the material. In the present embodiment, the evaluation value of the material is a value obtained by attaching a weight according to the weight value for each voxel to the density of the material calculated for each voxel and summing for each surrounding voxel. In the example shown in FIG. 16, for the evaluation value of the sand material, the density of the material for voxel 215 is 1 and the weight value is 0.12, and the density of the material for voxel 217 is 0.56 and the weight value is 0.08, so 1·0.12 + 0.56·0.08 = 0.1648. Also, for the evaluation value of the grass material, the density of the material for voxel 217 is 0.24 and the weight value is 0.08, and the density of the material for voxel 218 is 0.24 and the weight value is 0.32, so 0.24·0.08 + 0.24·0.32 = 0.096. Also, for the evaluation value of the soil material, the density of the material for voxel 218 is 0.36 and the weight value is 0.32, so 0.36·0.32 = 0.1152.

[0115] The game system 1 determines the vertex materials based on the evaluation values for each material. Specifically, a predetermined number of materials are determined as the vertex materials in descending order of the evaluation values. In the present embodiment, two materials with large evaluation values are determined as the vertex materials. In the example shown in FIG. 16, since the evaluation values of the materials of sand, grass, and soil are 0.1648, 0.096, and 0.1152, respectively, the vertex materials are determined as the sand material and the soil material. Further, the game system 1 calculates the ratio of the two determined materials based on the above evaluation values. In the present embodiment, the ratio of the two materials may be expressed as a second material ratio, which is the ratio of the second material to the whole, similar to the above material mixing ratio. In the example shown in FIG. 16, for example, when the first material is the soil material and the second material is set as the sand material, the second material ratio is shown as 0.1648 / (0.1648 + 0.1152) ≒ 0.59. Note that in other embodiments, as the value representing the ratio of the two materials, a value indicating the ratio of the first material may be used. Also, respective values indicating the ratio of each material may be used.

[0116] In the present embodiment, the game system 1 generates and stores vertex data indicating the position of the vertex, the material IDs of the first and second materials set for the vertex, and the ratio of the materials. However, the method of managing the materials set for the vertex is arbitrary. In other embodiments, the vertex data may be a data structure including data directly indicating the contents of the first and second materials.

[0117] As described above, in the present embodiment, for each vertex, for the material IDs included in the voxel data of a plurality of surrounding voxels, a priority parameter (for example, an evaluation value) for each material ID is calculated based on the voxel data. Then, based on the priority parameter, up to a predetermined number (here, two) of material IDs with high priority are selected and determined as the material ID of the vertex. Note that the specific parameter used as the priority parameter is not limited to the above evaluation value. For example, in other embodiments, an evaluation value calculated using the density of the material instead of the above weight value may be used as the priority parameter.

[0118] In the present embodiment, an evaluation value, which is an example of the priority parameter, is calculated based on the densities of a plurality of voxels around the vertex so that the priority of the material set in the voxel with a higher density becomes higher (that is, the evaluation value of the material becomes larger and the material is more likely to be selected). According to this, the material of the vertex can be determined by reflecting the magnitude of the density set in the voxel.

[0119] Also, in the present embodiment, an evaluation value, which is an example of the priority parameter, is calculated based on the distance from the reference position (specifically, the center position) of a plurality of voxels around the vertex to the vertex so that the priority of the material set in the voxel closer to the vertex becomes higher. According to this, the material of the vertex can be determined by reflecting the distance between the voxel and the vertex.

[0120] Also, in the present embodiment, it can be said that an evaluation value, which is an example of the priority parameter, is calculated based on the material mixing ratio of a plurality of voxels around the vertex so that the priority of the material with a higher material mixing ratio becomes higher. According to this, when a plurality of materials are set in one voxel, the material of the vertex can be determined by reflecting the ratio of each material.

[0121] [2-5. Simplification of Vertex] In this embodiment, the game system 1 simplifies each vertex calculated as described above. That is, the game system 1 reduces the number of vertices by grouping some of the vertices calculated as described above and replacing them with a single vertex. Although details will be described later, the coordinates (i.e., positions) and materials of the vertices to be replaced are set based on a plurality of vertices before replacement. By such simplification, the number of vertices and the number of polygons constituting the mesh of the voxel object can be reduced, and the amount of memory used for processing and the processing load can be reduced.

[0122] In this embodiment, the game system 1 simplifies by expressing each vertex using an SVO (Sparse Voxel Octree). FIG. 17 is a diagram showing an example of vertex simplification. In FIG. 17, one square indicated by a solid line shown in FIG. 17(a) represents one vertex division region. Here, the vertex division region is a square region having the center position of the voxel as a vertex (in the actual three-dimensional space, the vertex division region is a cube or a rectangular parallelepiped), and is a region having the dotted lines in FIGS. 15 and 16 described above as sides. Further, in FIG. 17, the vertex division region in which the letter "v" is shown inside indicates the vertex division region in which vertices are set.

[0123] In this embodiment, the game system 1 determines whether or not it is possible to simplify the vertices within a predetermined number (four in FIG. 17, eight in the actual three-dimensional space) of mutually adjacent vertex division regions. When it is determined that simplification is possible, the vertices within the predetermined number of vertex division regions are simplified.

[0124] Fig. 17(a) shows the state before simplification. In the example shown in Fig. 17, it is assumed that the vertex division regions within the range surrounded by the dotted line can be simplified. At this time, the game system 1 performs simplification so that the vertices within each of the predetermined number of vertex division regions determined to be simplifiable are replaced by one vertex (see Fig. 17(b)). As a result, the vertices within the predetermined number of vertex division regions are simplified to one vertex.

[0125] In this embodiment, the game system 1 performs simplification in multiple stages. The number of stages is arbitrary, but in Fig. 17, only the first two stages are illustrated and described. Fig. 17(b) shows the state after the first-stage simplification, and Fig. 17(c) shows the state after the second-stage simplification. In the second-stage simplification, it is determined whether simplification is possible for the vertices generated by the first-stage simplification. In the example shown in Fig. 17, as a result of determining that the vertex division region within the range surrounded by the dotted line in Fig. 17(b) can be simplified, the vertices of the vertex division region are simplified, resulting in the state shown in Fig. 17(c). Note that the determination conditions for whether the first-stage simplification is possible and the determination conditions for whether the second-stage simplification is possible may be the same or different.

[0126] Regarding the determination of whether simplification is possible, the specific method is arbitrary. In this embodiment, as conditions for the above determination, conditions related to the shape of the voxel object and conditions related to the material are used. In this embodiment, when both the conditions related to the shape of the voxel object and the conditions related to the material are satisfied, it is determined that simplification is possible, and when at least one of the conditions related to the shape of the voxel object and the conditions related to the material is not satisfied, it is determined that simplification is impossible.

[0127] The condition regarding the shape means, for example, that the shape formed by each vertex before simplification and the shape formed by each vertex after simplification are not significantly changed. For example, whether or not the shape formed by each vertex is significantly changed before and after simplification can be determined by calculating an index indicating the error between the mesh before simplification and the mesh after simplification and checking whether the index is less than or equal to a predetermined allowable value. Also, for example, when the shape formed by each vertex before simplification is a hollow shape, but the shape formed by each vertex after simplification is not a hollow shape (that is, the information that it is hollow is lost due to simplification), it is also determined that the condition regarding the shape is not satisfied. Whether or not the above situation occurs can be determined, for example, based on the density of each voxel corresponding to the vertex division region to be determined. Also, for example, when the shape formed by each vertex before simplification is a shape that can only be represented by two or more vertices and cannot be represented by a single vertex, it is also determined that the condition regarding the shape is not satisfied. Note that as the condition regarding the shape of the voxel object, the same condition as the conventional method using SVO may be used.

[0128] Also, as a condition regarding materials, in the present embodiment, a condition regarding the number of types of materials set for each vertex within the above-mentioned predetermined number of vertex division regions to be simplified is used. FIG. 18 is a diagram showing an example of the condition regarding materials. FIG. 18(a) shows a case where the materials of vertices 221 to 224 are (grass), (grass), (grass and soil), and (grass and soil) respectively, and FIG. 18(b) shows a case where the materials of vertices 221 to 224 are (grass and sand), (grass), (grass and soil), and (grass and soil) respectively. In the present embodiment, the condition regarding materials is that the total number of types of materials set for each of the above vertices to be simplified is equal to or less than a predetermined number. For example, the condition regarding materials is that it is equal to or less than the number of materials that can be set for one vertex. In the present embodiment, the above-mentioned predetermined number is 2. For example, in the case of FIG. 18(a), the total number of types of materials set for each of the vertices 221 to 224 to be simplified is two types, namely grass and soil, so the condition regarding materials is satisfied. At this time, on the condition that the above-mentioned condition regarding the shape of the object is satisfied, each of the vertices 221 to 224 is determined to be simplifiable. On the other hand, in the case of FIG. 18(b), the total number of types of materials set for each of the vertices 221 to 224 to be simplified is three types, namely grass, soil, and sand, so the condition regarding materials is not satisfied. At this time, regardless of whether the above-mentioned condition regarding the shape of the object is satisfied, each of the vertices 221 to 224 is determined to be non-simplifiable.

[0129] Note that in the game system 1, even if materials are strictly classified into different types, a plurality of types of materials with the same set properties but different appearances may be prepared. Regarding some of such a plurality of types of materials, in the determination of the condition regarding materials, they may be regarded as the same type and the determination may be made. For example, regarding soil materials, there may be a case where a plurality of types of soil materials with the same properties but similar appearances (for example, texture color and pattern) are prepared. In such a case, the game system 1 may regard the plurality of types of soil materials as the same type and make a determination of the condition regarding materials.

[0130] Here, in the present embodiment, with respect to vertices, similar to voxels, up to two types of materials can be set. On the other hand, in the present embodiment, when the total number of types of materials set for each vertex to be simplified is three or more, no simplification is performed. That is, when the total number of types of materials exceeds the number of materials that can be set for one vertex, no simplification is performed. Therefore, even if the number of vertices is reduced by simplification, the information on the materials set for the vertices is not lost due to simplification, and the material information can be maintained.

[0131] In the present embodiment, the material of the vertex after simplification is determined based on the material of each vertex before simplification. Specifically, the game system 1 sets one or two types of materials set for the vertex before simplification as the first material and the second material for the vertex after simplification. Thereby, the material information can be maintained. Note that the ratio of the materials after simplification is determined based on the ratio of the materials of each vertex before simplification. In the present embodiment, the ratio of the materials after simplification is calculated in the same manner as the method of calculating the ratio of the materials of each vertex using the above evaluation value. That is, the game system 1 calculates a weight value based on the distance between the vertex after simplification and the vertex before simplification, and based on the weight value and the density of the material at the vertex before simplification (note that the evaluation value of the material described in [2-4. Determination of the material of the vertex] above can be used as the density of the material here), calculates an evaluation value for each material. Then, the ratio of the materials is calculated based on the calculated evaluation value of each material.

[0132] [2-6. Generation of Mesh] In this embodiment, based on each vertex simplified as described above, a mesh of the voxel object is generated. FIG. 19 is a diagram showing an example of a mesh generated based on each vertex. Note that the square shown in FIG. 19 indicates the above-described vertex division region, or a vertex division region in which a plurality of vertex division regions are combined into one by simplification. As shown in FIG. 19, the game system 1 generates a mesh composed of polygons having as sides straight lines connecting vertices adjacent to the vertex division regions. Each polygon constituting the mesh is a triangle or a quadrilateral.

[0133] In this embodiment, the game system 1 generates two types of meshes: a display mesh and a determination mesh. The display mesh is a mesh used for displaying the voxel object. The determination mesh is a mesh used for collision determination of the voxel object. Although details will be described later, by using the above two types of meshes, the game system 1 can perform processing using meshes suitable for displaying and collision determination of the voxel object, respectively.

[0134] In this embodiment, the game system 1 generates the display mesh and the determination mesh based on the data of the above-described SVO (that is, based on each simplified vertex). According to this, by sharing the vertex data used for generating the two types of meshes, the processing efficiency can be improved. Note that in other embodiments, the game system 1 may not perform vertex simplification and may generate the display mesh and / or the determination mesh based on non-simplified vertices.

[0135] In this embodiment, the game system 1 generates the determination mesh to have a simpler shape than the display mesh. Specifically, the game system 1 reduces the number of vertices of the determination mesh compared to the number of vertices of the display mesh. Here, in this embodiment, the SVO data is data that holds the data of the vertices before simplification and the data of the simplified vertices in an octree structure, and also includes the data used for determining whether simplification is possible. This data includes, for example, the data of vertices calculated as candidates for the vertices after simplification (referred to as provisional vertices), and the data of the above-mentioned index indicating the error between the vertices before simplification and the provisional vertices. For example, the game system 1 may use, for the generation of the determination mesh, the vertices among the provisional vertices for which the above index is equal to or less than a predetermined threshold (this threshold is set to be larger than the above tolerance value). According to this, the number of vertices of the determination mesh can be made less than the number of vertices of the display mesh. By making the number of vertices of the determination mesh less than the number of vertices of the display mesh, the processing load due to collision determination can be reduced. Also, since the number of vertices of the display mesh is not excessively reduced, the appearance of the voxel object can be expressed in detail.

[0136] Note that in other embodiments, the display mesh and the determination mesh may be generated based on the same data or may be generated based on different data. Also, the display mesh and the determination mesh may have the same shape (however, even in this case, the materials set for both may be different). Also, the number of vertices of the determination mesh may be the same as the number of vertices of the display mesh or may be more than the number of vertices of the display mesh.

[0137] [2-6-1. Determination of the Material of the Display Mesh] Next, an example of a method for determining the material and appearance of the display mesh will be described. In the present embodiment, the game system 1 determines the material for each polygon constituting the display mesh. Although details will be described later, in the present embodiment, the polygon corresponding to the above polygon is drawn using up to two textures corresponding to up to two materials. Therefore, the game system 1 ensures that the number of materials finally set for each polygon constituting the mesh, and ultimately for one polygon, is two or less. In other embodiments, three or more materials may be set. For example, in embodiments where the material of the voxels and the material of the vertices are each three or more, the same number of materials may be set for the polygon.

[0138] In the present embodiment, a quadrilateral may be formed as the polygon constituting the display mesh (see FIG. 19). When determining the material of the display mesh, the game system 1 first divides the quadrilateral constituting the display mesh into two triangles under certain conditions. Hereinafter, with reference to FIG. 20, the process of dividing the quadrilateral into two triangles will be described.

[0139] FIG. 20 is a diagram showing an example in which a quadrilateral constituting a mesh is divided into two triangles. (a) shown in FIG. 20 shows the quadrilateral before division formed by vertices 231 to 234 which are part of the vertices of the mesh, and (b) shown in FIG. 20 shows the two triangles obtained by dividing the quadrilateral. In the example shown in FIG. 20, let the materials of each of the vertices 231 to 234 be grass, soil, sand and grass, and grass, respectively.

[0140] In this embodiment, when there are three or more types of materials set at each vertex of a quadrilateral in total, the game system 1 determines whether the division condition is satisfied. In this embodiment, the division condition is that by dividing the quadrilateral into two triangles, the total number of types of materials set at each vertex of the triangles can be two or less. When the division condition is satisfied, the game system 1 divides the quadrilateral into two triangles such that the total number of types of materials set at each vertex is two or less. In the example shown in FIG. 20, the materials set at each vertex 231 to 234 forming the quadrilateral are three types: grass, soil, and sand. Also, when the above quadrilateral is divided into a triangle formed by vertices 231, 232, 234 and a triangle formed by vertices 231, 233, 234, the materials set at each vertex of the former triangle are two types: sand and grass, and the materials set at each vertex of the latter triangle are two types: grass and soil (see (b) of FIG. 20). Therefore, for the above quadrilateral, the division condition is satisfied, so the game system 1 divides the quadrilateral into two triangles.

[0141] Note that since there are two ways to divide a quadrilateral into two triangles, when the division condition is satisfied for the triangles divided by at least one of the two ways, the game system 1 performs the above division in the way that satisfies the division condition. On the other hand, when the division condition is not satisfied for the triangles divided by either of the two ways, the division is performed in any one way.

[0142] By performing the division as described above, the game system 1 can generate two triangles in which the materials set at each vertex are two or less so as to minimize the loss of information on the three or more types of materials set at each vertex of the quadrilateral. Here, as described above, each polygon constituting the mesh is drawn using up to two types of textures. Therefore, by performing the above division, the game system 1 can draw the polygon using two types of textures so as to minimize the loss of information on the materials set at each vertex.

[0143] In this embodiment, the game system 1 sets a polygon corresponding to the polygon after the above division. That is, the vertices of the polygon after the above division become the vertices of the polygon of the display mesh.

[0144] In this embodiment, for each polygon constituting the display mesh, when there are three or more types of materials set for each vertex of one polygon in total, the game system 1 determines the material of the polygon by selecting two types of materials. FIG. 21 is a diagram showing an example of a method for determining the material of a polygon constituting the display mesh. In the example shown in FIG. 21, for vertex 241 of the triangular polygon constituting the display mesh, let the first material be "grass", the second material be "soil", and the material ratio of the first material: the second material be set to 0.8:0.2. Also, for vertex 242 of the above polygon, let the first material be "grass", the second material be "sand", and the material ratio of the first material: the second material be set to 0.5:0.5. Also, for vertex 243 of the above polygon, let the first material be "sand", the second material be "soil", and the material ratio of the first material: the second material be set to 0.7:0.3.

[0145] When there are three or more types of materials set for each vertex of a polygon in total, the game system 1 calculates a determination value for each material. The determination value is calculated as the value obtained by summing up the ratios for each vertex where the material is set. Then, the game system 1 selects two materials in order from the ones with larger determination values as the materials of the polygon. In the example shown in FIG. 21, the determination value of the grass material is 0.8 + 0.5 = 1.3, the determination value of the sand material is 0.5 + 0.7 = 1.2, and the determination value of the soil material is 0.2 + 0.3 = 0.5. Therefore, as the materials of the polygon shown in FIG. 21, the grass and sand materials are selected (see (a) in FIG. 21).

[0146] Note that the specific method for selecting the material of the polygon of the display mesh is arbitrary. In other embodiments, the material of the polygon of the display mesh may be selected by any method based on the information set at the vertices of the polygon. For example, for the material of the polygon of the display mesh, the material with the largest ratio at one vertex is specified for each vertex, and the material with the largest number of times specified for each vertex may be selected as the material of the polygon.

[0147] In this embodiment, the material of the polygon selected as described above is indicated by the materials set at each vertex of the polygon. That is, when the material of the polygon is selected, the game system 1 changes the materials set at each vertex of the polygon (that is, the material IDs included in the vertex data) to the selected material. In the example shown in FIG. 21, for vertices 241 and 243, before the selection of the material of the polygon, the materials of grass and soil, and sand and soil are set respectively (see (a) of FIG. 21). When the materials of grass and sand are selected as the material of the polygon as described above, the materials set at each of vertices 241 and 243 are changed to grass and sand (see (b) of FIG. 21). Note that for vertex 242, since the material set before the selection is the same as the selected material of the polygon, the material is not changed. As described above, when two types of materials are selected as the material of the polygon, the information on the materials of the third and subsequent types set at each vertex of the polygon will be deleted.

[0148] Further, the game system 1 changes the ratio of the materials set for the vertices according to the change of the materials set for the vertices. For example, for vertex 241, the content changes from the first material being grass and the second material being soil to the first material being grass and the second material being sand. Here, since the ratio of the sand material is 0, the material ratio is the first material: the second material = 1:0. In this way, the above change formally changes the material of each vertex in order to represent the material of the polygon by the materials of the respective vertices of the polygon.

[0149] According to the above, since the material set for each vertex of one polygon is only the material corresponding to the texture used for the drawing described later, it is possible to facilitate the execution of the drawing process using the texture.

[0150] Note that due to the above change, it is possible that the materials for a certain vertex are all changed (that is, none of the materials before and after the change match). Such a case is, for example, a case where the material set for the vertex before the change is soil and the materials selected as the material of the polygon are grass and sand. In such a case, the ratio of the materials at the vertex may be set based on the ratio of the materials at the other vertices of the polygon. For example, in the above example, if the first material set for one of the other vertices of the triangular polygon is grass and the material ratio is grass: sand = 1:0, and the material set for another vertex is sand and the material ratio is sand: grass = 1:0, the material ratio at the vertex may be set to grass: sand = 0.5:0.5. Further, the game system 1 may determine the ratio of the materials at the vertex in consideration of the distance between the vertex and the other vertices (for example, based on a weight value that increases as the distance gets closer).

[0151] As described above, in this embodiment, for each polygon, the game system 1 selects up to a predetermined number (here, two) of the material IDs set for the vertices included in the polygon (that is, the material IDs set for the vertices of the polygon corresponding to the polygon), and determines them as the material IDs of the polygon. According to this, the game system 1 can perform the drawing process while reflecting the material set for the vertices in the appearance of the polygon and suppressing the number of textures used.

[0152] In this embodiment, for all the materials of the vertices constituting the polygon, when the number of the materials is less than or equal to the predetermined number, the game system 1 determines the material as the material of the polygon. When the material exceeds the predetermined number, the game system 1 selects a predetermined number of materials with high priority based on the priority parameter of each vertex (specifically, based on the determination value calculated based on the above-described evaluation value), and determines them as the materials of the polygon. As a result, even when a total of more than a predetermined number of materials are set for each vertex, the material of the polygon can be set to a predetermined number or less of materials considering the priority.

[0153] As described above, in this embodiment, the first and second materials set for each vertex of one polygon are changed to be two types of materials set for the polygon. Here, when such a change is made, there may be a discrepancy in the first and second materials set for the vertices shared by two adjacent polygons.

[0154] FIG. 22 is a diagram showing an example of materials set for each vertex of two adjacent polygons. FIG. 22 shows a state (FIG. 20(b)) in which two polygons are formed by the respective vertices 231 to 234 shown in FIG. 20. In the example shown in FIG. 22, since the material of the first polygon formed by vertices 231, 233, and 234 is determined to be grass and sand, the first and second materials of these vertices should be set to grass and sand, respectively. On the other hand, since the material of the second polygon formed by vertices 231, 232, and 234 is determined to be grass and soil, the first and second materials of these vertices should be set to grass and soil, respectively. Therefore, in the example shown in FIG. 22, there is a conflict in the materials to be set for vertices 231 and 234 shared by the two polygons.

[0155] Therefore, in the present embodiment, when there is a conflict in the materials to be set for the vertices shared by two polygons, the game system 1 adds another vertex at the same position for the relevant vertex. FIG. 22(b) is a diagram showing an example of a state in which vertex 231' is added for vertex 231 and vertex 234' is added for vertex 234. In the example of FIG. 22, for vertices 231 and 234, the game system 1 sets the first and second materials as grass and sand according to the material of the first polygon. For vertices 231' and 234', the game system 1 sets the first and second materials as grass and soil according to the material of the second polygon. In this way, by formally setting two vertices as the vertices shared by two polygons (that is, generating two vertex data with the same position and different materials), it is possible to suppress the occurrence of conflicts in the materials set for the vertices.

[0156] The game system 1 generates a display mesh composed of polygons in which the vertices and materials are determined as described above. Further, the game system 1 performs drawing of the voxel object by performing drawing of the polygon based on the information of the materials set for each vertex (that is, the first material and the second material).

[0157] FIG. 23 is a diagram showing an example of applying a texture to a polygon. FIG. 23 shows a triangular polygon formed by the respective vertices 241 to 243 shown in FIG. 21. Note that the materials set for the respective vertices 241 to 243 are those shown in FIG. 21(b).

[0158] Regarding the positions of the vertices of the polygon, drawing is performed by mapping that blends the texture of the first material and the texture of the second material set for the vertex at the ratio of the material set for the vertex (that is, using the ratio as the blend rate). Note that the textures of the first and second materials used for drawing are the textures indicated by the drawing setting information associated with each material ID associated with the data of the vertex in the above-described material data (see FIG. 12). In the example shown in FIG. 23, regarding the position of vertex 241, since the material ratio is grass:sand = 1:0, drawing is performed using only the grass texture. Also, regarding the position of vertex 243, since the first material is sand and the material ratio is sand:grass = 1:0, drawing is performed using only the sand texture. Further, regarding the position of vertex 242, since the first material is grass, the second material is sand, and the material ratio is grass:sand = 0.5:0.5, drawing is performed by blending the grass texture and the sand texture at a blend rate of 0.5:0.5.

[0159] Also, for positions other than the vertices of the polygon, the game system 1 determines the blend rate by interpolating the blend rates at each vertex. Then, the textures of the two materials set for each vertex are drawn by a mapping that blends them based on the interpolated blend rate. Note that the specific method of interpolation is arbitrary. As an example, the blend rate between vertices is linearly interpolated. In FIG. 23, the positions where the ratio of the texture of the grass material is applied is high are shown in white, and the positions where the ratio of the texture of the sand material is applied is high are shown in black. In the example shown in FIG. 23, the grass texture is applied at vertex 241, the blend ratio of the sand texture increases towards vertex 243, the blend rate of grass and sand becomes 1:1 at the position of vertex 242, and only the sand texture is applied at the position of vertex 243. In this way, by blending and drawing the two textures set for the polygon (that is, set for each vertex of the polygon) at the blend rate according to the ratio of the materials, the appearance at the boundary between different materials in the display mesh can be made natural. Thereby, the appearance of the display mesh with multiple types of materials set can be made natural.

[0160] [2-6-2. Determination of the Material of the Judgment Mesh] Next, an example of a method for determining the material of the judgment mesh will be described. Although details will be described later, in this embodiment, collision detection of the voxel object is performed using the judgment mesh, and processing may be executed according to the material of the voxel object for which collision is detected. Therefore, in this embodiment, the material is also determined for the judgment mesh.

[0161] In this embodiment, the game system 1 makes it so that for each polygon constituting the determination mesh, there is one type of material set for one polygon. Specifically, the game system 1 determines the material set for the polygon of the determination mesh based on the material information set for the vertices of the polygon (that is, the information on the first and second materials and the ratio of the materials).

[0162] FIG. 24 is a diagram showing an example of a method for determining the material of a polygon constituting the determination mesh. FIG. 24 shows an example of determining the material for a triangular polygon formed by the respective vertices 241 to 243 shown in FIG. 21. Note that the materials set for the respective vertices 241 to 243 are those shown in FIG. 21(a).

[0163] When determining the material of a polygon, the game system 1 calculates a determination value for each material set for each vertex of the polygon. In this embodiment, the method for calculating the determination value is the same as the method for calculating the determination value used for selecting the material of the polygon of the display mesh. Note that the specific method for calculating the determination value is arbitrary. In other embodiments, the determination value may be calculated by any method based on the information set for the vertices of the polygon of the determination mesh.

[0164] In the example shown in FIG. 24, the determination value for each material is the same as in the case shown in FIG. 21 described above. The determination value for the grass material is 1.3, the determination value for the sand material is 1.2, and the determination value for the soil material is 0.5. Therefore, the grass material is selected as the material of the polygon shown in FIG. 24.

[0165] As described above, in the present embodiment, for each polygon, the game system 1 selects up to a predetermined number (here, 1) of the material IDs set for the vertices included in the polygon (that is, the material IDs set for the vertices of the polygon corresponding to the polygon), and determines them as the material ID of the polygon. According to this, the game system 1 can suppress the number of materials set for the determination mesh to a predetermined number or less. As a result, it is possible to prevent the processing according to the type of material, which is performed according to the result of the collision determination using the determination mesh, from becoming complicated. Note that the method of determining the material of the polygon of the determination mesh is arbitrary and is not limited to the above. In other embodiments, the material of the polygon of the determination mesh may be determined by any method based on the information set for the vertices of the polygon.

[0166] Also, in the present embodiment, up to two types of materials are set for the polygons of the display mesh, while only one type of material is set for the polygons of the determination mesh. According to this, for the polygons of the display mesh, two types of textures can be used to achieve a natural appearance, and for the determination mesh, it is possible to prevent the processing performed according to the result of the collision determination using the determination mesh from becoming complicated. Note that in other embodiments, the types of materials that can be set for the polygons of the display mesh and the determination mesh are arbitrary. The number of materials that can be set for the polygons of the display mesh and the number of materials that can be set for the polygons of the determination mesh may both be plural, may be the same, or may be different.

[0167] In this embodiment, the number of material types set for one voxel is up to two, and the number of material types set for one polygon in the display mesh is up to two. According to this, while suppressing the data amount of the voxel data, the information of the material set in the voxel data can be reflected in the material of the display mesh. Further, in this embodiment, the number of material types set for the vertices set based on the voxel data is also up to two (see FIG. 16). According to this, since two types of materials can be set for the vertices generated during the process of obtaining the display mesh from the voxel data, the information of the material set in the voxel data can be reflected in the display mesh without loss of material information during the process.

[0168] Also, in other embodiments, the game system 1 may set materials differently for vertices used for generating a display mesh and vertices used for generating a determination mesh with respect to vertices set based on voxel data. For example, the game system 1 may set up to two types of materials for vertices used for generating a display mesh as described above, and may set one type of material for vertices used for generating a determination mesh. Then, for the materials of the polygons of the display mesh, two types of materials may be set in the same manner as above, and as the material of the polygon of the determination mesh, one type of material may be set based on the one type of material set for each vertex of the polygon. Note that when setting one type of material for vertices used for generating a determination mesh, the material for which the above-described determination value calculated for each material is the largest may be set as the material of the vertex. Also, as described above, in the present embodiment as well, the number of types of materials set for one polygon in the display mesh can be up to two, and the number of types of materials set for one polygon in the determination mesh can be one. Therefore, it is possible to reflect the material information set in the voxel data in the display mesh, and it is possible to suppress the complication of the processing performed according to the result of the collision determination using the determination mesh.

[0169] As described above, in the present embodiment, a display mesh and a determination mesh can be set for one voxel object. However, depending on the game situation, it is not necessary to set both the display mesh and the determination mesh for one voxel object at the same time (for example, it is not necessary to set both in the processing in one frame). For example, the determination mesh may be generated in a range where collision determination is performed in the game space, and may not be generated in a range where collision determination is not performed. As an example, the game system 1 may generate a determination mesh for voxel objects within a predetermined range centered on the player character, and not generate a determination mesh for voxel objects outside the predetermined range, but only generate a display mesh.

[0170] In addition, for the display mesh, the game system 1 may store data related to the generated mesh in the memory, and in a frame after the mesh is generated, use the data without re-executing the process of generating the mesh except for the updated range. According to this, the processing load for generating the display mesh can be reduced. Also, for the determination mesh, the data related to the generated mesh may not be stored in the memory, and the mesh may be sequentially generated as needed (for example, every time collision determination needs to be performed). According to this, the memory area used for generating the mesh can be saved.

[0171] In the above, the method of generating each mesh (that is, the display mesh and the determination mesh) based on the changed voxel data when the voxel data is changed from the initial state has been described. Note that the above method can also be used when generating each mesh based on the voxel data in the initial state, for example, at the start of the game. However, each mesh based on the voxel data in the initial state does not necessarily need to be generated based on the voxel data in the initial state at the start of the game, and may be prepared in advance before the game starts.

[0172] [Processing Using a Mesh of 2 - 7] Next, a processing example using the mesh generated as described above for the voxel object will be described. In the following, it is assumed that terrain objects such as the ground and walls are voxel objects, and a player character performs an action, and as a result of collision detection, an in - game effect occurs. An example of this case will be described.

[0173] FIG. 25 is a diagram showing an example of a game image representing the movement of a player character on a terrain object. In the example shown in FIG. 25, the material for a polygon in a partial region 251 of the mesh for determining the terrain object which is the ground is set to "lava". Note that the materials for polygons other than the region 251 in the mesh for determining the terrain object are set to "rock". In the example shown in FIG. 25, the game system 1 performs a collision detection between the terrain object and the player character 201 using the determination mesh. That is, a collision detection is performed to determine whether or not the determination mesh of the terrain object and a determination area set for the player character (for example, an area with a predetermined shape set based on the position of the player character) are in contact. When a collision between the polygon whose material is lava and the player character 201 is determined, as a process for generating an in - game effect, a process of reducing the physical strength of the player character 201 is performed. Also, in the above case, a process of causing the player character 201 to perform a predetermined reaction is performed.

[0174] Note that in the present embodiment, as the property information included in the above - mentioned material data, for the lava material, a property of reducing the physical strength of the contacted player character (for example, the property that the temperature is equal to or higher than a predetermined value) is assumed to be set. The game system 1 generates an in - game effect (in the above example, the reduction of the physical strength of the player character) based on the property information corresponding to the material set for the polygon in the determination mesh for which a collision has been determined by the collision detection.

[0175] In addition, when a collision between a polygon whose material is rock and the player character 201 is determined, the process of reducing the physical strength of the player character is not executed. Also, based on the collision, the player character 201 is controlled so that it cannot enter the inside of the polygon. Therefore, the player character can stand on or walk on the polygon. In this way, in the present embodiment, by setting the material for each polygon, the game system 1 can execute different processes according to which part of the voxel object another object has contacted. Also, the content of the process to be executed can be made according to the type of material. In the present embodiment, since the player character can change the terrain object (for example, deform it or change the material), for example, the lava part of the terrain object can be erased or the lava can be changed to another material. Therefore, the player can avoid a decrease in the physical strength of the player character due to contact with lava by changing the terrain object.

[0176] Note that the content of the process executed when a collision between a voxel object and another object is determined is arbitrary. For example, when the other object is a moving object such as a player character or an enemy character, the process may be a process of outputting the footsteps of the object or displaying an effect (for example, an effect representing dust or water splashes) at the contact location. At this time, the game system 1 can vary the footsteps or the effects according to the type of material set for the polygon of the contacted part of the voxel object.

[0177] FIG. 26 is a diagram showing an example of a game image representing a state in which a player character extracts a fragment object from a terrain object. As shown in FIG. 26, in the present embodiment, the player can cause the player character 201 to perform an action (referred to as a "pull-out action") of grasping the terrain object 202 by a predetermined operation input and pulling out a part thereof as the fragment object 252 and holding it. The game system 1, as an action in the game caused by the pull-out action, erases a part of the terrain object 202 and generates the fragment object 252.

[0178] When the pull-out action is performed, the game system 1 specifically executes the following processing. That is, when an operation input for causing the player character to perform the pull-out action is performed by the player, the game system 1 causes the player character to perform an action of digging forward and grasping, and performs a collision determination. Then, when a collision between the player character performing the pull-out action and the terrain object is determined, an update range 253 is generated based on the position and orientation of the player character. For example, the update range 253 is generated in a predetermined direction (for example, the front) with respect to the player character. Note that the shape and size of the update range may be determined in advance according to the type of action of the player character. Further, the game system 1 decreases the density of the voxels corresponding to the update range 253. Then, by updating the mesh according to the decrease in the density of the voxels, the terrain object 202 is deformed so that the portion within the update range 253 is erased (see (b) in FIG. 26). In the present embodiment, the density of each voxel corresponding to the update range 253 is decreased, but the voxels to be decreased in density may be at least some of the voxels corresponding to the update range 253.

[0179] Also, in the above, it was assumed that the voxel object corresponding to the update range 253 is unconditionally deformed by the extraction action. However, in other embodiments, the deformation of the voxel object corresponding to the update range 253 may be performed on the condition of the amount of damage set for the voxel. For example, instead of unconditionally deforming the voxel object corresponding to the update range 253, the game system 1 may increase the amount of damage set for the voxels corresponding to the update range 253 and decrease the density in the voxels when the amount of damage exceeds a predetermined value. At this time, the increase amount of damage may be determined according to the action performed on the voxel object.

[0180] Also, the game system 1 generates a fragment object 252 representing the portion of the terrain object 202 that has been erased. That is, the game system 1 generates the fragment object 252 while having the player character hold it based on the above extraction action. The fragment object 252 may be generated to have a shape corresponding to the portion of the terrain object 202 that has been erased, or may have a predetermined shape. The fragment object 252 may be a voxel object or may not be a voxel object. When the fragment object is a voxel object, a voxel space different from the voxel space of the voxels corresponding to the terrain object 202 or the like is defined for the fragment object 252.

[0181] The game system 1 determines the material of the above-mentioned fragment object 252. The material of the fragment object 252 is determined based on the material set for the polygon within the determination mesh that contacts the update range 253 among the determination meshes of the terrain object 202. The material of the fragment object 252 is determined to be the same as any one of the materials set for the polygons within the determination mesh that contacts the update range 253. According to this, the material of the fragment object 252 can be made the same as the material of the erased part of the terrain object. As is clear from the above description, the fragment object 252 is not actually a part of the terrain object. However, by being generated along with the erasure of a part of the terrain object and having the material of the erased part of the terrain object inherited by the fragment object 252, an impression can be given to the player as if the player character 201 has taken out a part of the terrain object 202 by a pulling-out action.

[0182] In this embodiment, a priority is set for each type of material to be prepared, and the game system 1 determines the material with the highest priority among the materials set for each polygon of the determination mesh within the update range 253 as the material of the fragment object 252. Here, for example, consider a case where the determination mesh within the update range 253 includes a polygon with a material of rock and a polygon with a material of lava. In such a case, if the material of the fragment object 252 is set to lava, there is a possibility that the player character's physical strength will decrease when the player character grips the fragment object 252 by the extraction action (it is assumed that, as described in FIG. 25, the material of lava is set to have the property of decreasing the player character's physical strength when contacted). Also, as described above, when the determination mesh within the update range 253 includes polygons with different types of materials set, it is considered difficult for the player to predict what the material of the fragment object 252 will be, and it is also considered that the above-mentioned inconvenience may occur contrary to the player's intention. In contrast, in this embodiment, by setting a priority for the material set as the material of the fragment object, the possibility of the above-mentioned inconvenience occurring can be reduced.

[0183] FIG. 27 is a diagram showing an example of a game image representing a state in which fragment objects are generated when a player character destroys a terrain object. As shown in FIG. 27, in the present embodiment, the player can cause the player character 201 to perform a punch action by a predetermined operation input. Further, as an in-game effect caused by the punch action, similar to the case of the above punch action, the game system 1 erases a part of the terrain object 202 and generates a fragment object 255. Specifically, the terrain object 202 is deformed as if a part thereof is erased. Note that, when the punch action is performed, unlike the above-described extraction action, after the punch action, the fragment object 255 is not held by the player character 201 and is arranged around the position where the punch action is performed (see (b) of FIG. 27). Note that the fragments corresponding to the destruction of the terrain object 202 may not be generated in some cases.

[0184] When a punch action is performed, the game system 1 specifically executes the following processes. That is, when an operation input for causing the player character to perform a punch action is made by the player, the game system 1 causes the player character to perform an action of punching forward and performs a collision determination. Then, when a collision between the player character performing the punch action and the terrain object is determined, an update range 254 is generated based on the position and orientation of the player character. For example, the update range 254 is generated in a predetermined direction (e.g., forward) with respect to the player character. Note that the position, shape, and size of the update range 254 due to the punch action may be the same as or different from those of the update range 253 due to the extraction action. Then, the game system 1 decreases the density of the voxels corresponding to the update range 254. As a result, similar to the extraction action, also due to the punch action, the terrain object 202 is deformed such that the portion within the update range 254 is erased (see (b) of FIG. 27). Note that, similar to the extraction action, for the punch action as well, instead of unconditionally deforming the voxel object corresponding to the update range 254, the game system 1 may increase the amount of damage set for the voxels within the update range 254 according to the punch action, and decrease the density of the voxels when the amount of damage exceeds a predetermined value. Also, the voxels whose density is to be decreased by the punch action may be at least a part of the voxels corresponding to the update range 254.

[0185] In addition, the game system 1 generates a fragment object 255 corresponding to the portion of the terrain object 202 that has been erased. That is, the game system 1 generates the fragment object 255 in a state where the player character does not have it (for example, in a state where it is arranged around the position where the punch action was performed) based on the above punch action. The fragment object 255 may be generated to have a shape corresponding to the portion of the terrain object 202 that has been erased, or may have a predetermined shape. The fragment object 255 may be a voxel object or may not be a voxel object.

[0186] The game system 1 determines the material of the above fragment object 255. The material of the fragment object 255 is determined based on the material set for the polygon in the determination mesh that contacts the update range 254 among the determination meshes of the terrain object 202. The material of the fragment object 255 is determined to be the same as any one of the materials set for the polygons in the determination mesh that contacts the update range 254. According to this, the material of the fragment object 255 can be made the same as the material of the erased portion of the terrain object. Also, when a part of the terrain object is erased and the fragment object 255 is generated, and the material of the erased portion of the terrain object is inherited by the fragment object 255, it is possible to give the player an impression that a part of the terrain object destroyed by the punch action of the player character has occurred as a fragment object.

[0187] In the present embodiment, the material of the fragment object 255 is determined to be the material with the largest degree of decrease in density in the voxel among the materials set for the polygons in the determination mesh that contacts the update range 254. According to this, it is possible to generate a fragment object that more accurately reflects the material composition of the portion of the terrain object erased by the punch action.

[0188] The method for determining the material of the fragment object generated by the above-described extraction action or punch action is arbitrary. For example, the method for determining the material of the fragment object may be the same for both the extraction action and the punch action. Also, for example, among the materials set for each polygon of the determination mesh within the update range, the material set for the most polygons may be determined as the material of the fragment object. Also, for example, among the polygons of the determination mesh within the update range, the material set for a polygon that satisfies a predetermined condition (for example, a polygon at a position in contact with the hand of the player character that performs the extraction action or punch action) may be determined as the material of the fragment object. Also, in other embodiments, a plurality of types of materials may be set for the fragment object.

[0189] In the present embodiment, the player can cause the player character to perform an action of throwing the fragment object 252 or 255 generated as described above (hereinafter referred to as the "throwing action"). Note that the player can cause the player character to perform an action of holding a fragment object that is generated in response to a punch action and placed on the ground by a predetermined operation input. By the above-described extraction action or the action of holding the fragment object after the above-described punch action, the player character is in a state of holding the fragment object. In this state, the game system 1 causes the player character to perform an action of releasing the held fragment object in a predetermined direction as a throwing action according to an operation input by the player.

[0190] FIG. 28 is a diagram showing an example of a game image in a scene where a player character can perform a throwing action and determines the throwing direction in a state of assuming a throwing stance. As shown in FIG. 28, in a state where the player character 201 holds the fragment object 261, the player character 201 can perform a throwing action. In this state, as shown in FIG. 28, the game system 1 displays the aiming image 262 and the object information image 263 over the image showing the game space as a process for generating an action within the game.

[0191] The aiming image 262 indicates the direction in which the fragment object is released by the throwing action (also referred to as the aim direction). That is, in response to an operation input made by the player to perform a throwing action, the game system 1 moves the fragment object 261 from the position of the player character 201 toward the position within the virtual space indicated by the aiming image 262. Note that the aim direction is controlled based on the operation input by the player. For example, the game system 1 may change the aim direction in response to an operation input for changing the direction of the virtual camera. Specifically, the game system 1 controls the virtual camera in response to an operation input so as to rotate and move around the player character while maintaining the state where the player character is included in the field of view, and controls the aim direction so as to be in the direction corresponding to the line-of-sight direction of the virtual camera. At this time, the aiming image 262 is displayed indicating the position where the straight line extending in the aim direction from the position of the player character intersects the terrain object 253. Specifically, the game system 1 performs a collision determination between the aim direction (that is, the straight line extending in the aim direction) and the determination mesh of the terrain object 253, and when a collision is determined, the aiming image 262 is displayed. The aiming image 262 is arranged so as to indicate the position of the polygon that intersects the straight line extending in the aim direction among the determination meshes.

[0192] When the player character performs a throwing action according to the aiming image 262 described above, the position where the fragment object contacts the voxel object can be presented to the player. This can make it easier for the player to perform the operation of the throwing action. Note that the specific control method of the aiming direction and the aiming image 262 is arbitrary, and a conventional method may be used. For example, in other embodiments, when the aiming image 262 is displayed, the aiming image 262 may be displayed in a first-person view game image where the player character is not displayed.

[0193] In a state where the player character is in a posture of throwing a fragment object, in response to a predetermined operation input by the player, a throwing action of throwing the fragment object in the aiming direction is performed.

[0194] The object information image 263 shows information about the terrain object 253 at the position indicated by the aiming image 262. In the present embodiment, the object information image 263 shows the name of the material (rock in the example shown in FIG. 28) set for the polygon of the determination mesh at the position indicated by the aiming image 262. This can present to the player the material of the voxel object that the fragment object released by the throwing action contacts. In addition, the object information image 263 shows information about the nature of the material (here, hardness). This can present to the player the nature of the voxel object that the fragment object released by the throwing action contacts. Note that the content shown by the object information image 263 is arbitrary. For example, in other embodiments, the object information image 263 may show any property related to the material set for the polygon at the position indicated by the aiming image 262, or may show the state of the polygon (for example, the amount of damage described above). In the present embodiment, since there is one type of material for the polygon of the determination mesh, the material corresponding to the aiming position is specified as one. Therefore, it is suitable for displaying information about the material.

[0195] In this embodiment, in response to the fragment object released by the throwing action being determined to have contacted the voxel object as a result of the collision determination, the game system 1 makes a change to the voxel object as an action within the game. FIG. 29 is a diagram showing an example of a game image after a change is made to the terrain object 253 due to the fragment object 261 contacting the terrain object 253 shown in FIG. 28. In the example shown in FIG. 29, the terrain object 253 is deformed so as to have a shape as if the fragment object is attached to the contact position between the fragment object and the terrain object 253. Specifically, the game system 1 generates an update range so as to include the contact position, and deforms the terrain object 253 to have the above shape by increasing the density of the voxels in the update range. For example, the update range may be set to a shape corresponding to the shape of the fragment object, and the terrain object 253 may be deformed so that the inside of the update range is within the terrain object 253. As described above, in the example shown in FIG. 29, the shape is such that an additional portion 265 is added to the terrain object before deformation. Note that in the example shown in FIG. 29, the fragment object is erased in response to contacting the terrain object 253.

[0196] Also, the material of the polygon in the additional portion 265 is determined based on the material of the fragment object that has contacted the terrain object 253. Specifically, the game system 1 sets the material of the voxels within the update range to be the material of the fragment object. Then, based on the material of the voxels, the materials of the display mesh and the determination mesh are determined. According to this, since the appearance of the attached additional portion 265 can be made the same as the appearance of the fragment object, (although the terrain object 253 is actually deformed as described above), it becomes easier for the player to get the impression that the fragment object is attached to the terrain object 253.

[0197] In the example shown in FIG. 29, the change applied to the voxel object in response to the fragment object contacting the voxel object was a transformation of adding an additional part to the voxel object, but the change applied to the voxel object is not limited to this. The above change may be to change the density of the voxels or to change the material. For example, if the fragment object has the property of exploding, the fragment object may explode in response to contacting the voxel object, and at this time, the voxel object may be deformed as if a part of the voxel object has been erased. Specifically, the game system 1 sets an update range to include the contact position and decreases the density of the voxels within the update range. Also, for example, when the material of the voxel object is lava and the material of the fragment object is ice, the material of the voxel object may be changed in response to the fragment object contacting it. Specifically, the game system 1 sets an update range including the contact position and may change the material that is lava among the materials of the voxels within the update range to obsidian or rock. According to this, a situation where a lava object is cooled by an ice object and becomes obsidian or rock can be expressed.

[0198] The content of the above change may be determined based on the material of the voxel object, based on the material of the fragment object, or based on a combination of the material of the voxel object and the material of the fragment object. According to this, various changes can be caused to the voxel object.

[0199] Further, the game system 1 may determine whether to perform the above-described modification based on the material of the voxel object, based on the material of the fragment object, or based on a combination of the material of the voxel object and the material of the fragment object. For example, when a fragment object with a material of rock contacts a voxel object with a material of rock, the game system 1 performs the modification as shown in FIG. 29. On the other hand, when a fragment object with a material of rock contacts a voxel object with a material of iron, the game system 1 may not perform the modification as shown in FIG. 29.

[0200] In this embodiment, as described above, one type of material is set for the polygon of the determination mesh and the fragment object. Here, if multiple types of materials are set for at least either the polygon of the determination mesh or the fragment object, it becomes difficult to determine the content of the modification applied to the voxel object according to the types of the materials of both when the determination mesh and the fragment object come into contact. In contrast, in this embodiment, since the materials of the determination mesh and the fragment object determined to be in contact by the collision determination are each one type, it becomes easy to determine the content of the modification applied to the voxel object.

[0201] [2-8. Event Processing According to Deformation of Voxel Object] In this embodiment, the game system 1 generates a game event according to the deformation of the voxel object. Note that the content of the event is arbitrary. In the following, as examples of events according to the deformation of the voxel object, an event in which the number of bullets thrown by the player character increases and an event in which the player character throws a bullet, an event in which an item is placed in the terrain object, and an event in which an item in the game is granted will be described.

[0202] [2-8-1. First Example (Example where an event of increasing the number of projectiles and an event of the player character throwing a projectile occur)] As a first example, with reference to FIGS. 30 to 36, an example will be described in which an event of increasing the number of projectiles thrown by the player character and an event of the player character throwing a projectile occur according to the deformation of the voxel object. Here, in the present embodiment, the player character can perform an action of sucking in a voxel object (strictly speaking, an action that appears to suck in the voxel object) in response to a predetermined operation input by the player. This action is an action that deforms the voxel object such as a terrain object to erase part or all of it, and at the same time increases the number of projectiles that the player character can throw under certain conditions. In this way, by enabling other actions for the player character through the action of deforming the voxel object, the player can be motivated to deform the voxel object. Note that in the present embodiment, through the above action, an impression can be given to the player that the player character is sucking in the voxel object to create projectiles. Therefore, hereinafter, the above action will be referred to as a suction action. Hereinafter, an example of an action in which the player character throws the projectiles obtained by the suction action after the suction action will be described.

[0203] FIG. 30 is a diagram showing an example of a game image in a scene before a player character performs a suction action in a state where the player character can perform the suction action. In the present embodiment, the player character 201 can be in a state where it can perform the suction action under certain conditions. The state where the suction action can be performed is a state where the player character can perform the suction action in response to a predetermined operation input by the player. For example, the player character 201 can transform, and in a state where it has transformed into a predetermined form, it may be able to perform the suction action. Note that in other embodiments, the player character 201 may always be in a state where it can perform the suction action.

[0204] When the player character 201 is in a state where it can perform the suction action, the game system 1 displays the aiming image 271 together with the image of the game space (see FIG. 30). The aiming image 271 indicates the direction in which the player character 201 performs the suction action. The direction of the suction action indicated by the aiming image 271 is controlled based on the operation input by the player, similar to the aiming direction by the above-described aiming image 262. The specific method of controlling the direction of the suction action is arbitrary, and it may be controlled in the same manner as the above-described aiming direction, for example. Although details will be described later, when the player character 201 performs the suction action, the voxel objects in the range including the position indicated by the aiming image 271 are deformed so as to be erased. The position indicated by the aiming image 271 is the position of the intersection of the straight line extending from the position of the player character 201 in the direction of the suction action and the object. Note that the aiming image 271 may be the same as the aiming image 262 shown in FIG. 28, and the object information image 263 may be displayed together with the aiming image 271.

[0205] FIG. 31 is a diagram showing an example of a game image in a scene where the player character 201 is performing a suction action. The situation shown in FIG. 31 is a situation after the player character 201 has started a suction action in response to a predetermined operation input by the player in a state where the aiming image 271 points to the terrain object 272 formed like a rock wall. At this time, the game system 1 updates so as to reduce the density of voxels within the range including the position pointed to by the aiming image 271, thereby deforming the terrain object 272 so that a part of the terrain object 272 within the range is erased. Also, in the present embodiment, the player character 201 continues the suction action in response to an operation input by the player. For example, the player character 201 continues the suction action while the operation input is being performed. In the present embodiment, while the input to a predetermined button of the controller continues, the game system 1 causes the player character 201 to perform a suction action. Therefore, the player can change the length of the suction action, and thus the degree of deformation of the terrain object 272, according to the length of the period during which the operation input is performed. Note that, in the present embodiment, an upper limit is set on the time during which the player character 201 can continue the suction action. However, in other embodiments, the upper limit may not be set.

[0206] Although not shown, the game system 1 may display a gauge image showing the remaining time during which the player character 201 can continue the suction action together with the aiming image 271. Also, the game system 1 may display an image showing the number of times the throwing action of throwing a bullet (in other words, the number of bullets), which will be described later, can be executed together with the above-described aiming image 271.

[0207] In this embodiment, while the suction action continues, the game system 1 continuously executes a process of erasing a part of the terrain object 272 located at the position indicated by the aiming image 271. For example, while the suction action is pending, the process of erasing a part of the terrain object 272 is repeatedly executed every frame. Therefore, the voxel object is deformed so that the voxel object is erased by an amount corresponding to the time during which the above-described predetermined operation input is continuously performed. Although details will be described later, in this embodiment, by one deformation process, the part near the surface among the voxel objects in a predetermined range including the position indicated by the aiming image 271 is deformed so as to be scraped off. And by repeatedly executing the deformation process, the voxel object is gradually deformed so that the part from the part near the surface to the inner part is gradually scraped off. Note that in this embodiment, during the suction action, the direction of the suction action may be changed according to the operation input by the player.

[0208] In this embodiment, while the suction action continues, the game system 1 displays an effect image representing a state in which wind and fragments are blown from the deformed voxel object toward the player character 201. Thereby, it is possible to perform an effect such that it appears that the player character 201 sucks in the voxel object by the suction action.

[0209] Next, a specific example of the process of deforming the voxel object according to the suction action will be described. FIG. 32 is a diagram showing an example of the state before and after deforming the terrain object shown in FIG. 31 according to the suction action. Note that FIG. 32 is a cross-sectional view of the wall-shaped terrain object 272 viewed from the direction along the wall surface, and the inner region of the terrain object 272 is indicated by hatching.

[0210] When the player character 201 performs a suction action, the game system 1 performs a collision determination between a straight line 274 extending in the direction indicated by the aiming image 271 from the position of the player character 201 (i.e., the direction of the suction action) and the voxel object. When the straight line 274 and the voxel object come into contact, the game system 1 identifies the intersection point of the two. In the example shown in FIG. 32, the intersection point 275 between the straight line 274 and the terrain object 272 is identified. In the above case, the game system 1 sets a density update range 276 for performing density update on the terrain object 272. In the present embodiment, the density update range is represented using SDF. The density update range 276 is set based on the position of the identified intersection point 275. In the present embodiment, the density update range due to the suction action is a spherical range centered on the intersection point 275 (see FIG. 32). Note that in other embodiments, the position of the density update range based on the position of the intersection point 275 is arbitrary, and the shape of the density update range due to the suction action is arbitrary.

[0211] Note that in the present embodiment, the game system 1 executes the process of setting the density update range every frame during the period in which the suction action is being performed. That is, when the suction action is performed over a plurality of frames, a plurality of the above straight lines are continuously set at positions based on the suction action, and when they come into contact, the density update range is set at the contact position. Note that when the direction in which the player character 201 performs the suction action changes during the above period, the position and direction of the straight line are changed according to the direction, and the density update range is set at different positions for each frame. Also, in other embodiments, a plurality of density update ranges may be set simultaneously (for example, in one frame).

[0212] In this embodiment, the terrain object 272 is deformed by reducing the density of voxels corresponding to the set density update range 276 (for example, voxels within the density update range 276). In this embodiment, the game system 1 reduces the density of voxels within the density update range under certain conditions. In this embodiment, the game system 1 calculates the density update for voxels within the density update range that meet the conditions, and as a result of this calculation, the density is reduced. Note that, although details will be described later, in this embodiment, there are also voxels for which the calculated density reduction amount is 0 and the density is not substantially reduced due to the density update calculation.

[0213] Here, in this embodiment, hardness and damage information are set for the voxels. The game system 1 calculates the density update for voxels within the density update range that meet the conditions regarding hardness and damage. In this embodiment, the hardness set for a voxel is the hardness set in the above material data regarding the material set for the voxel. The hardness information is, for example, information indicating a hardness level, which is a numerical value indicating that the larger the value, the harder it is. Also, the damage information is one of the information indicated by the above-mentioned state data set for the voxel, and indicates the damage applied by an action by the player character 201 or the like. The damage information is, for example, numerical information indicating the cumulative value of the applied damage amount. Note that the game system 1 may set information indicating the durability value that is reduced by an action by the player character 201 or the like for each voxel instead of the damage information.

[0214] In this embodiment, the game system 1 determines the voxels within the density update range for which the density update calculation is to be performed as follows.

[0215] Among the voxels within the density update range, those with a set hardness less than the first threshold are determined to meet the conditions for performing the density update calculation.

[0216] Also, among the voxels within the density update range, for voxels whose set hardness is greater than or equal to the first threshold and less than the second threshold, a predetermined amount of damage is added. When the cumulative value of the added damage becomes greater than or equal to a predetermined threshold, it is determined that the above conditions are satisfied. Note that when durability value information is set for the voxels instead of damage information, for voxels whose set hardness is greater than or equal to the first threshold and less than the second threshold, the durability value is subtracted by a predetermined value. When the subtracted durability value becomes less than or equal to a predetermined threshold, it is determined that the above conditions are satisfied. Note that the addition of damage or the subtraction of the durability value is performed for each frame in which the voxel is determined to be within the density update range. Therefore, for example, when the voxel is included within the density update range over a plurality of frames, when the addition of damage or the subtraction of the durability value is performed multiple times, the above conditions will be satisfied. Note that the game system 1 may determine that the above conditions are satisfied in the process of the frame when the cumulative value of the damage becomes greater than or equal to a predetermined threshold or when the durability value becomes less than or equal to a predetermined threshold, and perform the calculation of the density update, or may determine that the above conditions are satisfied in a frame after the said frame (for example, the next frame) and perform the calculation of the density update.

[0217] Also, among the voxels within the density update range, for voxels whose set hardness is greater than or equal to the second threshold, it is determined that the conditions for performing the calculation of the density update are not satisfied. That is, for voxels whose set hardness is greater than or equal to the second threshold, regardless of the damage information, the calculation of the density update corresponding to the suction action is not executed and the density is not updated.

[0218] As described above, by determining whether to update the density in consideration of the hardness set for the voxels, it is possible to set portions of the terrain object that are not deformed or are difficult to deform. Also, by determining whether to update the density in consideration of the damage or durability value set for the voxels, it is possible to set the terrain object to be deformed by multiple suction actions. Further, by varying the thresholds related to damage and durability value for each voxel, it is possible to set portions of the terrain object that are easily deformed and portions that are difficult to deform.

[0219] For the voxels determined to satisfy the above conditions among the voxels within the density update range, the game system 1 performs calculations to decrease the density. Note that the specific calculation method for decreasing the density is arbitrary. In the present embodiment, when there are voxels with a density less than the above reference value within a predetermined range centered on the voxel, the game system 1 decreases the density of the reference voxel by a predetermined value. On the other hand, when there are no voxels with a density less than the above reference value within the predetermined range, the amount of decrease in the density of the reference voxel is set to 0, that is, the density of the voxel is not updated. Note that the above predetermined range is, for example, a range of 27 voxels of 3×3×3 centered on the voxel. According to the above calculation method, among the voxels within the density update range, the density is decreased for the voxels near the position where the mesh of the voxel object is set. Therefore, in the example shown in FIG. 32, the terrain object 272 is deformed such that the internal region of the terrain object 272 shrinks for the portion within the density update range 276. As described above, the terrain object 272 is deformed such that the surface is scraped off for the portion within the density update range 276 by the deformation process for one frame. Then, by continuously executing the deformation process a plurality of times, the terrain object 272 is deformed so as to be gradually scraped to the inside.

[0220] In this embodiment, when a voxel object is deformed by a suction action, a part of the material of the voxel object is changed to the above-described inner material. FIG. 33 is a diagram showing an example of a method of changing a part of the material of a voxel object by a suction action.

[0221] In this embodiment, when the above-described density update range 276 is set according to the suction action, the game system 1 sets a material update range 277 which is a range for updating the material of the voxels. In this embodiment, the material update range 277 is also represented by the SDF, similar to the density update range 276. In this embodiment, the material update range 277 is set so as to enclose the density update range 276 (see FIG. 33). According to this, for the deformed part that appears to be erased and the surrounding part of the terrain object 272 after the change process, the material is changed to the inner material. Although details will be described later, by this, for the deformed part that appears to be erased and the surrounding part, the terrain object 272 can have a more natural appearance.

[0222] In this embodiment, the game system 1 generates the material update range 277 by expanding the density update range 276. In the example of FIG. 33, the material update range 277 is a spherical shape with a radius larger than that of the density update range 276. According to the method of expanding the density update range 276 as described above, the material update range 277 enclosing the density update range 276 can be easily generated. Note that in other embodiments, the material update range does not necessarily have to be generated based on the density update range, and may be included in the game program in advance similar to the density update range. Also, in this embodiment, the center position of the material update range 277 is set at the same position as the center position of the density update range 276. However, the material update range 277 may be set at any position enclosing the density update range 276. Also, the shape of the material update range 277 is arbitrary. In other embodiments, the material update range 277 and the density update range 276 do not have to be similar shapes.

[0223] The game system 1 changes the material of the voxels within the material update range 277 among the voxels related to the terrain object 272. In the present embodiment, the material of the voxels within the material update range 277 is changed to the material indicated by the internal material ID associated with the ID of the material before the change in the above-described material data (see FIG. 12). For example, the material ID representing the surface of the rock has the material ID representing the inside of the rock associated with it as the internal material ID. Therefore, in the example shown in FIG. 33, the material of the voxels within the material update range 277 is changed from the material of the rock surface to the material of the rock interior by the change process. Specifically, the game system 1 updates the material ID indicated by the voxel data for the voxels within the material update range 277 so as to indicate the internal material ID, thereby changing the material set for the voxel to the internal material.

[0224] As described above, in the present embodiment, the voxel data holds up to a plurality (specifically, two) of material IDs for one voxel. When a plurality of types of materials are set for a voxel, in the material change process, each material ID set for each voxel within the material update range is changed to the corresponding internal material ID. For example, when the materials of the rock and the soil are set for the voxels within the material update range, the materials after the change for the voxel are the internal materials associated with the material of the rock and the internal materials associated with the material of the soil. According to this, when a plurality of types of materials are set for a voxel, it is possible to reduce the possibility of inconvenience such that the appearance of the voxel object after the change becomes unnatural when only one type of material is changed, for example.

[0225] When the process of updating the density and material of the voxels for the terrain object 272 is performed as described above, the game system 1 generates the mesh of the terrain object 272 (specifically, the display mesh and the determination mesh) according to the methods described in [2-4. Determination of Vertex Material] to [2-6. Mesh Generation] based on the density and material of the voxels after the update process. As a result, the terrain object 272 is deformed as if a part of it is erased, and the material of the polygons in the deformed part and its surrounding parts is set to the internal material. When the above terrain object 272 is drawn, for the above polygons, for example, drawing is performed using a texture representing the inside of a rock. As a result, the terrain object 272 after the update process has an appearance where the deformed part and its surrounding parts represent the inside of a rock, and as a whole, it can perform an expression as if a part is destroyed and the inside is exposed.

[0226] As described above, in the present embodiment, in response to the deformation of the voxel object as if it is destroyed, by changing the material of the mesh in the deformed part to the material representing the inside, it is possible to perform an expression as if a part of the voxel object is destroyed and the inside is exposed. Note that, as a method of expressing an appearance as if a part of the voxel object is destroyed and the inside is exposed, a method of setting the material representing the outer shell of the object for the voxels located on the surface of the mesh of the voxel object representing a certain object, and setting the material representing the inside of the object for the voxels located in the inner region of the mesh of the voxel object is also conceivable. In this method, when the voxels located in the inner region of the mesh of the voxel object are deformed so as to be located on the surface of the deformed mesh, the voxel object has an appearance where the inside is exposed. However, in the above method, the part that looks like the outer shell in the mesh of the voxel object becomes thick, and it is difficult to express the part that looks like the outer shell thinly.

[0227] In contrast, in the present embodiment, by adopting a method of changing the material for the voxels within the material update range that encompasses the density update range, not only the deformed part of the voxel object but also the surrounding part thereof will be visually changed to represent the inside of the tree. The above-mentioned surrounding part is a part that is not deformed in terms of the mesh while being visually changed to represent the inside. By creating such a part, the voxel object after the update process appears as if a thin outer shell has been peeled off. Thus, according to the present embodiment, it is possible to represent the thin outer shell that occurs when an object is destroyed.

[0228] Also, when deforming a voxel object by a suction action, it is conceivable that a missing part may occur in the voxel object. FIG. 34 is a diagram showing an example of a case where a missing part occurs in a voxel object and a case where an erasing process is executed so that no missing part occurs. The situation in (a) in FIG. 34 is a situation where the player character 201 is performing a suction action on the terrain object 278, and the situation in (b) is a situation where the terrain object 272 is deformed by the suction action when the erasing process is not executed. Here, as in the example shown in FIG. 34, as a result of the terrain object 278 being deformed, a part of the terrain object 278 may occur as a missing part 278a. The missing part 278a is arranged as if floating in the air, and when such a missing part 278a occurs, the player may feel uncomfortable. Also, if the material in such a missing part 278a has a property that adversely affects the player character 201, such as the material of the lava described above, the player may not notice the small missing part 278a and cause the player character 201 to come into contact with the missing part 278a. As a result, there is also a possibility that the player character 201 may be adversely affected. From the above, in the present embodiment, the game system 1 executes an erasing process of changing the density of the voxels corresponding to the missing part so that the above-described missing part does not occur due to the deformation of the voxel object by the suction action.

[0229] In the elimination process, first, the game system 1 identifies a small area corresponding to the fragment part to be eliminated from among the areas within a predetermined determination range. The small area is an area where voxels with a density equal to or higher than the above-mentioned reference value are adjacent and continuous, and the size of the area is smaller than a predetermined standard. Note that an area of one voxel that has a density equal to or higher than the above-mentioned reference value and where the density of all adjacent voxels is less than the reference value may also be regarded as a small area. Also, the above-mentioned determination range may be set by any method. For example, it may be the entire range of the voxel space, or it may be a range based on the above-mentioned density update range where the deformation of the voxel object occurs. The range based on the density update range is, for example, a range that includes the density update range. More specifically, as the range based on the density update range, a range with a shape obtained by expanding the shape of the density update range and having the same center position as the density update range may be set. Also, the game system 1 may rewrite the voxel data for each predetermined unit area (for example, an area composed of a voxel group composed of a predetermined number of voxels). At this time, a range composed of one or more unit areas including the voxels whose density has been updated may be regarded as the above-mentioned determination range. Also, the game system 1 may identify, as small areas, those areas that satisfy the above-mentioned small area conditions and whose entirety is included within the determination range, or may identify, as small areas, those areas that satisfy the above-mentioned small area conditions and at least a part of which is included within the determination range.

[0230] The game system 1 updates the density of the voxels corresponding to the identified small area to a value less than the reference value (for example, 0). As a result, it is possible to prevent the generation of the mesh of the voxel object that becomes the fragment part corresponding to the small area (see (c) of FIG. 34). Note that the above-mentioned predetermined standard regarding the size of the small area is set to be smaller than, for example, the player character 201. At this time, the voxel object that becomes a fragment smaller than the player character 201 and is arranged as if floating in the air will not be generated by the elimination process.

[0231] In the above, the game system 1 may specify the size of a small area for each material or for each group of materials. Note that the group of materials is, for example, a group to which a plurality of types of materials having the same properties belong. According to this, when a voxel object that is a predetermined material (or a material of a predetermined group) remains as a small piece by a suction action, the portion of the piece is not generated by an erasing process. Here, if the size of the small area is not specified for each material or for each group of materials, for example, as a result of a suction action being performed on a terrain object including a rock material and a lava material, there may be a case where a small portion that is the lava material remains at a portion that contacts the terrain object that is the rock material. In such a case, there is also a possibility that an inconvenience such as the player character 201 coming into contact with the portion without the player noticing may occur. On the other hand, by specifying the size of the small area for each material or for each group of materials, the above portion is not generated, so the possibility of the above inconvenience occurring can be reduced.

[0232] In this embodiment, the player character 201 can perform a throwing action of throwing a bullet obtained under certain conditions by a suction action. FIG. 35 is a diagram showing an example of a game image in a scene before performing the throwing action after the suction action is performed. In FIG. 35, as a result of continuously performing the suction action, the terrain object 272 is deformed so that a hole is opened in a part of the terrain object 272 formed like a rock wall. Also, in the situation shown in FIG. 35, the player character 201 is in a state (hereinafter referred to as the "ready state") where, after the suction action, it performs an action of taking a stance to throw the bullet object 273. For example, in a state where the number of bullets that the player character 201 can throw is 1 or more, in response to an operation input for a ready instruction by the player, the player character 201 performs an action of taking a stance and enters the above-described ready state. Further, in the ready state, in response to an operation input for a throw instruction by the player, the player character 201 performs a throwing action of throwing the bullet object 273 in the direction indicated by the aiming image 271.

[0233] When the player character enters the above-described ready state, the game system 1 generates the bullet object 273. Although details will be described later, the material of the bullet object 273 is determined based on the material of the voxels whose density has been decreased when the bullet is increased. In this embodiment, the bullet object 273 is a voxel object based on voxels in a secondary voxel space different from the main voxel space of the terrain object. In other embodiments, the bullet object 273 may not be a voxel object.

[0234] In this embodiment, during the above-described suction action, when the conditions regarding the deformation of the voxel object are satisfied, the number of bullets is increased. Note that the number of bullets can also be said to be the number of times the throw action of throwing a bullet can be executed. Although details will be described later, the player character 201 can increase the number of bullets more by deforming the voxel object more greatly by the suction action.

[0235] Next, the process of increasing bullets according to the deformation of the voxel object will be described. FIG. 36 is a diagram showing an example of a method for determining the increase in bullets and the material of the increased bullets. The example shown in FIG. 36 shows the material of the erased portion during the period from the start of the suction action to the 6th frame, the timing at which bullets are added during the period, and the material thereof. Note that the material of the erased portion refers to the material set for the voxels whose density has decreased during the deformation of the terrain object 272 by the suction action. When there are multiple types of materials set for one or more voxels whose density has decreased, the material of the erased portion is the material that has decreased the most among the multiple types of materials. The game system 1 calculates, for example, for each voxel, a value obtained by multiplying the amount of decrease in density of each voxel by the ratio of the material in the voxel (this ratio is obtained from the material mixing ratio), and sets the material with the largest total value obtained by summing up the values for each voxel as the above-mentioned "material that has decreased the most".

[0236] In this embodiment, the process of increasing bullets is performed based on the degree of change to voxels by a suction action. The degree of the above change can also be referred to as the degree of change of the voxel object. In the first example, the game system 1 calculates the number of times the density of voxels has been updated by a suction action as the degree of change. The process of increasing bullets is executed based on this number of times. For example, in the example shown in FIG. 36, each time the above number of times reaches a predetermined number of times (here, 5 times), a process of increasing the number of bullets by 1 is executed. That is, when the deformation of the terrain object by the suction action has been performed for 5 frames, the number of executable times of the throw action of throwing a bullet is incremented by 1. Note that the specific method of increasing bullets based on the number of times the density of voxels has been updated by a suction action is not limited to the above. For example, in other embodiments, the above number of times may be directly used as the number of bullets, or the condition for increasing bullets may be that the density update has been continuously performed a predetermined number of times. Also, for example, in other embodiments, the above number of times may be counted for each material. At this time, when the number of times counted for a certain material reaches a predetermined number of times, bullets of the material may be added.

[0237] As described above, in this embodiment, an event of increasing the number of executable times of the throw action of throwing a bullet and an event in which the player character 201 throws a bullet are performed according to the deformation of the voxel object. According to this, since the deformation of the voxel object becomes a condition for generating an event in the game, it is possible to give the player a motivation to deform the voxel object, and it is possible to improve the strategic nature and interestingness of the game.

[0238] In the first example, the "number of times the density of voxels was updated" was used as an indicator showing the degree of change. However, the specific indicator showing the degree of change is arbitrary. For example, in other embodiments, as the above indicator in the first example, the "decrease amount of the volume of voxels" or the "volume of voxels at the current time" used in the second and third examples described later may be adopted. At this time, the game system 1 may increase the bullets each time the decrease amount of the volume of voxels reaches a predetermined threshold value.

[0239] In this embodiment, the material of the increased bullets is determined based on the material of the voxels whose density has changed by the suction action. In this embodiment, the material of the increased bullets is determined based on the material of the erased part in the frame in which the increase of the bullets is determined. For example, in the example of FIG. 36, the material of "soil", which is the material of the erased part in the 5th frame in which the increase of the bullets is determined, is determined as the material of the bullets. According to this, among the terrain objects 272 deformed by the suction action, the material of the part that seems to be erased at the timing when the bullets are added becomes the material of the added bullets. Therefore, the material of the added bullets can be made easier for the player to understand. In addition, since the player considers which material part of the terrain object to perform the suction action on in consideration of what the material of the increased bullets will be, the strategic nature of the game can be improved.

[0240] In other embodiments, the game system 1 may determine the material of the increased bullet based not only on the voxel update when the increase of the bullet is determined, but also on the material that has decreased in the voxel update until the increase of the bullet is determined. For example, in the example of FIG. 36, the material of the increased bullet may be determined as the material that has become the "material of the erased part" most frequently in the first to fifth frames until the increase of the bullet is determined (in the example of FIG. 36, the material of "grass"). Also, for example, the game system 1 may determine the material of the erased part for the first to fifth frames until the increase of the bullet is determined. Specifically, the game system 1 specifically calculates, for each voxel, a value obtained by multiplying the ratio of the material in the voxel to the total decrease amount of the density for each voxel in the first to fifth frames (the total in the first to fifth frames), and determines, as the "material of the erased part for the first to fifth frames", the material with the largest total value obtained by summing up the values for each voxel. The material determined in this way may be the material of the increased bullet.

[0241] In this embodiment, as an example of an action whose executable count is increased under certain conditions in response to the suction action, the player character performs an action of throwing a bullet. Here, in other embodiments, the action whose executable count is increased under certain conditions in response to the suction action may be any action. For example, the above action may be an action of emitting a light beam, or an action such as a punch or a kick. At this time, a material is set for these actions in the same way as the method for determining the material of the bullet, and the properties of the material may be imparted to the above actions of the light beam, punch, or kick.

[0242] [2-8-2. Second Example (Example in which an event in which an item is placed in a terrain object is performed)] As a second example, an event in which an item is placed in a terrain object will be described in response to a deformation in which a part of the terrain object is erased. FIG. 37 is a diagram showing an example of how an item is placed in response to the deformation of a terrain object. As shown in FIG. 37, in the present embodiment, the player character 201 can deform the terrain object 281 so as to be erased by the above-described punch action, suction action, or the like. Here, in the present embodiment, when a deformation in which a part of the terrain object 281 is erased is performed, an event in which the item object 282 is placed is executed under certain conditions (see (b) of FIG. 37). Although details will be described later, in the present embodiment, the item object 282 is placed in response to a decrease in the volume of the voxels related to the terrain object 281 by a predetermined amount. According to this, it is possible to give the player a motivation to deform the terrain object. Hereinafter, the details of the above event will be described.

[0243] In the second example, when the terrain object is deformed by the player character 201, the game system 1 calculates the amount of decrease in the volume of the voxels related to the terrain object as an index indicating the degree of change in the voxels. Here, the deformation of the terrain object by the player character 201 refers to the deformation of the terrain object caused by the actions of the player character 201. For example, the deformation of the terrain object due to the actions of the player character 201 such as the above-mentioned punch action or suction action is an example of the deformation of the terrain object by the player character 201. Also, for example, the deformation of the terrain object caused by the player character 201 using an item (for example, by exploding a bomb) may also be an example of the deformation of the terrain object by the player character 201. Also, for example, as a result of the player character 201 blowing away an enemy character by a punch action or the like, and the enemy character hitting the terrain object and deforming the terrain object may also be an example of the deformation of the terrain object by the player character 201. Note that in other embodiments, not limited to the deformation of the terrain object caused by the actions of the player character 201, the amount of decrease in the volume of the voxels may also be calculated based on the deformation of the terrain object caused by other factors.

[0244] In this embodiment, the amount of decrease in the volume of the above voxel is calculated based on the size of the voxel in the game space and the amount of decrease in the density of the voxel. Specifically, when the terrain object is deformed, for one or more voxels with decreased density, the game system 1 calculates the decrease amount for each voxel by multiplying the volume of one such voxel in the game space by the amount of decrease in density, and calculates the total decrease amount obtained by summing up the decrease amounts for each voxel for the one or more voxels as the amount of decrease in the volume of the above voxel. According to the above, the decrease amount can be calculated with higher precision than the volume of one voxel. Note that the method for calculating the amount of decrease in the volume of the voxel is not limited to the above and is arbitrary. The amount of decrease in the volume of the voxel may be calculated by any method based on the amount of decrease in the density of the voxel. For example, in other embodiments, the game system 1 may calculate, as the amount of decrease in the volume of the voxel, the total decrease amount obtained by summing up the decrease amounts in density for each voxel for one or more voxels with decreased density without considering the size of the voxel.

[0245] In this embodiment, every time the terrain object is deformed, the game system 1 calculates the amount of decrease in the volume of the above voxel and calculates the cumulative decrease amount. Further, every time the cumulative decrease amount is updated, the game system 1 determines whether to place an item object based on the updated cumulative decrease amount. In this embodiment, when the cumulative decrease amount reaches a predetermined threshold, it is determined that an item object is to be placed. Note that in this embodiment, when an item object is placed, the game system 1 resets the cumulative decrease amount and then recalculates the cumulative decrease amount again. As a result, an item object is placed every time the cumulative decrease amount reaches a predetermined threshold during the game. The player can periodically obtain item objects by continuously causing the player character to perform an action of deforming the terrain object so as to be erased.

[0246] In the second example, the "decrease in the volume of the voxels" was used as an indicator showing the degree of change. However, the specific indicator showing the degree of change is arbitrary. For example, in other embodiments, as the above indicator in the second example, the "number of times the density of the voxels was updated" used in the first example may be adopted. At this time, the game system 1 may place an item object when the above number reaches a predetermined threshold. Also, for example, in other embodiments, instead of the above "cumulative decrease in the volume of the voxels", the volume of the voxels at the current time may be used as an indicator showing the degree of change. The volume of the voxels at the current time can be obtained by subtracting the cumulative decrease from the volume of the voxels at the start of the game. At this time, the game system 1 may place an item object when the volume of the voxels at the current time becomes equal to or less than a predetermined threshold.

[0247] Also, the method of determining the placement of the item object based on the cumulative decrease is arbitrary. For example, in other embodiments, each time the cumulative decrease is reset, the value of the threshold may be changed, or it may be changed so that the value of the threshold increases (or decreases) each time it is reset. Also, for example, the game system 1 may set a plurality of thresholds, not reset the cumulative decrease, and place an item object each time the cumulative decrease reaches a threshold. Also, for example, the game system 1 may determine whether to place an item object based on a probability that increases as the cumulative decrease increases.

[0248] Also, in other embodiments, the game system 1 may calculate the decrease in the volume of the voxels for each material or for each group of materials. At this time, it may be determined whether to place an item object depending on whether the cumulative decrease for each material or group has reached a threshold. The threshold at this time may be set according to the size of each material or group. Also, the game system 1 may place an item object of a type corresponding to the material or group for which the cumulative decrease has reached the threshold.

[0249] Also, in other embodiments, the game system 1 may arrange item objects based on the increased amount of the volume of voxels. For example, as in the example shown in FIG. 29, the player character 201 can also deform the terrain object so as to increase the volume of the internal region of the terrain object. The game system 1 may calculate the cumulative increased amount with respect to the increased amount of the volume of voxels, and determine whether to arrange an item object based on the cumulative increased amount. At this time, the game system 1 may not subtract the cumulative increased amount even when the density of the voxels of the terrain object is decreased. Also, in other embodiments, the game system 1 may calculate the change amount that is the sum of the decreased amount and the increased amount of the volume of voxels, and arrange item objects based on the change amount.

[0250] In the present embodiment, the item object is arranged at a position hidden by the terrain object. For example, in the example shown in FIG. 37, the item object 282 is arranged in the internal region of the terrain object 281. That is, the item object is arranged at a position where voxels having a density equal to or higher than the reference value are defined in the game space. The player character 201 can release the item object from the state of being buried in the terrain object by deforming the terrain object by means of a punch action, a suction action, or the like so that the terrain object is further erased. According to the above, the item object can be arranged naturally without giving the player an impression that the item object suddenly appears. Note that, in other embodiments, the arrangement position of the item object is arbitrary and may be arranged outside the terrain object or may be arranged in a state where a part thereof is buried in the terrain object. Note that, in other embodiments, the game system 1 may deform the terrain object so that a cavity is formed in the region including the position where the item object is arranged in the internal region of the terrain object, and arrange the item object in the formed cavity.

[0251] The game system 1 may determine the placement position of the item object based on the position where the terrain object, which is a factor for placing the item object, has been deformed. For example, the item object may be placed in an area within a predetermined distance from the position or range where the terrain object has been deformed. According to this, the item object can be placed in a position where it is easy to be discovered. Also, for example, as shown in FIG. 37, the item object may be placed in an area on the back side when viewed from the player character, from the position or range where the terrain object has been deformed. According to this, since the item object can be discovered by further deforming the deformed part of the terrain object, the item object can be placed in a more easily discoverable position. The game system 1 may determine the placement position of the item object in an arbitrary manner within the above area. For example, a defined position within the area (for example, the center position of the area) may be set as the placement position of the item object, or the placement position may be determined randomly within the area.

[0252] Note that, depending on the direction in which the player character performs an action to deform a terrain object, the game system 1 may not place an item object even when the cumulative decrease amount reaches a predetermined threshold. For example, as a result of the player character performing an action upward, if the portion of the terrain object located above the player character is deformed, an item object is placed further above that portion. In this case, if the player character attempts to obtain the item object and further deforms the terrain object, the item object may fall immediately when the state of being buried in the terrain object is released. Therefore, for example, when the player character performs an action to deform a terrain object in the vertical direction in the game space, the game system 1 may not place an item object even when the cumulative decrease amount reaches a predetermined threshold. At this time, an item object may be placed when the player character performs the above action in a direction different from the vertical direction at a later time.

[0253] The item object to be placed may be any type of item in the game. In this embodiment, the item object to be placed is a treasure box object. The player character 201 can obtain a predetermined reward item, for example, by performing an action of opening the treasure box object or touching the treasure box object. Note that the treasure box object is in a state of being buried in the terrain object at the time of placement, and may be in a state of not being buried in the terrain object when the terrain object around the treasure box object is deformed so as to be erased. At this time, the player character 201 cannot perform an action of opening the treasure box object when the treasure box object is buried in the terrain object, and may be able to perform the action when the treasure box object is not buried in the terrain object. Also, the reward item may be any type of item, for example, an item such as a coin that is a collection target in the game, or an item such as a weapon or a recovery item for advancing the game advantageously. Also, in other embodiments, instead of placing the treasure box object in the terrain object, the reward item itself may be placed. Note that, in the above, there may be a plurality of types of candidates for the reward item that can be obtained from the treasure box object or can be placed in the terrain object, and one may be selected from among the plurality of types of candidates by an arbitrary method.

[0254] [2-8-3. Third Example (Example in which an event for granting an item in a game is performed)] As a third example, an example in which an event for granting an item in a game is executed in response to a deformation in which a part of the terrain object is erased will be described. In this embodiment, each time the terrain object is deformed by the player character during the game, the game system 1 calculates an index indicating the degree of change of the above-described voxels, and when the index reaches a predetermined threshold value, executes an event for granting an item. Thereby, it is possible to give the player a motivation to deform the terrain object.

[0255] In this embodiment, as described in the second example above, when the terrain object is deformed by the player character 201, the game system 1 calculates the amount of decrease in the volume of the voxels related to the terrain object. At this time, the game system 1 calculates the amount of decrease for each group of materials. Note that the groups of materials may be set in any way. For example, in this embodiment, it is assumed that the groups are set such that materials with the same properties belong to the same group. When calculating the amount of decrease for each group of materials, the game system 1 calculates, for each material, the amount of decrease per voxel obtained by multiplying the amount of decrease in density and the ratio of the material by the volume of one such voxel in the game space for one or more voxels whose density has decreased. Further, the total amount of decrease calculated by summing up the amount of decrease per voxel for each material for the one or more voxels is calculated as the "amount of decrease in the volume of the voxels" for each material. By summing up the calculated "amount of decrease in the volume of the voxels" for each material for each group of materials, the amount of decrease for each group of materials can be obtained.

[0256] In this embodiment, every time the terrain object is deformed, the game system 1 calculates the amount of decrease in the volume of the voxels for each group of materials as described above, and calculates the cumulative amount of decrease for each group of materials. Also, every time the cumulative amount of decrease for each group of materials is updated, the game system 1 determines whether to grant an item based on the updated cumulative amount of decrease. For example, when the cumulative amount of decrease reaches a predetermined threshold, it is determined that an item is to be granted. At this time, a plurality of types of thresholds may be set for each group of materials, and an item set corresponding to the threshold may be granted in response to the cumulative amount of decrease of the group reaching the threshold. Also, the method of determining the item to be granted is arbitrary. For example, an item may be set for each group of materials, or an item may be set for each threshold.

[0257] In the third example, the "decrease in the volume of voxels" was used as an indicator showing the degree of change. However, the specific indicator showing the degree of change is arbitrary. For example, in other embodiments, as the above indicator in the third example, the "number of times the density of voxels was updated" used in the first example may be adopted. At this time, the game system 1 may count the above number for each group of materials and grant an item when the above number reaches a predetermined threshold. Also, for example, in other embodiments, the above-mentioned "volume of voxels at the current time" may be used as an indicator showing the degree of change. At this time, the game system 1 may grant an item when the volume of voxels at the current time becomes equal to or less than a predetermined threshold.

[0258] FIG. 38 is a diagram showing an example of an achievement image indicating the achievement of deforming a terrain object. In the present embodiment, the game system 1 displays an achievement image as shown in FIG. 38 in response to a predetermined instruction by the user during the game. The achievement image shows the cumulative decrease amount at the current time for each group of materials. In the example shown in FIG. 38, the achievement image includes, for each group of materials, an item showing the group of materials (for example, item 291) and a bar graph showing the cumulative decrease amount (for example, bar graph 292). Note that in the example shown in FIG. 38, "trees", "grass", etc. shown in the item indicate the properties of the materials rather than the names of the materials, and indicate groups of materials having the same properties. For example, "trees" indicates a group of materials having the properties of trees.

[0259] In another embodiment, the game system 1 may calculate the cumulative reduction amount for each material and determine whether to grant an item based on the reduction amount. At this time, the achievement image may show the cumulative reduction amount for each material. Also, for example, the game system 1 may calculate the cumulative reduction amount of the entire terrain object without distinguishing between materials and groups of materials, and determine whether to grant an item based on the reduction amount. Further, in another embodiment, items granted according to the cumulative reduction amount for each material, items granted according to the cumulative reduction amount for each group of materials, and items granted according to the total cumulative reduction amount may be set respectively.

[0260] The specific content of the item granted to the player is arbitrary. For example, currency or points that can be used in the game may be granted as items, or items such as weapons and tools that the player character uses in the game may be granted. Note that the mode in which an item is granted to the player character can be said to be an example of the mode in which an item is granted to the player. Also, in the event where an item is granted, the timing at which the player receives the item is arbitrary. For example, the game system 1 determines that an item is to be granted when the cumulative reduction amount reaches a threshold, but the timing at which the player or the player character receives the item may be different from the timing at which the item is granted. For example, the above achievement image may include an image showing the granted item, and the player may receive the item by specifying the image.

[0261] Note that in the above second and third examples, the game system 1 executed an event according to the degree of change of the voxels related to the terrain object. Here, in another embodiment, the game system 1 may execute an event in consideration of the degree of change of the voxels related to other voxel objects other than the terrain object.

[0262] As described above, in the first to third examples, each event occurs in response to the degree of change in the voxels reaching a predetermined degree. According to this, since many events can occur by deforming more voxel objects, it is possible to give the player an incentive to deform more voxel objects.

[0263] [3. Specific Examples of Processing in the Game System] Next, with reference to FIGS. 39 to 43, a specific example of information processing in the game system 1 will be described.

[0264] FIG. 39 is a diagram showing an example of various data used for information processing in the game system 1. Each data shown in FIG. 39 is stored in a memory (for example, flash memory 84, DRAM 85, and / or a memory card mounted on slot 23, etc.) accessible by the main body device 2. As shown in FIG. 39, the game system 1 stores a game program. The game program is for executing the game processing in the present embodiment (specifically, the game processing shown in FIG. 40). Note that the game program includes the above-described material data (see FIG. 12). Further, the above memory stores the above-described voxel data (see FIG. 11), update range data, mesh data, update count data, bullet data, overall reduction amount data, group reduction amount data, and object data, etc. (see FIG. 39).

[0265] The update range data is data indicating the above-described update range. In the present embodiment, the update range is represented by the above-described SDF.

[0266] Mesh data includes various data related to the mesh of the voxel object. As shown in FIG. 39, in this embodiment, the mesh data includes SVO data, display mesh data, and determination mesh data. The SVO data is data that holds each vertex calculated from the voxel data in the above-described SVO structure. In this embodiment, the SVO data includes, in addition to the data indicating the position of each vertex, data indicating the material set for each vertex (for example, data indicating the ID of the material). The display mesh data includes various data related to the display mesh. Specifically, the display mesh data includes data indicating each vertex of the display mesh and data indicating the material set for each vertex (for example, data indicating the ID of the material). The determination mesh data includes various data related to the determination mesh. Specifically, the determination mesh data includes data indicating each vertex of the determination mesh and data indicating the material set for each vertex (for example, data indicating the ID of the material).

[0267] The update count data indicates the number of times the density of the voxels has been updated by the above-described suction action. At the start of the game, the above count is set to 0. Also, the bullet data indicates the number of bullets that the player character throws and the material for each bullet. At the start of the game, the number of bullets is set to a predetermined number.

[0268] The total reduction amount data indicates the above-described cumulative reduction amount related to the voxels of the terrain object. Also, the group reduction amount data indicates the cumulative reduction amount for each material group related to the voxels of the terrain object. At the start of the game, these cumulative reduction amounts are set to 0.

[0269] Object data includes various data regarding objects other than voxel objects (e.g., player characters, fragment objects, etc.). Object data is stored for each object that appears in the game space. Object data includes, for example, data indicating the position, speed, and state of the object.

[0270] Figure 40 is a flowchart showing an example of the flow of game processing executed by the game system 1. The execution of the game processing is started, for example, in response to the start of the game according to the player's instruction during the execution of the above game program. Note that the processing loop consisting of a series of processes from steps S1 to S15 is executed once per frame at a cycle.

[0271] In this embodiment, it will be described that the processor 81 of the main body device 2 executes the processing of each step shown in FIG. 40 by executing the above game program stored in the game system 1. However, in other embodiments, some of the processing of each step above may be executed by a processor (e.g., a dedicated circuit, etc.) different from the processor 81. Also, when the game system 1 can communicate with another information processing device (e.g., a server), a part of the processing of each step shown in FIG. 40 may be executed in the other information processing device. Also, the processing of each step shown in FIG. 40 is merely an example, and if the same result can be obtained, the processing order of each step may be changed, or another process may be executed in addition to (or instead of) the processing of each step.

[0272] Also, the processor 81 executes the processing of each step shown in FIG. 40 using a memory (e.g., 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 and uses the information from the memory.

[0273] In step S1 shown in FIG. 40, the processor 81 acquires the operation data indicating the operation input by the player. That is, the processor 81 acquires the operation data received from each controller via the controller communication unit 83 and / or each of the terminals 17 and 21. The process of step S2 is executed after step S1.

[0274] In step S2, the processor 81 designates, as a processing target, any one of the objects in the game space that require processing and for which the processing has not been completed, and for the designated object, executes a process of calculating the speed and a process of reflecting the result of contact between the objects in the previous frame. The speed of the object is used to calculate the position of the object in the current frame in the process of step S13 described later. For example, when the designated object is the player character, the speed of the player character is calculated based on the operation data acquired in step S1. Also, when the designated object is an object not operated by the player (for example, a fragment object), the speed of the object is calculated based on a rule predetermined in the game program. For example, the speed of the fragment object is set to 0 when it is placed on the terrain object and not moving, set to the same as the speed of the player character when held by the player character, and set to the speed of moving in the above-mentioned aiming direction with the magnitude determined by the above rule when released by a throwing action by the player character. Specifically, the speed of the object is calculated based on virtual physical calculations including the interaction between the objects. For example, interactions such as repulsion due to collision between objects, friction due to contact, falling due to virtual gravity, and deceleration due to virtual air resistance are reflected in the speed determination.

[0275] In addition, the process of reflecting the result of contact between objects in the previous frame includes a process of applying the influence of contact to the object when it is determined in the collision determination (step S10) in the previous frame that the objects have come into contact with each other. The above process is, for example, the following process. · When it is determined that the player character has come into contact with the lava terrain object in the previous frame, a process of reducing the physical strength of the player character · When it is determined that the player character has come into contact with the terrain object by a pulling action or a punch action in the previous frame, a process of generating a fragment object · When it is determined that the fragment object has come into contact with the rock terrain object in the previous frame, a process of disappearing the fragment object When the state regarding the object is changed in the process of step S2 above, the processor 81 updates the object data stored in the memory regarding the object so as to indicate the changed content. The process of step S3 is executed after step S2.

[0276] In step S3, the processor 81 determines whether an update event that updates the voxel object has occurred due to the object specified in step S2. For example, the determination in step S3 is made based on the result of the collision determination (step S10) in the previous frame. For example, if it is determined in the previous frame that the player character has contacted the terrain object by a pulling action or a punching action, it is determined that an update event has occurred in which a part of the terrain object is deformed as if it has been erased (see FIGS. 26 and 27). Note that such update events include events in which a part of the terrain object is deformed as if it has been erased by a punching action or a suction action by the player character, and under certain conditions, the material for the range of the deformed part and its surrounding parts is changed (see FIGS. 30 and 33). Also, for example, if it is determined in the previous frame that the fragment object has contacted the rock terrain object, it is determined that an update event has occurred in which the terrain object is deformed as if the fragment object has adhered to the terrain object (see FIG. 29). If the determination result in step S3 is affirmative, the process of step S4 is executed. On the other hand, if the determination result in step S3 is negative, the process of step S5 is executed.

[0277] In step S4, the processor 81 executes voxel update processing for updating the voxel data regarding the voxel object for which it is determined in step S3 that an update event has occurred. Hereinafter, with reference to FIG. 41, the details of the voxel update processing in step S4 will be described.

[0278] FIG. 41 is a sub - flowchart showing an example of the detailed flow of the voxel update process in step S4 shown in FIG. 40. In the voxel update process, first, in step S21, the processor 81 determines whether the update event determined to have occurred in step S3 is an event for deforming the voxel object. The determination in step S21 is made based on the type of the update event. For example, regarding the update events shown in FIGS. 26, 27, 29, 31, and 37 described above, it is determined that they are events for deforming the voxel object. Note that in this embodiment, an event for changing only the material without changing the density of the voxels may be performed, and such an event is determined not to be an event for deforming the voxel object. If the determination result in step S21 is affirmative, the process of step S22 is executed. On the other hand, if the determination result in step S21 is negative, the process of step S24 is executed.

[0279] In step S22, the processor 81 sets a density update range for updating the density of the voxels related to the voxel object in the game space. For example, the specific content of the density update range (that is, position, shape, and size) is associated with each type of update event in the game program. The density update range set in step S22 is set to be associated with the type of the update event determined to have occurred in step S3. The processor 81 stores the data indicating the set density update range in the memory as update range data. The process of step S23 is executed after step S22.

[0280] In step S23, the processor 81 updates the density of the voxels corresponding to the density update range set in step S22 according to the update event. For example, when the voxel object is deformed so as to be erased (also referred to as destroyed), an update is performed to decrease the density of the voxels corresponding to the density update range. Also for example, when the voxel object is deformed so that the volume of the inner region increases, an update is performed to increase the density of the voxels corresponding to the density update range. Specifically, the processor 81 updates the voxel data stored in the memory so as to change the density of the voxels corresponding to the density update range. Note that the specific method of updating the density of the voxels corresponding to the density update range is associated for each type of update event in the game program. For example, in an event where the terrain object is deformed according to a suction action, the density is updated in such a way that the inner region of the terrain object 272 is deformed to shrink (see FIG. 32). The process of step S24 is executed after step S23.

[0281] In step S24, the processor 81 determines whether the update event determined to have occurred in step S3 is an event that changes the material of the voxel object. The determination in step S24 is made based on the type of the update event. For example, for an event where the terrain object is deformed according to a suction action (see FIG. 31), it is determined that the event is one that changes the material of the voxel object. On the other hand, for the examples of update events shown in FIGS. 26, 27, 29, and 37, it is determined that the event is not one that changes the material of the voxel object. If the determination result in step S24 is affirmative, the process of step S25 is executed. On the other hand, if the determination result in step S24 is negative, the process of step S27 is executed.

[0282] In step S25, the processor 81 sets a material update range for changing the material of the voxels related to the voxel object in the game space. For example, when the density update range is set by the process of step S22, the material update range is generated based on the density update range (see FIG. 33). Note that for the material update range for which the corresponding density update range is not set, the specific content of the material update range (that is, position, shape, and size) is associated for each type of update event in the game program, for example. When the process of step S22 is not executed, the material update range is set to be the content associated with the type of update event determined to occur in step S3. The processor 81 stores data indicating the set material update range in the memory as update range data. The process of step S26 is executed after step S25.

[0283] In step S26, the processor 81 changes the material of the voxels corresponding to the material update range set in step S25 according to the update event. For example, the processor 81 changes the material of the voxels corresponding to the material update range to the internal material associated with the material before the change, or changes it to a predetermined material. The processor 81 updates the voxel data stored in the memory so as to change the material of the voxels corresponding to the material update range. After step S26, the process of step S27 is executed.

[0284] In step S27, the processor 81 determines whether a fragment part of the voxel object occurs in the voxel data after the process of step S23. Specifically, the processor 81 determines whether a small area corresponding to the fragment part to be erased is specified from among the areas within the above-described determination range. If the determination result in step S27 is affirmative, the process of step S28 is executed. On the other hand, if the determination result in step S27 is negative, the processor 81 ends the voxel update process.

[0285] In step S28, the processor 81 updates the density for the voxels corresponding to the small regions identified in the process of step S27. Specifically, the processor 81 updates the voxel data stored in the memory so that the density of the voxel becomes a value less than the reference value. After step S28, the processor 81 ends the voxel update process.

[0286] Returning to the description of FIG. 40, in step S5 following the voxel update process of step S4, the processor 81 determines whether the processes of steps S2 to S4 have been completed for all objects that require processing. If the determination result in step S5 is affirmative, the process of step S6 is executed. On the other hand, if the determination result in step S5 is negative, the process of step S2 is executed again.

[0287] In step S6, the processor 81 updates the vertices of the voxel objects in the game space. That is, when the voxel data is updated in the process of step S5, new vertices are calculated based on the updated voxel data. Note that the positions of the new vertices are calculated according to the method described in the above [2-3. Calculation of vertices]. Also, the materials of the new vertices are calculated according to the method described in the above [2-4. Determination of vertex materials]. The process of step S7 is executed after step S6.

[0288] In step S7, the processor 81 performs vertex simplification. That is, the processor 81 performs simplification on each vertex updated by the process of step S6 according to the method described in the above [2-5. Vertex simplification]. The SVO data stored in the memory is updated to indicate each vertex obtained by the processes of steps S6 and S7 above. Therefore, the SVO data is updated by the processes of steps S6 and S7. Note that the processes of steps S6 and S7 do not necessarily need to recalculate the vertices for the entire voxel data, and may be executed only for the portions where the contents of the voxels are changed in the process of step S5. The process of step S8 is executed after step S7.

[0289] In step S8, the processor 81 updates the display mesh of the voxel object based on the SVO data stored in the memory. Note that the positions of the vertices of the display mesh and the materials of the polygons of the display mesh (i.e., the materials set for the vertices of the polygons) are calculated according to the methods described in the above [2-6. Generation of Mesh] and [2-6-1. Determination of the Material of the Display Mesh]. The processor 81 updates the display mesh data stored in the memory so as to indicate the positions and materials of the vertices of the updated display mesh. The process of step S9 is executed after step S8. Note that the processor 81 may start the processes after step S9 and execute them in parallel without waiting for the completion of step S8. In that case, step S8 needs to be completed before the start of step S14.

[0290]

[0291] In step S9, the processor 81 updates the determination mesh of the voxel object based on the SVO data stored in the memory. Note that the positions of the vertices of the determination mesh and the materials of the polygons of the determination mesh (i.e., the materials set for the vertices of the polygons) are calculated according to the methods described in the above [2-6. Generation of Mesh] and [2-6-2. Determination of the Material of the Determination Mesh]. The processor 81 updates the determination mesh data stored in the memory so as to indicate the positions and materials of the vertices of the updated determination mesh. The process of step S10 is executed after step S9.In the example shown in FIG. 36, the generation process of the determination mesh (step S9) is executed every frame. However, the generation process of the determination mesh does not necessarily have to be executed every frame. For example, when the collision determination process in step S10 is executed only in frames that satisfy a predetermined condition, the processor 81 may execute the generation process of the determination mesh in the frames for performing the collision determination in step S10. Further, the processor 81 may execute the generation process of the determination mesh for the voxels within the region in the game space where the collision determination in step S10 is performed. For example, in a situation where there are no objects to be subjected to collision determination other than the voxel objects around the player character in the game space (that is, a situation where only the collision determination between the player character and the surrounding voxel objects needs to be performed), the processor 81 may execute the generation process of the determination mesh for the voxels within a predetermined range based on the player character.

[0292] In step S10, the processor 81 performs a collision determination for each object in the game space based on the determination mesh data and the object data stored in the memory. That is, the processor 81 performs the collision determination using the determination mesh for the voxel objects and using a determination area of a predetermined shape set for the object for the objects that are not voxel objects. In the present embodiment, the collision determination in step S10 is performed in consideration of the speed calculated in step S2 above. That is, the processor 81 performs the collision determination using the position when moving at the above speed as the position of each object.

[0293] In the present embodiment, the presence or absence of the following contacts, for example, is determined by the collision determination in step S10. · Contact between a player character performing a movement, a punch action, or a pulling-out action and a terrain object · Contact between a character performing an action of lifting (a fragment object) and the fragment object · Contact between a straight line extending in the aiming direction from the position of the player character and the terrain object · Contact between the fragment object released by the throwing action of the player character and the terrain object · Contact between a straight line extending in the direction indicated by the aiming image from the position of the player character performing the suction action (see Fig. 33) and the terrain object If it is determined in the collision determination in step S10 that the objects are in contact with each other, then in the process of step S2 in the next frame, a process reflecting the result of the contact between the objects is executed, or in the process of step S3 in the next frame, it is determined that an update event has occurred. The process of step S11 is executed after step S10.

[0294] In step S11, the processor 81 executes player character control processing. In the player character control processing, control processing regarding the player character is executed based on the operation input by the player. Hereinafter, with reference to Fig. 42, the details of the player character control processing will be described.

[0295] Fig. 42 is a sub - flowchart showing an example of the detailed flow of the player character control processing in step S11 shown in Fig. 40. In the player character control processing, first, in step S31, the processor 81 determines whether it is an operation reception period during which an operation input to the player character is received. Here, in the present embodiment, the period during which the player character performs a predetermined action (for example, the action started in step S36 described later) in response to the operation input by the player is excluded from the operation reception period. If the determination result in step S31 is affirmative, the process of step S32 is executed. On the other hand, if the determination result in step S31 is negative, the process of step S41 described later is executed.

[0296] In step S32, the processor 81 determines whether an operation input for an action instruction for the player character has been performed based on the operation data acquired in step S1 above. The action instruction is, for example, an instruction for causing the player character to perform a punch action, a pulling action, a sucking action, an action of assuming a stance to throw a bullet, or an action of throwing a bullet. If the determination result in step S32 is affirmative, the process of step S33 is executed. On the other hand, if the determination result in step S32 is negative, the process of step S39 is executed.

[0297] In step S33, the processor 81 determines whether the action instruction performed in step S32 is an instruction for causing the player character to perform an action of assuming a stance to throw a bullet. If the determination result in step S33 is affirmative, the process of step S34 is executed. On the other hand, if the determination result in step S33 is negative, the process of step S36 is executed.

[0298] In step S34, the processor 81 determines whether the number of bullets that the player character can throw is 1 or more. Specifically, the processor 81 determines whether the number indicated by the bullet data stored in the memory is 1 or more. If the determination result in step S34 is affirmative, the process of step S35 is executed. On the other hand, if the determination result in step S34 is negative, the process of step S39 is executed. In this case, the player character will not perform an action of assuming a stance to throw a bullet.

[0299] In step S35, the processor 81 decreases the number of bullets that the player character can throw by 1. Specifically, the bullet data stored in the memory is updated to a value obtained by subtracting 1. After step S35, the process of step S36 is executed.

[0300] In step S36, the processor 81 determines whether the action instruction performed in step S32 is an instruction for causing the player character to perform a throwing action of throwing a bullet. If the determination result in step S36 is affirmative, the process of step S37 is executed. On the other hand, if the determination result in step S36 is negative, the process of step S38 is executed.

[0301] In step S37, the processor 81 determines whether the player character is in a stance state of throwing a bullet. If the determination result in step S37 is affirmative, the process of step S38 is executed. On the other hand, if the determination result in step S37 is negative, the process of step S39 is executed. In this case, the player character will not perform the action of throwing a bullet.

[0302] In step S38, the processor 81 causes the player character to start an action according to the action instruction performed in step S32. After the player character starts the action in step S38, the player character is controlled to perform the action over a certain period by the process of step S41 described later. After step S38, the processor 81 ends the player character control process shown in FIG. 42.

[0303] In step S39, the processor 81 determines whether an operation input for a movement instruction for the player character has been performed based on the operation data acquired in step S1 above. The movement instruction is an instruction for causing the player character to perform an operation of moving on the game field. If the determination result in step S39 is affirmative, the process of step S40 is executed. On the other hand, if the determination result in step S39 is negative, the process of step S41 is executed.

[0304] In step S40, the processor 81 causes the player character to move on the field in response to the movement instruction performed in step S39. After step S39, the processor 81 ends the player character control process shown in FIG. 42.

[0305] In step S41, the processor 81 controls the player character to perform various operations, such as the progress of the action started in step S38 and the operations when no input is made by the player. In one execution of step S41, the processor 81 controls the player character to perform the operations for one frame time. By repeatedly executing the process of step S41 over a plurality of frames, the player character performs a series of operations according to the above action instruction.

[0306] Note that when the operation to be performed by the player character is not instructed by the player (for example, when the operation started in step S38 has ended), in step S41, the processor 81 may not cause the player character to perform an operation, or may cause the player character to perform an operation (for example, an operation of looking around or swaying the body) to make the behavior of the player character look natural. After step S41, the processor 81 ends the player character control process shown in FIG. 42.

[0307] Returning to the description of FIG. 40, in the next step S12 of the player character control process in step S11, the processor 81 executes an event process. The event process is a process for performing an event that occurs in response to the deformation of the voxel object. Hereinafter, the details of the event process will be described with reference to FIG. 43.

[0308] Figure 43 is a sub - flowchart showing an example of the detailed flow of the event processing in step S12 shown in Figure 40. In the event processing, first in step S51, the processor 81 determines whether the player character is performing a suction action. During the period from when the control of the suction action is started by the process of step S38 until the suction action ends, the determination result of step S51 is affirmative. If the determination result of step S51 is affirmative, the process of step S52 is executed. On the other hand, if the determination result of step S51 is negative, the process of step S57 described later is executed.

[0309] In step S52, the processor 81 determines whether, in the current frame, the density of the voxels regarding the terrain object has been updated by the suction action. When the density update in the process of step S23 is performed due to the suction action, the determination result of step S52 is affirmative. If the determination result of step S52 is affirmative, the process of step S53 is executed. On the other hand, if the determination result of step S52 is negative, the process of step S59 described later is executed.

[0310] In step S53, the processor 81 counts the number of times the density of the voxels has been updated due to the suction action. The processor 81 stores the data indicating the update count in the memory, and in step S53, it increases the value of the update count indicated by the data by 1. The process of step S54 is executed after step S53.

[0311] In step S54, the processor 81 determines whether the update count counted in step S53 has reached a predetermined number. If the determination result of step S54 is affirmative, the process of step S55 is executed. On the other hand, if the determination result of step S54 is negative, the process of step S59 described later is executed.

[0312] In step S55, the processor 81 increases the number of bullets that the player character can throw by one and determines the material of the increased bullets. The material of the bullets is determined based on the material of the voxels whose density has changed by the suction action according to the method described in the above [2-8-1. First example (example in which the number of bullets increases and the event in which the player character throws a bullet occurs)]. The processor 81 updates the bullet data stored in the memory so as to include data indicating the bullets of the material determined above. The process of step S56 is executed after step S55.

[0313] In step S56, the processor 81 resets the number of update counts to be counted. Specifically, the data indicating the number of update counts stored in the memory is updated to the content indicating 0. After step S56, the process of step S59 described later is executed.

[0314] In the present embodiment, during the period in which the player character performs the suction action, the series of processes of steps S51 to S56 are executed in the event processing for each frame. As a result, every time the number of update counts reaches a predetermined number, an event of adding a bullet is executed.

[0315] In step S57, the processor 81 determines whether or not the suction action by the player character has just ended. If the determination result in step S57 is affirmative, the process of step S58 is executed. On the other hand, if the determination result in step S57 is negative, the process of step S59 described later is executed.

[0316] In step S58, the processor 81 resets the number of update counts to be counted in the same manner as in step S55 above. The process of step S59 is executed after step S58.

[0317] In step S59, the processor 81 calculates the above-mentioned cumulative reduction amount for the voxels of the terrain object. Note that the cumulative reduction amount calculated in step S62 is the reduction amount for the entire terrain object. The cumulative reduction amount is calculated according to the method described in the above [2-8-2. Second example (example where an event of placing an item in the terrain object occurs)]. For example, the processor 81 can calculate the current cumulative reduction amount by adding the reduction amount resulting from the density update in step S23 of the current frame to the cumulative reduction amount indicated by the total reduction amount data stored in the memory. The processor 81 stores the data indicating the calculated cumulative reduction amount in the memory as new total reduction amount data. The process of step S60 is executed after step S59.

[0318] In step S60, the processor 81 determines whether the cumulative reduction amount calculated in step S59 satisfies the condition for placing the item object. Specifically, the processor 81 determines whether the cumulative reduction amount is equal to or greater than a predetermined threshold. If the determination result in step S60 is affirmative, the process of step S61 is executed. On the other hand, if the determination result in step S60 is negative, the process of step S63 is executed.

[0319] In step S61, the processor 81 places the item object in the game space. Specifically, the processor 81 determines the placement position of the item object based on the position where the terrain object is deformed and / or the position of the player character according to the method described in the above [2-8-2. Second example (example where an event of placing an item in the terrain object occurs)]. The processor 81 stores the object data regarding the item object in the memory so that the item object is placed at the determined placement position. The process of step S62 is executed after step S61.

[0320] In step S62, the processor 81 resets the cumulative reduction amount calculated in step S59. Specifically, the data indicating the overall reduction amount stored in the memory is updated to the content indicating 0. After step S62, the process of step S63 is executed.

[0321] In step S63, the processor 81 calculates the above-mentioned cumulative reduction amount for the voxels of the terrain object for each material group. The cumulative reduction amount for each material group is calculated according to the method described in the above [2-8-3. Third example (example in which an event of granting an item in a game is performed)]. For example, the processor 81 adds the reduction amount for each group caused by the density update in step S23 in the current frame to the cumulative reduction amount for each group indicated by the group reduction amount data stored in the memory, so as to calculate the current cumulative reduction amount. Note that the processor 81 calculates the cumulative reduction amount for each material group and stores the data indicating each calculated cumulative reduction amount in the memory as new group reduction amount data. The process of step S64 is executed next to step S63.

[0322] In step S64, the processor 81 determines whether any of the cumulative reduction amounts for the respective groups of materials calculated in step S63 satisfy the condition for granting an item. Specifically, the processor 81 determines whether any of the cumulative reduction amounts for each group is equal to or greater than a predetermined threshold. If the determination result in step S64 is affirmative, the process of step S65 is executed. On the other hand, if the determination result in step S64 is negative, the processor 81 ends the event process.

[0323] In step S65, the processor 81 assigns an item according to the condition determined to be satisfied in step S64. For example, among the data regarding the player character stored in the memory, the data regarding the items possessed by the player character is updated. After step S65, the processor 81 ends the event processing.

[0324] Returning to the description of FIG. 40, in step S13 following the event processing of step S12, the processor 81 controls the operations of each object other than the player character. For example, the actions of the enemy characters are controlled according to the algorithms defined in the game program. Also for example, objects such as bullets and fragments are controlled to move in the direction of the throwing action in response to being thrown by the player character. Note that in one execution of the process of step S13, the processor 81 controls each object so as to perform the progress of the operation for one frame for operations (for example, actions by enemy characters) that are performed over a plurality of frames. By repeatedly executing the process of step S13 over a plurality of frames, each object performs a series of operations related to movement and various actions. Also, the position of the object is basically determined to be the position after moving at the speed calculated in step S2 above. However, when it is determined by the collision determination in step S10 that the object contacts another object and the movement is obstructed by the contacted other object, the position of the object is determined not to change. The object data stored in the memory is updated to indicate the object after the control in step S13. The process of step S14 is executed after step S13.

[0325] In step S14, the processor 81 generates a game image. That is, the processor 81 generates a game image by performing drawing on each polygon of the display mesh of the voxel object and each polygon of the object other than the voxel object based on the virtual camera. Note that each polygon of the display mesh is drawn using drawing settings such as a texture corresponding to the material set for the polygon according to the method described in the above [2-6-1. Determination of the material of the display mesh]. Also, in the present embodiment, when the player character is in a state where a throwing action is possible, the processor 81 generates a game image including the above-described aiming image (see FIG. 28). The game image generated in step S14 is output to the display device and displayed at a cycle of once per frame. The process of step S15 is executed next to step S14.

[0326] In step S15, the processor 81 determines whether to end the game. For example, when a player performs a predetermined operation input for ending the game, the processor 81 determines to end the game. If the determination result in step S15 is negative, the process of step S1 is executed again. Thereafter, a series of processes from steps S1 to S15 are repeatedly executed until it is determined in step S15 to end the game. On the other hand, if the determination result in step S15 is affirmative, the processor 81 ends the game process shown in FIG. 40.

[0327] [4. Operational Effects and Modification Examples of the Present Embodiment] According to the above embodiment, when the density of voxels is updated in response to the occurrence of a first event in the game, the game system 1 generates a second event based on the degree of change of the voxels. As a result, game events can be generated according to the deformation of the display mesh of the voxel object, and the strategic nature and interestingness of the game can be improved.

[0328] Note that the "display mesh" may be a mesh used only for display, or may be a mesh used for other purposes than display. Also, the "collision determination mesh" may be a mesh used only for collision determination, or may be a mesh used for other purposes than collision determination. In the above embodiment, two types of meshes, i.e., a display mesh and a collision determination mesh, are used. However, in other embodiments, one type of mesh used for both display and collision determination may be generated.

[0329] Also, according to the above embodiment, during the occurrence of the first event, the update range of the voxels is continuously generated, and for the voxels corresponding to the update range, when either the density of the voxel or the density of the surrounding voxels is less than the reference value, the update is performed so as to decrease the density (see FIG. 32). According to this, the mesh of the voxel object can be deformed by a novel method in which the surface of the voxel object is gradually deleted.

[0330] Note that in the above embodiment, the manner of calculating the degree of change of the voxels is separately described for each material and for each group of materials. However, materials having the same properties can also be regarded as one type of material. In this case, the "degree of change for each material" can be said to include the degree of change for each of several materials belonging to one group.

[0331] Note that in the above embodiment, when processing is executed using data (including the meaning of a program) in a certain information processing apparatus, a part of the data required for the processing may be transmitted from another information processing apparatus different from the certain information processing apparatus. At this time, the certain information processing apparatus may execute the above processing using the data received from the other information processing apparatus and the data stored in itself.

[0332] In other embodiments, the information processing system may not include some of the configurations in the above embodiments, or may not execute some of the processes executed in the above embodiments. For example, in order to obtain some specific results in the above embodiments, the information processing system may include a configuration for obtaining the results and execute a process for obtaining the results, and may not include other configurations or execute other processes.

Industrial Applicability

[0333] The above embodiments can be used, for example, as a game program or a game system for the purpose of generating a game event according to a change in voxel data.

Description of Signs

[0334] 1 Game system 2 Main body device 81 Processor 201 Player character 271 Aiming image 272, 278, 281 Terrain object 276 Density update range 277 Material update range 282 Item object

Claims

1. A computer, updates voxel data defined in a virtual space, the voxel data having at least a density indicating the degree to which the space defined by each of a plurality of voxels is virtually occupied by its content, based on game processing; generates and updates a display mesh corresponding to the voxel data and drawn based on a virtual camera by determining vertex coordinates of the display mesh based on at least the density included in the voxel data; when a first event occurs based on the game processing, generates a first voxel update range in the virtual space, and performs a first voxel update to decrease or increase the density of each voxel corresponding to the first voxel update range in the virtual space among the voxel data; updates a first parameter indicating the degree of change to the voxels performed by the first voxel update; A game program that causes a second event based on the first parameter in the game processing.

2. The first voxel update is an update that decreases the density, The game program according to claim 1, wherein the first parameter is calculated based on a cumulative value of the amount of decrease in the density.

3. The first voxel update is an update that decreases the density, The game program according to claim 1, wherein the first parameter is calculated based on a cumulative value of the amount of decrease in the volume of the voxel based on the volume of the space in which the voxel is defined and the amount of decrease in the density of the voxel.

4. The game program according to claim 1, wherein the first parameter is calculated based on the number of times the first voxel update has been performed.

5. In the voxel data, a material indicating the type of the content is further set for each of the plurality of voxels, The computer further determines the material of the display mesh based on at least the material included in the voxel data, causes the virtual space including the display mesh to be drawn based on the vertex coordinates of the display mesh and a texture corresponding to the material of the display mesh. The game program according to claim 1, which causes the first parameter to be calculated based on the degree of change of each material with respect to the voxel in which the material is set.

6. The computer further controls the player character in the virtual space based on an operation input, causes the player character to perform a first action as the first event, increases the number of executable times of a second action of the player character as the first parameter based on the increase in the degree, The game program according to any one of claims 1 to 4, wherein, when the number of executable times remains, the second event causes the player character to perform the second action by consuming the number of executable times.

7. In the voxel data, a material indicating the type of the content is further set for each of the plurality of voxels, The computer further causes the material of the display mesh to be determined based at least on the material included in the voxel data, causes the virtual space including the display mesh to be drawn based on the vertex coordinates of the display mesh and the texture corresponding to the material of the display mesh, along with the increase in the number of executable times, causes the material corresponding to the second action corresponding to the increased number of executable times to be set based on the material of the voxel changed by the first voxel update, The game program according to claim 6, wherein, as the second action, the player character performs an action of releasing an object in which the material corresponding to the second action is set.

8. The first voxel update is an update that decreases the density, The computer further every time the number of times the first voxel update is performed reaches a first number of times, increases the number of executable times, Based on the material and the amount of decrease in density of each voxel changed by the first voxel update when the first number of times is reached, or a plurality of the first voxel updates until the first number of times is reached, the most decreased material is determined, and the most decreased material is determined as the material corresponding to the second action. The game program according to claim 7.

9. The game program according to any one of claims 1 to 5, wherein the second event is an in-game event that occurs in response to the degree of change of the voxels indicated by the first parameter reaching a predetermined degree.

10. Cause the computer to Generate and update the vertices of the display mesh based on a method of setting vertices for a portion where voxels having the density in the first range and voxels having the density in a second range lower than the first range are adjacent to each other, based on the voxel data. The game program according to claim 9, wherein as the second event, an item object is arranged at a position in the virtual space where the voxels having the density in the first range are defined.

11. Cause the computer to Perform an appearance determination as to whether or not to cause the item object to appear each time the degree of change of the voxels indicated by the first parameter increases by a predetermined degree, and when it is determined to cause the item object to appear, cause the item object to appear and be arranged. The game program according to claim 10.

12. Cause the computer to The game program according to claim 9, wherein in response to the degree of change of the voxels indicated by the first parameter reaching a predetermined degree, the computer is caused to give in-game items to the player.

13. Update voxel data defined in a virtual space, wherein for each of a plurality of voxels, at least a density indicating the degree to which the space defined by the voxel is virtually occupied is set, based on game processing. Generate and update a display mesh corresponding to the voxel data and drawn based on a virtual camera, by determining vertex coordinates of the display mesh based on at least the density included in the voxel data. Perform drawing of the virtual space including the display mesh. When a first event occurs based on the game processing, generate a first voxel update range in the virtual space, and perform a first voxel update to decrease or increase the density of each voxel in the voxel data corresponding to the first voxel update range in the virtual space. Update a first parameter indicating the degree of change for the voxels performed by the first voxel update. An information processing system that generates a second event based on the first parameter in the game processing.

14. The first voxel update is an update that decreases the density, The information processing system according to claim 13, wherein the first parameter is calculated based on a cumulative value of a decrease amount of the density.

15. The first voxel update is an update that decreases the density, The information processing system according to claim 13, wherein the first parameter is calculated based on a cumulative value of a decrease amount of a volume of a voxel based on a volume of a space in which the voxel is defined and a decrease amount of the density of the voxel.

16. The information processing system according to claim 13, wherein the first parameter is calculated based on the number of times the voxel update has been performed.

17. For each of the plurality of voxels in the voxel data, a material indicating the type of the content is further set, The information processing system further, determines the material of the display mesh based on at least the material included in the voxel data, draws the virtual space including the display mesh based on vertex coordinates of the display mesh and a texture corresponding to the material of the display mesh, The information processing system according to claim 13, wherein the first parameter is calculated based on a degree of change for each material with respect to a voxel in which the material is set.

18. The information processing system further, controls a player character in the virtual space based on an operation input, causes the player character to perform a first action as the first event, increases the number of executable times of a second action of the player character as the first parameter based on an increase in the degree, The information processing system according to any one of claims 13 to 16, wherein when the number of executable times remains, the second event causes the player character to perform the second action by consuming the number of executable times.

19. For each of the plurality of voxels in the voxel data, a material indicating the type of the content is further set, The information processing system further, determines the material of the display mesh based on at least the material included in the voxel data, Based on the vertex coordinates of the display mesh and the texture corresponding to the material of the display mesh, perform rendering of the virtual space including the display mesh. As the number of executable times increases, set the material corresponding to the second action corresponding to the increased number of executable times based on the material of the voxels changed by the first voxel update. The information processing system according to claim 18, wherein as the second action, the player character is made to perform an action of releasing an object having a material corresponding to the second action.

20. The first voxel update is an update that decreases the density. The information processing system further Every time the number of times the first voxel update is performed reaches a first number of times, increase the number of executable times, Based on the material and the amount of decrease in density of each voxel changed by the voxel update when the first number of times is reached, or a plurality of the first voxel updates until the first number of times is reached, determine the material that has decreased the most, and determine the material that has decreased the most as the material corresponding to the second action. The information processing system according to claim 19.

21. The information processing system according to any one of claims 13 to 17, wherein the second event is an in-game event that occurs in response to the degree of change in the voxel indicated by the first parameter reaching a predetermined degree.

22. Based on the voxel data, generate and update the vertices of the display mesh based on a method of setting vertices for a portion where voxels having the density in the first range and voxels having the density in the second range lower than the first range are adjacent. The information processing system according to claim 21, wherein as the second event, an item object is placed at a position in the virtual space where the voxels having the density in the first range are defined.

23. Each time the degree of change in the voxel indicated by the first parameter increases by a predetermined degree, perform an appearance determination as to whether or not to cause the item object to appear, and if it is determined to cause the item object to appear, cause the item object to appear and place it. The information processing system according to claim 22.

24. The information processing system according to claim 21, wherein when the degree of change of the voxel indicated by the parameter reaches a predetermined degree, in-game items are given to the player.

25. Voxel data defined in a virtual space, wherein for each of a plurality of voxels, voxel data in which at least a density indicating the degree to which the space defined by the voxel is virtually occupied is set is updated based on game processing. A display mesh corresponding to the voxel data and drawn based on a virtual camera is generated and updated by determining vertex coordinates of the display mesh based on at least the density included in the voxel data. The virtual space including the display mesh is drawn. When a first event occurs based on the game processing, a first voxel update range is generated in the virtual space, and a first voxel update is performed to decrease or increase the density of each voxel corresponding to the first voxel update range in the virtual space among the voxel data. A first parameter indicating the degree of change to the voxels performed by the first voxel update is updated. An information processing apparatus that generates a second event based on the first parameter in the game processing.

26. In an information processing system, voxel data defined in a virtual space, wherein for each of a plurality of voxels, voxel data in which at least a density indicating the degree to which the space defined by the voxel is virtually occupied is set is updated based on game processing. A display mesh corresponding to the voxel data and drawn based on a virtual camera is generated and updated by determining vertex coordinates of the display mesh based on at least the density included in the voxel data. The virtual space including the display mesh is drawn. When a first event occurs based on the game processing, a first voxel update range is generated in the virtual space, and a first voxel update is performed to decrease or increase the density of each voxel corresponding to the first voxel update range in the virtual space among the voxel data. A first parameter indicating the degree of change to the voxels performed by the first voxel update is updated. A game processing method for generating a second event based on the first parameter in the game processing.

27. The first voxel update is an update that decreases the density, The game processing method according to claim 26, wherein the first parameter is calculated based on the cumulative amount of decrease in the density.

28. The first voxel update is an update that decreases the density, The game processing method according to claim 26, wherein the first parameter is calculated based on the cumulative amount of decrease in the volume of the voxel, based on the volume of the space in which the voxel is defined and the amount of decrease in the density of the voxel.

29. The game processing method according to claim 26, wherein the first parameter is calculated based on the number of times the voxel update has been performed.

30. In the voxel data, for each of the plurality of voxels, a material indicating the type of the content is further set, In the information processing system, further, Determine the material of the display mesh based on at least the material included in the voxel data, Perform rendering of the virtual space including the display mesh based on the vertex coordinates of the display mesh and the texture corresponding to the material of the display mesh, The game processing method according to claim 26, wherein the first parameter is calculated based on the degree of change for each material with respect to the voxels to which the material is set.

31. In the information processing system, further, Control a player character in the virtual space based on an operation input, As the first event, cause the player character to perform a first action, Increase the number of times the second action of the player character can be executed as the first parameter based on the increase in the degree, The game processing method according to any one of claims 26 to 29, wherein when the number of executable times remains, as the second event, consume the number of executable times and cause the player character to perform the second action.

32. In the voxel data, for each of the plurality of voxels, a material indicating the type of the content is further set, In the information processing system, further, Determine the material of the display mesh based on at least the material included in the voxel data, Based on the vertex coordinates of the display mesh and the texture corresponding to the material of the display mesh, cause the virtual space including the display mesh to be drawn. As the number of executable times increases, cause the material corresponding to the second action for the increased number of executable times to be set based on the material of the voxels changed by the first voxel update. The game processing method according to claim 31, wherein as the second action, cause the player character to perform an action of releasing an object with a material corresponding to the second action set thereon.

33. The first voxel update is an update that decreases the density. Further to the information processing system Every time the number of times the first voxel update is performed reaches a first number of times Increase the number of executable times Based on the material and the amount of decrease in density of each voxel changed by the first voxel update when the first number of times is reached, or a plurality of the first voxel updates until the first number of times is reached, determine the material that has decreased the most, and determine the material that has decreased the most as the material corresponding to the second action. The game processing method according to claim 32.

34. The game processing method according to any one of claims 26 to 30, wherein the second event is an in-game event that occurs in response to the degree of change of the voxels indicated by the first parameter reaching a predetermined degree.

35. In the information processing system Based on the voxel data, generate and update the vertices of the display mesh based on a method of setting vertices for a portion where voxels having the density in the first range and voxels having the density in the second range lower than the first range are adjacent. The game processing method according to claim 34, wherein as the second event, arrange an item object at a position in the virtual space where the voxels having the density in the first range are defined.

36. In the information processing system Every time the degree of change of the voxels indicated by the first parameter increases by a predetermined degree, perform an appearance determination as to whether or not to cause the item object to appear, and if it is determined to cause the item object to appear, cause the item object to appear and be arranged. The game processing method according to claim 35.

37. In the information processing system, The game processing method according to claim 34, wherein when the degree of change of the voxel indicated by the first parameter reaches a predetermined degree, an in-game item is given to the player.

Citation Information

Patent Citations

  • Program, recording medium, game character drawing method and game machine

    JP2004062666A

  • Program and image generation system

    JP2017099744A

  • Apparatus for editing three-dimensional shape data and program for editing three-dimensional shape data

    JP2018197973A

  • Systems, methods, and devices for 3D voxel-based modeling

    JP2018514885A

  • Data processing apparatus, data processing method, and program

    JP2022171068A

Cited By

  • Programs, systems, and control methods

    JP2026111048A