Program, game control device, game system, and control method

JP2025034299AActive Publication Date: 2025-03-13KONAMI DIGITAL ENTERTAINMENT CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023140596
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-03-13
Estimated Expiration
2043-08-30

Smart Images

  • Figure 2025034299000001_ABST
    Figure 2025034299000001_ABST
Patent Text Reader

Abstract

To avoid a user having difficulty in grasping a direction even if a display range is changed when setting one portion of a spherical surface or the like as the display range.SOLUTION: A display control section images the surface of a spherical body by a virtual camera, and generates a main image with one portion of the surface of the spherical body as a display range. An operation detection section detects a user's operation as information of a two-dimensional vector. A display range changing section changes a display range based on a user's operation by rotation of the solid body relative to the virtual camera. A first rotation section rotates the spherical body on the basis of a first component of a two-dimensional vector with a first axis for connecting a specific point and the center of the spherical body as a rotation axis. A second rotation section sets a pitch axis viewed from the virtual camera as a second axis not fixed to the spherical body, and rotates a spherical body in a pitch direction relative to the virtual camera with a second axis as a rotation axis on the basis of a second component of a two-dimensional vector. The rotation of the spherical body is restricted to rotation by the first axis and the second axis.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a program, a game control device, a game system, and a control method. [Background technology]

[0002] Conventionally, there have been games in which a part of a vast game field formed on a two-dimensional plane is displayed on the screen as a display range. In the case of such a two-dimensional game field, for example, if the top of the field is set to north, the directions (east, west, north, south) within the game field can be easily determined. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2009-148331 A Summary of the Invention [Problem to be solved by the invention]

[0004] In the case of a two-dimensional flat game field, when the player reaches the edge of the game field, the game field comes to a dead end. In order to improve the game playability, it is conceivable to form the game field on a sphere (such as the surface of a virtual Earth) and use a part of the sphere as the display range. However, when the game field is spherical, it may be more difficult to grasp the positional relationship compared to a two-dimensional flat field. For example, because the game field is spherical, the direction (longitude) that changes even with the same amount of movement differs depending on the position (latitude) moved on the sphere. Therefore, when the display range of the game field changes, it may become difficult to grasp the direction (north, south, east, west). This may also cause the player to move to a different position than expected if the player moves in the wrong direction.

[0005] Therefore, one object of the present invention is to prevent a user from having difficulty in grasping directions even when the display range changes when a portion of a sphere or the like is used as the display range. [Means for solving the problem]

[0006] A program according to one aspect of the present invention causes a computer to function as a display control unit that generates a main image having a display range of a part of a game field on the surface of the three-dimensional object, by capturing an image of the surface of the three-dimensional object, which is a sphere or an ellipsoid, with a virtual camera, and displays the main image on a screen of a display unit; an operation detection unit that detects a user operation for changing the display range as information of a two-dimensional vector consisting of a first component and a second component perpendicular to the first component; and a display range change unit that changes the display range based on the user operation by rotating the three-dimensional object with respect to the virtual camera, and a first rotation unit that defines a straight line connecting a specific point on the solid body and the center of the solid body as a first axis fixed to the solid body, and rotates the solid body about the first axis as a rotation axis based on the first component detected by the operation detection unit; and a second rotation unit that defines a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, as a second axis, and rotates the solid body in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected by the operation detection unit, and limits the rotation of the solid body to rotation about the first axis and the second axis.

[0007] A game control device according to another aspect of the present invention includes a display control unit that generates a main image having a display range of a part of a game field on the surface of the three-dimensional object, by capturing an image of the surface of the three-dimensional object, which is a sphere or an ellipsoid, with a virtual camera, and displays the main image on a screen of a display unit; an operation detection unit that detects a user operation for changing the display range as information of a two-dimensional vector consisting of a first component and a second component perpendicular to the first component; and a display range change unit that changes the display range based on the user operation by rotating the three-dimensional object relative to the virtual camera, wherein the display range change unit detects a specific part on the surface of the three-dimensional object, The present invention includes a first rotation unit that defines a line connecting a point and the center of the solid as a first axis fixed to the solid, and rotates the solid about the first axis as a rotation axis based on the first component detected by the operation detection unit, and a second rotation unit that defines a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid, and does not move relative to the virtual camera when the solid is rotated, and rotates the solid in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected by the operation detection unit, and limits the rotation of the solid to rotation about the first axis and the second axis.

[0008] A game system according to another aspect of the present invention is a game system including a server and a terminal device capable of communicating with the server, the game system including: a display control unit that captures an image of a surface of a three-dimensional object that is a sphere or an ellipsoid with a virtual camera to generate a main image having a display range that is a portion of a game field on the surface of the three-dimensional object, and displays the main image on a screen of a display unit; an operation detection unit that detects a user operation for changing the display range as information of a two-dimensional vector consisting of a first component and a second component perpendicular to the first component; and a display range change unit that changes the display range based on the user operation by rotating the three-dimensional object relative to the virtual camera, The range change unit includes a first rotation unit that sets a straight line connecting a specific point on the surface of the solid and the center of the solid as a first axis fixed to the solid, and rotates the solid about the first axis as a rotation axis based on the first component detected by the operation detection unit, and a second rotation unit that sets a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid, and does not move relative to the virtual camera when the solid is rotated, as a second axis, and rotates the solid in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected by the operation detection unit, and limits the rotation of the solid to rotation about the first axis and the second axis.

[0009] A control method according to another aspect of the present invention is a control method for controlling a computer, the control method including: a display control step of generating a main image having a display range of a part of a game field on the surface of the solid body, by capturing an image of the surface of the solid body, which is a sphere or an ellipsoid, with a virtual camera, and displaying the main image on a screen of a display unit; an operation detection step of detecting a user operation for changing the display range as information of a two-dimensional vector consisting of a first component and a second component perpendicular to the first component; and a display range changing step of changing the display range based on the user operation by rotating the solid body relative to the virtual camera, the display range changing step being performed by changing the display range of the main image based on the user operation. The method includes a first rotation step of setting a straight line connecting a specific point on the surface of the body and the center of the solid body as a first axis fixed to the solid body, and rotating the solid body about the first axis as a rotation axis based on the first component detected in the operation detection step, and a second rotation step of setting a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, as a second axis, and rotating the solid body in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected in the operation detection step, and limiting the rotation of the solid body to rotation about the first axis and the second axis. [Brief description of the drawings]

[0010] [Figure 1] 1 is a schematic block diagram showing an example of the configuration of a game system according to an embodiment of the present invention. [Diagram 2] FIG. 13 is a diagram showing an example of a virtual space in which the surface of a sphere is captured by a virtual camera. [Diagram 3] FIG. 13 is a diagram showing an example of a screen displaying a main image with a portion of a game field on the surface of a sphere as its display range. [Figure 4] 1 is an example of a schematic plan view of an analog stick viewed from directly above. [Diagram 5] FIG. 1 is an example of a schematic plan view of a screen configured as a touch panel as viewed from directly above. [Figure 6]13 is a diagram illustrating an example in which a sphere is controlled to rotate around the earth's axis based on the x-component of a two-dimensional vector. FIG. [Figure 7] 13A and 13B are diagrams illustrating an example in which a sphere is controlled to rotate in a pitch direction relative to a virtual camera, with the pitch axis serving as a rotation axis, based on the y component of a two-dimensional vector. [Figure 8] 11A and 11B are diagrams illustrating an example of a change in a sphere as seen from a virtual camera before and after rotation about the earth axis and the pitch axis, respectively. [Figure 9] FIG. 2 is a schematic functional block diagram showing an example of the functional configuration of the game system. [Figure 10] 13 is a flowchart showing an example of a process for changing a display range of a game field. [Figure 11] 11A and 11B are diagrams for explaining an example of limiting rotation of a sphere in the pitch direction. [Figure 12] FIG. 13 is a diagram illustrating an example of limiting the rotation of a sphere in the pitch direction so that the north pole as seen by the virtual camera does not exceed the upper half of the sphere. [Figure 13] FIG. 13 is a diagram illustrating an example of limiting the rotation of a sphere in the pitch direction so that the south pole as seen by the virtual camera does not exceed the lower half of the sphere. [Figure 14] 11 is a flowchart showing an example of a modification of the process shown in FIG. [Figure 15] FIG. 13 is a diagram showing an example of a screen on which a sub-image is displayed together with a main image. [Figure 16] FIG. 11 is a diagram showing another example of a screen on which a sub-image is displayed together with a main image. [Figure 17] FIG. 13 is a diagram showing an example of a sub-image. [Figure 18] FIG. 13 is a diagram showing another example of a sub-image. [Figure 19] 11 is a flowchart showing an example of a modification of the process shown in FIG. [Figure 20] 11 is a diagram for explaining the direction of the visual axis of a virtual camera relative to a sphere. FIG. [Figure 21] 11 is a diagram for explaining the direction of the visual axis of a virtual camera relative to a sphere. FIG. [Figure 22] 11A and 11B are diagrams illustrating an example of a visual axis direction according to a distance between a virtual camera and a sphere. [Diagram 23] 13 is a diagram showing another example of the visual axis direction according to the distance between the virtual camera and the sphere. FIG. [Figure 24] 13 is a diagram showing another example of the visual axis direction according to the distance between the virtual camera and the sphere. FIG. [Diagram 25] 13 is a diagram showing another example of the visual axis direction according to the distance between the virtual camera and the sphere. FIG. [Figure 26] 11 is a flowchart showing an example of a modification of the process shown in FIG. [Figure 27] FIG. 11 is a schematic functional block diagram showing another example of the functional configuration of the game system. [Figure 28] FIG. 13 is a diagram showing an example of a screen displaying information on the shortest route. [Figure 29] FIG. 11 is a diagram showing another example of a screen on which a sub-image is displayed together with a main image. [Diagram 30] FIG. 13 is a diagram showing another example of a screen displaying information on the shortest route. [Diagram 31] 13 is a flowchart showing an example of a process for displaying information on the shortest route on a screen. [Diagram 32] FIG. 13 is a diagram showing an example of a screen displaying the number of squares to the destination of each character and a position information indicator. [Diagram 33] FIG. 13 is a diagram showing another example of a screen displaying a location information indicator. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, an example of an embodiment of the present invention will be described with reference to the drawings.

[0012] [1. System configuration example] 1 is a schematic block diagram showing an example of the configuration of a game system 1 to which a display user interface according to an embodiment of the present invention is applied. This game system 1 includes a plurality of terminal devices 10-n (n is a positive integer, 10-1, 10-2, ...) and a server 30. The terminal devices 10-n and the server 30 in the game system 1 are connected to each other so as to be able to communicate data with each other via a network N such as the Internet. Here, since the plurality of terminal devices 10-n have the same configuration, when no particular distinction is required, they will be simply referred to as "terminal device 10" in the following description.

[0013] The network N in this embodiment is not limited to the Internet, but may be, for example, a dedicated line, a public line (telephone line, mobile communication line, etc.), a wired LAN (Local Area Network), a wireless LAN, etc., as long as it can connect the terminal devices 10-n and the server 30 in the game system 1 to each other so that they can communicate with each other, or it may be a combination of these with the Internet.

[0014] The terminal device 10 operated by the user is a computer used by the user to play a game. The terminal device 10 is, for example, a home game machine (fixed type or portable type), a personal computer, a smartphone, a mobile phone terminal, a PHS (Personal Handy-phone System) terminal, a personal digital assistant (PDA), a tablet computer, a multi-function television receiver (so-called smart TV), an arcade (commercial) game machine installed in an amusement facility, etc.

[0015] The server 30 is, for example, a server computer. The server 30 associates information about the user's game with a user ID for uniquely identifying each user, and stores and manages the information in, for example, a database DB. The database DB may be built in the server 30, or may be built in a server computer separate from the server 30.

[0016] In the game system 1, computer matches (also called CPU matches) and communication matches are possible. In communication matches, for example, a user A who operates the terminal device 10-1 and users B, C, ... who operate other terminal devices 10-2, 10-3, ... can play a competitive game via a network N. In the case of communication matches, for example, a method is to play a match by directly communicating between a plurality of terminal devices 10-n matched by the server 30 through a P2P (Peer to Peer) connection or the like. Alternatively, a communication match is also possible in which data is exchanged between the plurality of terminal devices 10-n via the server 30. Either method may be used to play a communication match. In addition, for example, in a terminal device 10-n having a short-range wireless communication function (e.g., Bluetooth (registered trademark)) using a specific frequency band (e.g., 2.4 GHz frequency band), multiple terminal devices 10-n can communicate directly with each other to play competitive games, etc.

[0017] (Example of terminal device hardware configuration) The terminal device 10 mainly comprises a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, an auxiliary storage device 14, a communication unit 15, an input unit 16, a display unit 17, and a sound output unit 18, which are interconnected via bus lines including an address bus, a data bus, a control bus, etc. Note that, if necessary, an interface circuit, an image processing unit, a sound processing unit, etc. are interposed between the bus line and each component, but are not shown here.

[0018] The CPU 11 is a processor that interprets and executes commands of system software and application software (game programs, etc.) and controls the entire terminal device 10. In addition to or instead of the CPU 11, the processor may be configured to include hardware such as a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), or an FPGA (Field Programmable Gate Array). The ROM 12 stores programs and data necessary for basic operational control of the terminal device 10. The RAM 13 stores various programs and data and provides a working area for the CPU 11.

[0019] The auxiliary storage device 14 is a storage device that stores game programs, various data, etc. As the auxiliary storage device 14, for example, a non-volatile semiconductor memory, a hard disk drive, a solid state drive, etc. can be used.

[0020] The communication unit 15 includes a communication interface (not shown) and has a communication control function for data communication. Here, the communication control function for data communication includes, for example, an Internet connection function, a wireless LAN (Local Area Network) connection function, a short-distance wireless communication function, etc. The communication unit 15 transmits a connection signal for connecting the terminal device 10 to the network N based on a command from the CPU 11, and also receives information transmitted from the communication partner and supplies the information to the CPU 11.

[0021] The input unit 16 is for a user to input various operation commands to the terminal device 10. Examples of the input unit 16 include a position input unit (a component of a touch panel) equipped with a touch interface, a physical button, a controller, an analog stick, a keyboard, a pointing device, etc. Also, the input unit 16 may be configured as one capable of receiving voice input by identifying voice input from a voice input unit such as a microphone.

[0022] The display unit 17 is driven based on an image display command from the CPU 11 to display a game screen or the like. Various known display devices such as a liquid crystal display and an organic EL (Electro-Luminescence) display can be applied to the display unit 17. The display unit 17 can also be a touch panel in which a display device such as a liquid crystal display is combined with a position input unit having a touch interface. When the display unit 17 is configured as a touch panel, the terminal device 10 includes a touch input detection unit (not shown). When a pointing body such as a finger or a pen touches the screen, the touch input detection unit detects the contact position coordinates on the screen and supplies a coordinate signal to the CPU 11. This allows the contact position on the screen of the display unit 17 to be recognized by the CPU 11. The display unit 17 does not need to be integrated with the terminal device 10, and may be, for example, a television monitor externally connected to the terminal device 10. In this way, when the display unit 17 is an externally connected television monitor or the like, the display unit 17 is not included in the configuration of the terminal device 10.

[0023] The sound output unit 18 includes a speaker, generates an audio signal (sound signal) based on a sound output instruction from the CPU 11, and outputs sounds including game sound effects and the like from the speaker. The sound output unit 18 includes an output interface for outputting the audio signal to the outside of the terminal device 10 instead of or in addition to the speaker.

[0024] The terminal device 10 may also include a recording medium drive. Examples of the recording medium drive include a DVD-ROM drive, a CD-ROM drive, a hard disk drive, an optical disk drive, a flexible disk drive, a silicon disk drive, and a cassette medium reader. In this case, examples of the recording medium include a DVD-ROM, a CD-ROM, a hard disk, an optical disk, a flexible disk, and a semiconductor memory. The recording medium drive reads out image data, audio data, and program data from the recording medium, and supplies the read data to the RAM 13, etc. via a decoder.

[0025] Furthermore, the terminal device 10 may include hardware components such as a camera, an angular velocity sensor (gyro sensor), and a GPS (Global Positioning System) receiving module.

[0026] (Server hardware configuration example) The server 30 mainly comprises a CPU 31, a ROM 32, a RAM 33, an auxiliary storage device 34, and a communication unit 35, which are connected to each other via bus lines including an address bus, a data bus, a control bus, etc. Note that, although an interface circuit is interposed between the bus line and each component as necessary, the interface circuit is not shown here.

[0027] The CPU 31 is a processor that interprets and executes commands of system software and application software, and controls the entire server 30. The processor may be configured to include hardware such as a GPU, DSP, or FPGA in addition to or instead of the CPU 31. The ROM 32 stores programs and the like required for basic operational control of the server 30. The RAM 33 stores various programs and data, and ensures a working area for the CPU 31. The auxiliary storage device 34 is a storage device that stores programs, various data, and the like. For example, a hard disk drive or a solid state drive can be used as the auxiliary storage device 34.

[0028] The communication unit 35 includes a communication interface (not shown) and controls communication with each terminal device 10-n via the network N. The communication unit 35 also controls communication with other servers (not shown) connected to the network N. For example, in a system configuration in which the server 30 is incorporated into a social networking service (SNS), the communication unit 35 of the server 30 controls communication with the SNS server. Also, for example, the server 30 controls communication with a distribution server that distributes game videos played by users to spectators. The server 30 can also have a function as a distribution server.

[0029] The server 30 can be configured as a single computer, but can also be configured as a distributed function type in which the functions of the server 30 are distributed among a plurality of servers. Moreover, a load-distribution type configuration may be achieved by providing multiple servers 30 having the same functions on the network N for redundancy (multiplexing). Moreover, the server 30 may be configured as a cloud server utilizing cloud computing technology.

[0030] [2. Overview of an example game] An overview of an example of a game to which a display user interface according to an embodiment of the present invention is applied will be described. Various games can be executed in the game system 1. The games may be executed by the terminal device 10 performing data communication between the server 30 or another terminal device 10, or may be executed by the terminal device 10 alone. In the following, a game that mainly imitates Sugoroku will be described as an example of a game executed in the game system 1, and other games will also be mentioned as necessary.

[0031] 2 is a diagram showing an example of a virtual space V in which the surface of a sphere S is captured by a virtual camera VC. As shown in FIG. 2, in this game, a sphere S is placed as a virtual Earth in a three-dimensional virtual space V. A game field GF is placed on the surface (i.e., the spherical surface) of the sphere S. By capturing an image of the surface of the sphere S present in the field of view of the virtual camera VC with the virtual camera VC, a main image having a display range of a portion of the game field GF on the surface of the sphere S is generated and displayed on the screen of the display unit 17. The main image captured by the virtual camera VC may be a still image or a video image. Note that objects provided on the game field GF are not shown in Fig. 2. Also, although latitudes and longitudes are shown on the surface of the sphere S in Fig. 2, the latitudes and longitudes may or may not be shown.

[0032] FIG. 3 shows an example of a screen on which a main image G10 is displayed with a part of the game field GF on the surface of a sphere S as the display range. As shown in FIG. 3, a plurality of squares M on which a character CT (an example of a game element) to be operated can stop and a route R that determines whether or not the character CT can move between the squares M are set in the game field GF. The squares M may be called, for example, a "node". In the game according to the present embodiment, the squares M are objects such as railway stations, ports, airports, or intermediate points thereof in countries around the world in the virtual Earth. The route R is an object that may be, for example, a railway track, a ship's route, or an airplane's air route. The character CT to be operated is an object of a vehicle such as a train, a ship, or an airplane. The game field GF may include various objects such as people, animals, plants, buildings, the sea, mountains, river clouds, and others. In addition to objects that are set in the game field GF as fixed objects, objects that appear or disappear according to the progress of the game may also be included. In addition, the game field GF displays text information such as the names of squares M (city names, station names, etc.), famous buildings, mountains, rivers, and oceans, but this is omitted in Figure 3 (the same applies to other figures that display the game field GF).

[0033] In the game of this embodiment, one or more dice are rolled in each turn, and the character CT can advance by the number of squares equal to the number of dice rolled. In addition, one of the squares M in the game field GF is set as the destination. The screen of FIG. 3 displays information P11 of the currently set destination. The destination information P11 includes information such as the country name where the destination is located, the place name (the name of the square M), and the number of squares to the destination on the shortest route. The user and the opponent advance the character CT to be operated, aiming for the same destination. Here, the opponent may be a computer (so-called CPU battle), or may be one or more other users. The number of routes R connected by the squares M (so-called degree) is different (in other words, the number of squares M to which the squares M are connected is different depending on the square M), and there are many routes to reach the destination. Various effects are associated with each square M. For example, there are effects such as increasing money in possession, decreasing money in possession, acquiring card items, purchasing card items with money in possession, and drawing a lottery, and the effects associated with each square M are different. The effect of a square M occurs when the character CT stops on that square M, but as a variation, there may be a square M that generates an effect simply by passing through it. In addition, when a user acquires a card item, the user can generate an effect associated with the card item. There are multiple types of card items. For example, the effects associated with each card item vary, such as a card that gives the user an advantage in the game, or a card that hinders at least one of the opponents. Also, when you land on a square M, you can use your money to purchase a property associated with that square M. Purchasing a property increases your assets. There are several types of property, and the purchase price or rate of return varies depending on the property.

[0034] The user of the character CT that arrives at the destination first is given a reward (e.g., money). In addition, when any character CT arrives at the destination, the character CT that is farthest from the destination is associated with a poverty god character that is likely to put the user at a disadvantage in the game during the subsequent progress of the game. In addition, when a character CT with an associated poverty god character passes by another user's character CT or stops on the same square M, the poverty god character moves toward the other user's character CT. When any of the characters CT arrive at a destination, a new destination is set, and each character CT heads for the next destination square M. In this manner, a new destination is set each time any of the characters CT arrive at a destination, until the end of the game. The aim of this game is to compete for the largest total assets at the end of the game.

[0035] While each user aims to reach the destination before the opponent, they progress through the game by hindering the progress of the other users' characters CT along the way and using squares M that give them an advantage in the game. Therefore, the user must consider what route they should take to move through the game field GF while always being aware of the location of the destination, the location of the opponent's character CT, the location of squares M that are advantageous or disadvantageous, etc.

[0036] Since the main image G10 displayed on the screen is a display range of only a portion of the game field GF, the location of the destination or other place that the user wants to check may not be included in the display range. In this case, the user can perform an operation to change the display range of the game field GF as necessary. For example, the main image G10 in FIG. 3 displays a button B12 for switching to a display mode in which the display range of the game field GF can be changed. The user operates the button B12 to switch to a display mode in which the display range of the game field GF can be changed. For example, the user presses a button on a controller corresponding to the button B12. Alternatively, for example, if the screen is a touch panel, the user operates by touching the button B12 as an operator with a finger or a stylus pen. Note that the button B12 may be given an arbitrary name (for example, a magnifying glass, an overall map, etc.).

[0037] (An example of a user operation to change the display range) In this embodiment, when the display range of a part of the game field GF arranged on the surface of a sphere S as a virtual earth is changed by a user operation, the display range is changed by rotating the sphere S relative to the virtual camera VC (see FIG. 2). That is, the display range is changed by rotating the sphere S relative to the virtual camera VC based on the user operation and changing the game field GF on the surface of the sphere S that is within the field of view of the virtual camera VC. Here, the rotation of the sphere S is restricted so that the earth's axis EA (an example of a first axis) is always located at the center of the sphere S as viewed from the virtual camera VC and does not shake left or right. Specifically, the rotation of the sphere S is restricted only to the rotation of the sphere S about the earth's axis EA of the sphere S as the rotation axis and the pitch rotation of the sphere S as viewed from the virtual camera VC. As a result, the earth's axis EA or the North Pole NP (an example of a specific point) is always located at the center of the sphere S as viewed from the virtual camera VC and does not shake left or right, thereby maintaining the north-south direction of the game field GF on the screen of the display unit 17. This prevents the user from having difficulty grasping the north, south, east and west directions of the game field GF displayed on the screen, even if the display range of the game field GF changes as a result of the user rotating the sphere S. This will be described in detail below.

[0038] As shown in FIG. 2, the North Pole NP is set on the surface of the sphere S. A straight line connecting this North Pole NP and the sphere center SC (an example of the center of a solid) is set as the Earth's axis EA (an example of a first axis). The Earth's axis EA is an axis fixed to the sphere S. In this case, the point on the opposite side of the North Pole NP where the surface of the sphere S and the Earth's axis EA intersect becomes the South Pole. A spherical map of the virtual Earth based on the North Pole NP is developed on the game field GF placed on the surface of the sphere S.

[0039] Here, Fig. 2 shows the definition of the directions (coordinates) of the virtual space V in which the sphere S and virtual camera VC are placed. The horizontal direction (left-right direction) of the main image G10 captured by the virtual camera VC placed in the virtual space V is set as the Y axis, the vertical direction (up-down direction) as the Z axis, and the depth direction perpendicular to the Y axis and Z axis as the X axis, and the X axis is set as the X axis, Y axis, and Z axis that are perpendicular to each other. The sphere center SC is set as the intersection (origin) of the X axis, Y axis, and Z axis. In the example of Fig. 2, the X axis is a straight line connecting the sphere center SC and the virtual viewpoint VCa of the virtual camera VC. It should be noted that, although the sphere S rotates relative to the virtual camera VC based on a user operation, even if the sphere S rotates, the X-axis, Y-axis, and Z-axis do not move relative to the virtual camera VC.

[0040] As shown in FIG. 2, the initial state of the sphere S is, for example, a state in which the earth's axis EA is arranged on the Z axis (the earth's axis EA is aligned with the Z axis) so that the North Pole NP is at the top and the South Pole NP is at the bottom. In addition, the pitch axis PA (an example of a second axis) seen from the virtual camera is set on the Y axis passing through the sphere center SC. This pitch axis PA is an axis that rotates the sphere S in the pitch direction relative to the virtual camera VC, and is not fixed to the sphere S, and does not move relative to the virtual camera VC when the sphere S rotates. The earth axis EA and the pitch axis PA are in a perpendicular relationship. In the example of FIG. 2, the earth axis EA and the pitch axis PA are perpendicular to each other at the sphere center SC.

[0041] Generally, the rotation axes of roll, pitch, and yaw set for a rotating object are all fixed to the object, and each rotation axis also rotates and moves as the object rotates. In contrast, the pitch axis PA in this embodiment is not fixed to the rotating sphere S, and does not move relative to the virtual camera VC when the sphere S rotates.

[0042] A user operation for changing the display range of the game field GF can be performed, for example, by input from a controller, touch panel, etc. This user operation is detected as two-dimensional vector information and used to control the rotation of the sphere S relative to the virtual camera VC. A specific example is shown below.

[0043] 4 is an example of a schematic plan view of an analog stick 51 of a physical controller 50 seen from directly above. When not being operated, the analog stick 51 maintains a home position (initial position) indicated by a dashed line. When an operation (an example of a user operation) is performed to tilt the analog stick 51, the CPU 11 detects information of a two-dimensional vector 2V consisting of an x ​​component 2Vx (an example of a first component) and a y component 2Vy (an example of a second component) perpendicular to the x component 2Vx, based on the direction and amount of tilt of the analog stick 51.

[0044] 5 is an example of a schematic plan view of screen 17a of display unit 17 as viewed from directly above. When screen 17a is configured as a touch panel, the user performs a slide operation (an example of a user operation) with a pointer such as a finger F. In this case, CPU 11 detects information on a two-dimensional vector 2V consisting of an x ​​component 2Vx and a y component 2Vy based on the direction and length of a line segment connecting the start point and end point of the slide operation.

[0045] 4 or 5 corresponds to the horizontal direction (left-right direction) of the main image G10 captured by the virtual camera VC, i.e., the horizontal direction (left-right direction) of the screen 17a on which the main image G10 is displayed. In other words, the direction of the x component 2Vx of the two-dimensional vector 2V corresponds to the direction of the Y axis in FIG. The direction of the y component 2Vy of the two-dimensional vector 2V corresponds to the vertical direction (up-down direction) of the main image G10 captured by the virtual camera VC, i.e., the vertical direction (up-down direction) of the screen 17a on which the main image G10 is displayed. In other words, the direction of the y component 2Vy of the two-dimensional vector 2V corresponds to the direction of the Z axis in FIG.

[0046] Then, the x-component 2Vx of the detected two-dimensional vector 2V is used to rotate the sphere S around the earth's axis EA (see Fig. 6). Also, the y-component 2Vy of the detected two-dimensional vector 2V is used to rotate the sphere S around the pitch axis PA, in the pitch direction relative to the virtual camera VC (see Fig. 7).

[0047] (An example of using the information of a two-dimensional vector 2V to calculate the rotational speed of a sphere S) For example, the x-component 2Vx is used to represent the rotation speed and direction of the sphere S about the earth axis EA, and the y-component 2Vy is used to represent the rotation speed and direction of the sphere S in the pitch direction relative to the virtual camera VC about the pitch axis PA.

[0048] For example, when the vector direction of the x component 2Vx is to the right, a positive value is taken, and the sphere S is rotated forward around the earth's axis EA as the rotation axis (the direction of the + (plus) arrow in FIG. 2: the earth's axis EA is rotated counterclockwise as seen from above (north)). On the other hand, when the vector direction of the x component 2Vx is to the left, a negative value is taken, and the sphere S is rotated backward around the earth's axis EA as the rotation axis (the direction of the - (minus) arrow in FIG. 2: the earth's axis EA is rotated clockwise as seen from above (north)). Then, the sphere S is rotated around the earth's axis EA as the rotation axis at a rotation speed corresponding to the vector length of the x component 2Vx. For example, relationship information that expresses the relationship between the vector length of the x component 2Vx and the rotation speed as a formula (function) or the like is stored in advance in a storage device (RAM 13, auxiliary storage device 14, RAM 33, auxiliary storage device 34, etc.). Alternatively, relationship information that tabulates the relationship between the vector length of the x component 2Vx and the rotation speed is stored in advance in a storage device.

[0049] Furthermore, for example, if the vector direction of the y component 2Vy is upward, it takes a positive value, and the sphere S is rotated forward (rotated in the direction of the + (plus) arrow in Figure 2) around the pitch axis PA as the rotation axis. On the other hand, if the vector direction of the y component 2Vy is downward, it takes a negative value, and the sphere S is rotated backward (rotated in the direction of the - (minus) arrow in Figure 2) around the pitch axis PA as the rotation axis. Then, the sphere S is rotated around the pitch axis PA as the rotation axis at a rotation speed corresponding to the vector length of the y component 2Vy. For example, relationship information that represents the relationship between the vector length of the y component 2Vy and the rotation speed in the form of a formula (function) or a table or the like is stored in advance in a storage device.

[0050] 4, the sphere S continues to rotate around the earth axis EA and pitch axis PA as rotation axes at a corresponding rotation speed during the tilting period. When the user returns the analog stick 51 to the home position, the rotation of the sphere S stops. Usually, when the force applied to the analog stick 51 is released, the analog stick 51 returns to the home position. Here, if the direction or amount of tilt changes while the analog stick 51 is being tilted, the rotation speed or direction may be changed based on the two-dimensional vector 2V detected after the change.

[0051] In the case of a touch operation on the touch panel illustrated in FIG. 5, the CPU 11 detects the designated position where the finger F touches the screen 17a of the touch panel from a state where the finger F is not touching the screen 17a as a starting point. After that, when the finger F moves from the starting point by a sliding operation while the finger F is still touching the screen 17a, the CPU 11 detects a line segment connecting the starting point and the designated position (end point) of the finger F after the movement as a two-dimensional vector 2V. For example, at every predetermined sampling time (for example, 1 / 60 seconds), coordinate information of the designated position where the finger F touches the screen 17a is input to the terminal device 10. This designated position information may be stored while overwriting only the latest information in the RAM 13 in sequence, or the designated position information acquired at every sampling time may be stored in the RAM 13 in chronological order. When the movement of the designated position stops, the designated position (end point) of the finger F that moved from the starting point is determined. If the user does not release the finger F from the screen 17a at the end position, the sphere S continues to rotate around the earth axis EA and the pitch axis PA as rotation axes at the corresponding rotation speed. Then, when the user releases the finger F from the touch panel screen 17a, the CPU 11 stops the rotation of the sphere S.

[0052] Here, when the user moves the finger F from the end point position to another position while keeping the finger F in contact with the screen 17a, the CPU 11 detects the line segment connecting the start point (the position where the finger F first touches the screen 17a) and the other position as an updated two-dimensional vector 2V. In this case, the rotation speed or rotation direction (or the amount of rotation described later) may be changed based on the updated two-dimensional vector 2V. Alternatively, if the user keeps finger F in contact with screen 17a and moves finger F from the end point position to another position, the end point position before the movement may be detected as an updated starting point, and the line segment connecting the updated starting point and the other position may be detected as an updated two-dimensional vector 2V.

[0053] Alternatively, in the case of a touch operation on a touch panel, during the period when the finger F is moving on the screen 17a of the touch panel by a slide operation, the moving speed of the finger F (amount of change in position per unit time) may be detected as a two-dimensional vector 2V. For example, the change in the position of the screen 17a of the touch panel pointed to by the finger F is sampled every 1 / 60 seconds, and the moving speed of the finger F is detected as a two-dimensional vector 2V. Then, during the period when the finger F is moving, the sphere S may continue to rotate with the earth axis EA and pitch axis PA as the rotation axes, respectively, at a rotation speed and in a rotation direction according to the detected two-dimensional vector 2V. Then, when the user stops moving the finger F (ends the slide), the rotation of the sphere S may be stopped.

[0054] (An example of using the information of a two-dimensional vector 2V to calculate the amount of rotation of a sphere S) In the above, the x-component 2Vx and the y-component 2Vy of the detected two-dimensional vector 2V are used for the rotational movement speed of the sphere S, but are not limited to this. For example, the x-component 2Vx of the two-dimensional vector 2V may be used for the amount of rotational movement (i.e., the rotation angle) of the sphere S about the earth axis EA as the rotation axis. Also, for example, the y-component 2Vy may be used for the amount of rotational movement (i.e., the rotation angle) of the sphere S in the pitch direction relative to the virtual camera VC about the pitch axis PA as the rotation axis.

[0055] For example, the sphere S is rotated around the earth's axis EA as the axis of rotation by an amount of rotational movement corresponding to the length of the vector of the x component 2Vx. For example, relationship information expressing the relationship between the length of the vector of the x component 2Vx and the amount of rotational movement (rotation angle) as a formula (function) or a table is stored in advance in a storage device. Also, for example, the sphere S is rotated around the pitch axis PA as the rotation axis by a rotational movement amount corresponding to the length of the vector of the y component 2Vy. For example, relationship information expressing the relationship between the length of the vector of the y component 2Vy and the rotational movement amount (rotation angle) as a formula (function) or a table or the like is stored in advance in a storage device. The control of the rotation direction (positive or negative) of the sphere S according to the vector direction of the x component 2Vx or the y component 2Vy is similar to the case where the information of the two-dimensional vector 2V is used for the rotation speed of the sphere S as described above.

[0056] 6 and 7 show the sphere S as seen from the virtual camera VC. FIG. 6 is a diagram for explaining an example in which the sphere S is controlled to rotate around the earth's axis EA as a rotation axis based on the "x component 2Vx of the two-dimensional vector 2V" detected by the user operation illustrated in FIG. 4 or 5. In the example shown in the figure, the two-dimensional vector 2V is in the lower left direction, and therefore the x component 2Vx is in the left direction (negative value), so the sphere S is controlled to rotate in the reverse direction around the earth's axis EA as a rotation axis. If the x component 2Vx were in the right direction (positive value), the sphere S would be controlled to rotate forward around the earth's axis EA as a rotation axis. Fig. 7 is a diagram illustrating an example in which the sphere S is controlled to rotate in the pitch direction relative to the virtual camera VC with the pitch axis PA as the rotation axis, based on the "y component 2Vy of the two-dimensional vector 2V" detected by the user operation illustrated in Fig. 4 or 5. In the example shown in the figure, the two-dimensional vector 2V is in the lower left direction, and therefore the y component 2Vy is downward (negative value), so the sphere S is controlled to rotate in the reverse direction with the pitch axis PA as the rotation axis. If the y component 2Vy were upward (positive value), the sphere S would be controlled to rotate forward with the pitch axis PA as the rotation axis.

[0057] The "rotation of the sphere S around the earth axis EA" based on the x component 2Vx and the "rotation of the sphere S around the pitch axis PA" based on the y component 2Vy may or may not occur simultaneously. If they are not simultaneous, either rotation may occur first.

[0058] FIG. 8 is a diagram showing an example of the change in the sphere S as seen from the virtual camera VC before and after the rotation is performed around the earth axis EA and pitch axis PA as the rotation axis. (A) in FIG. 8 shows an example of the sphere S as seen from the virtual camera VC before the rotation control is performed. Here, an example is shown in which the sphere S is in the initial state (a state in which the earth axis EA is arranged on the Z axis so that the North Pole NP is at the top). (B) in FIG. 8 shows an example of the sphere S as seen from the virtual camera VC after the user operation shown in FIG. 4 or FIG. 5 is performed to "rotate the sphere S around the earth axis EA as the rotation axis" based on the x component 2Vx (see FIG. 6) and "rotate the sphere S around the pitch axis PA as the rotation axis" based on the y component 2Vy (see FIG. 7).

[0059] As shown in Figures 6 to 8, by restricting the rotation to be around the earth axis EA and pitch axis PA, respectively, the sphere S does not roll as seen from the virtual camera VC. As shown in Figure 8, after the sphere S has rotated around the earth axis EA and pitch axis PA, respectively, the earth axis EA and the North Pole NP rotate from their original positions, but they exist within the XZ plane perpendicular to the pitch axis PA and do not move left or right as seen from the virtual camera VC. The reason for this is as follows.

[0060] That is, when the sphere S rotates about the earth's axis EA as its rotation axis (see Figs. 1, 6, and 8), the position and angle of the earth's axis EA itself as seen by the virtual camera VC in the virtual space V does not change. In this case, the pitch axis PA is not fixed to the sphere S, and does not move relative to the virtual camera VC as the sphere S rotates. In other words, when the sphere S rotates about the earth's axis EA as its rotation axis, the position and angle of the pitch axis PA as seen by the virtual camera VC in the virtual space V does not change.

[0061] Here, the pitch axis PA as seen from the virtual camera VC is an axis that is maintained parallel to the planar direction of the screen of the display unit 17 on which the main image G10 captured by the virtual camera VC of the surface of the sphere S is displayed. In one example of this embodiment, the pitch axis PA is on the Y axis. When the sphere S is rotated in the pitch direction relative to the virtual camera VC with the pitch axis PA as the rotation axis (see Figs. 1, 7, and 8), the earth axis EA fixed to the sphere S rotates. With regard to this rotation of the earth axis EA, the earth axis EA is perpendicular to the pitch axis PA, and the earth axis EA only rotates within the XZ plane perpendicular to the pitch axis PA, which maintains a state parallel to the planar direction of the screen of the display unit 17. Here, the XZ plane perpendicular to the pitch axis PA, which is maintained parallel to the plane direction of the screen, is a plane parallel to the depth direction of the screen (depth direction of the main image G10 displayed on the screen). In other words, even if the sphere S is rotated in the pitch direction relative to the virtual camera VC with the pitch axis PA as the rotation axis, the movement of the earth axis EA is limited to movement within a plane parallel to the depth direction of the screen, which is perpendicular to the pitch axis PA, and the earth axis EA does not wobble left and right on the screen.

[0062] In addition, in Fig. 2, Fig. 6, Fig. 7, and Fig. 8, the axis EA of the earth is shown for the purpose of explanation, but in the main image G10 displayed on the screen, the axis EA of the earth may or may not be displayed. The same applies to the pitch axis PA.

[0063] As described above, when changing the display range of the game field GF, the rotation of the sphere S relative to the virtual camera VC is limited to rotation about the earth axis EA fixed to the sphere S as the rotation axis, and rotation in the pitch direction as seen from the virtual camera VC about the pitch axis PA not fixed to the sphere S as the rotation axis. This ensures that no matter how many times the sphere S is rotated about the earth axis EA and pitch axis PA, the earth axis EA will not wobble left and right within the screen (within the main image G10 displayed on the screen). In other words, no roll rotation of the sphere S as seen from the virtual camera VC occurs. Therefore, the earth's axis EA, which extends in the north-south direction, always maintains its direction relative to the two-dimensional screen. Therefore, even if the display range of the game field GF is changed, the north-south direction of the game field GF relative to the screen is always maintained.

[0064] [3. An example of the functional configuration of a game system] Fig. 9 is a schematic functional block diagram showing an example of the functional configuration of the game system 1. As shown in Fig. 9, the game system 1 includes a storage unit 150. The storage unit 150 stores programs and data required for controlling the operation of the game system 1 (including the terminal device 10 and the server 30) in a storage device (at least one of the database DB, ROM 12, RAM 13, auxiliary storage device 14, ROM 32, RAM 33, and auxiliary storage device 34). In this embodiment, the storage unit 150 stores a game program 151, game data 152, game progress data 153, and the like.

[0065] The game program 151 is an application program that enables the user to operate the terminal device 10 to execute a game. The game data 152 includes various data necessary for executing the game. For example, the game data 152 includes a cell information table, a character information table, a user information table, and the like. The cell information table is master data for managing each cell M arranged in the game field GF. The cell information table stores, in association with identification information (cell ID) that uniquely identifies each cell M, the position information of each cell M in the game field GF, the name (such as a station name), the effect information that occurs, the route information to be connected, and the like. The character information table is master data for managing all characters that may appear in the game provided by the game system 1. The user information table stores, in association with the user ID of each user registered in the game system 1, the user name, the user's game level, the information of the character to be operated by the user, the information of the possessed items, the information of the possessed points, the information of other users associated with the user (so-called friend information), and the like. In addition, the game data 152 includes information of various objects arranged in the game field GF, game sound information, and the like. The game progress data 153 includes various data necessary for managing the progress of the game. For example, the game progress data 153 includes information on the square M set as the destination, information on the square M on which the user's and opponent's characters are currently stopped, and the like.

[0066] For example, various data for executing the game stored in the storage unit 150 may be stored in the database DB or the auxiliary storage device 34 of the server 30, and when the terminal device 10 accesses the server 30, the necessary data may be downloaded to the RAM 13 or the auxiliary storage device 14 of the terminal device 10. Information on the results of the game executed by the terminal device 10 or changes in the data may be transmitted from the terminal device 10 to the server 30 in real time or at a predetermined timing, and the data stored in the database DB or the auxiliary storage device 34 of the server 30 may be updated as appropriate. Furthermore, for example, necessary data may be stored in the auxiliary storage device 14 of the terminal device 10 so that at least a part of the game can be executed offline in the terminal device 10 of each user without logging in to the server 30.

[0067] 9, the game system 1 includes a control unit 100. The control unit 100 is realized by the CPU 11 of the terminal device 10 and / or the CPU 31 of the server 30 executing a game program stored in a storage device (such as the ROM 12, the RAM 13, the auxiliary storage device 14, the ROM 32, the RAM 33, or the auxiliary storage device 34). A part of the functions of the control unit 100 may be realized by the CPU 11 of the terminal device 10, and the remaining functions may be realized by the CPU 31 of the server 30. Alternatively, all of the functions of the control unit 100 may be realized by the CPU 31 of the server 30, or all of the functions of the control unit 100 may be realized by the CPU 11 of the terminal device 10. The control unit 100 includes a display control unit 110, an operation detection unit 120, and a display range change unit .

[0068] The display control unit 110 has the function of capturing an image of the surface of a sphere S (an example of a solid body) with a virtual camera VC, generating a main image G10 with a display range that is a portion of the game field GF on the surface of the sphere S, and displaying it on the screen of the display unit 17. Here, the "sphere S" is a three-dimensional object that is placed in a three-dimensional virtual space V and has a spherical surface on its surface, and does not necessarily have to be a perfect sphere, and the surface of the sphere S may have irregularities. Also, a part of the surface (spherical surface) of the sphere S may be missing. Also, there is no particular restriction on the internal structure inside the spherical surface of the sphere S, and it may be hollow or not.

[0069] Also, instead of the sphere S, an ellipsoid (a three-dimensional object having an ellipsoidal surface on its surface) may be used. The ellipsoid in this case is similar to the above-mentioned sphere S. For example, strictly speaking, the real Earth is an ellipsoid whose polar radius (radius in the north-south direction) is smaller than its equatorial radius, and an ellipsoid of a virtual Earth generated to imitate the real Earth or to exaggerate the flattening ratio of the real Earth may be used. In the above-mentioned game, an example was shown in which the game field GF on the surface of the sphere S was a virtual Earth, but the sphere S or the ellipsoid is not limited to the virtual Earth. For example, the sphere S or the ellipsoid may be an imaginary planet.

[0070] Furthermore, the "game field GF" is a virtual game space formed on the surface of a solid body such as a sphere S, in which various three-dimensional or two-dimensional objects may be placed. Furthermore, various types of information such as characters, symbols, and illustrations may be placed in the game field GF.

[0071] The operation detection unit 120 has the function of detecting a user operation for changing the display range of the game field GF as information of a two-dimensional vector 2V consisting of an x-component 2Vx (an example of a first component) and a y-component 2Vy (an example of a second component) perpendicular to the x-component 2Vx. Here, the "user operation" includes various operations such as tilting the analog stick 51 of the controller 50 (see FIG. 4), inputting to a touch interface such as a touch panel (see FIG. 5), dragging using a pointing device, and specifying coordinate information of a two-dimensional vector using a keyboard, etc. In addition, in the case of adopting a configuration in which a camera captures an image of a finger or the like moved by a user in real space and information on a two-dimensional vector 2V can be detected by image processing, an operation in which the user moves a finger corresponds to an example of a "user operation".

[0072] The display range changing unit 130 has a function of changing the display range based on a user operation for changing the display range of the game field GF by rotating the sphere S relative to the virtual camera VC. The display range changing unit 130 includes a first rotation unit 131 and a second rotation unit 132.

[0073] The first rotation unit 131 has the function of treating a straight line connecting the north pole NP (an example of a specific point) on the surface of the sphere S and the sphere center SC as an axis EA (an example of a first axis) fixed to the sphere S, and rotating the sphere S around the axis EA as the rotation axis based on the x component 2Vx detected by the operation detection unit 120.

[0074] The second rotation unit 132 is perpendicular to the earth's axis EA, is not fixed to the sphere S, and does not move relative to the virtual camera VC when the sphere S rotates.The second rotation unit 132 has a rotation axis that is the pitch axis PA (an example of the second axis) as seen from the virtual camera VC, and has the function of rotating the sphere S in the pitch direction relative to the virtual camera VC based on the y component 2Vy detected by the operation detection unit 120. Here, the "pitch axis PA as seen from the virtual camera VC" can be said to be an axis extending left and right parallel to the planar direction of the screen in relation to the "screen" of the display unit 17 on which the main image G10 captured by the virtual camera VC is displayed.

[0075] For example, the pitch axis PA can be a line perpendicular to the earth's axis EA and perpendicular to the line connecting the sphere center SC and the virtual camera VC, or perpendicular to the visual axis of the virtual camera VC (see Figures 2 and 11).

[0076] Then, the display range change unit 130 limits the rotation of the sphere S to the rotation about the earth axis EA and the pitch axis PA. Here, the rotation of the sphere S about the earth axis EA controlled by the first rotation unit 131 and the rotation of the sphere S about the pitch axis PA controlled by the second rotation unit 132 may be performed simultaneously, or either of the rotations may be performed first.

[0077] [4. Example of processing] Next, an example of the processing executed by the game system 1 of this embodiment will be described below. Fig. 10 is a flow chart showing an example of the processing for changing the display range of the game field GF. The processing described below is realized, for example, by the control unit 100 (CPU 11 of the terminal device 10 and / or CPU 31 of the server 30) executing a game program stored in a memory device (ROM 12, RAM 13, auxiliary memory device 14, ROM 32, RAM 33, or auxiliary memory device 34, etc.).

[0078] At the start of the game, the control unit 100 places a sphere S in an initial state with the north pole NP at the top (the south pole at the bottom) relative to the virtual camera VC in a three-dimensional virtual space V (S100), as shown in Fig. 2. Here, the control unit 100 places the sphere S relative to the virtual camera VC so that the earth's axis EA is perpendicular to the pitch axis PA as seen from the virtual camera VC. A game field GF is formed on the surface of the sphere S. After that, the control unit 100 judges whether a user operation has been performed to change the display range of the game field GF (S102). If a user operation has not been performed (NO in S102), such as immediately after the start of the game, the process proceeds to step S110.

[0079] In step S110, the control unit 100 captures an image of the surface of the sphere S with the virtual camera VC, and generates a main image G10 whose display range is a portion of the game field GF on the surface of the sphere S. Then, the control unit 100 displays the generated main image G10 on the screen of the display unit 17 (S112). After execution of step S112, if it is not determined that the display has ended (for example, the game has been interrupted or ended) (NO in S114), the process returns to step S102.

[0080] In step S102, if a user operation has been performed to change the display range of the game field GF (YES in S102), the process proceeds to step S104. In step S104, the control unit 100 detects a user operation for changing the display range of the game field GF as information on a two-dimensional vector 2V consisting of an x-component 2Vx and ay-component 2Vy that are orthogonal to each other (see FIG. 4 or FIG. 5).

[0081] Thereafter, the control unit 100 executes the processes of steps S106 and S108 described below, and rotates the sphere S relative to the virtual camera VC based on the x-component 2Vx and the y-component 2Vy of the detected two-dimensional vector 2V. In step S106, the control unit 100 rotates the sphere S around the earth's axis EA as the rotation axis based on the x component 2Vx (see FIG. 6). In step S108, the sphere S is rotated in the pitch direction relative to the virtual camera VC, using as the rotation axis the pitch axis PA as seen from the virtual camera VC, which is perpendicular to the earth's axis EA, is not fixed to the sphere S, and does not move relative to the virtual camera VC as the sphere S rotates (see Figure 7). 10 shows an example in which steps S106 and S108 are executed simultaneously, but the present invention is not limited to this. For example, the process of S108 may be executed after the process of step S106, or the process of step S106 may be executed after the process of step S108. Alternatively, the process of either step S106 or S108 may be started first, and the process of the other may be started before the process that was started first is completed.

[0082] After the processing of steps S106 and S108, the process proceeds to step S110. In this case, because the processing of steps S106 and S108 causes the sphere S to rotate relative to the virtual camera VC (see FIG. 8), in step S110, a main image G10 in which the display range of the game field GF has been changed is generated by capturing an image of the surface of the sphere S with the virtual camera VC. Then, the main image G10 in which the display range has been changed based on the user's operation is displayed on the screen (S112).

[0083] The above-mentioned processes in steps S102 to S112 are repeated until the display ends (YES in S114).

[0084] [5. Summary] As described above, the program according to this embodiment is a program for causing the game system 1 (an example of a computer), the terminal device 10 (an example of a computer), or the server 30 (an example of a computer) to function as a display control unit 110, an operation detection unit 120, and a display range change unit 130. Moreover, the terminal device 10 (an example of a game control device), the server 30 (an example of a game control device), or the game system 1 according to the present embodiment includes a display control unit 110, an operation detection unit 120, and a display range change unit . The display control unit 110 captures an image of the surface of the sphere S with the virtual camera VC, thereby generating a main image G10 whose display range is a portion of the game field GF on the surface of the sphere S, and displays the main image G10 on the screen of the display unit 17. The operation detection unit 120 detects a user operation for changing the display range of the game field GF as information on a two-dimensional vector 2V consisting of an x-component 2Vx and a y-component 2Vy( perpendicular to the x-component 2Vx). The display range change unit 130 changes the display range based on the user operation by rotating the sphere S relative to the virtual camera VC, and includes a first rotation unit 131 and a second rotation unit 132. The first rotation unit 131 rotates the sphere S by a straight line connecting the north pole NP on the surface of the sphere S and the sphere center SC, relative to the virtual camera VC. The second rotation unit 132 rotates the sphere S around the earth axis EA, which is fixed to the virtual camera VC, based on the x-component 2Vx. The second rotation unit 132 rotates the sphere S in the pitch direction relative to the virtual camera VC, based on the y-component 2Vy, using the pitch axis PA, which is perpendicular to the earth axis EA, is not fixed to the sphere S, and does not move relative to the virtual camera VC as the sphere S rotates. The display range change unit 130 then limits the rotation of the sphere S to the rotation around the earth axis EA and pitch axis PA. According to the above configuration, no matter how many times the sphere S is rotated about the earth's axis EA and pitch axis PA, the earth's axis EA or the north pole NP does not move left or right on the screen, and no roll rotation of the sphere S as seen from the virtual camera VC occurs. Therefore, even if the user changes the display range by performing an operation to rotate the sphere S, the east-west, north-south, and south directions of the game field GF relative to the screen can be maintained, and it is possible to prevent the user from having difficulty in grasping the direction of the game field GF.

[0085] [6. Pitch rotation limit] Regarding rotation in the pitch direction of the sphere S about the pitch axis PA as the axis of rotation, if the rotation is such that the north pole NP is located in the lower half of the sphere S relative to the virtual camera VC, the north-south direction of the game field GF will be reversed (the top of the screen is south and the bottom is north). In this case, it may be difficult to recognize the game field GF. The same is true when a pitch rotation occurs that places the south pole in the upper half of the sphere S relative to the virtual camera VC. Therefore, in order to avoid such a situation, it is preferable to impose a limit on the rotation in the pitch direction of the sphere S about the pitch axis PA as the axis of rotation.

[0086] FIG. 11 is a diagram for explaining an example of limiting the rotation of the sphere S in the pitch direction. The second rotation unit 132 in this embodiment has the function of limiting the pitch rotation of the sphere S around the pitch axis PA as the rotation axis so that the north pole NP does not move beyond the point P1 or P2 where the straight line SL connecting the sphere center SC and the virtual camera VC intersects with the surface of the sphere S. Alternatively, the second rotation unit 132 in this embodiment has the function of limiting the rotation in the pitch direction of the sphere S around the pitch axis PA as the rotation axis so that the North Pole NP or the South Pole SP (the point on the other side of the earth's axis EA intersects with the surface of the sphere S from the North Pole NP) does not move beyond point P1 or P2 where the straight line SL connecting the sphere center SC and the virtual camera VC intersects with the surface of the sphere S. Here, "the straight line SL connecting the sphere center SC and the virtual camera VC" refers to the straight line SL connecting the sphere center SC and the virtual viewpoint VCa of the virtual camera VC. Regarding the points (intersections) where a straight line SL connecting the sphere center SC and the virtual camera VC intersects with the surface of the sphere S, the intersection point on the virtual camera VC side is designated as P1, and the intersection point on the other side is designated as P2.

[0087] As shown in Fig. 11, when the sphere S is rotated in the reverse direction (rotating in the "-" direction in Fig. 2) with the pitch axis PA as the rotation axis, if the North Pole NP passes the intersection point P1 during pitch rotation, the North Pole NP will move downward beyond the upper half of the sphere S as seen by the virtual camera VC. Therefore, the pitch rotation of the sphere S is controlled so that the North Pole NP does not move downward beyond the intersection point P1. Furthermore, when the sphere S is rotated forward (rotating in the "+" direction in FIG. 2) with the pitch axis PA as the rotation axis, if the North Pole NP pitches past the intersection P2, the South Pole SP moves upward beyond the lower half of the sphere S as seen by the virtual camera VC. Therefore, the pitch rotation is controlled so that the North Pole NP does not move downward beyond the intersection P2 (in other words, the pitch rotation of the sphere S is controlled so that the South Pole SP does not move upward beyond the intersection P1).

[0088] Therefore, the second rotation unit 132 limits the pitch rotation of the sphere S within an angular range of 180 degrees indicated by the arrow AR1 in FIG. 11 so that the north pole NP of the sphere S exists only between the intersection points P1 and P2.

[0089] Alternatively, the second rotation unit 132 in this embodiment limits the pitch direction rotation of the sphere S around the pitch axis PA as the rotation axis so that the south pole SP does not move beyond the point P1-P2 where the straight line SL connecting the sphere center SC and the virtual camera VC intersects with the surface of the sphere S.

[0090] Next, an example of the processing of the game system 1 according to the present embodiment will be described below with reference to Figs. 12 to 14. Fig. 12 is a diagram for explaining an example of limiting the rotation of the sphere S in the pitch direction so that the north pole NP as seen from the virtual camera VC does not exceed the upper half of the sphere S. Fig. 13 is a diagram for explaining an example of limiting the rotation of the sphere S in the pitch direction so that the south pole SP as seen from the virtual camera VC does not exceed the lower half of the sphere S. Fig. 14 is a flowchart showing a modified example of the processing shown in Fig. 10. In the processing example according to the present embodiment, the processing of steps S200 to S206 shown in Fig. 14 is added between steps S108 and S110 of the flowchart in Fig. 10.

[0091] After step S108, the second rotation unit 132 of the control unit 100 determines the direction of pitch rotation of the sphere S (S200), and if it is the "-" direction, the process proceeds to step S202, and if it is the "+" direction, the process proceeds to step S204. As illustrated in FIG. 12, when the second rotation unit 132 is rotating the sphere S in the "-" direction around the pitch axis PA as the rotation axis, if the north pole NP moves to the position of the intersection point P1 (i.e., the boundary between the upper and lower halves of the sphere S as seen from the virtual camera VC) (YES in S202), the second rotation unit 132 stops the rotation of the sphere S in the pitch direction so that the north pole NP does not move further downward (S206). Also, as illustrated in FIG. 13, when the sphere S is rotated in the "+" direction around the pitch axis PA as the rotation axis, if the south pole SP moves to the position of the intersection point P1 (i.e., the boundary between the upper and lower halves of the sphere S as seen from the virtual camera VC) (YES in S204), the rotation of the sphere S in the pitch direction is stopped (S206) to prevent the south pole SP from moving further upward. In the above, an example is shown in which the position of the north pole NP at which the rotation of the sphere S is stopped is the position of the intersection point P1 so that the north pole NP does not exceed the intersection point P1, but this is not limiting. In other words, the position of the north pole NP at which the rotation of the sphere S is stopped may be within a range in which the north pole NP does not exceed the intersection point P1. For example, when the north pole NP moves to a predetermined position before reaching the intersection point P1, the rotation of the sphere S may be stopped at the predetermined position. An example of this will be described with reference to FIG. 11. The rotation of the sphere S may be stopped at the predetermined position a predetermined angle θ (for example, 10 degrees) before the north pole NP reaches the intersection point P1 or P2, and the pitch rotation of the sphere S may be limited within an angle range of, for example, 160 degrees as indicated by the arrow AR2. The predetermined angle θ can be set arbitrarily, for example, to 3 degrees, 5 degrees, or the like. Similarly, the position of the south pole SP where the rotation of the sphere S stops may be within a range where the south pole SP does not exceed the intersection point P1.

[0092] [7. Display of sub-images] FIG. 15 shows an example of a screen on which a sub-image G20 displaying the entire surface of a sphere S is displayed together with a main image G10. The main image G10 displays a part of the game field GF on the surface of the sphere S. The main image G10 displays information necessary for the user to progress in the game, such as the squares M and the route R. As described above, the user can check the part of the game field GF that is not displayed by performing an operation to change the display range of the game field GF, but it is desirable for the user to easily understand which part of the entire surface of the sphere S corresponds to the position currently displayed by the main image G10. Therefore, the example screen of FIG. 15 shows a sub-image G20 that displays the entire surface of the sphere S on the screen of the display unit 17, separate from the main image G10.

[0093] The sub-image G20 is, for example, an image that is displayed superimposed on the main image G10 and has a smaller display area than the main image G10. In this case, for example, the sub-image G20 may be called a mini-view.

[0094] In the case of a display unit 17 having multiple screens, the sub-image G20 may be displayed on a screen different from the screen that displays the main image G10. In this case, depending on the size of each of the multiple screens, the display area of ​​the main image G10 and the sub-image G20 may be the same, or the sub-image G20 may be larger or smaller than the main image G10.

[0095] The sub-image G20 according to the present embodiment displays an entire field map P21 in which the entire game field GF of the sphere S is displayed in Mercator projection. Note that the display of the entire field map P21 is not limited to the display of the projection method in accordance with the Mercator projection, and other projection methods such as the Mollweide projection, Eckert projection, Sanson projection, Goode projection, Bonne projection, and Equal Earth projection may be adopted.

[0096] Also displayed on the sub-image G20 is virtual viewpoint position information P22 indicating the position of the virtual camera VC relative to the entire surface of the sphere S. Fig. 15 illustrates an example of virtual viewpoint position information P22 indicating that the center of a rectangular aiming frame is the position of the virtual camera VC. The virtual viewpoint position information P22 is not limited to this example, and may be information such as other illustrations (such as an arrow), symbols, or characters, as long as the user can recognize the position of the virtual camera VC relative to the entire surface of the sphere S.

[0097] Here, the "position of the virtual camera VC" can be, for example, the position of an intersection P1 (see FIG. 11) where a straight line connecting the sphere center SC and the virtual camera VC intersects with the surface of the sphere S. In this case, information indicating a position corresponding to the intersection P1 within an entire field map P21 expressed by Mercator projection or the like corresponds to "virtual viewpoint position information P22 indicating the position of the virtual camera VC with respect to the entire surface of the sphere S." In addition, the "position of the virtual camera VC" may be, for example, the position of the intersection point where the visual axis of the virtual camera VC intersects with the surface of the sphere S.

[0098] Also, information P23 indicating the position of the character CT operated by the user relative to the entire surface of the sphere S is displayed on the sub-image G20. Also, information P24 indicating the position of other characters operated by the user's opponent (other users or the CPU) relative to the entire surface of the sphere S is displayed on the sub-image G20. If there are multiple other characters, information P24 indicating the position of each of the other characters is displayed. The information P23 and the information P24 are displayed in different display modes (for example, different colors, etc.). Also, if there are multiple other characters, they are displayed in different display modes. Additionally, information P25 indicating the position of the destination relative to the entire surface of the sphere S is displayed on the sub-image G20. In this way, the sub-image G20 displays information P23-P24 indicating the position of a character (character CT controlled by the user, other characters controlled by other users, or NPCs (Non Player Characters) automatically controlled by the CPU) relative to the entire surface of the sphere S, and / or information P25 indicating the position of a destination relative to the entire surface of the sphere S, which the user can use as a reference for future game strategies.

[0099] As described above, the display control unit 110 according to the present embodiment has a function of displaying the sub-image G20 including information showing the entire surface of the sphere S on the screen of the display unit 17 together with the main image G10. Furthermore, the display control unit 110 according to this embodiment has a function of displaying, on the screen of the display unit 17, a sub-image G20 including virtual viewpoint position information P22 indicating the position of the virtual camera VC relative to the entire surface of the sphere S, together with the main image G10. This makes it easier for the user to grasp where on the entire surface of the sphere S the position currently displayed by the main image G10 corresponds.

[0100] (An example of displaying the area displayed in the main image within the sub-image) The sub-image G20 may display not only the position of the virtual camera VC relative to the entire surface of the sphere S, but also information indicating the display range relative to the entire surface of the sphere S. Here, the display range refers to the range of the surface of the sphere S displayed as the main image G10 (a part of the game field GF).

[0101] Fig. 16 shows another example of a screen on which a sub-image G30 displaying the entire surface of a sphere S is displayed together with a main image G10. The sub-image G30 differs from the sub-image G20 in Fig. 15 in that information P31 indicating the display range for the entire surface of the sphere S is displayed on the sub-image G20, but is otherwise similar to the sub-image G20. Here, "information P31 indicating the display range for the entire surface of the sphere S" refers to information indicating, in the sub-image G20 showing the entire surface of the sphere S, the display range of the main image G10, which has a display range of a portion of the game field GF on the surface of the sphere S.

[0102] For example, in the sub-image G30 to which the entire field map P21 of the Mercator projection, whose scale changes depending on the latitude, is applied, even if the main image G10 is rectangular, the information P31 indicating the display range is not rectangular, as exemplified in Fig. 16. In this way, the shape of the corresponding range does not necessarily match between the game field GF on the surface of the sphere S and the entire field map P21 of the sub-image G30 representing the entire game field GF of the sphere S. However, by displaying the information P31 indicating the display range for the entire surface of the sphere S on the sub-image G30, the correspondence of the display ranges becomes clear on the screen.

[0103] A known algorithm can be applied to the process of making the display range of the surface of the sphere S in the main image G10 correspond to the whole field map P21 displayed in Mercator projection or the like.

[0104] 16, the approximate center of the range (a range shaped like a trapezoid in the example of FIG. 16) displayed as information P31 indicating the display range relative to the entire surface of the sphere S is the position of the virtual camera VC relative to the entire surface of the sphere S. For example, the position of the virtual camera VC relative to the entire surface of the sphere S may be clarified by displaying virtual viewpoint position information P22 exemplified in FIG. 15 together with the information P31 in the sub-image G30.

[0105] Also, the user may be able to change the size of the display range of the game field GF displayed as the main image G10 by performing a predetermined operation. Here, the method for changing the size of the display range may include, for example, the following two methods, and any of them may be used.

[0106] One of them is a method of changing the magnification ratio (zooming in, zooming out) by digital image processing of an image of the game field GF on the surface of the sphere S captured by a virtual camera VC. For example, the size of the display range of the game field GF is changed by performing digital image processing such as enlargement, pixel interpolation, and cropping on the image captured by the virtual camera VC. This method is also called digital zoom. With this method of changing the magnification ratio of an image by digital image processing, the resolution of the image can decrease the more it is zoomed in.

[0107] The other method is to change the distance between the virtual camera VC and the sphere S. By bringing the virtual camera VC and the sphere S closer together, the display range of the game field GF captured by the virtual camera VC is zoomed in, and the display range of the game field GF captured by the virtual camera VC is reduced, and by moving the distance between the two away, the display range of the game field GF captured by the virtual camera VC is increased. Unlike the above-mentioned method of changing the image enlargement / reduction ratio by digital image processing, this method of changing the distance between the virtual camera VC and the sphere S does not reduce the resolution of the image captured by the virtual camera VC even when zoomed in. In other words, by bringing the distance between the sphere S and the virtual camera VC closer, the display range of the surface of the sphere S becomes smaller, but the subject (object in the game field GF) within the display range is displayed larger. Also, the closer the distance between the three-dimensional object and the virtual camera, the higher the resolution of the subject, and it becomes easier to obtain detailed information about the subject.

[0108] For example, the screen in Fig. 15 or 16 displays a zoom-in button B16 and a zoom-out button B17 for changing the size (width) of the display range of the game field GF displayed as the main image G10. These buttons B16 and B17 can be operated in a variety of ways, such as by pressing the corresponding buttons on a controller, by tapping the buttons B16 and B17 as operators in the case of a touch panel, or by selecting and confirming the buttons B16 and B17 by voice input. Note that it is also possible to enable operations corresponding to zooming in and zooming out (such as pressing the corresponding buttons) without displaying the buttons B16 and B17 on the screen.

[0109] When the user operates the zoom-in button B16, the display range of the game field GF displayed in the main image G10 becomes smaller, but the individual squares M, the path R, and other objects arranged in the game field GF are enlarged, so that the user can check the details. When the user operates the zoom-out button B17, the display range of the game field GF displayed in the main image G10 becomes larger, so that the user can check a wide area. The size of the display range of the game field GF displayed as the main image G10 may be changed stepwise by the user's operation, or may be changed steplessly and seamlessly. When the screen of the display unit 17 is configured as a touch panel, the size of the display range may be changed by a predetermined operation such as pinching in by bringing two fingers close together on the screen and pinching out by spreading the two fingers apart.

[0110] 15 or 16 is an example of a screen in a display mode in which the display range of the game field GF can be changed, and a display mode object P15 indicating this display mode is displayed in the center of the main image G10 or the like. By operating the back button B18 on the screen of FIG. 15 or 16, the display mode is cancelled, and the screen display of FIG. 3 is returned to, for example. It is also possible to allow the user to perform an operation to change the display range of the game field GF (see FIG. 4 and FIG. 5) or to perform an operation to change the size of the display range, even if the display mode is not changed, for example, while the screen of FIG. 3 remains.

[0111] When the position or size of the display range of the game field GF displayed as the main image G10 is changed, the information P31 indicating the display range relative to the entire surface of the sphere S is also changed in the sub-image G30 shown in Fig. 16. Figs. 17 and 18 are examples of views showing an enlarged view of only the sub-image G30 shown in Fig. 16. The position and size of the display range of the game field GF displayed as the main image G10 are different between the sub-image G30 in Fig. 17 and the sub-image G30 in Fig. 18. Compared to the sub-image G30 in Fig. 17, the display range of the game field GF displayed as the main image G10 is larger in the sub-image G30 in Fig. 18.

[0112] As described above, the display control unit 110 according to this embodiment has a function of displaying, on the screen of the display unit 17, the sub-image G30 including the information P31 indicating the display range relative to the entire surface of the sphere S, together with the main image G10. This makes it easier for the user to grasp which range of the entire surface of the sphere S corresponds to the range currently displayed by the main image G10.

[0113] Next, an example of a process for displaying a sub-image G20 or G30 together with a main image G10 will be described below with reference to the flowchart in Fig. 19. Fig. 19 is a flowchart showing a modified example of the process shown in Fig. 10. In the process example according to this embodiment, the processes of steps S300 to S304 shown in Fig. 19 are added between steps S110 and S112 of the flowchart in Fig. 10.

[0114] In step S110, the control unit 100 captures an image of the surface of the sphere S with the virtual camera VC, and generates a main image G10 with a display range of a portion of the game field GF on the surface of the sphere S. After that, the control unit 100 acquires information on the position of the virtual camera VC with respect to the entire surface of the sphere S (S300). The control unit 100 also acquires information on the display range with respect to the entire surface of the sphere S (S302). Then, the control unit 100 generates a sub-image G20 or G30 that reflects the information acquired in steps S300 and / or S302 (S304). Then, the control unit 100 causes the main image G10 generated in step S110 and the sub-image G20 or G30 generated in step S304 to be displayed on the screen of the display unit 17 (S112). 15, when a sub-image G20 including virtual viewpoint position information P22 indicating the position of the virtual camera VC with respect to the entire surface of the sphere S is displayed on the screen, step S302 may be omitted. Also, when a sub-image G20 including display range information P31 with respect to the entire surface of the sphere S is displayed on the screen, as shown in FIG. 16, step S302 may be omitted.

[0115] [8. Virtual camera visual axis direction] FIG. 20 or 21 is a diagram for explaining the visual axis direction VA (optical axis direction) of a virtual camera VC relative to a sphere S. FIG. 20, the visual axis direction VA of the virtual camera VC with respect to the sphere S may be a direction passing through the sphere center SC. In this case, the visual axis direction VA coincides with the direction of a straight line SL connecting the sphere center SC and the virtual camera VC.

[0116] Alternatively, as shown in Fig. 21, the visual axis direction VA of the virtual camera VC with respect to the sphere S may be set to be shifted from the direction of the straight line SL connecting the sphere center SC and the virtual camera VC (i.e., the virtual viewpoint VCa). For example, the visual axis direction VA of the virtual camera VC with respect to the sphere S may be set to be above the sphere center SC. In this case, as shown in Fig. 3, for example, a main image G10 in which the sphere S is viewed obliquely is displayed on the screen, making it easier to feel the three-dimensionality and depth of the objects placed on the game field GF. This makes it easier to intuitively grasp the distance on the game field GF even over a relatively wide range.

[0117] For example, as shown in Fig. 21, the angle α between the line SL connecting the sphere center SC and the virtual camera VC and the visual axis direction VA of the virtual camera VC may be kept constant. The angle α can be set arbitrarily, for example, to 10 degrees, 15 degrees, or 30 degrees.

[0118] As described above, methods for changing the size of the display range of the game field GF displayed as the main image G10 include changing the enlargement / reduction ratio of the image captured by the virtual camera VC through digital image processing, and changing the distance between the virtual camera VC and the sphere S. Here, the method of changing the distance between the virtual camera VC and the sphere S is preferable when, for example, it is desired to display the details of the game field GF, because the virtual camera VC moves closer to the sphere S, making it easier to obtain the required resolution.

[0119] 22 to 25, when the display range is changed according to the distance D between the virtual camera VC and the sphere S, the angle α between the line SL connecting the sphere center SC and the virtual camera VC and the visual axis direction VA of the virtual camera VC may be changed according to the distance D. Here, the distance D between the virtual camera VC and the sphere S is the distance between the position of the virtual viewpoint VCa of the virtual camera VC and the surface of the sphere S.

[0120] For example, as shown in Figures 22 and 23, the angle α may be increased as the distance D becomes smaller (shorter). In Figure 22, the angle α is increased because the distance D is smaller than in the case of Figure 23. In this manner, by changing the visual axis direction VA according to the distance D between the virtual camera VC and the sphere S, the main image G10 captured by the virtual camera VC can be displayed appropriately according to the distance D.

[0121] For example, as shown in Fig. 22, as the distance D between the virtual camera VC and the sphere S decreases, the angle α increases, making it possible to achieve a three-dimensional display with a sense of depth. Furthermore, if the angle α is increased as the distance D decreases, it becomes easier to capture the horizon or horizontal line within the screen even when the distance D is small. In this way, if the horizon or horizontal line can be displayed within the screen, it becomes easier to grasp the size of the sphere S, and therefore it becomes easier to intuitively grasp the positional relationship of objects on the sphere S. 23, if the distance D between the virtual camera VC and the sphere S becomes longer, the angle α becomes smaller, so that the wide range of the game field GF is displayed closer to being viewed from directly above. In this case, the user can check the wide range as if looking at a map.

[0122] Alternatively, as illustrated in Figures 24 and 25, the shorter the distance D, the smaller the angle α may be. In Figure 24, the distance D is shorter than in the case of Figure 25, so the angle α is smaller. In this manner, by changing the visual axis direction VA according to the distance D between the virtual camera VC and the sphere S, the main image G10 captured by the virtual camera VC can be displayed appropriately according to the distance D.

[0123] For example, if the user wants to know detailed information about objects (such as squares M, route R, etc.) in the game field GF, the distance D is reduced to make it easier to check the details, and the angle α is reduced to bring the visual axis direction VA closer to the sphere center SC. This increases the resolution of the image of the captured sphere S, and furthermore makes the game field GF closer to a two-dimensional display looking down from directly above, allowing the user to check the details as if looking at a map. On the other hand, if the user wants to roughly grasp the positional relationship of a wide range of objects, for example to check a square M in the distance, the distance D is increased to display a wide range of the game field GF, and the angle α is increased to tilt the visual axis direction VA upward from the sphere center SC. This makes it possible to obtain a display that gives a sense of depth, and makes it easier to grasp the positional relationship of the objects relative to the entire sphere S.

[0124] As described above, the display control unit 110 according to this embodiment has a function of setting the visual axis direction VA of the virtual camera VC to be shifted from the direction of the straight line SL connecting the sphere center SC and the virtual camera VC. As a result, the main image G10 captured by the virtual camera VC becomes an image of the sphere S viewed obliquely, which makes it easier for the user to feel a sense of three-dimensionality and depth. This makes it easier for the user to intuitively grasp the distance on the game field.

[0125] Furthermore, the display control unit 110 according to this embodiment has a function of changing the angle α between the line SL connecting the sphere center SC and the virtual camera VC and the visual axis direction VA of the virtual camera VC according to the distance D between the sphere S and the virtual camera VC. This allows the main image G10 captured by the virtual camera VC to be displayed appropriately according to the distance D.

[0126] Next, an example of a process for changing the size of the display range of the game field GF displayed as the main image G10 by changing the distance D between the sphere S and the virtual camera VC will be described below with reference to the flowchart in Fig. 26. Fig. 26 shows an example of a process in which the angle α is increased as the distance D becomes smaller. Fig. 26 is a flowchart showing a modified example of the process shown in Fig. 10. In the process example according to this embodiment, steps S400 to S410 shown in Fig. 26 are added before step S110 in the flowchart in Fig. 10. For example, if the answer is NO in step S102 in Fig. 10, or after the processes of S106 and S108, the process proceeds to step S400 in Fig. 26. Note that the processes of steps S400 to S410 may be performed before these steps S102, S106, and S108.

[0127] In step S400, the control unit 100 judges whether an operation has been performed to change the size of the display range of the game field GF displayed as the main image G10. Here, the method of operation to change the size of the display range is not particularly limited. As described above, any operation can be applied, such as pressing a button on the controller corresponding to enlarging (zooming out) or reducing (zooming in) the display range, tapping on an operator on the touch panel, pinching out or pinching in on the touch panel, or voice input operation. If there is no such operation (NO in S400), the process proceeds to step S110. On the other hand, if there is the such operation (YES in S400), it is judged whether it is an operation to enlarge or reduce the display range (S402).

[0128] If an operation to reduce the display range is performed, the process proceeds to step S404. In step S404, the control unit 100 reduces the distance D between the sphere S and the virtual camera VC based on the operation. Then, the control unit 100 increases the angle α between the line SL connecting the sphere center SC and the virtual camera VC and the visual axis direction VA according to the changed distance D (S406). On the other hand, if an operation to enlarge the display range has been performed, the process proceeds to step S408. In this step S408, the control unit 100 increases the distance D between the sphere S and the virtual camera VC from the current distance based on the operation. Then, the control unit 100 decreases the angle α between the line SL connecting the sphere center SC and the virtual camera VC and the visual axis direction VA according to the changed distance D (S410). After the process of step S406 or S408 is executed, the process proceeds to step S110.

[0129] [9. Display of shortest route] 3, in the game field GF according to the present embodiment, a plurality of squares M where a character CT (an example of a game element) can stop and a route R that determines whether movement between the squares M is possible are set, and one of the squares M is set as a destination. In this case, the shortest route to the destination may be displayed on the screen of the display unit 17.

[0130] In particular, when the game field GF is formed on the surface of a sphere S, as in the game according to this embodiment, the character CT moves on the sphere, so when heading to a destination in a certain direction, for example, in the westward direction, it is not necessarily possible to reach the destination by the shortest route simply by heading west. For example, there are cases where selecting route R that passes near the North Pole NP (or South Pole SP) will allow the character CT to reach the destination by the shortest route.

[0131] 27, the control unit 100 can be configured to include a shortest route presentation unit 140. The shortest route presentation unit 140 has a function of finding the shortest route from the square M where the character CT is stopped to the destination, and displaying information about the shortest route on the screen of the display unit 17. This allows the user to know the fastest route to the destination, and to use it as a reference for future travel routes.

[0132] Fig. 28 is a diagram showing an example of a screen displaying information PT of the shortest route. For example, a button B13 for displaying information PT of the shortest route is displayed on the main image G10 in Fig. 28. When the user operates button B13 (for example, by pressing a corresponding button on a controller, or by tapping in the case of a touch panel), information PT of the shortest route is displayed on the screen. Information PT of the shortest route is displayed on the screen by, for example, a semi-transparent or opaque line along the shortest route.

[0133] The information PT of the shortest route may be displayed on the screen only when a predetermined operation is performed by the user, or may be automatically displayed at a predetermined timing (for example, when the dice roll is confirmed during the user's turn) even if no operation is performed by the user. Alternatively, the information PT of the shortest route may be displayed on the screen at all times even if no operation is performed by the user.

[0134] As shown in FIG. 29, the information PT of the shortest route may be displayed not only in the main image G10 but also in the sub-image G40. The sub-image G40 is different from the sub-image G20 in FIG. 15 or the sub-image G30 in FIG. 16 in that the information PT of the shortest route is displayed in the sub-image G40, but is otherwise similar. By displaying the information PT of the shortest route in the sub-image G40, the shortest route to the destination can be roughly grasped. Furthermore, the information PT of the shortest route displayed in the sub-image G40 can be used as a reference even when a user operation is performed to change the display range of the game field GF displayed as the main image G10.

[0135] In order to determine the shortest path from the current square M (starting point) where the character CT is stopping to the destination (end point), a known algorithm for solving the shortest path problem, such as the Dijkstra algorithm or the Bellman-Ford algorithm, can be used.

[0136] In the game according to the present embodiment, there is no difference in weight among all the routes R. For example, if the dice roll is "5", the player can move forward by 5 squares regardless of which route R is selected. In this way, it is possible to set no weight for the route R, but different weights may be set for different routes R. For example, a weight different from that of at least one route R may be set for the other routes R. As an example, the virtual travel distance or travel time may be set differently for each route R, and one of three weights, for example "1", "2", and "3", may be set. In the case of a route R with a weight of "2", the player cannot pass through it if the dice roll is "1", and can pass through it only if the roll is "2" or more, and two rolls (two squares) are consumed when passing through it. Similarly, in the case of a route R with a weight of "3", the player can pass through it only if the roll is "3" or more, and three rolls (three squares) are consumed when passing through it. In this way, even if a weight is set for the route R, the shortest route from the current square M (starting point) where the character CT is stopping to the destination (ending point) can be identified using known algorithms such as the Dijkstra algorithm and the Bellman-Ford algorithm.

[0137] In addition, in the game according to the present embodiment, all routes R are undirected routes, and for example, in the case of a route R connecting two masses M1 and M2, either mass M can access the other mass M. As a variation, at least one route R may be a directed route. For example, in the case of a route R connecting two masses M1 and M2, a route R is a directed route, which is a route R that can be passed from mass M1 to mass M2, but cannot be passed from mass M2 to mass M1, and has a traversable direction. In the case of a directed route, information on the traversable direction is displayed on the screen. Even when such a directed route is included, the shortest route can be identified by a known algorithm.

[0138] (Changes in the shortest route depending on whether or not there is an obstacle) Regarding the above-mentioned shortest route, the shortest route may be determined by taking into account obstacles set on the squares M or the route R on the game field GF. FIG. 30 is a diagram showing an example of a screen displaying information PT on the shortest path when an obstacle OBS exists on the game field GF. Here, the obstacle OBS is an object that has the effect of making it impossible to pass through a square M or a route R that is originally passable. The obstacle OBS may appear and disappear at any place on the game field GF at any timing as the game progresses. The obstacle OBS may be stationary or may move, or may appear and disappear periodically or irregularly. Since the character CT cannot pass through a place where the obstacle OBS exists, the shortest path to the destination may change depending on the obstacle OBS when the obstacle OBS is taken into account.

[0139] In addition, the obstacle OBS is not limited to an object that prevents the user from passing through, but may be an object that is passable but that causes an effect that is disadvantageous in the game when the user passes through or stops. In other words, an object that is passable but that the user does not want to pass through can also be included in the obstacle OBS.

[0140] Comparing FIG. 28 and FIG. 30, the screen in FIG. 28 displays information PT of the shortest route when there is no obstacle OBS on the game field GF, but the screen in FIG. 30 displays information PT of the shortest route different from that in FIG. 28 in order to avoid an obstacle OBS.

[0141] The shortest route presenting unit 140 according to this embodiment has a function of changing the shortest route based on an obstacle set in the cell M or the route R. As a result, even if an obstacle is set in the cell M or the route R, information PT of the shortest route changed in response to the obstacle is displayed on the screen. Therefore, the user can consider a future travel route by referring to the shortest route updated in response to the obstacle.

[0142] Here, the "obstacle" includes, for example, the obstacle OBS. Also, the "obstacle" includes effect occurrence information that is not an object, such as an event that is set in a mass or a route (associated with a mass or a route) and generates an effect that prevents the character CT from passing through. In addition, "obstacle" is not limited to effects that prevent passage, but also includes effect occurrence information such as an obstacle OBS or an event that is passable but causes an effect that is disadvantageous in the game when passed or stopped.

[0143] Furthermore, "changing the shortest route based on an obstacle" may include "changing the shortest route based on the presence or absence of an obstacle" as well as "changing the shortest route based on the type of obstacle." For example, in the case of an "obstacle" that has the disadvantageous effect of reducing game points (including in-game currency, etc.) by passing through or stopping, it may be determined whether the target square M or route R is passable or impassable depending on the degree (amount or percentage) of the game points that are reduced. For example, if 1000 points or more are reduced, the target square M or route R is made impassable, and if the reduction is less than 1000 points, it is made passable. In this case, the user himself may be able to set in advance by a user operation how much of a reduction in points is required to make it passable or impassable.

[0144] Furthermore, when the obstacle that is passable but has an effect that is disadvantageous in the game is set on the square M or the route R, the shortest route presenting unit 140 may display information PT of the shortest route obtained by assuming that the obstacle is passable on the screen, and may also display warning information indicating that the obstacle exists on the shortest route. This allows the user to consider a future travel route while comparing and considering whether to select the shortest route knowing the obstacle or to select a route that avoids the obstacle, referring to the display.

[0145] Here, the warning information may be displayed when the information PT of the shortest route is displayed, or when the user provisionally selects a square M on the shortest route and attempts to pass through the shortest route. In this game example, the user can move the character CT a number of squares according to the roll of the dice, but when there are multiple selectable squares M as destinations, the user can select which square M to select. For example, until the user provisionally selects a destination square M and performs an operation to confirm the selection, the provisionally selected square M can be canceled and another square M can be selected. When the user provisionally selects a square M in the process of selecting a number of squares M according to the roll of the dice, if the provisionally selected square M is included in the shortest route, the warning information may be displayed at the time of the provisional selection.

[0146] Next, an example of a process for displaying information on the shortest route on the screen will be described below with reference to the flowchart of FIG. The control unit 100 judges whether an operation for displaying the shortest route has been performed (S500). If the operation has not been performed (NO in S500), the process ends. On the other hand, if the operation has been performed (YES in S500), the control unit 100 acquires information identifying the square M on which the character CT operated by the user is currently stopped (S502). The control unit 100 also acquires information identifying the square M set as the destination (S504). Information on the square M on which the character CT is currently stopped or the square M set as the destination can be acquired from the game progress data 153. The control unit 100 also acquires information on obstacles in the game field GF (S506). For example, the control unit 100 acquires from the game progress data 153 which square M or route R in the game field GF currently has an obstacle such as an obstacle OBS set therein. The control unit 100 may also acquire information on the contents of the obstacles that have been set. The control unit 100 may then acquire information on the contents of the obstacles that have been set, and determine whether the obstacles are to be treated as passable or impassable. For convenience, the processes of steps S502, S504, and S506 are described in Fig. 31 as being executed in this order, but this is not limited to this. The processes of steps S502, S504, and S506 may or may not be executed simultaneously. If they are not executed simultaneously, any process may be executed in any order.

[0147] Thereafter, the control unit 100 uses a known algorithm such as the Dijkstra algorithm or the Bellman-Ford algorithm to identify the shortest route from the square M (start point) where the character CT is currently standing to the square M (end point) of the destination (S508). At this time, the shortest route is identified taking into account the information on the obstacle acquired in step S506. It should be noted that in the case of a game in which no obstacles are set in the game field GF to begin with, or in the case of a configuration in which the shortest path is simply found without taking obstacles into account, the process of step S506 can be omitted.

[0148] Thereafter, the control unit 100 causes the information PT of the shortest route identified in step S508 to be displayed on the screen of the display unit 17 (S510). Here, if the shortest route is determined in step S508 as passable through an obstacle that is passable but has an effect that is disadvantageous in the game, the control unit 100 also causes warning information to be displayed on the screen of the display unit 17, indicating that an obstacle exists on the shortest route.

[0149] (Displays the number of squares to each character's destination) Among the characters (one example of a game element) heading for the destination square M, there is not only the character CT (one example of a game element) that is the object of operation of the user, but also at least one other character (one example of another game element). Here, the other character is a character other than the character CT that is the object of operation of the user. For example, the other character includes a character that is the object of operation of another user or an NPC that is automatically operated by a computer. The shortest route presentation unit 140 may then find the shortest route to the destination for each of the multiple characters heading for the destination square M, and display information on the number of squares to the destination on the shortest route for each of the multiple characters on the screen of the display unit 17.

[0150] Fig. 32 is a diagram showing an example of a screen displaying information P19 on the number of squares to the destination on the shortest route for each character. Fig. 32 shows an example in which information P19 on the number of squares to the destination on the shortest route is displayed for each of the characters of three users A, B, and C.

[0151] This allows the user to recognize the number of squares to the destination on the shortest route not only for his / her own character CT but also for other characters such as opponents, and can use this as a reference for future game strategies. For example, if the number of squares to the destination of the user's character CT is the fewest and the user is farther ahead than the other characters, it is possible to consider a strategy of taking a detour to square M, which is somewhat off the shortest route but has a high effect. Also, for example, if the number of squares to the destination of the user's character CT is not significantly different from the number of squares to the destination of the other characters, it is possible to consider a strategy of proceeding without deviating too much from the shortest route, aiming to arrive at the destination first.

[0152] The position of the display area on the screen for the information P19 on the number of squares to the destination may be fixed, or the position of the display area may be changed depending on other information displayed on the screen. For example, the position of the display area for the information P19 on the number of squares to the destination may be changed so that it is displayed at a position on the screen that does not overlap with the information PT on the shortest route or the information on the position of a character or the destination, which will be described later. Similarly, the positions on the screen of the sub-images G20, G30, and G40 may also be changed depending on other information displayed on the screen.

[0153] [10. Display of information regarding the position of other characters not present in the display range] When multiple people play a game, the user may want to know not only the position of his / her own character CT but also the positions of other characters operated by other users. Also, in the case of CPU battles, the user may want to know the positions of other characters (NPCs) automatically operated by the computer. Although other characters may exist within the display area of ​​the game field GF, there are many cases where other characters do not exist within the display area and other characters are not displayed in the main image G10. When other characters do not exist within the display area in this way, the position information of the other characters may be displayed in an easily understandable manner on the main image G10. For example, position information indicating the direction in which other characters exist may be displayed on the main image G10 for other characters not existing within the display area.

[0154] Fig. 32 is a diagram showing an example of a screen displaying position information indicating the direction in which "other characters not present in the display area" are present. As shown in Fig. 32, a position information indicator P70 to which an icon (illustration) of another character or the like is attached and which has a direction indicator P71 for indicating the direction corresponds to an example of position information indicating the direction in which another character is present. When there are multiple other characters, they can be distinguished by using position information indicators P70 of different colors or shapes, for example. Figure 32 shows an example in which there are two other characters, and two position information indicators P70-1 and P70-2 of different colors are displayed.

[0155] The direction indicator P71 of the position information indicator P70 has a tip that indicates a direction. The center of the main image G10 (or screen) is set as a reference point P5, and the position information indicator P70 corresponding to the other character is displayed at or near the intersection of a line connecting the reference point P5 and the direction in which the other character is located with the outer frame of the main image G10 (or screen). In this case, the display angle of the position information indicator P70 is adjusted along the line connecting the reference point P5 and the direction in which the other character is located, and the position information indicator P70 is positioned so that the tip of the direction indicator P71 indicates the direction in which the other character is located.

[0156] Here, the "line connecting the reference point P5 on the main image G10 (or screen) and the direction in which other characters exist" can be, for example, the shortest line along the surface of the sphere connecting the position on the surface of the sphere S corresponding to the reference point P5 and the position on the surface of the sphere S in which other characters exist. Alternatively, the "line connecting the reference point P5 of the main image G10 (or screen) and the direction in which other characters exist" can be a straight line connecting the position on the surface of the sphere S corresponding to the reference point P5 and the position on the surface of the sphere S in which other characters exist.

[0157] It is preferable to set the reference point P5 at the center of the main image G10 (or screen), but the reference point P5 may be at a position within the main image G10 that is offset from the center of the main image G10. Furthermore, the position information indicator P70 is not limited to the example shown in Fig. 32, and may be, for example, in the shape of an arrow. For example, in the case of the position information indicator P70 in the shape of an arrow, the tip of the arrow becomes the direction indicator P71.

[0158] Also, there may be cases where the destination does not exist within the display area of ​​the game field GF, and the destination is not displayed on the main image G10. Therefore, when the destination does not exist within the display area, the location information of the destination may be displayed in an easily understandable manner on the main image G10. For example, as shown in FIG. 32, a location information indicator P80 having an icon (illustration) of the destination and a direction indicator P81 for indicating the direction may be displayed on the main image G10. The location information indicator P80 of the destination is similar to the location information indicator P70 of the other characters described above, and a detailed description thereof will be omitted.

[0159] Furthermore, when the display area of ​​the game field GF is changed, the character CT operated by the user may be out of the display area, and the character CT operated by the user may not be displayed in the main image G10. Therefore, when the character CT operated by the user is not present in the display area, the position information of the character CT may be displayed in an easily understandable manner in the main image G10. For example, as shown in FIG. 32, a position information indicator P90 having an icon (illustration) of the character CT and a direction indicator P91 for indicating a direction may be displayed in the main image G10. The position information indicator P90 of the character CT operated by the user is similar to the position information indicator P70 of the other characters described above, and a detailed description thereof will be omitted.

[0160] In Fig. 32, for convenience of explanation, the line connecting the reference point P5 to the other characters, the destination, or the user's character CT not present in the display area is shown as a dotted line, but is not displayed in the main image G10. As a variation, the line may be displayed on the screen.

[0161] As a variation, the size of the position information indicator P70, P80 or P90 may be varied depending on the distance between the position of other characters, destinations or the user's character CT not present in the display area and the reference point P5 of the main image G10. 33 is an example of a screen in which the position information indicator P70, P80, or P90 is displayed smaller as the distance between the position of another character, a destination, or the user's character CT and the reference point P5 of the main image G10 increases. Among the position information indicators P70, P80, and P90, the position information indicator P90 of the user's character CT is displayed largest because the character CT is closest to the reference point P5. For example, the position information indicator P70-2 of another character of user B is displayed smaller than the position information indicator P90 because the other character is farther away from the reference point P5. In addition, the destination is farthest from the reference point P5, so the position information indicator P80 of the destination is displayed smallest.

[0162] As a variation, the larger the position information indicator P70, P80 or P90 is displayed, the greater the distance between the position of other characters, destinations or the user's character CT not present in the display area and the reference point P5 of the main image G10.

[0163] As described above, the display control unit 110 according to this embodiment has a function of displaying, on the screen of the display unit 17, position information indicators P70, P80, or P90 indicating at least the direction of a game element (e.g., the user's character CT or another character) or a destination that does not exist within the display area. Furthermore, the display control unit 110 displays the position information indicators P70, P80, or P90 at or near the intersection of a line connecting a reference point P5 in the main image G10 and a game element (e.g., the user's character CT or another character) or a destination that does not exist within the display area with the outer frame of the main image G10. In this way, by displaying the above-mentioned location information indicators P70, P80 or P90 on the main image G10, the user can intuitively recognize the direction in which other characters, destinations or the user's character CT that are not present within the display area are located.

[0164] In addition, the display control unit 110 may vary the size of the position information indicator P70, P80, or P90 depending on the distance between the position of other characters, destinations, or the user's character CT that are not present in the display area and the reference point P5 of the main image G10. This allows the user to intuitively recognize not only the direction in which other characters, destinations, or the user's character CT that are not present within the display area are located, but also how far away they are in that direction.

[0165] [11. Modifications, etc.] Although the embodiments of the present invention have been described above, the specific configurations are not limited to the above-mentioned embodiments, and designs that do not deviate from the gist of the present invention are also included. In addition, the above-mentioned configurations and aspects can be combined in any combination.

[0166] [11-1] In the above description, as illustrated in Fig. 21, when the visual axis direction VA of the virtual camera VC is set to be shifted from the direction of the straight line SL connecting the sphere center SC and the virtual camera VC, an example is shown in which the visual axis direction VA is set to be above the sphere center SC, but this is not limited to this. For example, the visual axis direction VA of the virtual camera VC with respect to the sphere S may be set to be below the sphere center SC, or may be shifted to the left or right of the sphere center SC. Regardless of the direction in which the visual axis direction VA of the virtual camera VC with respect to the sphere S is shifted from the sphere center SC, a three-dimensional effect can be created for the object placed on the surface of the sphere S.

[0167] [11-2] In the above, the shortest route from the square M where the character CT is stopped to the destination is detected, and the information PT of the shortest route is displayed on the screen. Here, the route detected as the shortest route is not limited to one, and two or more shortest routes may be detected. That is, there may be two or more shortest routes in which at least a part of the route is different but the number of squares to the destination is the same. When there are multiple shortest routes, the information PT of any one of the shortest routes may be displayed on the screen, or the information PT of all the shortest routes may be displayed on the screen. Alternatively, an upper limit (e.g., 3) may be set for the number of shortest routes to be displayed, and when the number of shortest routes is up to the upper limit, the information PT of all the shortest routes may be displayed, and when the number of shortest routes exceeds the upper limit, the information PT of the shortest routes of the upper limit may be displayed. That is, when there are multiple detected shortest routes, it is sufficient to display the information PT of at least one of the shortest routes on the screen.

[0168] Here, when there are multiple detected shortest routes, rather than displaying information PT of all of the shortest routes, one or more of them are selectively displayed. In this case, the shortest route to be displayed may be determined, for example, by random drawing, or may be determined based on the priority shown below.

[0169] For example, when multiple shortest routes are detected, the priority of each shortest route may be calculated based on a parameter associated with the square M included in the shortest route. There are multiple types of mass M, and the level of the effect that occurs varies depending on the type. For example, a parameter such as rarity may be set for the mass M depending on the level of the effect that occurs. For example, one of multiple levels (for example, 10 levels) of parameters may be associated with each mass M depending on the level of the effect that occurs. Alternatively, a parameter that quantifies the level of the effect that occurs may be associated with each mass M. In the case of a mass M where an unfavorable effect occurs, a parameter with a negative numerical value may be associated. When determining the priority of each shortest route, for example, it may be determined based on the magnitude of the total or average value of the parameters of all mass M included in the shortest route. Alternatively, the priority of each shortest route may be determined by extracting and comparing the highest parameter (or the lowest parameter) of the mass M included in each shortest route.

[0170] Furthermore, when there are multiple detected shortest routes, rather than displaying information PT of all of the shortest routes, if it is desired to selectively display one or more of them, the shortest route to be displayed can be determined based on the calculated priority.

[0171] In addition, when there are multiple shortest routes, when displaying information PT of all or two or more of the shortest routes, priority information of each shortest route may also be displayed on the screen. For example, the display form of each shortest route may be changed to display priority information of the shortest route displayed on the screen. As a specific example, the priority information of the shortest route may be changed by changing the color of the shortest route (for example, the red shortest route has the highest priority) or the thickness of the shortest route (for example, the thicker the line of the shortest route, the higher the priority). Alternatively, the priority information of the shortest route may be changed by changing the form of the line of the shortest route (for example, a solid line, a dotted line, a dashed line, etc.). Alternatively, priority information such as numbers (for example, 1, 2, ...), letters (for example, A, B, ...), or symbols (for example, the number of stars) indicating priority may be associated with each shortest route and displayed.

[0172] Incidentally, when there are multiple shortest routes, there are often routes that are partially common. For example, there are two shortest routes of 30 squares each, but the route for 20 squares is common, and only the route for 10 squares that branches off from the common route is different. In this case, the branching part other than the common route is displayed so that the difference between the routes can be seen. Then, the priority information is displayed at the branching part other than the common route.

[0173] In addition, the parameters may also be associated with the route R, and when there are multiple detected shortest routes, the priority of each shortest route may be calculated based on the parameters associated with the square M and / or route R included in the shortest route. For example, in a game in which there are multiple types of route R and the effects that occur depending on the route R that the character CT passes through are different, parameters may be associated with each route R, similar to the square M described above. Then, the parameters of the route R may be used to calculate the priority of the shortest route.

[0174] [11-3] In the above explanation, a configuration has been described in which information on the shortest route from the square M where the character CT is currently stopped to the destination can be displayed on the screen. As a variation, the user can set any square M as a "waypoint" different from the destination, and information on the shortest route from the square M where the character CT is currently stopped to the waypoint can be displayed on the screen. For example, if the user wants to stop by a specific square M that is highly effective before arriving at the destination, by setting the specific square M as a waypoint, information on the shortest route to the waypoint can be confirmed on the screen.

[0175] [11-4] In the above description, a game has been described in which the user's character CT and the opponent's (another user or CPU) character aim for the same destination. As a variation, the game may be one in which the user and the opponent advance their characters to different destinations.

[0176] [11-5] In the above explanation, a game simulating Sugoroku in which squares M and paths R are formed in a game field GF is described, but the present invention is not limited to this and can be applied to various games. In other words, as long as the game is executed in a game field GF formed on the surface of a solid body such as a sphere S, the present invention can be applied to various games regardless of the game format or genre, such as sports games (games themed around sports), fighting games, simulation games, adventure games, or training games.

[0177] [11-6] In the above, a configuration has been described in which a user operation is detected as information on a two-dimensional vector consisting of a first component and a second component perpendicular to the first component, and the display range is changed based on the information on the two-dimensional vector. As a variation, the display range may be changed without detecting the user operation as information on the two-dimensional vector. For example, the display range may be changed by rotating the sphere S relative to the virtual camera VC so that the cell M is included in the display area based on a user operation of specifying a station name or city name of a specific cell M by voice input or the like. Alternatively, the display range may be changed so that the country (or the capital of the country) is included in the display area based on a user operation of specifying a country name by voice input or the like. Note that the user operation of specifying the station name, city name, or country name of a specific cell M is not limited to voice input, but may be a character input operation on a keyboard or the like, or a selection operation from multiple options displayed in a pull-down menu or the like.

[0178] [11-7] In the above, an example in which the game field GF is formed on the surface of a sphere S or an ellipsoid has been shown, but the present invention is not limited to this. As a variation, the game field GF may be formed on the surface of not only the sphere S or the ellipsoid, but also other solid bodies (for example, an icosahedron, a dodecahedron, an octahedron, a cube, a tetrahedron, a prism, a cylinder, a pyramid, a cone, or other polyhedrons). In other words, the main image G10 may be generated by capturing an image of a part of the game field GF on the surface of various solid bodies with the virtual camera VC.

[0179] [11-8] In the above, an example was described in which a game field GF was formed on the surface of a solid body, and the display user interface according to the embodiment of the present invention was applied to the field of games. The above-mentioned display user interface can be applied to various fields other than games, without being limited to this. For example, it can be applied to navigation software (e.g., car navigation, etc.), software that allows you to experience a simulated world trip, other programs that use maps, and control devices and systems that execute the programs.

[0180] [11-9] The terminal device 10 and the server 30 can communicate with each other to send and receive various data, and both are information processing devices (computers) equipped with a CPU, ROM, RAM, auxiliary storage device, communication unit, etc., and basically have the same hardware configuration. Therefore, some of the various functions described above may be realized by the CPU 11 of the terminal device 10, and the rest may be realized by the CPU 31 of the server 30.

[0181] [11-10] Some or all of the functions of the control unit 100 described above may be realized by an integrated circuit such as an LSI (Large Scale Integration). Also, each of the above functions may be individually implemented as a processor. Alternatively, some or all of the above functions may be integrated into a processor.

[0182] [11-11] The computer-readable program according to the present embodiment is recorded on various computer-readable recording media such as a hard disk, an optical disk (CD-ROM, DVD-ROM, etc.), a flexible disk, and a semiconductor memory, and is read from the recording media and executed by a computer constituting the game system 1, the terminal device 10, or the server 30. The program may also be provided to the computer via a network including a communication line such as the Internet, a WAN, a LAN, or a dedicated line. The computer may read out a program stored in a file server (online storage). The computer may also receive a program distributed from a distribution server. The recording media include internal or external recording media accessible from the distribution server to distribute the program. The code of the program stored in the recording media of the distribution server does not have to be in a format directly executable by the computer that receives it. In other words, the format of the program stored in the recording media of the distribution server is arbitrary as long as it can be installed in a computer executable manner after being downloaded from the distribution server. The program may also be divided into a plurality of parts, downloaded at different times, and then combined. The distribution servers that distribute each of the divided programs may be different. The computer-readable recording medium also includes a storage medium that stores the program for a certain period of time, such as a volatile memory such as a RAM in a server that transmits the program via a network or in a computer that receives the program. The program may also be a differential program that can realize the above-mentioned functions in combination with a program already stored in the computer.

[0183] [12. Notes] From the above description, the present invention can be understood, for example, as follows: In order to facilitate understanding of the present invention, reference characters in the accompanying drawings are conveniently added in parentheses, but the present invention is not limited to the illustrated embodiments.

[0184] 1) A program according to one embodiment of the present invention causes a computer (1, 10, 30) to function as a display control unit (110) that generates a main image (G10) having a display range that is a portion of a game field (GF) on the surface of a solid (S), which is a sphere or an ellipsoid, by capturing an image of the surface of the solid (S) with a virtual camera (VC) and displays the main image (G10) on a screen of a display unit (17); an operation detection unit (120) that detects a user operation for changing the display range as information of a two-dimensional vector (2V) consisting of a first component (e.g., an x-component 2Vx) and a second component (e.g., a y-component 2Vy) perpendicular to the first component; and a display range change unit (130) that changes the display range based on the user operation by rotating the solid relative to the virtual camera. The display range change unit (130) includes a first rotation unit (131) that sets a straight line (SL) connecting a specific point (e.g., the North Pole NP) on the surface of the solid (S) and the center (SC) of the solid as a first axis (e.g., the earth's axis EA) fixed to the solid, and rotates the solid about the first axis as a rotation axis based on the first component detected by the operation detection unit (120), and a second rotation unit (132) that sets a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid, and does not move relative to the virtual camera when the solid is rotated, as a second axis (PA), and rotates the solid in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected by the operation detection unit (120), and limits the rotation of the solid to rotation about the first axis and the second axis.

[0185] Here, the "computer" may include at least a processor and a storage device (memory). Here, the processor is, for example, a CPU. The processor may also include hardware such as a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), or an FPGA (Field Programmable Gate Array) in addition to or instead of the CPU. For example, personal computers, tablet computers, smartphones, stationary or portable game consoles, commercial game consoles, mobile phone terminals, PHS terminals, PDAs, multifunctional television receivers with information processing functions, servers, and other devices that include a processor and a storage device are all included in the "computer". The "computer" may also be composed of multiple units that can communicate with each other. For example, a system that includes a server and a terminal device is also included in the "computer".

[0186] According to the aspect described in 1) above, a game field is formed on the surface of a solid (sphere or ellipsoid), and a main image with a part of the game field as its display range is displayed on the screen by capturing an image of the surface of the solid with a virtual camera. The display range can be changed based on a user operation by rotating the solid with respect to the virtual camera. When a user operation is performed, the operation detection unit detects it as information of a two-dimensional vector consisting of a first component and a second component. The first component and the second component detected here are respectively used to rotate the solid with respect to the virtual camera, but the rotation of the solid is limited to rotation around a "first axis fixed to the solid" and a "second axis not fixed to the solid" as rotation axes.

[0187] That is, based on the first component detected by the operation detection unit, the solid is rotated around the "first axis fixed to the solid" as the rotation axis. This first axis is a straight line connecting a specific point on the surface of the solid to the center of the solid. Even if the solid is rotated around the first axis as the rotation axis, the position and angle of the first axis do not change. In addition, the second axis is not fixed to the solid, and does not move relative to the virtual camera when the solid is rotated around the first axis as the rotation axis (the position and angle of the second axis do not change even if the solid is rotated around the first axis as the rotation axis).

[0188] Here, the second axis is the pitch axis as seen from the virtual camera, and is an axis that remains parallel to the planar direction of the screen on which the main image captured by the virtual camera of the surface of the three-dimensional object is displayed. Then, based on the second component detected by the operation detection unit, the solid is rotated in the pitch direction relative to the virtual camera with the second axis as the rotation axis. This rotation in the pitch direction with the second axis of the solid as the rotation axis moves the "first axis fixed to the solid", but the first axis is perpendicular to the second axis (pitch axis seen from the virtual camera) and moves only within a plane perpendicular to the "second axis that is maintained parallel to the planar direction of the screen". Here, the plane perpendicular to the "second axis that is maintained parallel to the planar direction of the screen" is a "plane perpendicular to the second axis and parallel to the depth direction of the screen". In other words, even if the solid is rotated in the pitch direction with the second axis as the rotation axis, the movement of the first axis is limited to movement within the "plane perpendicular to the second axis and parallel to the depth direction of the screen", and the first axis does not wobble left and right on the screen.

[0189] As described above, by limiting the rotation of the solid object relative to the virtual camera to rotation around the first axis fixed to the solid object as the rotation axis and rotation in the pitch direction around the second axis not fixed to the solid object as the rotation axis, the first axis does not move left and right on the screen no matter how many times the solid object is rotated around the first and second axes. In other words, no roll rotation of the solid object as seen from the virtual camera occurs. Therefore, the first axis connecting a specific point on the surface of the solid object to the center of the solid object is always maintained in the same direction relative to the two-dimensional flat screen. Therefore, even if the user changes the display range of the game field by performing an operation to rotate the solid object, the specific direction of the game field relative to the screen can be maintained, and it is possible to prevent the user from having difficulty in grasping the direction of the game field. For example, if the first axis is set to the north-south direction, the east-west, north-south, and east-west directions of the game field relative to the screen are always maintained even if the display range of the game field is changed.

[0190] 2) In one aspect of the present invention, in the aspect described in 1), the second axis is perpendicular to the first axis and perpendicular to a line connecting the center of the solid body and the virtual camera or perpendicular to the visual axis of the virtual camera. According to this aspect, the second axis perpendicular to the first axis is perpendicular to a line connecting the center of the solid body and the virtual camera or perpendicular to the visual axis of the virtual camera, so that in relation to a screen on which a main image captured by the virtual camera of the surface of the solid body is displayed, the second axis is parallel to the plane direction of the screen.

[0191] 3) In one aspect of the present invention, in the aspect described in 1) or 2) above, the second rotation unit (132) limits the rotation of the solid in the pitch direction about the second axis as the rotation axis so that the specific point does not move beyond a point (P1 or P2) where a straight line connecting the center of the solid and the virtual camera intersects with the surface of the solid. According to this aspect, if a "specific point, for example, the North Pole or South Pole" moves beyond the "point where a straight line connecting the center of the solid and the virtual camera intersects with the surface of the solid", for example, the north-south direction of the game field relative to the screen will be reversed, but the above configuration makes it possible to avoid the reversal of the direction.

[0192] 4) In one aspect of the present invention, in the aspects described in 1) to 3) above, the display control unit (110) causes a sub-image (G20) including information indicating the position of the virtual camera relative to the entire surface of the three-dimensional object to be displayed on the screen of the display unit together with the main image. According to this aspect, it is possible for the user to easily grasp where on the entire surface of the three-dimensional object the position currently displayed by the main image corresponds.

[0193] 5) In one aspect of the present invention, in any of the aspects described in 1) to 4) above, the display control unit (110) causes a sub-image (G30 or G40) including information indicating the display range relative to the entire surface of the three-dimensional object to be displayed on the screen of the display unit together with the main image. According to this aspect, it is possible for a user to easily grasp which range of the entire surface of the three-dimensional object corresponds to the range currently displayed by the main image.

[0194] 6) In one aspect of the present invention, in any of the aspects described in 1) to 5) above, the display control unit (110) sets the visual axis direction (VA) of the virtual camera to be shifted from the direction of the straight line (SL) connecting the center of the solid body and the virtual camera. According to this aspect, the solid body, which is a sphere or an ellipsoid, is viewed from an angle, making it easier for the user to feel a sense of three-dimensionality and depth. This makes it easier for the user to intuitively grasp the distance on the game field.

[0195] 7) In one aspect of the present invention, in the aspect described in 6) above, the display control unit (110) changes the angle (α) between the line connecting the center of the solid body and the virtual camera and the visual axis direction of the virtual camera, depending on the distance (D) between the solid body and the virtual camera. According to this embodiment, the distance between the solid and the virtual camera is not constant but changes. As the distance between the solid and the virtual camera becomes closer, the display range for the solid's surface becomes smaller, but the subjects (objects in the game field) within the display range are displayed larger. Also, the closer the distance between the solid and the virtual camera, the higher the resolution for the subjects becomes, making it easier to obtain detailed information about the subjects. On the other hand, as the distance between the solid and the virtual camera becomes farther, the display range for the solid's surface becomes larger, and although individual subjects (individual objects in the game field) become smaller, the game field can be displayed over a wide area.

[0196] Then, the angle between the line connecting the center of the solid body and the virtual camera and the visual axis direction of the virtual camera is changed according to the distance between the solid body and the virtual camera, so that the main image captured by the virtual camera can be displayed appropriately according to the distance between the solid body and the virtual camera. For example, the angle may be increased as the distance between the solid body and the virtual camera decreases. In this case, the closer the distance between the solid body and the virtual camera, the more stereoscopic display with a sense of depth becomes possible. Also, when the distance between the solid body and the virtual camera increases, the wider game field is displayed as if it were being viewed from directly above, allowing the player to check the wider area as if they were looking at a map. Alternatively, the angle between the line connecting the center of the solid and the virtual camera and the visual axis direction of the virtual camera may be made smaller as the distance between the solid and the virtual camera decreases. In this case, the closer the distance between the solid and the virtual camera, the closer the display of the game field on the surface of the solid is to a state where the game field is viewed from directly above, so that the details of the objects in the game field can be confirmed as if looking at a map. Furthermore, when the distance between the solid and the virtual camera increases, the display can be made to give a greater sense of depth, making it easier to grasp the positional relationship with respect to the entire sphere.

[0197] 8) In one aspect of the present invention, in any of the aspects described in 1) to 7) above, a plurality of squares (M) where game elements can stop and a route (R) that determines whether or not movement between the squares is possible are set in the game field, and one of the squares is set as a destination. According to this aspect, the present invention can be applied to games such as Sugoroku in which a plurality of squares and routes are formed on the surface of a solid body that is a sphere or an ellipsoid.

[0198] 9) In one aspect of the present invention, in the aspect described in 8) above, the computer is further made to function as a shortest route presentation unit (140) that calculates the shortest route from the square on which the game element is stopped to the destination and displays information (PT) of the shortest route on the screen. Here, a "game element" refers to, for example, an object that can stop at each square in the game field. Here, objects include, for example, people, animals, plants, imaginary living things such as monsters, and game characters that represent inanimate objects such as robots and vehicles. Furthermore, the game element may not be an object, but may be information such as a character, a symbol, an illustration, or a color that indicates the square on which the player is currently stopped. For example, color information that makes the currently stopped square a different display color from other squares is an example of a game element. According to this embodiment, the shortest route from the square on which the game element is currently stopped to the destination is displayed on the screen, so that the user can see the fastest route to the destination and can use this as a reference for future travel routes.

[0199] 10) In one aspect of the present invention, in the aspect described in 9) above, the shortest route presentation unit (140) changes the shortest route based on an obstacle (e.g., an obstacle OBS) set in the square or the route. According to this aspect, even if an obstacle is set in the square or the route, information on the shortest route changed in response to the obstacle is displayed on the screen. Therefore, the user can consider a future travel route by referring to the shortest route updated in response to the obstacle.

[0200] 11) In one aspect of the present invention, in the aspect described in 9) or 10) above, when an obstacle that is passable but has an effect that is disadvantageous in the game is set in the square or the route, the shortest route presentation unit (140) displays information on the shortest route found by assuming that the obstacle is passable on the screen, and also displays warning information indicating that the obstacle exists on the shortest route. According to this aspect, in the case of an obstacle that is passable but has an effect that is disadvantageous in the game, a warning indicating the existence of the obstacle is displayed together with the shortest route found by assuming that the obstacle is passable, so that the user can consider a future movement route while comparing and considering whether to select the shortest route while knowing about the obstacle, or to select a route that avoids the obstacle, referring to the display.

[0201] 12) In one aspect of the present invention, in the aspects described in 9) to 11) above, the game elements include a plurality of game elements including a game element operated by the user (e.g., a character CT) and at least one other game element (e.g., a character of another user, or an NPC automatically operated by a computer), and the shortest route presentation unit (140) determines the shortest route for each of the plurality of game elements, and displays information (P19) of the number of squares to the destination on the shortest route for each of the plurality of game elements on the screen. According to this aspect, the user can recognize the shortest number of squares to the destination for each of the plurality of game elements (e.g., a user's operation target, an operation target of another user, an NPC automatically operated by a computer, etc.), which can be used as a reference for future game strategies.

[0202] 13) In one aspect of the present invention, in the aspect described in any of 8) to 12) above, the display control unit (110) displays a position information indicator (P70, P80, or P90) indicating at least the direction of the game element (e.g., the user's character CT or another character) or the destination not present in the display area on the screen of the display unit (17).Then, the display control unit (110) displays the position information indicator at or near the intersection of a line connecting a reference point (P5) in the main image (G10) and the game element or the destination not present in the display area with the outer frame of the main image. According to this embodiment, the location information indicator displayed on the main image allows the user to intuitively recognize the direction of a game element (the user's character or another character) or destination that is not present within the display area.

[0203] 14) In one aspect of the present invention, in the aspect described in 13) above, the display control unit (110) changes the size of the position information indicator (P70, P80, or P90) depending on the distance between the position of the game element (e.g., the user's character CT or another character) or the destination that is not present in the display area and the reference point of the main image. According to this aspect, the user can intuitively recognize not only the direction in which the game element or destination that is not present in the display area exists, but also how far away it is in that direction.

[0204] 15) A game control device (1, 10, 30) according to one embodiment of the present invention includes a display control unit (110) that generates a main image (G10) having a display range that is a portion of a game field (GF) on the surface of a solid (S), which is a sphere or an ellipsoid, by capturing an image of the surface of the solid (S) with a virtual camera (VC) and displays the main image (G10) on a screen of a display unit (17), an operation detection unit (120) that detects a user operation for changing the display range as information of a two-dimensional vector (2V) consisting of a first component (e.g., an x-component 2Vx) and a second component (e.g., a y-component 2Vy) perpendicular to the first component, and a display range change unit (130) that changes the display range based on the user operation by rotating the solid relative to the virtual camera. The display range change unit (130) includes a first rotation unit (131) that sets a straight line (SL) connecting a specific point (e.g., the North Pole NP) on the surface of the solid body (S) and a center (SC) of the solid body as a first axis (e.g., the earth's axis EA) fixed to the solid body, and rotates the solid body around the first axis as a rotation axis based on the first component detected by the operation detection unit (120), and a second rotation unit (132) that sets a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, as a second axis (PA), and rotates the solid body in a pitch direction relative to the virtual camera around the second axis as a rotation axis based on the second component detected by the operation detection unit (120), thereby limiting the rotation of the solid body to rotation around the first axis and the second axis. This achieves the same effect as the aspect described in 1) above.

[0205] 16) A game system (1) according to one embodiment of the present invention includes a server (30) and a terminal device (10) capable of communicating with the server, and includes a display control unit (110) that generates a main image (G10) having a display range that is a portion of a game field (GF) on the surface of a solid (S), which is a sphere or an ellipsoid, by capturing an image of the surface of the solid with a virtual camera (VC) and displays the main image (G10) on a screen of a display unit (17), an operation detection unit (120) that detects a user operation for changing the display range as information of a two-dimensional vector (2V) consisting of a first component (e.g., an x-component 2Vx) and a second component (e.g., a y-component 2Vy) perpendicular to the first component, and a display range change unit (130) that changes the display range based on the user operation by rotating the solid relative to the virtual camera. The display range change unit (130) includes a first rotation unit (131) that sets a straight line (SL) connecting a specific point (e.g., the North Pole NP) on the surface of the solid body (S) and a center (SC) of the solid body as a first axis (e.g., the earth's axis EA) fixed to the solid body, and rotates the solid body around the first axis as a rotation axis based on the first component detected by the operation detection unit (120), and a second rotation unit (132) that sets a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, as a second axis (PA), and rotates the solid body in a pitch direction relative to the virtual camera around the second axis as a rotation axis based on the second component detected by the operation detection unit (120), thereby limiting the rotation of the solid body to rotation around the first axis and the second axis. This achieves the same effect as the aspect described in 1) above.

[0206] 17) A control method according to one aspect of the present invention is a control method for controlling a computer (1, 10, 30), and includes a display control step (S110, S112) of generating a main image (G10) having a display range of a portion of a game field (GF) on the surface of a solid (S), which is a sphere or an ellipsoid, by capturing an image of the surface of the solid with a virtual camera (VC), and displaying the main image (G10) on a screen of a display unit (17); an operation detection step (S102, S104) of detecting a user operation for changing the display range as information of a two-dimensional vector (2V) consisting of a first component (e.g., an x-component 2Vx) and a second component (e.g., a y-component 2Vy) perpendicular to the first component; and a display range change step (S106, S108) of changing the display range based on the user operation by rotating the solid relative to the virtual camera. The display range change step includes a first rotation step (S106) in which a straight line (SL) connecting a specific point (e.g., the North Pole NP) on the surface of the solid body (S) and a center (SC) of the solid body is set as a first axis (e.g., the earth's axis EA) fixed to the solid body, and the solid body is rotated about the first axis as a rotation axis based on the first component detected by the operation detection step, and a second rotation step (S108) in which a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, is set as a second axis (PA), and the solid body is rotated about the second axis as a rotation axis in a pitch direction relative to the virtual camera based on the second component detected by the operation detection step, and the rotation of the solid body is limited to the rotation about the first axis and the second axis. This achieves the same effect as the aspect described in 1) above.

[0207] The solid object captured by the virtual camera (VC) is not limited to a sphere or an ellipsoid, but may be, for example, an icosahedron, a dodecahedron, an octahedron, a cube, a tetrahedron, a prism, a cylinder, a pyramid, a cone, or other polyhedron. Furthermore, a field for content other than games may be formed on the surface of the three-dimensional object, making the present invention applicable not only to the field of games but also to various other fields. Therefore, the present invention may be a program, a display control device, a display system, or a control method according to the following aspects.

[0208] 18) A program according to one embodiment of the present invention causes a computer (1, 10, 30) to function as a display control unit (110) that generates a main image (G10) having a portion of the surface of a solid object (e.g., a sphere S) as a display range by capturing an image of the surface of the solid object with a virtual camera (VC) and displays the main image (G10) on a screen of a display unit (17), an operation detection unit (120) that detects a user operation for changing the display range, and a display range change unit (130) that changes the display range based on the user operation by rotating the solid object relative to the virtual camera. The display range change unit (130) includes a first rotation unit (131) that sets a straight line (SL) connecting a specific point on the surface of the solid (e.g., the North Pole NP) and the center (SC) of the solid as a first axis (e.g., the earth's axis EA) fixed to the solid, and rotates the solid about the first axis as a rotation axis, and a second rotation unit (132) that sets a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid, and does not move relative to the virtual camera when the solid is rotated, as a second axis (PA), and rotates the solid in the pitch direction relative to the virtual camera about the second axis as a rotation axis, thereby limiting the rotation of the solid to rotation about the first axis and the second axis. According to this embodiment, no matter how many times the solid object is rotated about the first and second axes, the first axis does not move left and right on the screen. In other words, no roll rotation of the solid object occurs as seen from the virtual camera. Therefore, the first axis connecting a specific point on the surface of the solid object to the center of the solid object always maintains its direction relative to the screen. Therefore, even if the display range is changed, a specific direction relative to the main image displayed on the screen can be maintained, and it is possible to prevent the user from having difficulty in grasping the direction of the main image.

[0209] 19) A display control device (1, 10, 30) according to one embodiment of the present invention includes a display control unit (110) that generates a main image (G10) having a portion of the surface of a three-dimensional object (e.g., a sphere S) as a display range by capturing an image of the surface of the three-dimensional object with a virtual camera (VC) and displays the main image (G10) on a screen of a display unit (17), an operation detection unit (120) that detects a user operation for changing the display range, and a display range change unit (130) that changes the display range based on the user operation by rotating the three-dimensional object relative to the virtual camera. The display range change unit (130) includes a first rotation unit (131) that sets a straight line (SL) connecting a specific point (e.g., the North Pole NP) on the surface of the solid body and the center (SC) of the solid body as a first axis (e.g., the earth's axis EA) fixed to the solid body and rotates the solid body around the first axis as a rotation axis, and a second rotation unit (132) that sets a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, as a second axis (PA), and rotates the solid body in the pitch direction relative to the virtual camera around the second axis as a rotation axis, thereby limiting the rotation of the solid body to rotation around the first axis and the second axis. This achieves the same effect as the aspect described in 18) above.

[0210] 20) A display system (1) according to one embodiment of the present invention includes a server (30) and a terminal device (10) capable of communicating with the server, and includes a display control unit (110) that generates a main image (G10) having a portion of the surface of a three-dimensional object as a display range by capturing an image of the surface of a three-dimensional object (e.g., a sphere S) with a virtual camera (VC) and displays the main image (G10) on a screen of a display unit (17), an operation detection unit (120) that detects a user operation for changing the display range, and a display range change unit (130) that changes the display range based on the user operation by rotating the three-dimensional object relative to the virtual camera. The display range change unit (130) includes a first rotation unit (131) that sets a straight line (SL) connecting a specific point (e.g., the North Pole NP) on the surface of the solid body and the center (SC) of the solid body as a first axis (e.g., the earth's axis EA) fixed to the solid body and rotates the solid body around the first axis as a rotation axis, and a second rotation unit (132) that sets a pitch axis as seen from the virtual camera, which is perpendicular to the first axis, is not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, as a second axis (PA), and rotates the solid body in the pitch direction relative to the virtual camera around the second axis as a rotation axis, thereby limiting the rotation of the solid body to rotation around the first axis and the second axis. This achieves the same effect as the aspect described in 18) above.

[0211] 21) A control method according to one aspect of the present invention is a control method for controlling a computer (1, 10, 30), and includes a display control step (S110, S112) of generating a main image (G10) having a portion of the surface of a solid object as a display range by capturing an image of the surface of a solid object (e.g., a sphere S) with a virtual camera (VC) and displaying the main image (G10) on a screen of a display unit (17), an operation detection step (S102, S104) of detecting a user operation for changing the display range, and a display range change step (S106, S108) of changing the display range based on the user operation by rotating the solid object relative to the virtual camera. The display range change step includes a first rotation step (S106) of rotating the solid body around a first axis (e.g., the earth's axis EA) fixed to the solid body, which is a straight line (SL) connecting a specific point (e.g., the North Pole NP) on the surface of the solid body and the center (SC) of the solid body, and a second rotation step (S108) of rotating the solid body around a second axis (PA) of a pitch axis seen from the virtual camera, which is perpendicular to the first axis, not fixed to the solid body, and does not move relative to the virtual camera when the solid body rotates, and rotating the solid body in the pitch direction relative to the virtual camera around the second axis, thereby limiting the rotation of the solid body to rotation around the first axis and the second axis. This achieves the same effect as the aspect described in 18) above.

[0212] 22) In one aspect of the present invention, in any of the aspects described in 18) to 21) above, the operation detection unit (or operation detection step) detects the user operation as information on a two-dimensional vector (2V) consisting of a first component (e.g., an x-component 2Vx) and a second component (e.g., a y-component 2Vy) perpendicular to the first component, and the first rotation unit (or first rotation step) rotates the solid about the first axis as a rotation axis based on the first component detected by the operation detection unit (or operation detection step), and the second rotation unit (or second rotation step) rotates the solid about the second axis as a rotation axis in a pitch direction relative to the virtual camera based on the second component detected by the operation detection unit (or operation detection step). According to this aspect, the first component of the two-dimensional vector by the user operation is used to rotate the solid about the first axis, and the second component is used to rotate the solid about the second axis. Therefore, a display user interface can be realized that allows intuitive changes to the display range through user operations that can detect two-dimensional vectors (for example, tilting the analog stick of a physical controller, or sliding on a touch panel).

[0213] 23) An information storage medium according to one aspect of the present invention is a computer-readable information storage medium having a program according to any one of 1) to 14), 18), and 22) recorded thereon, thereby achieving the same effects as those of the aspects according to 1) to 14), 18), and 22) above. [Explanation of symbols]

[0214] 1...game system, N...network, DB...database, 10...terminal device, 11...CPU, 13...RAM, 14...auxiliary storage device, 17...display unit, 17a...screen, 18...sound output unit, 30...server, 31...CPU, 33...RAM, 34...auxiliary storage device, 35...communication unit, 50...controller, 51...analog stick, 100...control unit, 110...display control unit, 120...operation detection unit, 130...display range change unit, 131...first rotation unit, 132...second rotation unit, 140...shortest path presentation unit, 150...storage unit, 151...game program, 152...game data, 153...game progress data, V...virtual space, VC...virtual camera, VCa...virtual viewpoint, VA...visual axis direction, S...sphere, CT...character, NP...north pole, SP...south pole, SC...center of sphere, EA...earth axis, PA...pitch axis, 2V...two-dimensional vector, x-component, 2Vx...x-component, 2Vy...y-component, GF...game field, M...mass, R...route, PT...shortest path information, OBS...obstacle, P5...reference point, P70·P80·P90...position information indicator, PT...shortest path information, G20·G30·G40...sub-image, P21...whole field map, P22...virtual viewpoint position information

Claims

1. Computer, a display control unit that generates a main image having a display range of a part of a game field on the surface of the three-dimensional object, by capturing an image of the surface of the three-dimensional object, which is a sphere or an ellipsoid, with a virtual camera, and displays the main image on a screen of a display unit; an operation detection unit that detects a user operation for changing the display range as information of a two-dimensional vector including a first component and a second component perpendicular to the first component; a display range change unit that changes the display range based on the user operation by rotating the solid object relative to the virtual camera; The display range changing unit is a first rotation unit that sets a straight line connecting a specific point on a surface of the solid body and a center of the solid body as a first axis fixed to the solid body, and rotates the solid body about the first axis as a rotation axis based on the first component detected by the operation detection unit; a second rotation unit that sets a pitch axis as seen from the virtual camera as a second axis, the pitch axis being perpendicular to the first axis, not fixed to the solid body, and not moving relative to the virtual camera when the solid body rotates, and rotates the solid body in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected by the operation detection unit; and restricting rotation of the solid body to rotation about the first axis and the second axis. program.

2. The second axis is a line perpendicular to the first axis and perpendicular to a line connecting the center of the solid body and the virtual camera or perpendicular to a visual axis of the virtual camera. The program according to claim 1.

3. The second rotation unit limits the rotation of the solid body in the pitch direction about the second axis as a rotation axis so that the specific point does not move beyond a point where a straight line connecting a center of the solid body and the virtual camera intersects with a surface of the solid body. The program according to claim 1.

4. The display control unit causes a sub-image including information indicating a position of the virtual camera with respect to the entire surface of the three-dimensional object to be displayed on the screen of the display unit together with the main image. The program according to claim 1.

5. The display control unit causes a sub-image including information indicating the display range with respect to the entire surface of the three-dimensional object to be displayed on the screen of the display unit together with the main image. The program according to claim 1.

6. The display control unit sets a visual axis direction of the virtual camera so as to be shifted from a direction of a straight line connecting a center of the solid body and the virtual camera. The program according to claim 1.

7. The display control unit changes an angle between the line connecting the center of the solid body and the virtual camera and a visual axis direction of the virtual camera in accordance with a distance between the solid body and the virtual camera. The program according to claim 6.

8. In the game field, a plurality of squares on which game elements can stop and a route that determines whether or not movement between the squares is possible are set, and one of the squares is set as a destination.

8. The program according to claim 1.

9. The computer is further caused to function as a shortest route presenting unit that obtains a shortest route from the square on which the game element is stopped to the destination and displays information on the shortest route on the screen. The program according to claim 8.

10. The shortest route presentation unit changes the shortest route based on an obstacle set in the mass or the route. The program according to claim 9.

11. When the obstacle that is passable but has an effect that is disadvantageous in the game is set in the square or the route, the shortest route presenting unit displays information about the shortest route obtained by assuming that the obstacle is passable on the screen, and also displays warning information indicating that the obstacle exists on the shortest route. The program according to claim 9.

12. The game elements include a plurality of game elements including a game element to be operated by a user and at least one other game element, The shortest route presentation unit obtains the shortest route for each of the plurality of game elements, and displays information on the number of squares to the destination on the shortest route for each of the plurality of game elements on the screen. The program according to claim 9.

13. a display control unit that generates a main image having a display range of a part of a game field on the surface of the three-dimensional object, by capturing an image of the surface of the three-dimensional object, which is a sphere or an ellipsoid, with a virtual camera, and displays the main image on a screen of a display unit; an operation detection unit that detects a user operation for changing the display range as information of a two-dimensional vector including a first component and a second component perpendicular to the first component; a display range change unit that changes the display range based on the user operation by rotating the three-dimensional object relative to the virtual camera, The display range changing unit is a first rotation unit that sets a straight line connecting a specific point on a surface of the solid body and a center of the solid body as a first axis fixed to the solid body, and rotates the solid body about the first axis as a rotation axis based on the first component detected by the operation detection unit; a second rotation unit that sets a pitch axis as seen from the virtual camera as a second axis, the pitch axis being perpendicular to the first axis, not fixed to the solid body, and not moving relative to the virtual camera when the solid body rotates, and rotates the solid body in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected by the operation detection unit; and restricting rotation of the solid body to rotation about the first axis and the second axis. Game control device.

14. A game system including a server and a terminal device capable of communicating with the server, a display control unit that generates a main image having a display range of a part of a game field on the surface of the three-dimensional object, by capturing an image of the surface of the three-dimensional object, which is a sphere or an ellipsoid, with a virtual camera, and displays the main image on a screen of a display unit; an operation detection unit that detects a user operation for changing the display range as information of a two-dimensional vector including a first component and a second component perpendicular to the first component; a display range change unit that changes the display range based on the user operation by rotating the three-dimensional object relative to the virtual camera, The display range changing unit is a first rotation unit that sets a straight line connecting a specific point on a surface of the solid body and a center of the solid body as a first axis fixed to the solid body, and rotates the solid body about the first axis as a rotation axis based on the first component detected by the operation detection unit; a second rotation unit that sets a pitch axis as seen from the virtual camera as a second axis, the pitch axis being perpendicular to the first axis, not fixed to the solid body, and not moving relative to the virtual camera when the solid body rotates, and rotates the solid body in a pitch direction relative to the virtual camera about the second axis as a rotation axis based on the second component detected by the operation detection unit; and restricting rotation of the solid body to rotation about the first axis and the second axis. Game system.

15. A method for controlling a computer, comprising: a display control step of generating a main image having a display range of a part of a game field on the surface of a three-dimensional object, which is a sphere or an ellipsoid, by capturing an image of the surface of the three-dimensional object with a virtual camera, and displaying the main image on a screen of a display unit; an operation detection step of detecting a user operation for changing the display range as information of a two-dimensional vector including a first component and a second component perpendicular to the first component; a display range changing step of changing the display range based on the user operation by rotating the three-dimensional object relative to the virtual camera, The display range changing step includes: a first rotation step of rotating the solid body about the first axis, based on the first component detected in the operation detection step, by defining a straight line connecting a specific point on a surface of the solid body and a center of the solid body as a first axis fixed to the solid body; a second rotation step of rotating the solid body in a pitch direction relative to the virtual camera around the second axis as a rotation axis based on the second component detected in the operation detection step, the second axis being perpendicular to the first axis, not fixed to the solid body, and not moving relative to the virtual camera when the solid body is rotated; and restricting rotation of the solid body to rotation about the first axis and the second axis. Control methods.

Citation Information

Patent Citations

  • Game device, screen generating method, and information memory medium

    JP1998113465A

  • Game program and game machine for board game

    JP2009148331A

  • Video game processing program and video game processing device

    JP2017018245A

  • Computing Devices and Methods for Navigating Around a Surface of Three-Dimensional (3D) Coordinate System Representations of 3D Objects

    US20150279100A1