Program and system

By enabling players to draw images on virtual space objects with adjustable display settings, the system optimizes resource usage and enhances game enjoyment.

JP2025173670AActive Publication Date: 2025-11-28COLOPL
View PDF 11 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The process of displaying rendered images in a three-dimensional virtual space requires significant resources, reducing the enjoyment of games due to the need for more images, which strains memory capacity and CPU usage.

Method used

A system that allows players to draw images on objects in a virtual space, with adjustable display modes based on player settings, optimizing resource usage.

Benefits of technology

Improves the entertainment value of games by reducing resource strain while allowing creative expression and interaction in virtual environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025173670000001_ABST
    Figure 2025173670000001_ABST
Patent Text Reader

Abstract

To improve amusement of a game.SOLUTION: A program causes a computer to allow a player to draw an image with respect to an object arranged in a three-dimensional virtual space in a game proceeding in the virtual space, and change an image display mode according to display setting for each player.SELECTED DRAWING: Figure 16
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program and a system. [Background technology]

[0002] Conventionally, in games in which an avatar operates in a three-dimensional virtual space, a technique has been known in which a player draws any image (e.g., letters, numbers, symbols, figures) on objects (e.g., mountains, hills, the ground, trees, walls, buildings) placed in the virtual space (see, for example, Patent Documents 1 and 2). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-073857 [Patent Document 2] Patent No. 3767649 Summary of the Invention [Problem to be solved by the invention]

[0004] However, the process of displaying the rendered images in the virtual space requires a large amount of resources (for example, memory capacity and CPU usage). Therefore, the more images that are rendered in the virtual space, the fewer resources are needed to progress in the game, which can reduce the game's enjoyment.

[0005] The present invention aims to improve the entertainment value of games. [Means for solving the problem]

[0006] In order to solve the above problem, the program of the present invention causes a computer to have a player draw an image for an object placed in a three-dimensional virtual space in a game that takes place in the virtual space, and changes the display mode of the image according to the display settings of each player. [Effects of the Invention]

[0007] According to the present invention, the entertainment value of the game can be improved. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a diagram illustrating an overview of a system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a hardware configuration diagram of a server. [Figure 3] FIG. 2 is a hardware configuration diagram of a user terminal. [Figure 4] FIG. 1 is a diagram conceptually illustrating one aspect of a virtual space. [Figure 5] 10 is a diagram showing a YZ cross section of a field of view in a virtual space as viewed from the X direction. [Figure 6] 10 is a diagram showing an XZ cross section of a field of view in a virtual space as viewed from the Y direction. [Figure 7] 1 is an example screen showing a game field. [Figure 8] 10 is a screenshot showing an avatar attempting to excavate a mountain slope. [Figure 9] An example screen shows an avatar excavating a mountain slope and discovering a gemstone. [Figure 10] 1 shows an example of player data (A) and image data (B). [Figure 11] 10A and 10B are examples of a drawing setting screen and a display setting screen, respectively. [Figure 12] 10 is a flowchart of a drawing control process. [Figure 13] FIG. 1 is a side view of an avatar and an object. [Figure 14] FIG. 1 is a rear view of an avatar facing an object. [Figure 15] 10 is a flowchart of a display control process. [Figure 16] FIG. 1 is a top view of the avatar and the object. [Figure 17] 10 is a flowchart of a threshold value determination process. DETAILED DESCRIPTION OF THE INVENTION

[0009] A system 1 according to an embodiment will be described below with reference to the drawings. Note that the embodiment of the present invention described below is an example of how the present invention is embodied, and the scope of the present invention is not limited to the scope of the described embodiment. Therefore, the present invention can be implemented by adding various modifications to the embodiment. Furthermore, the following embodiments and modifications can be combined in any combination without departing from the spirit of the present invention.

[0010] [System 1 Overview] FIG. 1 is a diagram illustrating an overview of a system 1 according to this embodiment. As shown in FIG. 1, the system 1 mainly includes a server 10 and user terminals 20A, 20B, 20C, and 20D (hereinafter, these may be collectively referred to as "user terminals 20"). Note that while four user terminals 20 are illustrated in FIG. 1, examples of the user terminals 20 included in the system 1 are not limited to this. The server 10 and the user terminals 20 are connected to each other so as to be able to communicate with each other via a communication network 2. Specific examples of the communication network 2 are not particularly limited, and may include, for example, the Internet, a mobile communication system (e.g., 4G, 5G, etc.), a wireless network such as Wi-Fi (registered trademark), or a combination of these.

[0011] The system 1 according to this embodiment is a game system that realizes a game on a user terminal 20. Hereinafter, a user who operates the user terminal 20 to play a game will be referred to as a "player." Furthermore, the player of the user terminal 20A will be referred to as "player A," the player of the user terminal 20B as "player B," the player of the user terminal 20C as "player C," and the player of the user terminal 20D as "player D."

[0012] The game realized by the system 1 is, for example, an online game in which the server 10 and the multiple user terminals 20 communicate with each other, and the game progresses synchronously on each of the multiple user terminals 20. However, the game may also be an offline game that is completed on a single user terminal 20. The game realized by the system 1 progresses in a virtual space 90, which will be described later. More specifically, the game realized by the system 1 progresses by moving avatars in the three-dimensional virtual space 90. As an example, the game realized by the system 1 may be a cooperative game in which multiple players cooperate to achieve a goal (for example, moving to a destination, defeating an enemy character, or obtaining an item). As another example, the game realized by the system 1 may be a competitive game in which multiple players compete against each other.

[0013] [Server 10 configuration] FIG. 2 is a hardware configuration diagram of the server 10. The server 10 realizes an online game by synchronizing game data of each of a plurality of user terminals 20. The server 10 is realized by, for example, a general-purpose computer such as a workstation or a personal computer. As shown in FIG. 2, the server 10 mainly includes a processor 11, a memory 12, a storage 13, an input / output interface 14, and a communication interface 15. Each component of the server 10 is connected to a communication bus 19.

[0014] The processor 11 performs the processes described below by executing a series of instructions included in a server program 13P stored in the memory 12 or the storage 13. The processor 11 is realized as, for example, a central processing unit (CPU), a graphics processing unit (GPU), a micro processing unit (MPU), a field-programmable gate array (FPGA), or other devices.

[0015] The memory 12 temporarily stores a server program 13P and data. The server program 13P is loaded from, for example, the storage 13. The data includes data input to the server 10 and data generated by the processor 11. For example, the memory 12 is realized as a RAM (Random Access Memory) or other volatile memory.

[0016] The storage 13 permanently stores the server program 13P and data. The storage 13 is realized, for example, as a ROM (Read-Only Memory), a hard disk drive, a flash memory, or other non-volatile storage device. The storage 13 may also be realized as a removable storage device such as a memory card. As yet another example, the storage 13 may be connected to the server 10 as an external storage device instead of being built into the server 10. With this configuration, for example, in a situation where multiple user terminals 20 are used, such as an amusement facility, it becomes possible to collectively update the server program 13P and data.

[0017] The input / output interface 14 is an interface for connecting external devices such as a monitor, input device (e.g., keyboard, pointing device), external storage device, speaker, camera, microphone, sensor, etc. to the server 10. The processor 11 communicates with the external devices through the input / output interface 14. The input / output interface 14 is realized using, for example, a Universal Serial Bus (USB), a Digital Visual Interface (DVI), a High-Definition Multimedia Interface (HDMI (registered trademark)), or other terminals.

[0018] The communication interface 15 communicates with other devices (e.g., user terminal 20) connected to the communication network 2. The communication interface 15 is realized as, for example, a wired communication interface such as a LAN (Local Area Network), or a wireless communication interface such as Wi-Fi (Wireless Fidelity), Bluetooth (registered trademark), or NFC (Near Field Communication).

[0019] [Configuration of user terminal 20] The user terminal 20 is realized as, for example, an HMD (Head Mounted Display) set, a tablet terminal, a wearable device, smart glasses, a smartphone, a feature phone, a laptop computer, a desktop computer, etc. In this embodiment, an example of the user terminal 20 as a tablet terminal will be described as shown in FIG.

[0020] Fig. 3 is a hardware configuration diagram of the user terminal 20. As shown in Fig. 3, the user terminal 20 mainly includes a processor 21, a memory 22, a storage 23, a communication interface 25, a monitor 31, cameras 33 and 34, a microphone 35, a speaker 36, a motion sensor 41, a position sensor 42, and an operation device 43 (operation unit). Each component of the user terminal 20 is connected to a communication bus 29.

[0021] The processor 21, memory 22, storage 23, and communication IF 25 have the same configuration as the processor 11, memory 12, storage 13, and communication IF 15 of the server 10. The storage 23 also stores a terminal program 23P.

[0022] Monitor 31 is provided on the surface of a flat housing, as shown in Fig. 1, for example. Monitor 31 is a display device (display unit) that displays images or videos. Camera 33 is a so-called in-camera that is attached to the surface of the flat housing and captures an image of the face of a user viewing monitor 31. Camera 34 is a so-called out-camera that is attached to the back surface of the flat housing (the surface opposite to monitor 31) and captures an image of the surroundings.

[0023] The microphone 35 converts the user's speech into an audio signal (electrical signal) and outputs it. The speaker 36 converts the audio signal into sound and outputs it to the user. Note that the user terminal 20 may include earphones instead of the speaker 36.

[0024] The motion sensor 41 detects the motion of the housing (for example, rotation around three mutually orthogonal axes). The motion sensor 41 may be realized by, for example, an angular velocity sensor, a geomagnetic sensor, a vibration sensor, or an acceleration sensor.

[0025] The position sensor 42 detects the current location of the user terminal 20. Since the user terminal 20 is assumed to be carried by a user, the location of the user terminal 20 corresponds to the location of the user who carries the user terminal 20. The position sensor 42, for example, acquires a signal from a global positioning satellite (GPS) and outputs information indicating the current location (hereinafter referred to as "current location information"). Specific examples of the current location information are not particularly limited, and may be, for example, a combination of the latitude and longitude of the current location. The user terminal 20 may calculate the number of steps, movement distance, and movement direction of the user using the detection results of the motion sensor 41 and the position sensor 42. The user's location may also be identified using values ​​detected by an external device (sensor). For example, the results of detection by a photographing device or a position sensor (such as an infrared sensor) installed in a building may be used. Furthermore, if a user owns multiple terminals (devices), the user's location may be identified by sharing the detection results of the sensors of the devices.

[0026] The operation device 43 accepts input (operation) of commands by the user to the user terminal 20. The operation device 43 is, for example, a touch panel that is superimposed on the monitor 31 and accepts various touch operations by the user. In other words, the monitor 31 according to this embodiment is a touch panel display unit. As another example, the user terminal 20 may be provided with a controller equipped with buttons, an operation stick, etc. as the operation device 43.

[0027] [Virtual Space 90 Overview] Fig. 4 is a diagram conceptually showing one aspect of virtual space 90. Fig. 5 is a diagram showing a YZ cross section of a viewing area 94 in virtual space 90 as viewed from the X direction. Fig. 6 is a diagram showing an XZ cross section of a viewing area 94 in virtual space 90 as viewed from the Y direction. Virtual space 90 is a three-dimensional space in which a game progresses.

[0028] As shown in FIG. 4, virtual space 90 has a spherical structure that covers the entire 360-degree area around center C. To avoid complicating the explanation, FIG. 4 illustrates the celestial sphere in the upper half of virtual space 90. Meshes are defined in virtual space 90. The position of each mesh is defined in advance as coordinate values ​​in an XYZ coordinate system, which is a global coordinate system defined in virtual space 90. Each partial image that makes up panoramic image 91 (still image, video, etc.) that can be deployed in virtual space 90 is associated with a corresponding mesh in virtual space 90.

[0029] For example, in the virtual space 90, an XYZ coordinate system is defined with the center C as the origin. The XYZ coordinate system is, for example, parallel to the real coordinate system. The horizontal direction, vertical direction (up-down direction), and front-to-back direction in the XYZ coordinate system are defined as the X-axis, Y-axis, and Z-axis, respectively. Therefore, the X-axis (horizontal direction) of the XYZ coordinate system is parallel to the x-axis of the real coordinate system, the Y-axis (vertical direction) of the XYZ coordinate system is parallel to the y-axis of the real coordinate system, and the Z-axis (front-to-back direction) of the XYZ coordinate system is parallel to the z-axis of the real coordinate system.

[0030] A virtual camera 92 associated with the user terminal 20 is placed in the virtual space 90. The position of the virtual camera 92 in the virtual space 90 corresponds to the user's viewpoint in the virtual space 90. The orientation of the virtual camera 92 corresponds to the user's line of sight (reference line of sight 93) in the virtual space 90. Then, the processor 21 defines a field of view 94 (the angle of view of the virtual camera 92) in the virtual space 90 based on the position and orientation of the virtual camera 92.

[0031] As shown in Fig. 5, the field of view 94 includes an area 95 in the YZ cross section. The area 95 is a range of polar angle α centered on the reference line of sight 93 in a vertical cross section (YZ cross section) including the reference line of sight 93 in the virtual space 90. As shown in Fig. 6, the field of view 94 includes an area 96 in the XZ cross section. The area 96 is a range of azimuth angle β centered on the reference line of sight 93 in a horizontal cross section (XZ cross section) including the reference line of sight 93 in the virtual space 90.

[0032] Processor 21 generates (extracts) a partial image included in field of view 94 of panoramic image 91 deployed in virtual space 90 as captured image 97 captured by virtual camera 92. Processor 21 then displays generated captured image 97 on monitor 31. That is, field of view 94 corresponds to the user's field of view within virtual space 90. Furthermore, field of view 94 moves in accordance with changes in the position and orientation of virtual camera 92 within virtual space 90, and captured image 97 displayed on monitor 31 is updated. That is, the user's field of view moves.

[0033] For example, the processor 21 moves the virtual camera 92 within the virtual space 90 in conjunction with a user operation received by the operating device 43. The processor 21 also changes the orientation of the virtual camera 92 (i.e., the reference line of sight 93) in conjunction with the movement of the user terminal 20 detected by the motion sensor 41 (e.g., rotation around three mutually orthogonal axes). Furthermore, the processor 21 displays on the monitor 31 a captured image 97 captured by the virtual camera 92 after the position and orientation have been changed.

[0034] [Details of the games that System 1 realizes] FIG. 7 is an example screen showing the field F (virtual space 90) of the game. FIG. 8 is an example screen showing a state in which avatar B is about to excavate the slope of a mountain. FIG. 9 is an example screen showing a state in which avatar B has excavated the slope of a mountain and discovered a gemstone. Below, an outline of the game realized by system 1 will be described with reference to FIGS. 7 to 9. However, the game according to this embodiment is not limited to the following examples as long as it progresses in virtual space 90.

[0035] The system 1 according to this embodiment provides a game in which, for example, an item (e.g., gemstone rough R) is acquired in a field F, the acquired item is processed (e.g., the rough R is polished to produce a gemstone), and the processed item (e.g., gemstone) is collected, exhibited, and traded. More specifically, the system 1 according to this embodiment is a game in which avatars B, C, and D are operated (e.g., moved or excavated) in the field F shown in FIGS. 7 to 9 to acquire the rough stone R (i.e., achieve one of the objectives of the game). Note that the game realized by the system 1 is not limited to being entirely conducted in a three-dimensional virtual space 90, and a portion of the game may be conducted in two dimensions (e.g., an icon or command selection screen).

[0036] The "field F" is, for example, a three-dimensional virtual space 90 in which an object O and avatars B, C, and D are placed. The object O according to this embodiment includes at least a mountain (or a hill) in which a raw stone R is buried. However, the object O is not limited to mountains or hills, and may include the ground, trees, walls, buildings, etc. Furthermore, the object O is not limited to objects fixed to the field F, and may include objects that can move within the field F (for example, vehicles). Furthermore, the object O may be capable of being destroyed (for example, by digging up the slope of a mountain), or may be capable of repairing destroyed and missing parts (for example, by piling up soil in the excavated area).

[0037] An "avatar" is, for example, a 3D object with a three-dimensional shape having three-dimensional coordinates. The avatar is an avatar of the player that moves around the field F in accordance with the player's operation via the operation device 43. However, specific examples of avatars are not limited to human shapes, and may be animals, monsters, robots, vehicles, etc. Hereinafter, the avatar operated by user B will be referred to as "avatar B," the avatar operated by user C as "avatar C," and the avatar operated by user D as "avatar D." Furthermore, of the multiple avatars displayed on the user terminal 20, the avatar operated by the player of that user terminal 20 will be referred to as the "user's avatar," and the avatar operated by another player will be referred to as an "other player's avatar."

[0038] Furthermore, players A to D participating in the game take on the role of either an owner (e.g., player A) who owns a mountain placed in field F, or a scalar (e.g., players B, C, and D) who mines the mountain at the request of the owner. The roles of owner and scalar are not fixed, and may be interchanged at will. Furthermore, in the examples of FIGS. 7 to 9, only scalar avatars B, C, and D are shown, but owner avatar A may also operate in field F (i.e., excavate the mountain).

[0039] The owner, for example, consumes items to acquire a mountain and recruits scholars to excavate the mountain. The owner also acquires, for example, raw stones R mined in field F. The owner also acquires gems by having a polisher (non-player character) polish the acquired raw stones R. The owner then displays the acquired gems in the game so that other players can view them, and buys and sells them to other players.

[0040] For example, as shown in Figures 7 to 9, the scholar moves the avatar through field F and has the avatar mine the mountain with a tool (e.g., a pickaxe). The scholar may also locate the location of buried ore by, for example, bringing a detector (not shown) carried by the avatar close to the slope of the mountain. Furthermore, as shown in Figure 9, for example, the scholar hands over the ore R discovered in field F to the owner and obtains a reward (e.g., experience points, items).

[0041] Furthermore, multiple players A, B, C, and D who operate avatars A, B, C, and D in the game belong to the same group. As an example, a group is a group of players (e.g., a party or a raid) who are trying to achieve the same goal (e.g., discovering a gemstone). As another example, a group is a group of players who are mutually registered in the game (e.g., friends, a team, a guild).

[0042] Furthermore, players A to D can spray a mist of liquid (ink) from a tool (e.g., a spray can S shown in FIG. 13 ) held by their avatars A to D to draw an image (hereinafter referred to as a “drawn image”) on the object O. A drawn image is, for example, an image drawn by a player (avatar) on the surface of an object O placed in the virtual space 90. A drawn image includes any visually recognizable object (e.g., letters, numbers, symbols, and shapes). The tool used to draw the drawn image may be a pen, a paintbrush, a brush, or the like. As an example, players A to D may draw a drawn image (e.g., a marker) at a position where they will be excavating (e.g., a position where a detector has detected a reaction) or at a position where they have already finished excavating. As another example, players A to D may communicate with each other through drawn images (e.g., letters, numbers). Drawn images may be drawn for all objects O, or only for some objects O (hereinafter referred to as “specific objects”). For example, rendered images may only be rendered on destructible objects.

[0043] The server program 13P causes the server 10 (an example of a computer) to execute the following processing, and the terminal program 23P causes the user terminal 20 (another example of a computer) to execute the following processing, thereby allowing the game to progress synchronously on multiple user terminals 20. The server 10 and user terminal 20 identify an account to be used by the user before progressing the game, and progress the game using the identified account. Note that if multiple accounts are selectable, the server 10 and user terminal 20 identify an account from the multiple accounts to progress through, and then progress the game. Hereinafter, the server program 13P (terminal program 23P) causing the server 10 (user terminal 20) to execute processing will be simply referred to as "the server 10 (user terminal 20) executes processing."

[0044] The user terminals 20A to 20D receive field data indicating field F from the server 10 via the communication IF 25. Furthermore, the user terminals 20A to 20D load field F indicated by the field data received from the server 10 into the memory 22. Then, the user terminals 20A to 20D display on the monitor 31 a captured image 97 captured by the virtual camera 92 installed in field F. As a result, the captured image 97 of field F common to the user terminals 20A to 20D is displayed.

[0045] Furthermore, user terminal 20A operates avatar A in field F displayed on user terminal 20A in accordance with an operation received from player A via operation device 43. User terminal 20A also transmits avatar data representing avatar A after the operation to server 10 via communication IF 25. Server 10 then transmits the avatar data received from user terminal 20A to other user terminals 20B-20D via communication IF 15. Furthermore, user terminals 20B-20C operate avatar A in field F displayed in memory 22 based on the avatar data received from server 10 via communication IF 25. As a result, avatar A operates synchronously in all user terminals 20A-20D. The same applies to avatars B-D.

[0046] Furthermore, when avatar A changes the shape of object O (for example, destroys or repairs) in accordance with an operation by player A, user terminal 20A transmits object data indicating the object O after the shape change to server 10 via communication IF 25. Then, server 10 transmits the object data received from user terminal 20A to other user terminals 20B to 20D via communication IF 15. Furthermore, user terminals 20B to 20D change the shape of object O in field F expanded in memory 22 based on the object data received from server 10 via communication IF 25. This synchronizes the shape of object O in all user terminals 20A to 20D. The same applies when the shape of object O is changed in user terminals 20B to 20D.

[0047] [Details of drawing and display settings] Fig. 10 shows an example of player data (A) and image data (B). Fig. 11 shows an example of a rendering setting screen (A) and a display setting screen (B).

[0048] 10(A) is data that stores drawing settings and display settings for each player. The player data may be stored collectively in the storage 13 of the server 10, or may be stored for each player in the storage 23 of each user terminal 20. The player data includes, for example, a player ID, a target color, a drawing color, a drawing thickness, a display distance, and a display color.

[0049] The player ID is, for example, an identifier that uniquely identifies a player. The target color indicates, for example, a color associated with a player. The target color indicates, for example, a color that a player can draw and display. The target color for each player may be one color or multiple colors. Furthermore, the target color may be fixed and set in advance, or may be set by an administrator (e.g., owner) of the group.

[0050] The drawing color indicates, for example, the color of the image drawn by the avatar. The drawing thickness indicates, for example, the thickness of the image (line) drawn by the avatar. The drawing color and drawing thickness are examples of drawing settings. The drawing color and drawing thickness are set by the player at any time via, for example, the drawing setting screen shown in FIG. 11(A). The drawing setting screen includes, for example, a radio button for selecting the drawing color, a radio button for selecting the drawing thickness, a "Settings" icon, and a "Cancel" icon.

[0051] The drawing color is selected, for example, from among the target colors of the player data. In other words, the selectable drawing colors may be different for each player. The drawing thickness is not limited to three levels, as long as there are two or more levels. The [Set] icon is an icon that accepts an instruction from the player to reflect (set) the selected drawing color and drawing thickness in the player data. The [Cancel] icon is an icon that accepts an instruction from the player not to change the setting values ​​of the drawing color and drawing thickness.

[0052] The display distance is information for determining a threshold value for switching whether or not to display a drawn image on the monitor 31. The display color indicates the color of the drawn image to be displayed on the monitor 31. The display distance and display color are examples of display settings. The display distance and display color are set by the player at any time via, for example, the display setting screen shown in FIG. 11(B). The display setting screen includes, for example, a radio button for selecting the display distance, a check box for selecting the display color, a "Settings" icon, and a "Cancel" icon.

[0053] The display distance is not limited to four levels, but may be two or more levels. The display color is selected, for example, from among the target colors of the player data. In other words, the selectable display color may be different for each player. Furthermore, the selectable display color is not limited to one color, but may be multiple colors. The [Set] icon is an icon that accepts an instruction from the player to reflect (set) the selected display distance and display color in the player data. The [Cancel] icon is an icon that accepts an instruction from the player not to change the set values ​​of the display distance and display color.

[0054] 10(B) is data representing a drawn image drawn on the object O. The image data is generated, for example, by one of the user terminals 20 (in this embodiment, the user terminal 20B) and transmitted to the other user terminals 20 (in this embodiment, the user terminals 20A, 20C, and 20D) via the server 10. The image data includes, for example, a player ID, trajectory data, a drawing color, a drawing thickness, and an exclusion flag.

[0055] The trajectory data is data that indicates a drawn image drawn on the object O. The trajectory data is, for example, a combination of coordinates (x, y, z) of the start point and end point of the drawn image in the virtual space 90. For simplicity, an example of the drawn image according to this embodiment will be described in which the drawn image is composed only of straight lines, but the drawn image may have any shape, such as a curve. The trajectory data may be in any format as long as it can identify (reproduce) the drawn image drawn on the object O.

[0056] The drawing color indicates the color of the drawn image drawn on the object O. The drawing color is set to the drawing color of the player data at the time the drawn image is drawn. The drawing thickness indicates the thickness of the lines of the drawn image drawn on the object O. The drawing thickness is set to the drawing thickness of the player data at the time the drawn image is drawn.

[0057] The exclusion flag is a flag indicating whether or not to display a drawn image. The exclusion flag is set to either a first value "OFF" indicating that the drawn image is to be displayed (i.e., the player is not to be excluded), or a second value "ON" indicating that the drawn image is not to be displayed (i.e., the player is to be excluded). The initial position of the exclusion flag is the first value "OFF". Furthermore, when a player is excluded from a group, the exclusion flag of all image data drawn by that player is set to the second value "ON". Whether or not to exclude a specific player from a group may be decided, for example, by an administrator (e.g., the owner) of the group.

[0058] [Drawing control processing] FIG. 12 is a flowchart of the drawing control process. FIG. 13 is a side view of avatar B and object O. FIG. 14 is a rear view of avatar B facing object O. The drawing control process executed by user terminal 20B will be described below, but the drawing control process can also be executed in the user terminals 20A, 20C, and 20D in a similar manner. When user terminal 20B receives a drawing operation from player B via the operation device 43, it starts the drawing control process shown in FIG. 12. The drawing operation is, for example, an operation to instruct avatar B (spray can S) to draw a drawing image on object O that it is facing.

[0059] First, user terminal 20B determines whether or not an object O is present within the range of the position of avatar B (more specifically, the spray can S held by avatar B) in field F (S11). The range refers to, for example, the radius of a sphere centered on the position of avatar B (more specifically, the spray can S held by avatar B). The range may be, for example, a fixed value, or may vary depending on the type (e.g., performance) of the spray can S.

[0060] Then, when it is determined that an object O exists within the range of the avatar B in the direction of ejection of the liquid (ink) (i.e., the orientation of the spray can S) (S11: Yes), as shown in FIG. 13(A), for example, the user terminal 20B starts drawing a drawing image on the object O (S12). That is, the user terminal 20B draws a drawing image (dots) on the object O located in front of the avatar B (spray can S) (hereinafter referred to as the "drawing position"). The user terminal 20B also draws a drawing image (a line that is a collection of dots) on the object O in accordance with a drawing operation that changes the orientation of the avatar B (spray can S). As a result, by continuing the drawing operation while changing the drawing position, the player B can draw a drawing image of any shape on the surface of the object O, as shown in FIG. 14(A). The program (processor) that executes the processing of step S12 is an example of a drawing means.

[0061] Furthermore, the user terminal 20B draws a drawn image in the color indicated by the drawing color and with the thickness indicated by the drawing thickness according to the player data of the player B. The user terminal 20B may also change the thickness and darkness of the drawn image to be drawn depending on the distance from the avatar B to the surface of the object O. That is, the closer the distance from the avatar B to the surface of the object O, the thinner and darker the line the user terminal 20B may draw. On the other hand, the farther the distance from the avatar B to the surface of the object O, the thicker and lighter the line the user terminal 20B may draw.

[0062] Furthermore, the user terminal 20B may perform an effect (display) in which the remaining amount of liquid (ink) inside the spray can S gradually decreases as the drawing operation continues. On the other hand, as shown in FIG. 13(B), if the object O goes out of range while the drawing operation is being continued, the user terminal 20B does not draw a drawn image according to the drawing operation during that period. However, the remaining amount of liquid inside the spray can S may gradually decrease during this period as well.

[0063] Then, user terminal 20B continues drawing the drawn image according to the drawing operation until user B stops the drawing operation (S13) or until the time limit has elapsed since the start of the drawing operation (S14). The time limit (e.g., 1 to 2 seconds) is a predetermined time during which the drawing operation can be continued. The time limit is determined, for example, according to the maximum amount of image data that can be uploaded at one time.

[0064] Next, if player B stops the drawing operation before the time limit has elapsed (S13: No & S14: No), or if player B continues the drawing operation for the time limit (S13: Yes & S14: Yes), user terminal 20B interrupts the drawing of the drawn image for object O, uploads the image data to server 10 via communication IF 25 (S15), and terminates the drawing control process. The program (processor) that executes the process of step S15 is an example of uploading means. Furthermore, user terminal 20B may execute an effect (display) of avatar B shaking the spray can S held by avatar B in parallel with the uploading of the image data, as shown in FIG. 14(B). Such an effect is an example of information suggesting that the drawing of the drawn image has been interrupted.

[0065] In step S15, the user terminal 20B generates trajectory data indicating the trajectory of the drawn image. The user terminal 20B may also compress the trajectory data using a well-known algorithm such as RDPA (Ramer Douglas Peucker). The user terminal 20B then generates image data including the generated trajectory data, the player ID "Player B", the drawing color "red", the drawing thickness "thick", and the exclusion flag "OFF" included in the player data.

[0066] On the other hand, when the player B starts the drawing operation, if the user terminal 20B determines that the object O is not within the range of the avatar B in the direction of the liquid (ink) ejection (i.e., the direction of the spray can S) as shown in Fig. 13(B) (S11: No), the user terminal 20B ends the drawing control process without drawing the drawing image. In this case, the user terminal 20B does not need to reduce the amount of liquid remaining inside the spray can S.

[0067] By repeatedly executing the drawing operation (i.e., the user terminal 20B repeatedly executes the drawing control process), the player B can draw a drawing image of any shape on the surface of the object O. In the examples of FIGS. 10(B) and 16(A), the player B can draw the letter "A" on the surface of the object O by sequentially drawing a left-hand diagonal line (first drawing operation) from the start point (x1, y1, z1) to the end point (x2, y2, z2), a right-hand diagonal line (second drawing operation) from the start point (x2, y2, z2) to the end point (x3, y3, z3), and a horizontal line (third drawing operation) from the start point (x4, y4, z4) to the end point (x5, y5, z5).

[0068] Furthermore, the user terminal 20B generates three pieces of image data in sequence and uploads each piece of image data to the server 10. Furthermore, each time the server 10 receives image data from the user terminal 20B, it transmits the image data to the other user terminals 20A, 20C, and 20D. Furthermore, the user terminals 20A, 20C, and 20D use the image data received from the server 10 to execute the display control process shown in FIG.

[0069] In step S11, the user terminal 20B may permit drawing on specific objects (for example, mountains or hills) and prohibit drawing on objects other than the specific objects (for example, trees or buildings). Furthermore, the user terminal 20B may accept an operation from the player B to draw a template drawing image of a predetermined shape (for example, a circle, an X, or an emoticon) instead of drawing an arbitrary drawing image. In this case, the user terminal 20B may upload image data including an identifier that identifies the template drawing image instead of the trajectory data.

[0070] [Display control processing] Fig. 15 is a flowchart of the display control process. Fig. 16 is a diagram showing avatar B and object O as viewed from above. The display control process is a process for controlling the display mode of a drawn image drawn on object O (i.e., a drawn image represented by received image data). Below, the display control process executed by user terminal 20C will be described, but the display control process can also be executed in the user terminals 20A, 20B, and 20D in a similar manner.

[0071] The user terminal 20C starts the display control process shown in FIG. 15, for example, when avatar data (e.g., movement of avatar C), object data (e.g., change in the shape of object O), player data (e.g., change in display distance or display color), or image data (e.g., addition of image data, change in exclusion flag) is updated.

[0072] First, the user terminal 20C determines whether or not an image exists within the field of view of the avatar C (i.e., the angle of view of the virtual camera 92) based on the trajectory data of the image data (S21). The user terminal 20C also determines the setting value of the exclusion flag of the image data representing the drawn image (S22). The user terminal 20C also determines whether or not a portion of the object O in which the drawn image is drawn exists (S23). Furthermore, the user terminal 20C also determines whether or not the display color of the player data of the player C includes the drawing color of the image data representing the drawn image (S24). Note that the order of execution of steps S21 to S24 is not limited to the example of FIG. 15. Note that some of steps S21 to S24 may be omitted.

[0073] In step S23, if a portion of object O that overlaps with the trajectory data is missing (for example, excavation of a mountain slope), user terminal 20C determines that a portion of object O where the drawn image is drawn does not exist (S23: No). On the other hand, in step S23, if the missing portion of object O has been repaired (for example, earth is piled up in the excavated portion), user terminal 20C determines that a portion of object O where the drawn image is drawn exists (S23: Yes).

[0074] Then, if all the conditions of steps S21 to S24 are satisfied (S21 to S24: Yes), the user terminal 20C measures the distance between the avatar C in the field F and the drawn image (S25). The user terminal 20C also executes a threshold determination process (S26). The threshold determination process is a process for determining the threshold used in step S27. Details of the threshold determination process will be described later with reference to FIG. 17. The program (processor) that executes the process of step S25 is an example of a measuring means, and the program (processor) that executes the process of step S26 is an example of a determining means.

[0075] Next, the user terminal 20C compares the distance measured in step S25 with the threshold determined in step S26 (S27). If the distance is less than the threshold (S27: Yes), the user terminal 20C displays the drawn image "A" on the monitor 31 (S28), as shown in FIG. 16(A). On the other hand, if the distance is equal to or greater than the threshold (S27: No), the user terminal 20C does not display the drawn image "A" on the monitor 31 (S29), as shown in FIG. 16(B). Furthermore, if any of the conditions of steps S21 to S24 are not satisfied, the user terminal 20C does not display the drawn image "A" on the monitor 31 (S29). Switching between displaying and hiding the drawn image is an example of changing the display mode of the drawn image. The program (processor) that executes the processes of steps S28 to S29 is an example of a display control means.

[0076] FIG. 16 shows an example in which the threshold value is the radius of a sphere (a circle when viewed two-dimensionally) centered on avatar C (more specifically, virtual camera 92) in virtual space 90. That is, user terminal 20C displays on monitor 31, on which the drawn image located inside the sphere centered on avatar C, superimposed on captured image 97. On the other hand, user terminal 20C does not display on monitor 31, on which the drawn image located outside the sphere centered on avatar C. As another example, the threshold value may be the radius of a sphere centered on drawn image "A" in virtual space 90. Then, when avatar C enters inside the sphere centered on drawn image "A," user terminal 20C may display drawn image "A" on monitor 31 superimposed on captured image 97, and when avatar C exits outside the sphere, may not display drawn image "A."

[0077] [Threshold determination process] 17 is a flowchart of the threshold determination process. The threshold determination process is a process for determining the threshold used in step S27. The user terminal 20C determines the threshold based on, for example, the display distance of the player data and the drawing thickness of the image data. However, the parameters for determining the threshold are not limited to the above-mentioned examples.

[0078] First, the user terminal 20C sets the threshold to an initial value (=0) (S31). Next, if the display distance "off" is set in the player data of player C (S32: Yes), the user terminal 20C ends the threshold determination process while leaving the threshold set to the initial position. In other words, regardless of the distance between avatar C and drawn image "A," drawn image "A" is no longer displayed on the monitor 31 of the user terminal 20C.

[0079] On the other hand, when the display distance "off" is not set (S32: No), the user terminal 20C sets the threshold to values ​​D1 to D3 corresponding to the set value of the display distance (S33 to S36). That is, when the display distance "short" is set, the user terminal 20C sets the threshold to D1 (S33: short & S34), when the display distance "medium" is set, the user terminal 20C sets the threshold to D2 (S33: medium & S35), and when the display distance "long" is set, the user terminal 20C sets the threshold to D3 (S33: long & S36). Note that D1 <D2<D3である。

[0080] Next, the user terminal 20C fine-tunes the threshold value (S38-S39) according to the drawing thickness setting value of the drawing data (S37). That is, if the drawing thickness is set to "thin" (S37: thin), the user terminal 20C subtracts a coefficient m from the threshold value determined in steps S33-S36 (S38). Furthermore, if the drawing thickness is set to "thick" (S37: thick), the user terminal 20C adds a coefficient n to the threshold value determined in steps S33-S36 (S39). Furthermore, if the drawing thickness is set to "medium" (S37: medium), the user terminal 20C ends the threshold value determination process with the threshold value determined in steps S33-S36 unchanged. The coefficients m and n may be the same value or different values. Furthermore, the coefficients m and n may be values ​​sufficiently smaller than the difference between D1, D2, and D3.

[0081] [Effects of the embodiment] According to the above embodiment, drawn images close to the avatar are displayed (FIG. 16(A)), and drawn images far from the avatar are hidden (FIG. 16(B)). This saves resources of the user terminal 20 required to display the drawn images, allowing the game to proceed smoothly. As a result, the interest of the game is improved.

[0082] Here, the threshold is changed based on the display distance (an example of a display setting) set for each player, so the distance to the drawn image to be displayed can be adjusted depending on the performance of the user terminals 20A to 20D. Furthermore, changes in the display mode of the drawn images are not limited to display and non-display. As another example, drawn images close to the avatar may be displayed normally, and drawn images farther from the avatar may be displayed simply. Specific examples of simplified display include displaying at a lower resolution than in the normal display, approximating curves to straight lines, or converting to text using OCR and displaying the text. However, the threshold may be a fixed value.

[0083] Furthermore, according to the above embodiment, the threshold value can be increased or decreased based on the display distance (setting value) set by the player via the display setting screen, allowing the player to select whether to prioritize the display of drawn images or to allocate resources to the progress of the game. However, the display distance is not limited to being set by the player, and may be set by the terminal program 23P based on the performance of the user terminal 20 (for example, the clock speed of the processor 21, the capacity of the memory 22).

[0084] Furthermore, according to the above embodiment, by increasing or decreasing the threshold value according to the drawing thickness (an example of a drawing setting), a drawn image drawn with thick lines can be seen from a distance, while a drawn image drawn with thin lines can only be seen up close. This allows for natural display control that is closer to reality. Furthermore, the player who draws the drawn image can set the distance at which the drawn image is displayed. This allows for the player to distinguish between a drawn image that is desired to be visible to many players playing the game and a drawn image that is desired to be visible only to players playing nearby. However, the processes of steps S37 to S39 in FIG. 17 can be omitted.

[0085] Furthermore, according to the above embodiment, the drawn image drawn in the missing portion of the object is hidden, and when the missing portion of the object is repaired, the drawn image is redisplayed. This makes it possible to switch between displaying and hiding the drawn image while maintaining the worldview of the game. However, the display and hiding of the drawn image may be switched by other methods.

[0086] Furthermore, according to the above embodiment, among a plurality of drawn images drawn in different colors on the field F, drawn images in a display color (an example of a display setting) set for each player are selectively displayed. This allows a player viewing the drawn images to adjust the number of drawn images displayed depending on the color. This makes it possible to limit the display of drawn images to a range that does not interfere with the progress of the game. Furthermore, a player who has drawn a drawn image can limit the players to whom he or she wishes the drawn image to be viewable. This increases the uses of drawn images in the progress of the game. However, drawn images of all colors may be displayed to the player, or the drawn images may be drawn in a single color.

[0087] Furthermore, according to the above embodiment, drawn images drawn by players who have been excluded from a group (i.e., drawn images for which the exclusion flag is set to the second value "ON") are hidden. This makes it possible to hide drawn images drawn by players who disrupt the harmony of the group, for example. As an example, when multiple players belonging to a group are working together to draw a work, a player who tries to disrupt the work can be excluded. As another example, a player who draws discriminatory, violent, or sexual images can be excluded. However, these processes can be omitted.

[0088] Furthermore, according to the above embodiment, since the drawn image is drawn only for objects within range, it is possible to prevent unintended drawn images from being drawn on distant objects. Also, by adjusting the thickness and darkness of the drawn image according to the distance between the avatar and the object, it is possible to achieve natural drawing by spray painting. However, these processes can be omitted.

[0089] Furthermore, according to the above embodiment, if a drawing operation continues for a limited time, the drawing of the drawn image is interrupted and the image data is uploaded. This prevents the amount of image data distributed to other user terminals 20 via the server 10 from becoming too large, thereby preventing an increase in traffic on the communication network 2. Furthermore, by dividing and transmitting the image data, the drawn images can be synchronized in real time among the multiple user terminals 20A to 20D. However, the interruption of drawing due to the expiration of the limited time (i.e., step S14 in FIG. 12) can be omitted. Furthermore, the multiple user terminals 20A to 20D may send and receive data directly without going through the server 10.

[0090] Furthermore, according to the above embodiment, the unnaturalness of interrupting drawing can be reduced by performing the effect of shaking the spray can S in parallel with uploading the image data. However, this effect can be omitted.

[0091] [Other variations] The program according to the present invention is not limited to a single program, but may be a collection of multiple programs. Furthermore, the program according to the present invention is not limited to one executed by a single device, but may be shared and executed by multiple devices. Furthermore, the division of roles between the server 10 and the user terminal 20 is not limited to the above example. That is, part of the processing of the server 10 may be executed by the user terminal 20, or part of the processing of the user terminal 20 may be executed by the server 10.

[0092] Furthermore, some or all of the means implemented by the program can be implemented by hardware such as an integrated circuit. Furthermore, the program may be provided recorded on a non-transitory recording medium that can be read by a computer. Examples of recording media include hard disks, SD cards, DVDs, and servers on the Internet.

[0093] [Note] Some of the features of the present invention are summarized below. [assignment] The present invention aims to improve the entertainment value. [Solution] (1) In a computer game that takes place in a three-dimensional virtual space, having a player draw an image on an object placed in the virtual space; A program that changes the display mode of the image according to display settings for each player. (2) In the program described in (1) above, The computer, When a distance between an avatar and the image in the virtual space is less than a threshold, the image is displayed to a player operating the avatar; a program that, when the distance between the avatar and the image in the virtual space is equal to or greater than the threshold, makes the image invisible to a player operating the avatar; (3) In the program described in (2) above, A program that causes the computer to increase or decrease the threshold value based on a setting value set by a player. (4) In the program described in (2) above, A program that causes the computer to increase or decrease the threshold value based on the thickness of lines in the image. (5) In the program described in (1) above, A program that causes the computer to, when the object is missing, hide the image drawn in the missing portion. (6) In the program described in (5) above, A program that causes the computer to, when the missing object is repaired, re-display the image drawn in the repaired portion. (7) In the program described in (1) above, A program that causes the computer to selectively display an image in a color set for each player from among a plurality of images drawn in different colors. (8) In the program described in (1) above, A program that causes the computer to hide the image drawn by a player who has been excluded from a group from other players who belong to the group. (9) In the program described in (1) above, a program that causes the computer to draw the image when a drawing operation on the object within a predetermined range is accepted from a player; (10) In the program described in (9) above, A program that, when the drawing operation is performed on the computer continuously for a predetermined time limit, interrupts drawing of the image and transmits image data representing the image to another computer. (11) In the program described in (10), A program that causes the computer to display information suggesting that the drawing of the image has been suspended. (12) In a game that takes place in a three-dimensional virtual space, drawing means for allowing a player to draw an image for an object placed in the virtual space; and a display control means for changing the display mode of the image in accordance with a display setting for each player. [Action and effect] According to the above solutions (1) and (12), the computer resources required for displaying images can be saved, allowing the game to proceed smoothly, thereby increasing the interest of the game. According to the above solution (2), images close to the avatar are displayed and images far from the avatar are hidden, thereby saving resources while maintaining a natural, realistic appearance. According to the above solution (3), the player can choose whether to prioritize image display or allocate resources to the progress of the game. According to the above solution (4), it is possible to realize a natural display control that is close to reality. According to the above solution (5), the drawn images can be deleted while maintaining the worldview of the game. According to the above solution (6), the deleted image can be redisplayed. According to the above solution (7), the number of images to be displayed can be adjusted by color, and the players who want to view the images can be limited. According to the above solution (8), images drawn by a player who disrupts the harmony of the group can be hidden, so that a decline in interest can be prevented. According to the above solution (9), it is possible to prevent an unintended image from being drawn on a distant object. According to the above solution (10), it is possible to prevent the amount of image data from becoming too large, thereby preventing an increase in traffic on the communication network and enabling images to be synchronized with other players in real time. According to the above solution (11), it is possible to reduce the unnaturalness of interrupting drawing. [Explanation of symbols]

[0094] 1...system, 2...communication network, 10...server, 11,21...processor, 12,22...memory, 13,23...storage, 13P...server program, 14...input / output interface, 15,25...communication interface, 19,29...communication bus, 20...user terminal, 23P...terminal program, 31...monitor, 33,34...camera, 35...microphone, 36...speaker, 41...motion sensor, 42...position sensor, 43...operation device, 90...virtual space, 91...panoramic image, 92...virtual camera, 93...reference line of sight, 94...viewing area, 95,96...area, 97...captured image

Claims

1. In a computer game that takes place in a three-dimensional virtual space, having a player draw an image on an object placed in the virtual space; A program that changes the display mode of the image according to display settings for each player.

2. 2. The program according to claim 1, The computer, When a distance between an avatar and the image in the virtual space is less than a threshold, the image is displayed to a player operating the avatar; a program that, when the distance between the avatar and the image in the virtual space is equal to or greater than the threshold, makes the image invisible to a player operating the avatar;

3. 3. The program according to claim 2, A program that causes the computer to increase or decrease the threshold value based on a setting value set by a player.

4. 3. The program according to claim 2, A program that causes the computer to increase or decrease the threshold value based on the thickness of lines in the image.

5. 2. The program according to claim 1, A program that causes the computer to, when the object is missing, hide the image drawn in the missing portion.

6. 6. The program according to claim 5, A program that causes the computer to, when the missing object is repaired, re-display the image drawn in the repaired portion.

7. 2. The program according to claim 1, A program that causes the computer to selectively display an image in a color set for each player from among a plurality of images drawn in different colors.

8. 2. The program according to claim 1, A program that causes the computer to hide the image drawn by a player who has been excluded from a group from other players who belong to the group.

9. 2. The program according to claim 1, a program that causes the computer to draw the image when a drawing operation on the object within a predetermined range is accepted from a player;

10. 10. The program according to claim 9, A program that, when the drawing operation is performed on the computer continuously for a predetermined time limit, interrupts drawing of the image and transmits image data representing the image to another computer.

11. The program according to claim 10, A program that causes the computer to display information suggesting that the drawing of the image has been suspended.

12. In a game that takes place in a three-dimensional virtual space, drawing means for allowing a player to draw an image for an object placed in the virtual space; and a display control means for changing the display mode of the image in accordance with a display setting for each player.

Citation Information

Patent Citations

  • Image processing device, shift control method for group character, game device including shift control of group character, calculating method for game score, and recording medium

    JP2001276419A

  • Video game device, its control method, and game program

    JP2003325969A

  • Game program and game apparatus

    JP2005318943A

  • Input system, information processor, information processing program and three-dimensional position calculation method

    JP2012221145A

  • Image processing program, image processing system, image processing apparatus and image processing method

    JP2018147002A