Program, information processing method, and information processing system
The system employs two-dimensional data to determine progress and rankings in racing games, addressing inaccuracies when players deviate from the route, ensuring accurate assessments through interpolation and parameter-based calculations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-02
- Publication Date
- 2026-03-13
AI Technical Summary
Conventional racing game systems struggle to accurately determine rankings when players deviate from the designated route, especially in wider racing environments, leading to inconsistencies in progress assessment.
Implementing a system that uses two-dimensional data to determine progress by setting determination parameters at coordinates within a virtual space, allowing for accurate ranking calculations even when players move off the designated route, including features like item acquisition and interpolation based on surrounding parameter values.
Enables precise ranking determination across varied racing environments by utilizing two-dimensional data to calculate progress based on horizontal coordinates, ensuring accurate rankings regardless of player deviation from the route.
Smart Images

Figure 2026046321000001_ABST
Abstract
Description
Technical Field
[0007] ,
[0001] The present invention relates to a program, an information processing method, and an information processing system for executing a racing game.
Background Art
[0002] Conventionally, there is a game in which a racing game is played on a predetermined course and ranking is determined during the racing game (see, for example, Non-Patent Document 1).
Prior Art Documents
Non-Patent Documents
[0003]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] For example, when racing in a wider range such as deviating from the route, it may be difficult to perform appropriate ranking determination by the conventional method.
[0005] Therefore, an object of the present invention is to provide a program, an information processing method, and an information processing system capable of making a determination based on the progress degree in a wider range in a racing game.
Means for Solving the Problems
[0006] The present invention employs the following configuration.
[0007] (First Configuration) The first configuration of the game program causes the computer to play a racing game in which a player object moves along a course set in a field in a virtual space, the course including at least a route from a first point to a second point in the field. The game program also causes the computer to control the movement of the player object based on operation input during the racing game. Furthermore, the game program causes the computer to perform a first determination based on the value of the determination parameter at the coordinate of the determination data corresponding to the position of the player object in the virtual space, based on two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of the virtual space within a predetermined range including at least the route, in which a first value is recorded at the coordinate corresponding to the first point and a second value is recorded at the coordinate corresponding to the second point, and determination parameters indicating the degree of progress from the first point to the second point are recorded for each coordinate based on the values from the first value to the second value.
[0008] Based on the above, it is possible to determine the progress even at locations other than along the route, using 2D data for determination.
[0009] (Second structure) In the second configuration, the racing game in the first configuration may be a racing game in which the player races against other moving objects. The game program may cause the computer to further control the movement of the other moving objects during the racing game, and as the first determination, determine the ranking of the player object's progress during the racing game based on the value of the determination parameter at the coordinates of the determination 2D data corresponding to the player object's position in the virtual space and the value of the determination parameter at the coordinates of the determination 2D data corresponding to the other moving objects' positions in the virtual space.
[0010] Based on the above, it is possible to determine the provisional ranking of player objects during a racing game based on 2D data for judgment. For example, even if an object deviates from the route, its ranking can still be determined appropriately.
[0011] (The third structure) In the third configuration, in the first or second configuration described above, the first location may be the starting point of the course, and the second location may be the finishing point of the course.
[0012] Based on the above, it is possible to determine the progress of an object in a racing game as it moves from the starting point to the finish line.
[0013] (Fourth structure) In the fourth configuration, in the first or second configuration described above, the first location may be the first checkpoint of the course, and the second location may be a second checkpoint set after the first checkpoint.
[0014] According to the above, it is possible to determine the progress of an object in a racing game as it moves from the first checkpoint to the second checkpoint.
[0015] (Fifth component) In the fifth configuration, in the second configuration described above, the game program may further cause the computer to have the player object acquire one of several types of items, which are set based on the ranking, in response to contact between the player object and an item acquisition object on the field during the race game.
[0016] Based on the above, the player object can acquire items according to the ranking appropriately determined based on the 2D data used for judgment.
[0017] (The sixth component) In the sixth configuration, in any of the first to fifth configurations described above, the two-dimensional data for determination may be data in which the determination parameter at each coordinate corresponding to a position on the route is set to a value that changes from the first value to the second value along the route, and the determination parameter at each coordinate corresponding to a position other than the route is set to a value that is closer to the second value the closer it is to the coordinate corresponding to the second point.
[0018] According to the above, even for locations other than the route, decisions can be made based on 2D data for decision-making with appropriate decision parameters set.
[0019] (The seventh component) In the seventh configuration, in any of the first to sixth configurations described above, the game program may further cause the computer to set the first value for the determination parameter at the coordinates corresponding to the first location, the second value for the determination parameter at the coordinates corresponding to the second location, set a value for the determination parameter at each coordinate corresponding to a position on the route that changes along the route from the first value to the second value, and generate the two-dimensional determination data based on two-dimensional data in which, for coordinates where the determination parameter is not set, a value is set based on the value of the determination parameter at the surrounding coordinates where the determination parameter is set.
[0020] According to the above, it is possible to set parameters for determination regarding locations on and outside the route.
[0021] (The eighth component) The information processing program of the eighth configuration causes a computer to generate two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of a predetermined range of the virtual space including at least the route, which is a course used for a racing game set in a field in the virtual space and includes at least a route from a first point to a second point in the field, and determination two-dimensional data in which a determination parameter indicating the degree of progress from the first point to the second point is recorded for each coordinate. Specifically, the information processing program causes the computer to set a first value for the determination parameter at the coordinate corresponding to the first point and a second value for the determination parameter at the coordinate corresponding to the second point, and to set a value that changes from the first value to the second value along the route for the determination parameter at each coordinate corresponding to a position on the route. Then, the information processing program causes the computer to generate the determination two-dimensional data based on first two-dimensional data in which a value based on the values of the determination parameters of the surrounding coordinates where the determination parameter is set is set for coordinates where the determination parameter is not set.
[0022] According to the above, the determination two-dimensional data can be generated based on a course including at least a route from a first point to a second point.
[0023] (The ninth configuration) In the ninth configuration, in the eighth configuration described above, the information processing program may cause the computer to generate the determination two-dimensional data such that each coordinate is set at a predetermined distance in the virtual space based on the first two-dimensional data.
[0024] According to the above, the determination two-dimensional data in which coordinates are set at predetermined distance intervals can be generated.
[0025] (The tenth configuration) In the tenth configuration, in the eighth or ninth configuration described above, the information processing program may cause the computer to generate the two-dimensional data for determination by applying a filter with a higher strength to the first two-dimensional data for coordinates that are further away from the coordinates corresponding to the position on the route.
[0026] As described above, by applying a stronger filter the further you are from the route, it is possible to suppress, for example, the rapid changes in the values of the judgment parameters at locations far from the route.
[0027] Furthermore, the other configurations may be an information processing system that executes the above program, or an information processing method performed within the information processing system. [Effects of the Invention]
[0028] According to the present invention, it is possible to make a determination regarding the degree of progression over a wider range based on two-dimensional data for determination. [Brief explanation of the drawing]
[0029] [Figure 1] A diagram showing an example of a game system. [Figure 2] Block diagram showing an example of the internal configuration of the main unit. [Figure 3] A diagram showing an example of the entirety of field F in the virtual space. [Figure 4] This diagram shows an example of an internal route CA1 set in base area A1. [Figure 5] This figure shows an example of a game image displayed during the first racing game. [Figure 6] This diagram shows an example of a second race game on the inter-base course, including the inter-base route R3, viewed from above in a virtual space. [Figure 7] This diagram shows how the progress of each progress object is determined when a long line segment is set along the inter-site route R3. [Figure 8] A diagram conceptually representing the 2D data M used for judgment. [Figure 9] A diagram illustrating a method for calculating the progress of the player object 31 based on the two-dimensional data M used for determination. [Figure 10] This diagram shows an example of a game image displayed during the second race game using a course between bases. [Figure 11] This diagram shows the first step in generating intermediate data, where judgment parameters are set on the inter-site route R3. [Figure 12] This diagram shows an example of an inter-point route R that has branches between the starting point and the finish point. [Figure 13] A diagram illustrating the second step in generating intermediate data, showing how judgment parameters are set at each point within road 50. [Figure 14] This figure shows the third step for generating intermediate data, in which values for determination parameters are set at each point within the drivable area 51 other than the road 50. [Figure 15] Figure 16 shows an example of various data used in the generation process for generating the two-dimensional data for judgment shown in Figure 16. [Figure 16] A flowchart showing an example of the generation process. [Figure 17] Figure 18 shows an example of various data used in processing a racing game. [Figure 18] A flowchart illustrating an example of racing game processing. [Modes for carrying out the invention]
[0030] (Game system configuration) The following describes a game system according to an example of this embodiment. Figure 1 is a diagram showing an example of the game system. The example of the game system 1 in this embodiment includes a main unit (information processing device; in this embodiment, it functions as the main unit of the game device) 2, a left controller 3, and a right controller 4. The main unit 2 is a device that performs various processes (for example, game processing) in the game system 1. The left controller 3 and the right controller 4 include, as an example of an operation unit for user input, a plurality of buttons (A button, B button, X button, Y button, L button, R button, etc.) and an analog stick.
[0031] The main unit 2 is configured so that the left controller 3 and the right controller 4 can be attached and detached. In other words, the game system 1 can be used as an integrated device by attaching the left controller 3 and the right controller 4 to the main unit 2, or the main unit 2 and the left controller 3 and the right controller 4 can be used as separate units. In the following, the left controller 3 and the right controller 4 will be collectively referred to as "controllers".
[0032] Figure 2 is a block diagram showing an example of the internal configuration of the main unit 2. As shown in Figure 2, the main unit 2 includes a processor 21. The processor 21 is an information processing unit that performs various information processing (e.g., game processing) in the main unit 2, and includes, for example, one or more CPUs (Central Processing Units) and one or more GPUs (Graphics Processing Units). The processor 21 may consist only of a CPU, or it may consist of a SoC (System-on-a-chip) that includes multiple functions such as CPU functions and GPU functions. The processor 21 performs various information processing by executing information processing programs (e.g., game programs) stored in a storage unit (specifically, an internal storage medium such as flash memory 26, or an external storage medium installed in slot 29).
[0033] The main unit 2 also includes a display 12. The display 12 displays images generated by the main unit 2. In this embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device. The display 12 is connected to the processor 21. The processor 21 displays images generated (for example, by executing the above-mentioned information processing) and / or images acquired from an external source on the display 12.
[0034] Furthermore, the main unit 2 is equipped with a left terminal 22, which is a terminal for the main unit 2 to communicate with the left controller 3 via wired connection, and a right terminal 23, which is for the main unit 2 to communicate with the right controller 4 via wired connection.
[0035] Furthermore, the main unit 2 includes a flash memory 26 and a DRAM (Dynamic Random Access Memory) 27 as examples of internal storage media built into it. The flash memory 26 and DRAM 27 are connected to the processor 21. The flash memory 26 is a memory mainly used to store various types of data (which may be programs) stored in the main unit 2. The DRAM 27 is a memory used to temporarily store various types of data used in information processing.
[0036] The main unit 2 is equipped with a slot 29. The slot 29 has a shape that allows a predetermined type of storage medium to be inserted. The predetermined type of storage medium is, for example, a storage medium (e.g., a dedicated memory card) dedicated to the game system 1 and similar information processing devices. The predetermined type of storage medium is used to store, for example, data used by the main unit 2 (e.g., save data for game applications, etc.) and / or programs executed by the main unit 2 (e.g., game programs, etc.).
[0037] The main unit 2 is equipped with a slot interface (hereinafter abbreviated as "I / F") 28. The slot I / F 28 is connected to the processor 21. The slot I / F 28 is connected to slot 29 and reads and writes data to a predetermined type of storage medium (for example, a dedicated memory card) installed in slot 29, according to instructions from the processor 21.
[0038] The processor 21 performs the above-mentioned information processing by appropriately reading and writing data to the flash memory 26 and DRAM 27, as well as to each of the above-mentioned storage media.
[0039] Furthermore, the main unit 2 includes a network communication unit 24. The network communication unit 24 is connected to the processor 21. The network communication unit 24 communicates with external devices wirelessly or via wired connection over a network. In this embodiment, as a first communication mode, the network communication unit 24 connects to a wireless LAN and communicates with external devices using a method compliant with the Wi-Fi® standard. In addition, as a second communication mode, the network communication unit 24 performs wireless communication with other main unit 2 of the same type using a predetermined communication method (for example, communication using a proprietary protocol or infrared communication). The wireless communication using the second communication mode is possible with other main unit 2 located within a closed local network area, and realizes a function that enables so-called "local communication" in which data is transmitted and received by communicating directly or indirectly via access points between multiple main unit 2.
[0040] The main unit 2 includes a controller communication unit 25. The controller communication unit 25 is connected to the processor 21. The controller communication unit 25 communicates wirelessly with the left controller 3 and / or the right controller 4. The communication method between the main unit 2 and the left controller 3 and the right controller 4 is arbitrary, but in this embodiment, the controller communication unit 25 communicates with the left controller 3 and with the right controller 4 in accordance with the Bluetooth® standard.
[0041] The processor 21 is connected to the left terminal 22 and the right terminal 23 described above. When the processor 21 communicates with the left controller 3 via a wired connection, it transmits data to the left controller 3 via the left terminal 22 and receives operation data from the left controller 3 via the left terminal 22. Similarly, when the processor 21 communicates with the right controller 4 via a wired connection, it transmits data to the right controller 4 via the right terminal 23 and receives operation data from the right controller 4 via the right terminal 23. Thus, in this embodiment, the main unit 2 can perform both wired and wireless communication with the left controller 3 and the right controller 4, respectively.
[0042] In addition to the elements shown in Figure 2, the main unit 2 also includes a battery for supplying power and output terminals for outputting images and sound to a display device other than the display 12 (an external display device, such as a television).
[0043] (Game Overview) Next, an overview of the game executed in game system 1 will be described. The game in this embodiment is a racing game in which the player uses a controller to move a player object within a virtual space. During the racing game, the player object can travel along a route set on a field within the virtual space, fly through the virtual space, or move underwater within the virtual space.
[0044] The racing game of this embodiment has a single-player mode played by one player and a multiplayer mode played by multiple players. In single-player mode, the racing game is played using a player object operated by the player and multiple progress objects controlled by the processor 21. In multiplayer mode, the racing game is played using multiple progress objects operated by each of the multiple players. For example, a racing game can be played in multiplayer mode by connecting multiple controllers to one main unit 2 and having each of the multiple players operate their corresponding player object using the controllers. Alternatively, a racing game can be played in multiplayer mode by connecting multiple main units 2 directly or via a network (e.g., the Internet) and having each of the multiple players operate their corresponding player object using the controller connected to each main unit 2.
[0045] Here, we will describe the field within the virtual space where the racing game of this embodiment takes place. Figure 3 shows an example of the entire field F within the virtual space.
[0046] In this embodiment, a vast field F is set up in a virtual space (a three-dimensional space defined by the XYZ Cartesian coordinate system, also called game space). Field F is set up parallel to the XY plane, for example. Field F may have undulations in the height direction. Various courses are set up on the field, and a racing game is played on these various courses.
[0047] As shown in Figure 3, multiple base areas A are set on the field F in the virtual space. For example, base areas A1 to A17 are represented by circles. Each base area A includes an in-base route CA on which a player object corresponding to a player can play a racing game. For example, base area A1 is an area representing a city and includes an in-base route CA1 formed by roads on which a player object can travel.
[0048] Multiple base areas are connected by inter-base routes R, which allow player objects to travel between them. For example, base area A1 and base area A2 are connected by inter-base route R1. Also, base area A2 and base area A3 are connected by inter-base route R3.
[0049] In this embodiment, a first race game may be played in which a player object and other progress objects race on a course that circles the base route CA located in base area A multiple times (hereinafter referred to as the "base course"). In addition, in this embodiment, a second race game may be played in which a player object and other progress objects race on a course that passes through the inter-base route R connecting the first base area and the second base area (hereinafter referred to as the "inter-base course").
[0050] First, we will describe the first race game using the base course. Figure 4 is a view from above in the virtual space of the base course that circles the base route CA1, and is a diagram showing an example of the first race game using the base course. Figure 5 is a diagram showing an example of a game image displayed during the first race game.
[0051] As shown in Figure 4, a base area A1 is provided with a base route CA1. Base route CA1 is a route set up so that multiple progress objects, including player objects, can circle it multiple times. Along base route CA1, a road 40 (area enclosed by a solid line) is formed that multiple progress objects can move along. In addition, a drivable area 41 (area enclosed by the edge of road 40 and a dashed line) is set up within a predetermined distance from the edge of road 40. The drivable area 41 is, for example, a side road of road 40. Furthermore, base route CA1 is provided with gates that can serve as a start point and an end point.
[0052] As shown in Figure 4, for example, a racing game is played by progress objects 31 to 33. Progress object 31 is, for example, a player object operated by a first player. Progress object 32 is a player object controlled by a second player, and progress object 33 is a progress object controlled by processor 21. In addition to progress objects 31 to 33, multiple other progress objects controlled by other players or processor 21 can also participate in the racing game.
[0053] In the following, the progress object 31 controlled by the first player will be referred to as "player object 31". The progress object controlled by the second player will be referred to as "progress object 32", and the progress object controlled by the processor 21 will be referred to as "progress object 33".
[0054] When the first race game begins, multiple progress objects, including player object 31, progress object 32, and progress object 33, start from the starting point (gate) of the base route CA1. The multiple progress objects can travel on the road 40 set along the base route CA1 or on the drivable area 41 beyond the road 40. The progress objects may also temporarily leave the road 40 or the drivable area 41 during the race game and travel through the air. After completing multiple laps of the base route CA1, the multiple progress objects reach the finish line (gate) of the base route CA1.
[0055] As shown in Figure 5, the display device (display 12 or external display device) of the main unit 2 displays a game image based on a virtual camera set up behind the player object 31 corresponding to the main unit 2. In Figure 5, the player object 31 is traveling on a road 40 that forms the base route CA1, and a progress object 32 operated by a second player is displayed in front of the player object 31. A ranking display 45 is also displayed, which shows the current ranking of the player object 31.
[0056] Multiple moving objects generally travel on the road 40, but they can also travel beyond the road 40 into the drivable area 41. When moving objects travel in the drivable area 41, their speed is slower than when they travel on the road 40. Multiple moving objects cannot travel beyond the drivable area 41. For example, if a moving object goes beyond the drivable area 41, that object will automatically return to the road 40. Note that although Figure 5 shows a dashed line indicating the drivable area 41, this dashed line is not displayed in the actual game image.
[0057] As shown in Figure 4, multiple judgment points P are set on the base course to determine the progress of each progress object in the race game. For example, multiple judgment points P (e.g., P1 to P5 shown in Figure 4) are set in order of proximity to the starting point. The multiple judgment points P are located along the base route CA1 from the starting point to the finish point. A judgment point P is represented, for example, by a line segment that has the same length as the combined width of the road 40 and the drivable area 41, and that intersects perpendicularly with a line passing through the center of the road 40. The progress of the race game differs depending on each judgment point P. Specifically, the longer the distance along the base route CA1 from the starting point, the higher the progress. For example, the progress of each judgment point P is set to a value between 0 and 1. For example, the progress of the starting point is set to "0", and the progress of the finish point is set to "1". Furthermore, for example, the progress of each judgment position P is set to a value obtained by dividing the distance from the starting point to each judgment position P by the total distance of the course within the base along the base route CA1. In Figure 4, judgment positions P1 to P5 are shown for illustrative purposes, but in reality, a larger number of judgment positions P are set in order to perform highly accurate judgments, especially in curved sections.
[0058] Based on the position of each progress object along the base route CA1, the progress of each progress object in the race game is calculated. For example, the progress of progress object 33, located between P1 and P2, is calculated by interpolation (e.g., linear interpolation) between the progress of P1 and the progress of P2. Then, the ranking of player object 31 is determined based on the progress of each progress object.
[0059] For example, as shown in Figure 4, the progress object 32 is located between P3 and P4. Based on the position of the progress object 32 along the base route CA1, the progress of the progress object 32 is calculated by interpolation between P3 and P4. Similarly, the player object 31 is located between P2 and P3, and the progress of the player object 31 is calculated based on its position along the base route CA1. Furthermore, the progress object 33 is located between P1 and P2, and the progress of the progress object 33 is calculated based on its position along the base route CA1. Based on the progress of each progress object, the current rank of the player object 31 is determined. In the situation shown in Figure 4, the rank of the player object 31 is 2nd, and as shown in Figure 5, "2nd" is displayed as the rank display 45. Note that each progress object can temporarily move in the air away from the road 40 or drivable area 41 during the first race game. Even when a moving object is in mid-air, its progress is calculated based on its horizontal position (XY coordinates), and its ranking is displayed based on this progress. However, in cases such as races on routes that include overpasses, where there are overlapping horizontal sections, the progress may be calculated based on both the horizontal and vertical positions.
[0060] (Ranking determination in the inter-base course) Next, the ranking determination on the inter-base course will be explained. In the game of this embodiment, multiple progress objects can play a second race game on an inter-base course that includes an inter-base route R connecting the first base area and the second base area. In the second race game, multiple progress objects can travel over a wide area on the field that includes the inter-base route R.
[0061] Figure 6 is a view of the inter-base course, including the inter-base route R3, from above in the virtual space, and shows an example of a second race game on that inter-base course. As shown in Figure 6, base area A3 and base area A6 are set up on the field, and the inter-base route R3 connecting base area A3 and base area A6 is set up.
[0062] For example, player object 31 and progress objects 32 and 33 play a second race game on an inter-base course that starts from base area A3 and reaches base area A6 via inter-base route R3. Inter-base route R3 is a route that multiple progress objects are recommended to travel along and is formed, for example, by road 50.
[0063] In the second racing game, multiple progress objects can travel along the inter-base route R3 (on road 50) or outside the inter-base route R3 on field F. Specifically, multiple progress objects can travel in a wide area of field F, the drivable area 51 (the area enclosed by the dashed line excluding road 50). For example, in Figure 6, player object 31 and progress object 33 are traveling along the inter-base route R3, but progress object 32 is traveling in the drivable area 51, which is not on the inter-base route R3. Multiple progress objects may also be able to temporarily leave road 50 and the drivable area 51 during the racing game and travel through the air. Furthermore, the drivable area 51 may include a water area, and progress objects may be able to travel on or underwater.
[0064] When a progress object travels on a location other than the inter-base route R3 on the field, its movement speed is slower than when it travels on the inter-base route R3. On the other hand, because the inter-base route R3 includes curved sections, the distance to the goal may be shorter when the progress object travels on a location other than the inter-base route R3 than when it travels on the inter-base route R3. Players can play the racing game by choosing whether to have their corresponding player object travel on the inter-base route R3 or to deviate from the inter-base route R3 and travel through the drivable area 51 to take a shortcut.
[0065] In the first racing game described above, the progress of each progress object is calculated based on judgment positions set along the route within the base, and the ranking of the player object in the racing game is determined based on the progress of the progress objects. On the other hand, in the second racing game, each progress object can travel over a wide area on field F. In courses where such a wide area can be traveled, it can be difficult to accurately determine the ranking by setting judgment positions along the route R3 between bases. For example, if, as in the first racing game described above, a line segment perpendicular to the line passing through the center of the route R3 between bases is extended along the route R3 between bases, and a long line segment extending to the route R3 in the drivable area 51 is set, and the progress of the progress object is calculated based on this line segment, it can be difficult to accurately determine the ranking.
[0066] Figure 7 shows how the progress of each progress object is determined when a long line segment is set along the inter-base route R3. As shown in Figure 7, let's assume that a long line segment Px1 and a line segment Px2 are set along the inter-base route R3, perpendicular to the line passing through the center of the inter-base route R3. Px2 is closer to the goal, so its progress is higher than Px1. Progress object 33 is traveling on road 50 and is located on line segment Px1. Also, player object 31 is traveling on road 50 and is located on line segment Px2. In this case, the progress of player object 31 is higher than that of progress object 33, and therefore, player object 31 is determined to have a higher rank than progress object 33. On the other hand, progress object 32 is located where line segments Px1 and Px2 overlap. Therefore, the progress of progress object 32 can be determined to be the same as progress object 33, or the same as player object 31. In this way, when each progress object can travel over a wide area of the field, it can be difficult to accurately calculate the progress of each progress object based on a long line segment perpendicular to the inter-base route R3. For this reason, it can be difficult to accurately determine the current rank of player object 31.
[0067] Therefore, in this embodiment, in a base-to-base course that can be traveled over a wide area on the field, the progress of each progress object may be determined based on the two-dimensional data M for determination. The two-dimensional data M for determination is two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction (XY direction) of the virtual space including the base-to-base route R, and is data in which determination parameters indicating the progress are set for each coordinate. The two-dimensional data M for determination is a two-dimensional map as a set of coordinates representing positions on the XY plane of the virtual space including the base-to-base route R, and determination parameters are set for each coordinate. Specifically, in the two-dimensional data M for determination, a first value is set for the determination parameter of the coordinate corresponding to the starting point, and a second value is set for the determination parameter of the coordinate corresponding to the goal point. In addition, in the two-dimensional data M for determination, values from the first value to the second value are set for the determination parameters of the coordinates corresponding to any position between the starting point and the goal point (positions within the road 50 and positions within the drivable area 51).
[0068] Figure 8 is an example of a diagram conceptually representing the two-dimensional data M used for judgment.
[0069] The grayscale image shown in Figure 8 indicates the progress at each location within the road 50 and the drivable area 51. Specifically, the intensity of each coordinate in the grayscale image represents the value of the judgment parameter p at that point. In Figure 8, points where the value of the judgment parameter p is closer to "0" are closer to white, and points where it is closer to "1" are closer to black. Also in Figure 8, the starting point, base area A3, is indicated by the letter "S", and the goal point, base area A6, is indicated by the letter "E". Base areas A3 and A6 are connected by the inter-base route R3.
[0070] In Figure 8, the coordinate values and judgment parameters of each point are represented by (X, Y, p). For example, the position of base area A3, which is the starting point, is represented by the coordinate values (Xs, Ys), and the value of the judgment parameter p at this position is set to "0". Therefore, the coordinate values and judgment parameters of base area A3, which is the starting point, are represented as (Xs, Ys, 0). Similarly, the position of base area A6, which is the goal point, is represented by the coordinate values (Xe, Ye), and the value of the judgment parameter p at this position is set to "1". Therefore, the coordinate values and judgment parameters of base area A6, which is the goal point, are represented as (Xe, Ye, 1).
[0071] As shown in Figure 8, the area around the starting point is close to white, and the area around the finish point is close to black. Points further from the finish point are the same white color as the starting point, and the judgment parameter values for these points are set to "0". Between the starting point and the finish point, the area is gray, becoming closer to black as you approach the finish point. For example, positions C and D, enclosed by the two dashed lines in Figure 8, are the same shade of gray, indicating that the judgment parameter values for these positions are the same. For instance, the judgment parameter values for positions C(Xc,Yc) and D(Xd,Yd) are set to "0.5", indicating the midpoint of the course between points.
[0072] The progress of each progress object in the race game is calculated based on the two-dimensional judgment data M. Figure 9 is a diagram illustrating how to calculate the progress of player object 31 based on the two-dimensional judgment data M. In Figure 9, the white circles represent the coordinates stored in the two-dimensional judgment data M, and judgment parameters are set for each coordinate. As shown in Figure 9, each coordinate included in the two-dimensional judgment data M has a predetermined distance interval. The progress of player object 31 is calculated by, for example, linear interpolation of the values of the judgment parameters of points Pa to Pd around the horizontal position (XY coordinate value) of player object 31 in virtual space. For example, if "0.5" is set for points Pa and Pb, and "0.52" is set for points Pc and Pd, the progress of player object 31 is calculated to be "0.51".
[0073] For each progress object, the progress is calculated based on the 2D data M used for judgment, and the current rank of the player object 31 is calculated based on the calculated progress of each progress object. The calculated rank is then displayed as the rank display 45 during the race game.
[0074] Figure 10 shows an example of a game image displayed during a second race game using a course between bases. As shown in Figure 10, the player object 31 is traveling on the road 50, and the progress object 32 is traveling in a drivable area 51 away from the road 50. Based on the two-dimensional judgment data M, the progress of each progress object is calculated, and the current ranking of the player object 31, calculated based on the progress of each progress object, is displayed as the ranking display 45. Note that each progress object can temporarily travel in the air away from the road 50 or the drivable area 51 during the second race game. When a progress object is in the air, its progress is calculated based on its horizontal position (XY coordinate values).
[0075] In this embodiment, the two-dimensional data M for judgment is generated in advance by the game developer and stored in the main unit 2. The method for generating the two-dimensional data M for judgment will be described below.
[0076] (Method for generating 2D data for judgment) The 2D data M used for determination is generated based on intermediate data. The intermediate data, like the 2D data M used for determination, is 2D data corresponding to 2D coordinates in the horizontal direction of a virtual space including the route R between locations, and determination parameters are set for each coordinate.
[0077] Figure 11 shows the first step in generating intermediate data, where the determination parameters are set on the inter-site route R3.
[0078] As shown in Figure 11, first, the determination parameter for point P0, which corresponds to the starting point of the inter-base course, is set to "0", and the determination parameter for point P10, which corresponds to the ending point of the inter-base course, is set to "1". Next, for example, points P1 to P9 are set on a line passing through the center of the road 50 that forms the inter-base route R3. Hereafter, the line passing through the center of the road 50 that forms the inter-base route R will be called the "route path". Note that the number of points set on the route path is not limited to 9; it may be more or less than 9.
[0079] The value of the judgment parameter for each point is set within the range of "0" to "1". Specifically, the value of the judgment parameter for each point is set to be closer to "0" the closer it is to the starting point and closer to "1" the closer it is to the goal point. For example, points P1 to P9 may be set so that the distance between each point along the inter-point route R is equal, and the value of the judgment parameter for points P1 to P9 may be set according to the distance along the inter-point route R from the starting point. For example, point P1, which is closest to the starting point, may be set to "0.1", and point P5, which is midway between the starting point and the goal point along the inter-point route R, may be set to "0.5". Also, point P9, which is closest to the goal point, may be set to "0.9".
[0080] If the route R between bases has branches, points are also set for each branch. The position of each point and the value of the judgment parameter are determined considering the curve ratio. Figure 12 shows an example of a route R between bases that has branches between the start point and the goal point. As shown in Figure 12, if there are branches between the start point and the goal point, points are also set for each branch. For example, in the example shown in Figure 12, the route branches into three paths at point P3, and P41, P42, and P43 are set for each branch. The same value "0.4" is set as the judgment parameter for P41, P42, and P43. Even if the distance along each branch is different, the judgment parameter value is set to be the same at the merging point.
[0081] The positions of each point on the root path and the values of the parameters used for determination are automatically determined based on the program. However, the positions of each point on the root path and the values of the parameters used for determination may also be determined by the game developer.
[0082] Next, based on points P0 to P10 on the route path, where the determination parameters shown in Figure 11 are set, the values of the determination parameters for each point within the inter-base route R3 (road 50) are set. Figure 13 is a diagram illustrating the second step for generating intermediate data, showing how the determination parameters are set for each point within road 50.
[0083] In Figure 13, solid lines indicate the route path, and dashed lines indicate the widthwise ends of the road 50. As shown in Figure 13, the values of each point within the road 50 are set based on the values of the determination parameters set for each point in the first step. For example, points P30 and P31 are set where a line perpendicular to the route path intersects with both ends of the road 50, passing through point P3 on the route path set in the first step, and the determination parameter value for points P30 and P31 is set to "0.3", the same value as point P3. Also, points P40 and P41 are set where a line perpendicular to the route path intersects with both ends of the road 50, passing through point P4 on the route path, and the determination parameter value for points P40 and P41 is set to "0.4", the same value as point P4. Note that several more points may be set within the road 50 at random or predetermined intervals.
[0084] Next, based on the values set for each point on the road 50, the values for each point in the drivable area 51 outside of the road 50 are calculated. Figure 14 shows the third step for generating intermediate data, in which the values of the judgment parameters are set for each point in the drivable area 51 outside of the road 50.
[0085] In Figure 14, the black-filled circles indicate points for which the judgment parameter values have already been set. The white circles indicate points for which the judgment parameter values have not yet been set, and are points for which the judgment parameter values will be calculated. First, multiple points are randomly set within the drivable area 51, excluding the road 50. Any method can be used to set points within the drivable area 51. For example, multiple points may be randomly set within the drivable area 51, the drivable area 51 may be Voronoi-partitioned based on the set points, and each vertex of the generated Voronoi region may be set. For example, as shown in Figure 14, P32 to P36, etc., may be set.
[0086] Next, a value for the judgment parameter is calculated and set for each randomly selected point. Specifically, for points for which a judgment parameter has not yet been set (points to be calculated), the value of the judgment parameter is calculated based on the value of the nearest point (nearest point of tangency) among the points for which a judgment parameter has already been set, a vector s from the nearest point of tangency to the point to be calculated, and a vector V (unit vector) from the start point to the goal point. The value of the judgment parameter for the points to be calculated is set to increase as it approaches the goal point. More specifically, if the angle between vector s and vector V is less than 90 degrees, the value of the point to be calculated will be greater than the value of the nearest point of tangency, and the smaller the angle, the greater the value of the point to be calculated. Also, in this case, the larger the magnitude of vector s, the greater the value of the point to be calculated. Furthermore, if the angle between vector s and vector V is 90 degrees, the value of the point to be calculated will be the same as the value of the nearest point of tangency. Furthermore, if the angle between vector s and vector V exceeds 90 degrees, the value of the point to be calculated will be smaller than the value of the nearest point of tangency. The larger the angle, the smaller the value of the point to be calculated, and the larger the magnitude of vector s, the smaller the value of the point to be calculated. For example, the value of the parameter for determining the point to be calculated may be calculated based on the sum of the value of the parameter for determining the nearest point of tangency and the value obtained by dividing the dot product of vector s and vector V by the straight-line distance from the starting point to the goal point.
[0087] For example, the value of the determination parameter for point P32, which is the point to be calculated, is calculated based on the value of the determination parameter for the nearest point P30 (0.3), the vector s1 pointing from point P30 to point P32, and the vector V. Since the angle between vector s1 and vector V is less than 90 degrees, the value of the determination parameter for point P32 will be greater than the value of the determination parameter for point P30. For example, the value of the determination parameter for point P32 may also be calculated based on the sum of the value of the determination parameter for point P30 and the value obtained by dividing the dot product of vector s1 and vector V by the straight-line distance from the start point to the goal point. For example, "0.33" may be calculated as the value of the determination parameter for point P32.
[0088] Furthermore, for example, the value of the determination parameter for point P33, which is the point to be calculated, is calculated based on the value of the determination parameter for the nearest point P30, the vector s2 pointing from point P30 to point P33, and vector V. Since the angle between vector s2 and vector V is greater than 90 degrees, the value of the determination parameter for point P33 will be smaller than the value of the determination parameter for point P30. For example, the value of the determination parameter for point P33 will be calculated to be "0.29".
[0089] Similarly, the value of the determination parameter for point P34, which is the point to be calculated, is calculated based on the value of the determination parameter for the nearest point P40 (0.4), the vector s3 from point P40 to point P34, and vector V. For example, the value of the determination parameter for point P34 is calculated to be "0.39".
[0090] Furthermore, based on the points for which judgment parameters have been set, values are calculated for points for which judgment parameters have not yet been set. For example, the value of the judgment parameter for point P35, which is the target of calculation, is calculated based on point P32, which is the nearest point for which judgment parameters have already been set. Similarly, the value of the judgment parameter for point P36, which is the target of calculation, is calculated based on point P34, which is the nearest point for which judgment parameters have already been set. This process is repeated, and the points for which judgment parameters have been set are propagated from the inter-base route R3 to the entire drivable area 51. In this way, intermediate data is generated that includes multiple coordinates, with judgment parameters set for each coordinate.
[0091] Next, two-dimensional data M for judgment is generated based on the generated intermediate data. First, the generated intermediate data is blurred so that the grayscale image represented by the coordinates in the intermediate data and the judgment parameters set for each coordinate is blurred. Blurring reduces the difference in the values of the judgment parameters between adjacent points, making the color changes smoother when represented as an image. Specifically, the correction is applied so that a stronger filter (higher degree of correction) is applied to points that are farther from the inter-site route R3. As described above, when generating intermediate data, first, the values of the judgment parameters are set for points within the inter-site route R3, and based on these set values, the values of neighboring points in the inter-site route R3 are set. Furthermore, based on the values of those neighboring points, the values of other points are set. In this way, points with set judgment parameters spread outwards from the inter-site route R3. For this reason, at points far from the inter-site route R3, the error may be large, and the difference in the values of the judgment parameters between adjacent points may be large. When the difference in the values of the judgment parameters between adjacent points is large, the progress of the progressing object changes rapidly. Therefore, blurring is applied to the intermediate data so that the further away a point is from the inter-site route R3, the stronger the filter applied.
[0092] Then, two-dimensional data M for judgment is generated from the intermediate data that has undergone blurring. Each coordinate in the intermediate data is set randomly, and the distance between each coordinate has an average of a first distance (for example, 20m in virtual space). In the two-dimensional data M for judgment, multiple coordinates are set such that the distance between each coordinate is a second distance (for example, 5m in virtual space) which is shorter than the first distance, and each coordinate is spaced at a constant interval. The value of the judgment parameter for each point in the two-dimensional data M for judgment is calculated by interpolating (for example, linear interpolation) the values of the judgment parameters of multiple points surrounding that point in the intermediate data.
[0093] The generated two-dimensional judgment data M is stored together with the game program on an external storage medium, for example, which is installed in slot 29. The external storage medium is installed in slot 29 of the main unit 2. When the player instructs the start of the second race game, the game program for executing the race game and the two-dimensional judgment data M are read from the external storage medium into the memory (for example, DRAM 27) of the main unit 2. During the second race game, the processor 21 of the main unit 2 calculates the progress of each progress object based on the two-dimensional judgment data M stored in memory and the position of each progress object, and determines the current rank of the player object 31 based on the calculated progress of each progress object. Alternatively, the generated two-dimensional judgment data M may be stored on a server on the internet together with (or separately from) the game program, and the two-dimensional judgment data M may be downloaded to the main unit 2 by accessing the server.
[0094] As described above, two-dimensional data for judgment is prepared in advance, and the ranking of each progress object in the race game is determined based on this two-dimensional data. In this embodiment, multiple inter-base courses are provided, and two-dimensional data for judgment is prepared in advance for each inter-base course.
[0095] (Processing details) Next, we will explain the process for generating the aforementioned two-dimensional data for judgment, as well as the details of the racing game processing.
[0096] Figure 15 shows an example of various data used in the generation process for generating the two-dimensional data for judgment shown in Figure 16. The various data shown in Figure 15 are stored, for example, in the memory device (e.g., DRAM, non-volatile memory, hard disk, etc.) of the generation device for generating the two-dimensional data for judgment. The generation device is, for example, a computer owned by a game developer.
[0097] As shown in Figure 15, the storage device of the generation device stores the generation program, field data, inter-site course data, goal direction data, intermediate data, and 2D data for judgment.
[0098] The generation program is a program for executing the generation process described later (the process shown in Figure 16).
[0099] Field data represents the entirety of field F. Field data includes data indicating multiple base areas and data indicating routes between multiple bases.
[0100] Inter-site course data is data relating to inter-site courses that are the target of generating 2D data for judgment. An inter-site course is a course that includes an inter-site route connecting a first base area and a second base area.
[0101] The goal direction data represents the direction from the starting point to the goal point set on the inter-base course, and is data that represents the unit vector (vector V) in the direction from the starting point to the goal point.
[0102] Intermediate data is data used to generate 2D data for judgment. Intermediate data is 2D data corresponding to 2D coordinates in the horizontal direction of a virtual space including the route R between bases, and judgment parameters representing the degree of progress are set for each coordinate.
[0103] The 2D data used for judgment is generated based on intermediate data. This 2D data corresponds to 2D coordinates in the horizontal direction of a virtual space including the inter-site route R, and each coordinate has a judgment parameter set to represent the progress.
[0104] (Generation process) Next, we will explain the generation process for generating 2D data for judgment. Figure 16 is a flowchart showing an example of the generation process. The generation process shown in Figure 16 is executed by a computer in a generation device owned by the game developer.
[0105] The generation device first reads the course data for the inter-site course (step S10).
[0106] Next, the generation device sets the values of the judgment parameter for the start point and the goal point of the inter-base course (step S11). Specifically, the generation device sets the coordinates corresponding to the start point of the inter-base course in the intermediate data and sets the value of the judgment parameter to "0" for the coordinates corresponding to the start point. The generation device also sets the coordinates corresponding to the goal point of the inter-base course in the intermediate data and sets the value of the judgment parameter to "1" for the coordinates corresponding to the goal point.
[0107] Next, the generation device sets the value of the determination parameter for each point on the route path (step S12). Here, the generation device sets multiple points on the route path (the centerline of the road 50 that forms the route R between bases) in the intermediate data, and sets a value from "0" to "1" as the value of the determination parameter for each set point. Specifically, the generation device sets a value closer to "0" for points closer to the starting point and a value closer to "1" for points closer to the goal point.
[0108] Next, the generation device sets the value of the determination parameter for each point within the inter-base route R (step S13). Here, the generation device sets multiple points within the inter-base route R (road 50) in the intermediate data, and sets a value from "0" to "1" as the determination parameter for each set point. For example, the generation device sets the value of the determination parameter for a point that passes through a point set on the route path and is on a line perpendicular to the route path to be the same as the value of the determination parameter for the point on the route path. The generation device also sets the value of the determination parameter for a point located between two points set on the route path by interpolation of the values of the determination parameters set for those two points.
[0109] Next, the generation device sets multiple points in the drivable area 51 outside the inter-base route R (step S14). Here, in the intermediate data, multiple points are randomly set in the drivable area 51. Here, only the coordinate values of each point are set, and the values of the judgment parameters are not set for each coordinate. Any method can be used to set multiple points in the intermediate data. For example, the generation device may randomly set multiple points within the drivable area 51, perform a Voronoi partition of the drivable area 51 based on the set points, and set the vertices of each generated Voronoi region in the intermediate data.
[0110] Next, the generation device sets the values of the determination parameters for points where the determination parameters have not yet been set (step S15). Here, the values of the determination parameters are calculated and set for points adjacent to points where the determination parameters have already been set, but where the determination parameters have not yet been set (points to be calculated). Specifically, the values of the determination parameters for the points to be calculated are calculated based on the values of the determination parameters of the nearest points where the determination parameters have already been set, a vector s from the nearest points to the points to be calculated, and a vector V from the start point to the goal point.
[0111] Next, the generating device determines whether or not the values for the determination parameters have been set for all the points set in step S14 (step S16).
[0112] If the result in step S16 is NO, the generation device repeats the process in step S15. The process in step S15 is repeatedly executed until the values of the determination parameters are set for all points set in step S14. This generates intermediate data.
[0113] If the result in step S16 is YES, the generation device generates 2D data for determination based on the generated intermediate data (step S17). Specifically, the generation device performs blurring on the intermediate data generated by repeatedly executing the process in step S15. Here, the generation device performs blurring so that the further away from the inter-site route R, the stronger the filter. Then, the generation device generates 2D data for determination based on the blurred intermediate data. For example, if the coordinate value of a point in the 2D data for determination matches the coordinate value of a point in the intermediate data, the generation device copies the value of the determination parameter of that point in the intermediate data to the value of the determination parameter of that point in the 2D data for determination. If the coordinate value of a point in the 2D data for determination does not match the coordinate value of a point in the intermediate data, the generation device calculates the determination parameter of that point in the 2D data for determination by interpolating the values of the determination parameters of multiple points surrounding that point in the intermediate data.
[0114] If the process in step S17 is completed, the generation device terminates the generation process shown in Figure 16.
[0115] In this embodiment of the game, multiple inter-base courses are provided. These inter-base courses include a first inter-base course where ranking is determined based on two-dimensional data for judgment, and a second inter-base course where ranking is determined in the same way as the intra-base courses described above, without relying on two-dimensional data for judgment. The generation device generates two-dimensional data for judgment for each of the first inter-base courses.
[0116] Next, we will explain the processing when a second race game is played on the main unit 2, which involves driving on a course between bases.
[0117] Figure 17 shows an example of various data used in the racing game processing shown in Figure 18. The various data shown in Figure 17 are stored in the memory of the main unit 2 (for example, DRAM 27, flash memory 26, or an external storage medium connected to slot 29).
[0118] As shown in Figure 17, the memory of the main unit 2 stores the game program, field data, inter-base course data, player object data, other object data, and 2D data for judgment.
[0119] The game program is a program for executing the racing game processing described later. The game program is pre-stored, for example, in an external storage medium or flash memory 26 installed in slot 29, and is loaded into DRAM 27 when the racing game is executed.
[0120] Field data represents the entirety of field F. Field data includes data indicating multiple base areas and data indicating routes between multiple bases.
[0121] The inter-base course data pertains to the inter-base course where the second race game takes place. The inter-base course includes the route connecting the first base area and the second base area.
[0122] The player object data is data relating to the player object 31 controlled by the first player of the main unit 2. The player object data includes data representing the shape of the player object 31, data representing the position and orientation of the player object 31, and data representing the velocity and acceleration of the player object 31. In addition, the player object data includes data indicating the current progress of the player object 31 and data indicating its current rank.
[0123] Other object data is data relating to multiple other progressing objects, including a progressing object 32 operated by a second player and a progressing object 33 controlled by the processor 21. Similar to player object data, other object data includes data representing the position and orientation of progressing objects 32 and 33, and data representing the velocity and acceleration of the progressing objects. In addition, other object data includes data indicating the current progress of the other progressing objects 32 and 33, and data indicating their current ranking.
[0124] The two-dimensional data for determination is the two-dimensional data for determination generated by the generation device. The two-dimensional data for determination is stored in advance in an external storage medium or flash memory 26 connected to slot 29. The two-dimensional data for determination may also be obtained from other devices via a network (e.g., the Internet).
[0125] (Racing game processing) Next, the racing game processing performed in the main unit 2 will be described. Figure 18 is a flowchart of an example of racing game processing. Below, we will describe the case in which a racing game is played in multiplayer mode by communication between the main unit 2 corresponding to the first player and another main unit 2 corresponding to the second player. The processor 21 of the main unit 2 corresponding to the first player executes the game program using the DRAM 27, and the processing shown in Figure 18 is performed. The processing shown in Figure 18 is started when the first player gives an instruction to play the second racing game. Below, we will describe the case in which the second racing game is played using a course between bases, but the same processing is performed when the first racing game is played using a course within a base.
[0126] The processor 21 first performs a setup process (step S20). Here, the processor 21 sets up a base-to-base course for the second race game based on the player's input. For example, the processor 21 places multiple progress objects, including the player object 31, at the starting point of the base-to-base course selected by the player. Then, the processor 21 starts the second race game using the base-to-base course.
[0127] When the second racing game starts, the processor 21 acquires operation data (step S21). Specifically, the processor 21 acquires operation data from controllers 3 and 4. Thereafter, the processor 21 repeatedly executes the processes from steps S21 to S26 at predetermined frame time intervals (for example, 1 / 60 second intervals).
[0128] Next, the processor 21 executes player object control processing (step S22). Here, the processor 21 updates information about the player object 31 based on operation data. For example, the processor 21 updates the position, orientation, speed, etc. of the player object 31, or causes the player object 31 to perform a predetermined action, based on the operation data. Here, item acquisition objects are placed in the virtual space. When the player object 31 comes into contact with an item acquisition object, one of several types of items is attached to the player object 31. The attached item is used according to the player's operation input. When an item is used, different effects occur depending on the type of item. For example, the several types of items include items that temporarily increase the speed of the player object 31, items that temporarily decrease the speed of other moving objects, and items that hinder the movement of other moving objects. Also, among the several types of items, there are items with high effects and items with low effects. Which type of item is attached to the player object 31 is determined according to the order in which the player object 31 comes into contact with the item acquisition object. If player object 31 has a low current rank, it is more likely to be awarded items that are advantageous to player object 31 (items with high effects), and if player object 31 has a high current rank, it is more likely to be awarded items that are less advantageous to player object 31 (items with low effects). When player object 31 acquires or uses an item, information about that item is transmitted to the other main unit 2 corresponding to the second player.
[0129] Next, the processor 21 performs other object control processing (step S23). Here, the processor 21 controls the progress object 32 operated by the second player and the progress object 33 controlled by the processor 21 in the virtual space. For example, the processor 21 updates the position, orientation, speed, etc. of the progress object 32, or causes the progress object 32 to perform predetermined actions, based on data transmitted from the other main unit 2 corresponding to the second player. Also, when the progress object 32 acquires an item or uses an item, the processor 21 performs processing corresponding to the acquisition or use of the item, based on data transmitted from the other main unit 2. Furthermore, the processor 21 updates the position, orientation, speed, etc. of the progress object 33, or causes the progress object 33 to perform predetermined actions or use the assigned item, based on a predetermined algorithm. Furthermore, the processor 21 determines whether the progress object 33 has come into contact with an item acquisition object. If the progress object 33 has come into contact with an item acquisition object, it assigns one of several types of items to the progress object 33 based on the rank of the progress object 33.
[0130] Following step S23, the processor 21 performs a ranking determination process (step S24). Here, the processor 21 calculates the progress of each progress object (31-33) in the race game based on the two-dimensional data for determination. For example, the processor 21 calculates the progress of player object 31 (a value from "0" to "1") based on the two-dimensional data for determination and the position of player object 31, and stores it as player object data. The processor 21 also calculates the progress of progress objects 32 and 33 based on the two-dimensional data for determination and the positions of progress objects 32 and 33, and stores them as other object data. Then, the processor 21 determines the current rank of each progress object based on the calculated progress of each progress object and stores it in memory. The progress object with the highest progress is determined to be in first place.
[0131] Next, the processor 21 performs drawing processing (step S25). Here, the processor 21 generates a game image as seen from a virtual camera corresponding to the player object 31 in the virtual space. The game image includes an image of the player object 31 and a ranking display 45 corresponding to the ranking of the player object 31 determined in step S24. The processor 21 outputs the generated game image to the display device.
[0132] Next, processor 21 determines whether the goal has been reached (step S26). Specifically, processor 21 determines whether all progress objects, including player object 31 and progress objects 32 and 33, have reached the goal point set on the course. If none of the progress objects have reached the goal (step S26: NO), processor 21 repeats the process in step S21. The race game progresses by repeatedly performing the processes in steps S21 to S26. If the ranking of player object 31 changes during the race game, the changed ranking is displayed in the game image.
[0133] If all progress objects reach the goal (step S26: YES), the processor 21 displays the results of the race game and terminates the race game process as shown in Figure 18.
[0134] As described above, in the game of this embodiment, when a race game is played on a course between bases that can be traversed over a wide area of the field, the progress of each progress object is calculated based on two-dimensional data for judgment, and the ranking of each progress object is determined. The two-dimensional data for judgment has two-dimensional coordinate values corresponding to the position in the horizontal direction of the virtual space, and judgment parameters representing the progress are stored for each coordinate. As a result, even on a course that can be traversed over a wide area of the field, the ranking of each progress object during a race game can be accurately determined.
[0135] The current rank of a progress object affects the type of item that is assigned to that object. Accurate rank determination allows for the assignment of the appropriate item.
[0136] (modified version) Although this embodiment has been described above, the above embodiment is merely an example, and modifications such as the following may be made.
[0137] For example, in the above embodiment, the generation process for generating the two-dimensional data for judgment is performed in advance by the game creator's computer. In other embodiments, the generation process may be performed by the main unit 2 (a game device that performs the racing game processing). For example, the main unit 2 may allow the player to freely create a course for the racing game, in which case it is not possible to generate and store the two-dimensional data for judgment in advance. However, the main unit 2 may generate the two-dimensional data for judgment corresponding to the course by performing the generation process based on the course created by the player. For example, the main unit 2 may generate the two-dimensional data for judgment at the start of a racing game using the course, or it may generate the two-dimensional data for judgment in advance when the racing game is not being played, such as when creating a course. Furthermore, even if the player cannot create a course for the racing game, the main unit 2 may generate the two-dimensional data for judgment corresponding to the course data based on the course data. For example, the main unit 2 may generate the two-dimensional data for judgment corresponding to new course data obtained via the Internet.
[0138] Furthermore, in the above embodiment, assuming that the race game is played on an inter-base course including an inter-base route connecting the first base area and the second base area, the ranking of each progressing object during the race game using the inter-base course is determined based on two-dimensional data for determination. In other embodiments, the ranking of each progressing object during the race game using the course may be determined based on two-dimensional data for determination, not limited to an inter-base course, when the race game is played on any course set in the virtual space.
[0139] Furthermore, in the above embodiment, each progress object is set to start from a starting point set in the first base area and aim for a goal point set in the second base area. In other embodiments, each progress object may be set to take a course that passes through multiple base areas. In such a course that passes through multiple base areas, each progress object may start from the starting point, pass through a first checkpoint set in the first base area, pass through a second checkpoint set in the second base area from the first checkpoint, and then travel from the second checkpoint towards a third checkpoint set in the third base area. During a race game from the first checkpoint to the second checkpoint, the ranking of each progress object may be determined based on the above-mentioned 2D data for determination. In this case, the 2D data for determination is set to "0" for the coordinates corresponding to the first checkpoint and to "1" for the coordinates corresponding to the second checkpoint.
[0140] Furthermore, in the above embodiment, the starting point is set to the value of the determination parameter to "0", the goal point is set to the value of the determination parameter to "1", and the positions between the starting point and the goal point are set to values between "0" and "1" as the value of the determination parameter. The values of the determination parameter are not limited to these. For example, the value of the determination parameter at the starting point may be greater than the value of the determination parameter at the goal point. Also, the values of the determination parameter at each position do not have to change continuously, becoming larger or smaller as you approach the goal point from the starting point. For example, the values of the determination parameter at each position may be encrypted, and discrete values may be set as the values of the determination parameter at each position.
[0141] Furthermore, the 2D data for judgment may include, in addition to the coordinates within the inter-base route R that each progress object can travel and the coordinates of the traversable area 51, the coordinates of areas that each progress object can travel to but is not recommended to travel to. For the coordinates of such unrecommended areas, the judgment parameter may be set to a value in a range different from the range that can be set for the coordinates of the inter-base route R and the traversable area 51 (for example, a negative value or a value greater than "1"). If the player object 31 is traveling through such an area, a display indicating that it is traveling through an unrecommended area may be shown instead of (or in addition to) the ranking display 45. Furthermore, the 2D data for judgment may also include coordinates corresponding to areas that each progress object cannot travel through.
[0142] Furthermore, in the above embodiment, one value for the determination parameter was set for each coordinate included in the two-dimensional data for determination. In other embodiments, one value for the determination parameter may be set for the region enclosed by each coordinate (a section having a predetermined distance). That is, the virtual space may be divided into predetermined regions, and a value for the determination parameter may be set for each region. The value of the determination parameter corresponding to the region where the progressing object is located may then be calculated as the progress of the progressing object.
[0143] Furthermore, in the above embodiment, each coordinate included in the intermediate data is set randomly. In other embodiments, each coordinate included in the intermediate data may be set at, for example, predetermined intervals.
[0144] Furthermore, the racing game of this embodiment may be a game in which multiple progress objects, including a player object, are advanced along a course that includes at least a route from a first point to a second point on the field. The two-dimensional data for determination is two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of a predetermined range of virtual space that includes at least the route, in which a first value is recorded at the coordinates corresponding to the first point and a second value is recorded at the coordinates corresponding to the second point, and the data is in which a determination parameter indicating the degree of progress from the first point to the second point is recorded for each coordinate based on the values from the first value to the second value. The first point may be the starting point or the first checkpoint. The second point may be the finish point or the second checkpoint.
[0145] Furthermore, in the above embodiment, the ranking during the race game was determined based on the two-dimensional data used for determination. In other embodiments, other determinations may be made based on the two-dimensional data used for determination, not limited to determining the ranking during the race game, and a display corresponding to such other determinations may be made.
[0146] For example, the progress of each progress object, calculated based on two-dimensional data for evaluation, may be displayed.
[0147] Furthermore, the progress of each progress object calculated based on the two-dimensional data used for judgment may be evaluated, and the evaluation results may be displayed. For example, in a racing game where the goal is to reach a specific progress level within a predetermined time, it may be determined whether or not each progress object has reached a specific progress level within the predetermined time, and a display corresponding to that determination may be shown.
[0148] Furthermore, events may occur depending on the progress of each progress object calculated based on the two-dimensional data used for determination. For example, a determination may be made as to whether the progress of player object 31 has reached a specific progress level, and if player object 31 has reached that specific progress level, an event may occur.
[0149] Furthermore, the 2D data for determination may be used for purposes other than those described above. For example, the 2D data for determination may be used to calculate an efficient route from the starting point (or first checkpoint) to the goal point (or second checkpoint). For example, if there is a progress object 32 that is closer to the goal point than the player object 31, and the player object 31 acquires and uses a specific item, that specific item will move towards the progress object 32. The movement path of such a specific item may be calculated based on the 2D data for determination. For example, the direction of movement of a specific item may be determined based on the value of a determination parameter at the coordinates of the 2D data for determination corresponding to the current position of the specific item in the virtual space. Specifically, if a specific item is located at a first position in the virtual space, a second coordinate with a value greater than the value of the determination parameter of the first coordinate may be extracted from among several coordinates around the first coordinate of the 2D data for determination corresponding to the first position, and the direction from the first coordinate to the second coordinate may be determined as the direction of movement of the specific item.
[0150] Furthermore, for example, when moving a player object from a starting point to a destination in a field such as a desert where no visible paths are set for the player, it is assumed that a pre-recommended route is internally set from the starting point to the destination. In such a case, the direction in which the player object should move may be determined based on 2D data for determination, and the determined direction may be displayed in the game image. This allows the player to determine which direction to move the player object.
[0151] Furthermore, in the above embodiment, multiple progress objects start from one starting point and aim for one finish point in the race game. In other embodiments, multiple starting points may be provided, and multiple progress objects may start from each of the multiple starting points and aim for one finish point in the race game. Even when there are multiple such starting points, the two-dimensional data for judgment can be generated using the generation method described above. Based on the generated two-dimensional data for judgment, the current progress of the multiple progress objects can be calculated, and the ranking can be determined. In other embodiments, multiple finish points may be provided, and multiple progress objects may start from one or more starting points and aim for each of the multiple finish points in the race game. For example, player object 31 may start from the first starting point and aim for the first finish point, progress object 32 may start from the first starting point and aim for the second finish point, and progress object 33 may start from the second starting point and aim for the third finish point. Even when such a racing game is played, the above-described generation method can be used to generate 2D data for judgment, and based on this 2D data, the current progress of multiple progress objects can be calculated, and the ranking can be determined.
[0152] Furthermore, in the above embodiment, the determination was made based on two-dimensional data for determination. In other embodiments, the determination may be made based on three-dimensional data for determination instead of the two-dimensional data for determination. For example, multiple moving objects, including a player object, move along a course that includes a route from a first point to a second point, including the height direction in the virtual space. This route is a route that extends horizontally and vertically in three-dimensional space. The three-dimensional data for determination is three-dimensional data corresponding to the three-dimensional coordinates of a predetermined range of virtual space that includes at least the route, in which a first value is recorded at the coordinates corresponding to the first point and a second value is recorded at the coordinates corresponding to the second point, and a determination parameter indicating the degree of progress from the first point to the second point is recorded for each coordinate based on the values from the first value to the second value. Then, the determination may be made based on the value of the determination parameter at the coordinates of the three-dimensional data for determination corresponding to the three-dimensional position of the player object in the virtual space.
[0153] Furthermore, the above-described process may be performed not only on the main unit 2, but also on any information processing device such as a smartphone or tablet terminal. Additionally, the above-described process may be performed in an information processing system including multiple devices connected via a network (e.g., a LAN or the Internet).
[0154] For example, in the above embodiment, the main unit 2 performs the process shown in Figure 18, and the game creator's computer performs the process shown in Figure 16. In other embodiments, at least a portion of the process shown in Figure 18 may be performed on a server on the Internet. Also, the process shown in Figure 16 may be performed on a server on the Internet.
[0155] Furthermore, the configurations of the above embodiments and their modified forms can be combined in any way, as long as they do not contradict each other. Moreover, the above is merely an example of the present invention, and various other improvements and modifications may be made. [Explanation of symbols]
[0156] 1. Game System 21 processors A Base Area CA (Corporate Area) internal routes Route between R bases 31 Player Objects 32, 33 Progressing Objects 40, 50 road 41, 51 Driving range
Claims
1. On the computer, A race game is played in which a player object is advanced along a course set in a field within a virtual space, the course including at least a route from a first point to a second point in the field. During the racing game, The player object is moved and controlled based on the input. Based on two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of the virtual space within a predetermined range including at least the aforementioned route, in which a first value is recorded at the coordinate corresponding to the first point and a second value is recorded at the coordinate corresponding to the second point, and a determination parameter indicating the degree of progress from the first point to the second point is recorded for each coordinate, A game program that performs a first determination based on the value of the determination parameter in the coordinates of the two-dimensional determination data corresponding to the position of the player object in the virtual space.
2. The aforementioned racing game is a racing game in which the player races against other objects in progress, To the aforementioned computer, During the aforementioned racing game, Furthermore, the movement of the other moving objects is controlled, The game program according to claim 1, which, as the first determination, determines the ranking of the player object's progress in the race game based on the value of the determination parameter at the coordinates of the determination two-dimensional data corresponding to the player object's position in the virtual space and the value of the determination parameter at the coordinates of the determination two-dimensional data corresponding to the other progressing object's position in the virtual space.
3. The first point is the starting point of the course, The game program according to claim 2, wherein the second location is the finish line of the course.
4. The first point is the first checkpoint of the course, The game program according to claim 2, wherein the second location is a second checkpoint set after the first checkpoint.
5. To the aforementioned computer, During the aforementioned racing game, The game program according to claim 2, wherein, in response to contact between the player object and an item acquisition object on the field, the player object acquires one of several types of items, which are set based on the ranking.
6. The aforementioned two-dimensional data for determination is The data is set in which the determination parameter at each coordinate corresponding to the position on the aforementioned route is a value that changes from a first value to a second value along the route, The game program according to claim 1, wherein the determination parameter for each coordinate corresponding to a location other than the aforementioned route is set to a value that is closer to the second value the closer it is to the coordinate corresponding to the second point.
7. The aforementioned computer further: The first value is set as the determination parameter at the coordinates corresponding to the first point, and the second value is set as the determination parameter at the coordinates corresponding to the second point. The determination parameter at each coordinate corresponding to the position on the aforementioned route is set to a value that changes from a first value to a second value along the route. A game program according to any one of claims 1 to 5, which generates two-dimensional data for determination based on two-dimensional data in which, for coordinates where the determination parameter is not set, values are set based on the values of the determination parameter for surrounding coordinates where the determination parameter is set.
8. On the computer, A course used in a racing game set in a field within a virtual space, based on a course that includes at least a route from a first point to a second point in the field, Two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of the virtual space within a predetermined range including at least the aforementioned route, wherein determination parameters indicating the degree of progress from the first point to the second point are recorded for each coordinate in the determination two-dimensional data, A first value is set for the determination parameter at the coordinates corresponding to the first point, and a second value is set for the determination parameter at the coordinates corresponding to the second point. The determination parameter at each coordinate corresponding to the position on the aforementioned route is set to a value that changes from a first value to a second value along the route. An information processing program that generates data based on first two-dimensional data in which, for coordinates where the determination parameter is not set, a value is set based on the value of the determination parameter of the surrounding coordinates where the determination parameter is set.
9. To the aforementioned computer, The information processing program according to claim 8, which generates the determination two-dimensional data such that each coordinate is set at a predetermined distance in the virtual space based on the first two-dimensional data.
10. To the aforementioned computer, The information processing program according to claim 8, which generates the two-dimensional data for determination by applying a filter with a higher strength to the first two-dimensional data, for coordinates that are further away from the coordinates corresponding to the position on the route.
11. An information processing method performed in an information processing system, A race game is played in which a player object is advanced along a course set up in a field within a virtual space, the course including at least a route from a first point to a second point in the field. During the racing game, To control the movement of the player object based on the operation input, Based on two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of the virtual space within a predetermined range including at least the aforementioned route, in which a first value is recorded at the coordinate corresponding to the first point and a second value is recorded at the coordinate corresponding to the second point, and a determination parameter indicating the degree of progress from the first point to the second point is recorded for each coordinate, An information processing method comprising: performing a first determination based on the value of the determination parameter in the coordinates of the two-dimensional determination data corresponding to the position of the player object in the virtual space.
12. The aforementioned racing game is a racing game in which the player races against other objects in progress, During the aforementioned racing game, Furthermore, to control the movement of the other moving objects, The information processing method according to claim 11, comprising, as the first determination, determining the ranking of the player object's progress in the race game based on the value of the determination parameter at the coordinates of the determination two-dimensional data corresponding to the player object's position in the virtual space and the value of the determination parameter at the coordinates of the determination two-dimensional data corresponding to the other progressing object's position in the virtual space.
13. The first point is the starting point of the course, The information processing method according to claim 12, wherein the second location is the finish line of the course.
14. The first point is the first checkpoint of the course, The information processing method according to claim 12, wherein the second location is a second checkpoint set after the first checkpoint.
15. During the aforementioned racing game, The information processing method according to claim 12, further comprising causing the player object to acquire one of the items set based on the rank from among a plurality of types of items in response to contact between the player object and the item acquisition object on the field.
16. The aforementioned two-dimensional data for determination is The data is set in which the determination parameter at each coordinate corresponding to the position on the aforementioned route is a value that changes from a first value to a second value along the route, The information processing method according to claim 11, wherein the determination parameter for each coordinate corresponding to a location other than the aforementioned route is set to a value that is closer to the second value the closer it is to the coordinate corresponding to the second point.
17. The first value is set as the determination parameter in the coordinates corresponding to the first point, and the second value is set as the determination parameter in the coordinates corresponding to the second point. The determination parameter for each coordinate corresponding to a position on the aforementioned route is set to a value that changes from the first value to the second value along the route. The information processing method according to any one of claims 11 to 15, comprising generating the two-dimensional data for determination based on two-dimensional data in which a value is set based on the value of the determination parameter of the surrounding coordinates in which the determination parameter is set, for coordinates in which the determination parameter is not set.
18. An information processing method performed in an information processing system, A course used in a racing game set in a field within a virtual space, based on a course that includes at least a route from a first point to a second point in the field, Two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of the virtual space within a predetermined range including at least the aforementioned route, wherein determination parameters indicating the degree of progress from the first point to the second point are recorded for each coordinate in the determination two-dimensional data, Setting a first value for the determination parameter in the coordinates corresponding to the first location, and a second value for the determination parameter in the coordinates corresponding to the second location, The determination parameter for each coordinate corresponding to a position on the aforementioned route is set to a value that changes from the first value to the second value along the route. An information processing method comprising generating, for coordinates where the determination parameter is not set, based on first two-dimensional data in which a value is set based on the value of the determination parameter of surrounding coordinates where the determination parameter is set.
19. The information processing method according to claim 18, comprising generating the determination two-dimensional data based on the first two-dimensional data such that each coordinate is set at a predetermined distance in the virtual space.
20. The information processing method according to claim 18, further comprising: generating the two-dimensional data for determination by applying a filter with a higher strength to the first two-dimensional data for coordinates that are further away from the coordinates corresponding to the position on the route.
21. An information processing system comprising at least one processor, wherein the processor is A race game is played in which a player object is advanced along a course set in a field within a virtual space, the course including at least a route from a first point to a second point in the field. During the racing game, The player object is moved and controlled based on the input. Based on two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of the virtual space within a predetermined range including at least the aforementioned route, in which a first value is recorded at the coordinate corresponding to the first point and a second value is recorded at the coordinate corresponding to the second point, and a determination parameter indicating the degree of progress from the first point to the second point is recorded for each coordinate, An information processing system that performs a first determination based on the value of the determination parameter in the coordinates of the two-dimensional determination data corresponding to the position of the player object in the virtual space.
22. An information processing system comprising at least one processor, wherein the processor is A course used in a racing game set in a field within a virtual space, based on a course that includes at least a route from a first point to a second point in the field, Two-dimensional data corresponding to two-dimensional coordinates in the horizontal direction of the virtual space within a predetermined range including at least the aforementioned route, wherein determination parameters indicating the degree of progress from the first point to the second point are recorded for each coordinate in the determination two-dimensional data, A first value is set for the determination parameter at the coordinates corresponding to the first point, and a second value is set for the determination parameter at the coordinates corresponding to the second point. A value is set for the determination parameter at each coordinate corresponding to the position on the aforementioned route, which changes from a first value to a second value along the route. An information processing system that generates data based on first two-dimensional data in which, for coordinates where the determination parameter is not set, a value is set based on the value of the determination parameter of the surrounding coordinates where the determination parameter is set.