Game program, information processing system, information processing method, and information processing device.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NINTENDO CO LTD
- Filing Date
- 2024-11-28
- Publication Date
- 2026-06-09
AI Technical Summary
Conventional racing games do not allow players to interact or play with other players during the period before the game starts.
The game program enables session participation processing for multiplayer sessions before the race start, allowing players to move their objects on a virtual field, receive and control other players' objects based on communication, and start the racing game when conditions are met, with features like different display modes and collision detection.
Players can move and interact with other players' objects before the race begins, enhancing pre-race engagement and allowing observation of ongoing races without interference.
Smart Images

Figure 2026093642000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a game program, an information processing system, an information processing method, and an information processing device capable of executing a racing game.
Background Art
[0002] Conventionally, there is a system that plays a racing game using a plurality of player objects (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] However, in the above conventional game, it was not possible to play a game with other players during the period until the racing game was started.
[0005] Therefore, an object of the present invention is to provide a game program, an information processing system, an information processing method, and an information processing device capable of playing a game with other players during the period until the racing game is started.
Means for Solving the Problems
[0006] To solve the above problems, the present invention employs the following configuration.
[0007] (First Configuration) The first configuration of the game program causes the computer to perform session participation processing, including starting or joining a multiplayer session, based on communication, for an online multiplayer competitive racing game until the race start conditions are met, to move player objects on a field in a virtual space based on operation input, transmit the position information of the player objects, to move other player objects on the field based on the position information of other players included in the multiplayer session being participated in, which is obtained based on communication, and to start the competitive racing game by the players included in the multiplayer session when the race start conditions are met. The above game program causes the computer to perform the competitive racing game during the competitive racing game, based on operation input, to move the player objects on a course corresponding to the competitive racing game from among multiple types of courses set at each location on the field, transmit the position information of the player objects, and to control other player objects based on the position information of other players included in the multiplayer session being participated in, which is obtained based on communication.
[0008] According to the above, during the period before the competitive racing game starts, player objects can be moved along with other player objects on the field where the competitive racing game takes place.
[0009] (Second structure) In the second configuration, the race start condition in the first configuration may include the number of participants in the multiplayer session reaching a predetermined number. The game program may cause the computer to control the movement of the player object and the other player objects during the period until the race start condition is met, and to continue the session participation process until the number of participants in the multiplayer session reaches a predetermined number.
[0010] According to the above, during the period until the number of participants reaches a predetermined number, player objects can be moved on the field together with other player objects.
[0011] (The third structure) In the third configuration, in the first configuration described above, the multiplayer session may be a session in which the player can join a session that includes the other players who are in a race, through the session joining process. The race start condition may include at least the fact that the other players participating in the multiplayer session are not in a race.
[0012] As described above, other player objects during a race are controlled to move on the field based on their position information, so players who join the session can watch the race until it ends. (Fourth structure) In the fourth configuration, in the third configuration described above, the game program may cause the computer to set a different display mode for other player objects that are in a race compared to other player objects that are not in a race, during the period until the race start conditions are met.
[0013] According to the above, other player objects in a race and other player objects not in a race can be displayed in different ways, allowing the player to easily distinguish between them. (Fifth component) In the fifth configuration, in the fourth configuration described above, the different display mode may be made to have high transparency.
[0014] According to the above, it is possible to increase the transparency of other player objects during a race. (The sixth component) In the sixth configuration, in the fourth or fifth configuration, the different display mode may be the addition of a UI indicating that a race is in progress. The game program may further cause the computer to set a display mode for other player objects that are not in a race, during the period until the race start conditions are met, in which a UI indicating a predetermined state is added.
[0015] According to the above, the status of other player objects that are not currently in a race can be clearly displayed to the player. (The seventh component) In the seventh configuration, in any of the third to sixth configurations described above, the game program may further cause the computer to perform collision detection between other player objects that are not in a race and the player object, during the period until the race start conditions are met, without causing the computer to perform collision detection between the player object and other player objects that are in a race, and to perform collision processing based on said collision detection.
[0016] According to the above, a player can watch a race without interfering with it while another player is in progress. (The eighth component) In the eighth configuration, in any of the first to seventh configurations described above, the game program may cause the computer to draw the field in a display manner based on the currently set environment from among the multiple types of environments set for the virtual space, and when a player joins a multiplayer session through the session participation process, the program may cause the computer to change the environment of the virtual space to the environment set for the multiplayer session in which the player has joined.
[0017] According to the above, when joining a game session, the display can be changed to one that is appropriate for the environment set up for that game session. (The ninth component) In the ninth configuration, in any of the first to eighth configurations, the game program causes the computer to present a map UI including at least a UI showing the map of the field, a UI showing the position of at least the player object on the field, a UI showing the position of the other player object on the field, and a destination UI showing at least a plurality of set destination points on the field, in response to an instruction based on an operation input. In the map UI, when any of the destination UIs is specified based on an operation input, the position of the player object may be changed to the position on the field corresponding to the destination point, and movement control may be resumed from that position.
[0018] According to the above, the player object can be moved using the map UI.
[0019] Also, other configurations may be an information processing system that executes the above game, an information processing device, or an information processing method.
Effects of the Invention
[0020] According to the present invention, during the period until the start of the battle race game, the player object can be moved together with other player objects in the field where the battle race game is held.
Brief Description of the Drawings
[0021] [Figure 1] Figure showing an example of a game system [Figure 2] Block diagram showing an example of the internal configuration of the main body device [Figure 3] Figure showing an example of a field in the virtual space [Figure 4] Figure showing an example of the route RA1 set in the base area A1 [Figure 5] Figure showing an outline of the processing when the battle race game of the present embodiment is performed [Figure 6]A diagram showing an example of a game image displayed on the screen of game system 1a, specifically a diagram showing an example of a game image during free run. [Figure 7] This is a diagram showing an example of game images during free run, specifically before and after game system 1a joins game session GS. [Figure 8] This diagram shows an example of a game image when the map UI is activated after game system 1a has joined game session GS and player object PA is free-running. [Figure 9] This diagram shows how to specify a position on the field using a cursor in the map UI. [Figure 10] This diagram shows an example of a game image after a player object PA in free-running mode has moved to the location where a player object PC in a competitive racing game is located. [Figure 11] This image shows an example of a game screenshot when the player object PD reaches the goal and is free-running. [Figure 12] The following image shows an example of a game screenshot during a competitive racing game. [Figure 13] This figure shows an example of various data stored in game system 1a. [Figure 14] A flowchart illustrating an example of game processing for an online multiplayer racing game. [Figure 15] A flowchart showing an example of the participation process initiated in step S11. [Figure 16] A flowchart showing an example of the first free-run process in step S12. [Figure 17] A flowchart showing an example of map UI processing in step S27. [Figure 18] A flowchart showing an example of the second free-running process in step S13. [Figure 19] A flowchart showing an example of the processing for a competitive racing game in step S14. [Figure 20] A flowchart illustrating an example of server processing performed on a server. [Modes for carrying out the invention]
[0022] (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 a 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 section for user input, a plurality of directional buttons 30 including up, down, right, and left buttons, a plurality of buttons (A button, B button, X button, Y button, L button, R button, etc.), a left analog stick 31, and a right analog stick 35.
[0023] 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".
[0024] 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).
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.).
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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 (for example, a television).
[0035] (Game Overview) Next, an overview of the game executed in game system 1 will be described. The game program of this embodiment is capable of executing a competitive multiplayer game played by multiple players. Specifically, the multiplayer game of this embodiment is a competitive racing game in which multiple player objects, operated by multiple players, are moved on a field in a virtual space (game space). Player objects include, for example, characters and vehicle objects. Vehicle objects may be, for example, objects that travel on the ground such as cars or motorcycles, or objects that travel in the air such as airplanes. Note that player objects may consist only of characters, or only of vehicle objects.
[0036] First, let's explain the fields in the virtual space. Figure 3 shows an example of a field in the virtual space.
[0037] As shown in Figure 3, the field F in the virtual space has multiple base areas A (A1 to A13 in Figure 3). In Figure 3, each base area A is represented by a circle, and within each base area A, a route R is set. Route R is a type of terrain, an area that is easy for player objects to travel through. For example, route R is a road. In addition to route R, various other areas are set in the field. For example, areas of sand, grassland, and water are set. Areas other than route R (for example, areas of sand, grassland, and water) are areas that are difficult for player objects to travel through.
[0038] Figure 4 shows an example of route RA1 set in base area A1.
[0039] As shown in Figure 4, a route RA1 is provided in base area A1. Route RA1 is the area where player objects can move. When a competitive racing game is played by multiple player objects, for example, a course along route RA1 is set. When the competitive racing game starts, the multiple player objects move along route RA1 and complete a predetermined number of laps around route RA1 to reach the finish line. The competitive racing game ends when all player objects participating in the game reach the finish line.
[0040] Furthermore, as shown in Figure 3, Field F is provided with routes R (for example, routes R1 to R3) connecting each base area A. When a competitive racing game is played by multiple player objects, a course along route R1 may be set, for example. Hereafter, routes established within or between bases will be collectively referred to as "route R".
[0041] Figure 5 shows an overview of the process when the competitive racing game of this embodiment is played.
[0042] Multiple game systems 1 (main unit 2), each corresponding to a different player, are connected to a network (e.g., the Internet). For example, game system 1a corresponding to player A, game system 1b corresponding to player B, game system 1c corresponding to player C, and game system 1d corresponding to player D are all connected to the Internet. A server is also set up on the Internet. In addition to these, many other game systems 1 are connected to the Internet and participate in the competitive racing game.
[0043] As shown in Figure 5, for example, when player C instructs to participate in an online multiplayer racing game using game system 1c, game system 1c sends a participation request to the server to join or merge into the game session (1). Similarly, game system 1d also sends a participation request to the server (1). In response to these requests, the server performs a matching process to match multiple players (2). The server matches multiple players based, for example, on each player's game history, level (skill), etc.
[0044] The game system 1c, which has sent the participation request, allows the player object PC to move freely around the field based on the input of player C until the server has finished matching and the competitive racing game has started (3). Here, allowing the player object to move freely around the field is called "free run". During free run, the player object can move to any position on the field. For example, during free run, the player object PC can move along route RA1 set in base area A1. Also, during free run, the player object PC can move along route R1 connecting base area A1 and base area A2. Furthermore, during free run, the player object PC can move in an area different from route R. Game system 1d similarly allows the player object PC to move freely around the field based on the input of player D until the competitive racing game has started (3).
[0045] When a match is made during the matching process, the server generates a game session GS and sends a notification to each player's game system 1 indicating that the match has been made (4). For example, the server generates a game session GS when the number of players who meet the conditions reaches a predetermined number (e.g., 2 or more). Here, suppose the server has matched player C and player D. Specifically, the server sends session data containing an ID that identifies the game session GS to game systems 1c and 1d. Game systems 1c and 1d receive the session data and establish communication with each other. As a result, game systems 1c and 1d start the game session GS (join the game session GS) (5). The server also simultaneously receives participation requests from multiple other game systems 1, matches multiple other players, and generates game sessions separate from the game session GS. The server manages multiple game sessions simultaneously.
[0046] When game systems 1c and 1d join a game session GS, they communicate with each other and exchange information about each player object PC and PD (for example, information about position, orientation, direction of movement, speed, etc.).
[0047] After game systems 1c and 1d join game session GS, free running will be conducted by each player object PC and PD until the competitive racing game begins.
[0048] Specifically, before joining the game session GS, game systems 1c and 1d each set up a virtual space for their respective players and allow only the player object corresponding to their player to move freely within the virtual space based on the player's input. During this time, game system 1 may also control non-player objects controlled by processor 21 within the virtual space, in addition to the player object. When game systems 1c and 1d join the game session GS, the player objects PC and PD are placed in the same virtual space and perform free-running. For example, if the player object PC and player object PD are located in the same place on the field, both the player object PC and player object PD will be displayed on the screen of game system 1c.
[0049] After a certain amount of time has passed since game systems 1c and 1d joined the game session GS, the free run by each player object PC and PD ends. For example, when the number of players who meet the conditions reaches a predetermined number and communication is established between a predetermined number of game systems 1, and the race start conditions are met, the free run by each player object ends. Alternatively, after a predetermined amount of time has passed since game systems 1c and 1d joined the game session GS, the race start conditions may be met and the free run may end. Then, a competitive race game between players C and D begins on one of the multiple courses set up on the field (6). In the competitive race game, player objects PC and PD move along the course based on the operations of players C and D, respectively. When player objects PC and PD reach the goal point set up on the course, the competitive race game on that course ends.
[0050] Here, if player A instructs to join the race game using game system 1a while players C and D are playing a competitive race game, game system 1a sends a participation request to the server (7). After sending the participation request, game system 1a performs a free run, allowing player object PA to move freely around the field based on player A's actions, until the server completes the matching process and the competitive race game begins (8).
[0051] Similarly, game system 1b also sends a participation request to the server based on player B's instructions. Until the server completes the matchmaking process and the competitive racing game begins, game system 1b performs a free run, allowing player object PB to move freely within the virtual space based on player B's actions.
[0052] Here, the server performs a matching process based on participation requests from game systems 1a and 1b, and as a result of the matching process, decides to have players A and B join game session GS in which players C and D are participating. In this case, the server notifies game systems 1a and 1b that the matching has been successful (9). Specifically, the server sends session data, including an ID that identifies game session GS in which players C and D are participating, to game systems 1a and 1b.
[0053] Then, game systems 1a and 1b join (participate in) the game session GS (10). Specifically, game systems 1a and 1b obtain an ID from the server that identifies the game session GS and establish communication between game systems 1a and 1d. As a result, game systems 1a and 1d join the same game session GS. From then on, game system 1a receives location information of player objects PB and PD from game systems 1b and 1d. Once game systems 1a and 1d join the game session GS, player objects PA and PD come to exist in the same virtual space. For example, if player object PA and player object PB are located in the same place on the field, player object PA and player object PB will be displayed on the screen of game system 1a. Also, if player object PA and player object PC are located in the same place on the field, player object PA and player object PC will be displayed on the screen of game system 1a.
[0054] After game systems 1a and 1b join game session GS, player objects PA and PB will run free until the next competitive racing game begins. For example, player A can move player object PA to a location where a competitive racing game is being played by player objects PC and PD. Even when player object PA moves to a location where a competitive racing game is being played by player objects PC and PD, player object PA will not participate in the competitive racing game played by player objects PC and PD, but will run free. This allows player A to have player object PA run alongside player objects PC and PD during the competitive racing game and watch the game.
[0055] When the competitive racing game between player objects PC and PD ends, the free run for player objects PA and PB ends. Then, the next competitive racing game between player objects PA to PD begins (11).
[0056] Next, we will describe an example of a game image displayed on the screen of game system 1a (display 12 or the screen of another display device) when a competitive racing game is played after a free run, as explained with reference to Figure 5.
[0057] Figure 6 shows an example of a game image displayed on the screen of game system 1a, and is an example of a game image during free run. In Figure 6, an example of a game image is shown after player A has instructed game system 1a to participate in an online multiplayer competitive racing game, but before game system 1a joins game session GS.
[0058] As shown in Figure 6, the screen displays the player object PA traveling along route R. The screen also displays text such as "Looking for members." When free running begins, the player object PA is placed in a predetermined location on the field. For example, the player object PA may be placed in a randomly determined location when free running begins, or in a location specified by player A. Player A can move the player object PA to any location on the field based on operations on the controller. For example, player A can move the player object PA along route RA1 within base area A1 set on the field. Player A can also move the player object PA in areas other than route R (grassland, sandy areas, water surfaces, etc.). Furthermore, player A can display the map UI described later, instantly move the player object PA to a location specified in the map UI, and have the player object PA travel in that location.
[0059] While the game image shown in Figure 6 is displayed, no other player objects corresponding to other players exist in the virtual space defined in game system 1a. However, non-player objects may be controlled to move within the virtual space during this time.
[0060] Figure 7 shows an example of a game image during free run, specifically before and after game system 1a joins game session GS.
[0061] As shown in the upper part of Figure 7, before game system 1a joins game session GS, player object PA is moving around a designated location on the field. The server performs a matching process, and if game system 1a joins game session GS as a result of the matching process, a game image like the one shown in the lower part of Figure 7 is displayed. For example, the screen displays the text "Joined". Even after game system 1a joins game session GS, player object PA continues to move around a designated location on the field.
[0062] Furthermore, the virtual space is configured with an environment that corresponds to the time of day. For example, the environments can be morning, noon, evening, and night. The display of the virtual space differs depending on the environment. When game system 1a joins a game session GS, the environment of the virtual space changes to the environment set for that game session GS, and the display of the virtual space changes. For example, if the time in game system 1a is noon, before joining the game session GS, the environment of the virtual space will also be noon, and a generally bright game image will be displayed (upper part of Figure 7). When game system 1a joins the game session GS, if the environment set for that game session GS is night, the game image will change to a generally darker one (lower part of Figure 7).
[0063] Furthermore, when the game system 1a joins the game session GS (i.e., when it changes from the upper diagram to the lower diagram in Figure 7), a transition image is displayed to switch the screen. For example, the transition image may be an image in which the game image in the upper diagram of Figure 7 fades out. Alternatively, such a transition image may not be displayed, and the screen may change abruptly from the upper diagram to the lower diagram in Figure 7. In other embodiments, the display mode of the virtual space does not need to change before and after joining the game session GS.
[0064] When game system 1a joins game session GS, in addition to player object PA, player objects PC and PD also exist in the virtual space. Similarly, when game system 1b joins game session GS, player object PB also exists in the same virtual space. In the lower diagram of Figure 7, only player object PA is displayed because there are no other player objects corresponding to other players around player object PA. If other player objects exist around player object PA, those other player objects will be displayed on the screen of game system 1a. For example, if player A drives player object PA to a location where player objects PC and PD exist, player objects PC and PD will be displayed on the screen of game system 1a. Furthermore, during free run as shown in Figure 7, player A can activate the map UI by performing a predetermined operation input and warp player object PA to a specified location in the map UI.
[0065] Figure 8 shows an example of a game image when the map UI is activated after game system 1a has joined game session GS and player object PA is free-running. Figure 9 shows how to specify a position on the field using a cursor in the map UI.
[0066] As shown in Figure 8, the map UI displays a map image representing at least a portion of field F. The map UI also displays an icon for player object PA, and the position of this icon indicates the current position of player object PA in the field. In Figure 8, the icon for player object PA is placed on route R1, which connects base area A1 and base area A2, indicating that player object PA is located on route R1. The map UI also displays icons for other player objects operated by other players. For example, in Figure 8, the icon for player object PC, operated by player C, is displayed near base area A2. Additionally, the icon for player object PD is superimposed on the icon for player object PC. This indicates that player object PC and player object PD are located within base area A2. The map UI also displays the icon for player object PB during free run. Furthermore, the map UI displays a cursor CR for player A to specify its position.
[0067] As shown in Figure 9, when Player A uses cursor CR in the map UI to select the icon of the player object PC during a competitive racing game, the words "In Race" and an "OK" button appear. If Player A presses the OK button (for example, the A button), the player object PA warps to the location where the player object PC is located.
[0068] Figure 10 shows an example of a game image after a player object PA in free run mode has moved to the location where a player object PC in a competitive racing game is located.
[0069] As shown in Figure 10, the screen of game system 1a displays player object PA, player object PC, and player object PD. If player object PB is located near player object PA, player object PB is also displayed. Here, player objects PC and PD are in a competitive racing game, while player object PB is in free run mode. During a competitive racing game, player objects PC and PD are displayed in a different manner than player object PA during free run mode. For example, during a competitive racing game, player objects PC and PD are displayed semi-transparently, while player object PA during free run mode is displayed opaquely (in its normal state). Similarly, player object PB during free run mode is also displayed opaquely, just like player object PA.
[0070] Player objects PC and PD move along route RA2 set within base area A2, based on the actions of players C and D, respectively. Specifically, game system 1a receives position information of player objects PC and PD from game systems 1c and 1d, and controls the movement of player objects PC and PD based on this position information. Furthermore, player objects PC and PD interact with each other during the competitive racing game. This interaction includes collisions between player objects and the influence of one player object on another player object due to an item used by the other player object.
[0071] For example, collision detection is performed based on the positions of the player object PC and the player object PD. If a collision is detected, the player object PC and the player object PD will behave accordingly. For example, if the player object PC and the player object PD collide, the player object PC and the player object PD may roll over, slow down, or temporarily stop. The behavior of the player object PC and the player object PD in response to the collision (rolling over, slowing down, stopping, etc.) is displayed on the screen of the game system 1a.
[0072] Furthermore, player objects PC and PD can acquire items by coming into contact with item acquisition objects placed in the virtual space during a competitive racing game, and use the acquired items to attack other player objects in the competitive racing game. For example, a player object PC can acquire an item and fire that item into the virtual space. If an item fired by a player object PC hits a player object PD, the player object PD will roll over, slow down, or temporarily stop. The game system 1a corresponding to a player object PA during free run does not share information about items owned by player objects PC and PD during a competitive racing game, or items fired by player objects PC and PD. Therefore, items owned by a player object PC and items fired by a player object PC are not displayed on the game system 1a screen. However, the behavior of a player object PD when an item fired by a player object PC hits that player object PD (rolling over, slowing down, stopping, etc.) is displayed on the game system 1a screen. Furthermore, the screen of game system 1a does not display objects that only appear during competitive racing games (for example, objects that define the course).
[0073] On the other hand, the screens of the game systems 1c and 1d, which correspond to the player objects PC and PD during the competitive racing game, display items owned by the player object PC and items fired by the player object PC, for example.
[0074] In other embodiments, information regarding items owned by a player object PC during a competitive racing game, or items fired by a player object PC, may also be shared with the game system 1a, and these items may be displayed on the screen of the game system 1a.
[0075] Player Object PA does not participate in the competitive racing game played by Player Objects PC and PD, but instead engages in free running. Player Object PA can, for example, run alongside Player Objects PC and PD, or run in the opposite direction. Player Object PA is invisible to Players C and D. That is, Player Object PA is not displayed on the screens of Game Systems 1c and 1d corresponding to Players C and D.
[0076] Furthermore, player objects PA during free run do not interact with player objects PC and PD during competitive racing games. For example, as shown in Figure 10, even if player object PA and player object PC overlap, they do not collide. Specifically, collision detection between player object PA and player objects PC and PD is not performed.
[0077] Additionally, player objects (PAs) can acquire items by coming into contact with item acquisition objects during free run. Player objects (PAs) can fire acquired items into the virtual space, but items fired by player objects (PAs) cannot hit player objects (PCs) or player objects (PDs). In other words, collision detection does not occur between items fired by player objects during free run and player objects during competitive racing games.
[0078] On the other hand, a player object PA in free-running mode interacts with another player object PB that is also free-running mode. Specifically, collision detection occurs between player object PA and player object PB. Collision detection also occurs between an item fired by one free-running player object and the other free-running player object. For example, if player object PA fires an item, that item may hit player object PB. In this case, player object PB may overturn, slow down, or temporarily stop.
[0079] Furthermore, as shown in Figure 10, a UI indicating that a competitive racing game is in progress is displayed near the player object PC. For example, the words "Race in Progress" may be displayed near the player object PC. The same applies to the player object PD. In addition, the words "Join the next race" are displayed on the screen of the game system 1a.
[0080] In addition to the state during a competitive racing game, player objects also have a spectator state. The spectator state is the state a player object is in after losing a competitive racing game. The player object is not participating in the subsequent competitive racing game played by another player, but is watching the game being played. The words "Spectating" are displayed near a player object in the spectator state. Player objects in the spectator state are displayed semi-transparently. Furthermore, player objects in free run mode (PA) and player objects in the spectator state do not interact with each other. Therefore, the spectator state can be considered a part of the state during a competitive racing game.
[0081] Additionally, player objects have a "shooting" state. In this state, the player is not participating in a competitive racing game but is taking screenshots of the game. The words "Shooting" are displayed near player objects in this state. Player objects in this state are displayed as opaque. Furthermore, player objects in free-run mode (PA) and player objects in the shooting state can interact. The "shooting" state is one of the states that can occur during free-run.
[0082] As time passes from the state shown in Figure 10, for example, the player object PD reaches the goal. When the player object PD reaches the goal, the player object PD transitions from the state of being in a competitive race game to the state of being in free run.
[0083] Figure 11 shows an example of a game image when the player object PD has reached the goal and is free running.
[0084] As shown in Figure 11, the player object PC is displayed semi-transparently because it has not yet reached the goal and is in the middle of a competitive racing game. On the other hand, the player object PD, which is free-running, is displayed opaquely. The player objects PA and PD interact with each other during free-running. For example, if the player object PA and the player object PD overlap, they will collide and behave accordingly. Also, for example, if an item fired by the player object PA is detected as colliding with the player object PD, the player object PD will behave accordingly.
[0085] After a certain amount of time has elapsed from the state shown in Figure 11, all player objects in the racing game reach the goal, and the racing game ends. Once a racing game ends, the conditions for starting the next racing game are met, and the next racing game begins.
[0086] Figure 12 shows an example of a game image during the following competitive racing game.
[0087] As shown in Figure 12, the following competitive racing game is played by multiple player objects, including player objects PA~PD. Player objects PA~PD are displayed opaquely (in their normal state) on the screen of game system 1a. During the competitive racing game, player objects PA~PD interact with each other. For example, collision detection is performed based on the positions of player object PA and player object PB, and if a collision is detected, player object PA will roll over, slow down, or temporarily stop. Also, during the competitive racing game, player object PA can acquire items by coming into contact with item acquisition objects placed in the virtual space. Player object PA can use the acquired items to attack other player objects PB~PD. For example, player object PA can fire item IM into the virtual space, and if the item IM hits, for example, player object PC, player object PC will roll over, slow down, or temporarily stop. Also, items fired by other player objects PB~PD may hit player object PA.
[0088] As described above, in the game of this embodiment, before the online multiplayer competitive racing game starts, players can freely move their player object around the field. Other players' player objects are moved around the field, controlled by other players. This allows players to move their player object together with other players before the racing game starts.
[0089] During free run mode, players can move their player object onto the course of a competitive racing game being played by other players, and race alongside the objects of other players participating in the game. This allows players to not only watch competitive racing games being played by other players, but also to virtually participate in those games.
[0090] In the above description, it was explained that a free run is performed before the competitive racing game starts, allowing the player object to move freely around the field. However, the player can select free run on the game selection screen and move the player object freely around the field at any time, not just before the competitive racing game starts. For example, when the execution of the game program of this embodiment starts, a game selection screen is displayed, and the player can select and play any of the multiple games on this game selection screen, including the online multiplayer competitive racing game, free run, single-player game, and offline multiplayer competitive racing game mentioned above.
[0091] (Details of game processing) Next, we will explain the details of game processing in game system 1. Here, we will explain using the example of when game system 1a joins a game session GS started by game systems 1c and 1d, as shown in Figure 5. First, we will explain the data stored in game system 1a.
[0092] Figure 13 shows an example of various data stored in the game system 1a. As shown in Figure 13, the memory of the game system 1a (for example, DRAM 27, a storage medium installed in slot 29, or flash memory 26) stores the game program, operation data, received data, player object data, other player object data, other object data, field data, course data, and session data.
[0093] The game program is a program for executing the game-related processes in this embodiment (processes shown in Figures 14 to 19, which will be described later). The game program is pre-stored in, for example, a storage medium or flash memory 26 installed in slot 29, and is loaded into DRAM 27 when the racing game is executed.
[0094] The operation data is data corresponding to the operations performed on controllers 3 and 4 of the game system 1a. The operation data is acquired from controllers 3 and 4 at predetermined time intervals.
[0095] The received data is data received from other game systems 1 participating in the game session GS. The received data is received from other game systems 1, for example, at predetermined time intervals. The received data includes data about each of the multiple other player objects. Specifically, the received data includes data about each other player object's position, orientation, direction of movement, speed, etc.
[0096] Player object data refers to data relating to a player object PA operated by player A. This data includes, for example, data describing the shape and appearance of the player object PA, as well as data indicating the player object PA's position, orientation, direction of movement, speed, etc. It also includes data relating to items held by the player object PA.
[0097] Other Player Object Data includes data about other player objects (PB, PC, PD, etc.) that are controlled by other players. Other Player Object Data includes data about each of multiple other player objects. Specifically, Other Player Object Data includes data representing the shape and appearance of each other player object, as well as data indicating the position, posture, direction of movement, speed, etc. of each other player object. In addition, Other Player Object Data includes data indicating the state of other player objects. The states of other player objects include being in a competitive racing game, being a spectator, being filmed, being in free run, etc. Furthermore, if a competitive racing game is being played between a player object PA and another player object, Other Player Object Data includes data about items held by the other player object.
[0098] Other object data refers to data about objects other than player objects placed in the virtual space (e.g., obstacle objects, non-player objects, items, etc.). This other object data includes data indicating the shape, appearance, position, orientation, direction of movement, speed, etc., of these objects.
[0099] Field data represents the entirety of Field F and includes data representing the terrain. The field contains objects representing various terrains such as roads, grasslands, and sandy areas. Field data includes data representing the type, shape, and appearance of the terrain. The speed at which player objects and other player objects travel differs depending on the type of terrain.
[0100] Course data is data that defines the course on which the competitive racing game takes place. For example, course data includes data that shows the entire route that player objects and other player objects will take from the starting point to the finish line. In this embodiment, multiple courses are prepared in advance, and course data corresponding to each course is stored in advance. The course data may be stored in advance on a storage medium or flash memory 26 installed in slot 29, or it may be obtained from a server via the internet, or it may be obtained from another main unit 2.
[0101] Session data is data related to the game session GS in which game system 1a is participating, and is received from the server. The session data includes an ID that identifies the game session GS.
[0102] In addition to the data shown in Figure 13, various other types of data are also stored in Game System 1.
[0103] (Game processing) Next, we will describe the game processing performed in game system 1a. Figure 14 is a flowchart showing an example of game processing for playing an online multiplayer competitive racing game. The game processing shown in Figure 14 is executed, for example, when a player selects an online multiplayer competitive racing game on the game selection screen. Here, we will explain using the example where game systems 1c and 1d are participating in game session GS, and a competitive racing game is being played by player objects PC and PD, and game systems 1a and 1b join game session GS.
[0104] In this embodiment, the processor 21 of the main unit 2 executes the game program using memory (e.g., DRAM 27) to perform the processing of each step shown in Figures 14 to 19. However, in other embodiments, some of the processing of each step may be performed by a processor other than the processor 21 (e.g., a dedicated circuit). Also, if the game system 1 can communicate with other information processing devices (e.g., a server that performs the matching processing, or a different server), some of the processing of each step may be performed by the other information processing device. Furthermore, the processing of each step is merely an example, and the processing order of each step may be changed, or other processing may be performed in addition to (or instead of) the processing of each step, as long as similar results can be obtained.
[0105] As shown in Figure 14, the processor 21 first sends a participation request to a server on the internet to join an online multiplayer racing game (step S10). The participation request includes information identifying the game system 1, information about the player, and information about the conditions for matchmaking. Now, the processing performed on the server will be described. Figure 20 is a flowchart showing an example of server processing performed on the server.
[0106] As shown in Figure 20, the server determines whether or not it has received a participation request from the game system 1 (step S201). If a participation request is received (step S201: YES), the server performs a matching process to match the players who sent the participation request (step S202). In the matching process, the server matches multiple players who meet the conditions based on the participation request. For example, if the server receives a participation request from a player who wishes to play against any player, it matches multiple players with similar game play history and levels. Also, if the server receives a participation request from a player who wishes to play against a player with a predetermined relationship (e.g., a friend relationship), it matches players with that predetermined relationship.
[0107] Next, the server determines, based on the results of the matching process, whether or not to allow the player who sent the participation request to join (start or join) the game session (step S203). For example, if a game session that meets the conditions already exists, the server decides to allow the player to join that game session. Alternatively, if no game session that meets the conditions exists, the server decides to start a new game session and allow the player to join that new game session. In step S203, the server may also further determine whether the number of players participating in the game session has reached a predetermined number.
[0108] If the answer in step S203 is YES, the server sends session data to the game system 1 that sent the participation request (step S204). Specifically, the server assigns a number or similar to each player participating in the game session and sends session data that includes an ID that identifies the game session and the number or similar. Note that the player numbers or similar used during the match may be set via P2P communication between the game systems after joining the session.
[0109] Returning to Figure 14, the processor 21 of the game system 1a sends a participation request and then starts the participation process (step S11). The participation process in step S11 is the process for joining (starting or joining) an online multiplayer game session. The participation process is executed in the background during the period until the competitive racing game process, which will be described later, starts (while the first free run process and the second free run process are being executed). The participation process will be explained below with reference to Figure 15. Figure 15 is a flowchart of an example of the participation process that starts in step S11.
[0110] (Participation process) As shown in Figure 15, the processor 21 determines whether or not it has received session data from the server, which includes an ID that identifies the game session GS (step S111). If the processor 21 has not received session data from the server, it executes the process in step S111 again. If the processor 21 has not received session data from the server even after a predetermined timeout period (e.g., 5 minutes) has elapsed since sending the participation request, it may terminate the participation process, indicating that the match was unsuccessful. In this case, the competitive racing game process described later may not be executed.
[0111] If session data is received (step S111: YES), the processor 21 stores the session data in memory (step S112). The session data includes an ID that identifies the game session GS. This ID is shared among the game systems 1 participating in the same game session GS. The processor 21 also stores the player number assigned to player A.
[0112] Next, the processor 21 performs communication establishment and information exchange processing (step S113). Here, the processor 21 performs processing to establish communication with other game systems 1 participating in game session GS based on the ID that identifies the game session GS received from the server. The processor 21 also exchanges information with the other game systems 1 with whom communication has been established, which is necessary for executing the competitive racing game processing described later. For example, the processor 21 transmits the position information of player objects PA to the other game system 1 and receives the position information of other player objects from the other game system 1.
[0113] Next, processor 21 determines whether or not to terminate the participation process (step S114). For example, processor 21 determines whether or not the race start conditions for starting the competitive racing game process are met. The race start conditions will be described later. If it determines NO in step S114, processor 21 executes the process in step S113 again.
[0114] If the result in step S114 is YES, the processor 21 terminates the participation process shown in Figure 15.
[0115] Returning to Figure 14, after the participation process has started, the processor 21 performs the first free-run process (step S12). The first free-run process is performed during the participation process described above. Specifically, the first free-run process is performed before the game system 1a joins the game session, and it is a process that allows the player object PA to move freely on the field. Details of the first free-run process in step S12 will be described later.
[0116] Once the first free run process is complete, the processor 21 performs the second free run process (step S13). The second free run process is performed before a competitive racing game with other players begins, and involves allowing the player object PA to move freely around the field. The second free run process is performed after the game system 1a has joined the game session, and follows the first free run process. Details of the second free run process in step S13 will be described later.
[0117] Once the second free-run process is complete, processor 21 executes the competitive racing game process (step S14). The competitive racing game process is for conducting a competitive racing game between player object PA and multiple other player objects. Details of the competitive racing game process in step S14 will be described later.
[0118] Once the processing in step S14 is completed, the processor 21 terminates the processing shown in Figure 14.
[0119] (First free run process) Next, we will describe the details of the first free-run process in step S12. Figure 16 is a flowchart showing an example of the first free-run process in step S12.
[0120] As shown in Figure 16, the processor 21 first sets up a virtual space and places the player object PA within the set up virtual space (step S20). For example, the processor 21 may place the player object PA at a random location on the field, or it may place the player object PA at a location on the field specified by the player.
[0121] Next, the processor 21 acquires operation data (step S21). The processor 21 repeatedly acquires operation data from controllers 3 and 4 connected to the main unit 2 at predetermined time intervals (for example, every 1 / 200 second) and stores it in memory. In step S21, the processor 21 acquires the operation data stored in memory.
[0122] Next, the processor 21 performs player object control processing (step S22). Here, the processor 21 updates the position, posture, direction of movement, speed, etc. of the player object PA based on the operation data. For example, if a predetermined button on the controller 4 (e.g., button A) is pressed, the processor 21 moves the player object PA forward by a predetermined distance and updates the position of the player object PA. The processor 21 also controls the direction of movement of the player object PA according to the input direction of the analog stick on the controller 3. The processor 21 also determines whether the player object PA has come into contact with an item acquisition object placed in the virtual space, and if contact is determined, causes the player object PA to acquire the item. Furthermore, if the player object PA is holding an item and a predetermined button on the controller is pressed, the processor 21 causes the player object PA to use the item. For example, the processor 21 causes the player object PA to fire the item. The processor 21 also causes the player object PA to start a predetermined action (e.g., a jump action) based on the operation data.
[0123] Next, processor 21 performs collision detection (step S23). Here, processor 21 performs collision detection between objects existing in the virtual space and processes accordingly. Specifically, processor 21 updates the position, orientation, direction of movement, speed, etc., of moving objects other than the player object PA (e.g., non-player objects, items, etc.). For example, processor 21 processes the item launched by player object PA in step S22 to move within the virtual space. Then, processor 21 determines whether or not objects have collided based on the position of each object. For example, processor 21 determines whether or not player object PA has collided with a wall object placed in the virtual space, and if a collision is determined, it changes the direction of movement of player object PA, slows it down, or pauses it. Also, processor 21 determines whether or not the item launched in the virtual space has collided with other objects, and if a collision has occurred, it processes accordingly.
[0124] Next, the processor 21 performs drawing processing (step S24). Here, the processor 21 generates a game image based on a virtual camera that moves in accordance with the player object PA. As a result, a game image corresponding to the processing in steps S21 to S23 is generated and displayed on the screen of the game system 1a.
[0125] Next, the processor 21 determines whether or not to launch the map UI based on the operation data (step S25). If an operation input to launch the map UI is made, the processor 21 determines YES in step S25.
[0126] If the result in step S25 is NO, or if the process in step S27 described later is executed, the processor 21 determines whether or not it has joined the game session (step S26). For example, if the processor 21 receives session data from the server during the above-mentioned participation process which is executed in the background, it may determine YES in step S26.
[0127] If the result in step S26 is NO, the processor 21 executes the process in step S21 again. The processor 21 repeatedly executes the processes in steps S21 to S26 at predetermined frame time intervals (for example, 1 / 60 second intervals). This displays the movement of the player object PA in the field in response to the player's actions.
[0128] If the result in step S26 is YES, the processor 21 performs a transition process (step S28). Here, the processor 21 places other player objects in the virtual space based on the position information of other player objects received in the participation process, and changes the display mode of the virtual space according to the virtual space environment set in the game session. Also, when changing the display mode of the virtual space, the processor 21 displays a transition image to switch screens. For example, the processor 21 fades out the currently displayed game image over a predetermined time and fades in the game image after the display mode has been changed over a predetermined time. Note that even if the display mode of the virtual space is changed in the transition process in step S28, the position, orientation, direction of movement, speed, etc. of the player object PA are maintained.
[0129] If the process in step S28 is executed, the processor 21 terminates the process shown in Figure 16.
[0130] On the other hand, if the result in step S25 is YES, the processor 21 performs map UI processing (step S27). The details of the map UI processing are described below.
[0131] (Map UI processing) Figure 17 is a flowchart showing an example of the map UI processing in step S27. As shown in Figure 17, the processor 21 first displays the map UI on the screen (step S31). The map UI displays a map image showing at least a portion of the field, an icon representing the player object PA, and a cursor CR for indicating the position.
[0132] Next, the processor 21 acquires operation data (step S32) and controls the cursor based on that operation data (step S33). Then, the processor 21 performs drawing processing (step S34). As a result, an image is generated and displayed that includes the map image, an icon representing the player object PA, and the cursor CR.
[0133] Next, the processor 21 determines whether or not a movement instruction to the specified position has been given (step S35). Specifically, the processor 21 determines whether or not a position on the map has been specified using the cursor CR and whether or not an operation input has been given to instruct movement to the specified position.
[0134] If no movement instruction is given (step S35: NO), the processor 21 repeats the process in step S32. The processor 21 repeatedly executes the processes in steps S32 to S35 at predetermined frame time intervals (for example, 1 / 60 second intervals). If the player gives a cancel instruction while the processes in steps S32 to S35 are being repeated, the processor 21 terminates the process shown in Figure 17. Also, if the race start conditions are met while the processes in steps S32 to S35 are being repeated, the processor 21 terminates the process shown in Figure 17. In this case, the processor 21 then performs the process in step S49, which will be described later.
[0135] If a move command is issued (step S35: YES), the processor 21 moves the player object PA to the position specified by the cursor CR (step S36). Then, the processor 21 terminates the process shown in Figure 17.
[0136] (Second free run processing) Next, we will describe the details of the second free-run process in step S13. Figure 18 is a flowchart of an example of the second free-run process in step S13.
[0137] As shown in Figure 18, the processor 21 acquires operation data (step S40). The process in step S40 is the same as the process in step S21 described above.
[0138] Next, the processor 21 performs data transmission and reception processing (step S41). Here, as data reception processing, the processor 21 acquires received data from other game systems 1 participating in the game session. For example, as received data, the processor 21 receives data from game systems 1c and 1d regarding the position, attitude, direction of movement, speed, etc., of other player objects PC and PD during a competitive racing game. The processor 21 also receives data from game system 1b regarding the position, attitude, direction of movement, speed, etc., of other player object PB during free run. The processor 21 also receives data from game system 1b regarding items owned by other player object PB and data indicating that other player object PB has used an item (for example, data indicating that an item was fired, data indicating the firing direction, data indicating the firing speed, etc.). The processor 21 also transmits data regarding the position, attitude, direction of movement, speed, etc., of player object PA to the game system 1b corresponding to other player object PB during free run. Furthermore, processor 21 transmits to game system 1b data regarding items owned by player object PA and data indicating that player object PA has used an item. Processor 21 does not transmit data regarding player object PA (position, attitude, direction of movement, speed, and data indicating that an item has been used) to game systems 1c and 1d corresponding to other player objects PC and PD during a competitive racing game. However, processor 21 may transmit data regarding player object PA to game systems 1c and 1d.
[0139] Next, the processor 21 performs player object control processing (step S42). The player object control processing in step S42 is the same as the player object control processing in step S22.
[0140] Next, the processor 21 performs control processing for other player objects based on the received data (step S43). Here, the processor 21 updates the position, attitude, direction of movement, speed, etc. of other player objects PC and PD during the competitive racing game based on the received data. The processor 21 also updates the position, attitude, direction of movement, speed, etc. of other player object PB during free run based on the received data. The processor 21 also causes other player object PB during free run to use an item based on the received data. For example, if the processor 21 receives data indicating that other player object PB has fired an item, it causes other player object PB to fire an item. The processor 21 also updates the position, attitude, direction of movement, speed, etc. of other player objects being watched based on the received data. The processor 21 also updates the position, attitude, direction of movement, speed, etc. of other player objects being filmed based on the received data.
[0141] Next, processor 21 performs collision detection processing (step S44). Here, processor 21 performs collision detection between objects existing in the virtual space and processes accordingly. The collision detection processing in step S44 is basically the same as the collision detection processing in step S23, but in step S44, the player object PA interacts with other player objects that are free-running. Specifically, processor 21 updates the position, orientation, direction of movement, speed, etc. of moving objects other than player object PA and other player objects (e.g., non-player objects, items, etc.). For example, if player object PA fires an item in step S42, processor 21 processes to move the item. Also, if player object PB fires an item in step S43, processor 21 processes to move the item. Then, processor 21 determines whether or not objects have collided based on the position of each object. For example, processor 21 performs collision detection between player object PA and other player object PB that is free-running, and if a collision is determined, processes accordingly. For example, processor 21 may, in response to a collision, cause player objects PA and PB to overturn, slow down, or temporarily stop. Processor 21 also performs collision detection between player object PA and an item fired by another player object PB. If a collision is detected, it causes player object PA to perform actions corresponding to the item collision. For example, processor 21 may, in response to an item collision, cause player object PA to overturn, slow down, or temporarily stop. Processor 21 also performs collision detection between player object PA and another player object PB. If a collision is detected, it causes the other player object PB to perform actions corresponding to the item collision. On the other hand, processor 21 does not perform collision detection between player object PA and other player objects PC and PD during a competitive racing game.Furthermore, processor 21 does not perform collision detection between the player object PA and other player objects being spectated. However, processor 21 does perform collision detection between the player object PA and other player objects being filmed.
[0142] Next, processor 21 performs drawing processing (step S45). Processor 21 generates a game image based on a virtual camera set behind the player object PA. Here, processor 21 generates a game image with other player objects PC and PD set to semi-transparent during a competitive racing game. Processor 21 also generates a game image with player object PA and other player object PB set to opaque during free run. Processor 21 also generates a game image with other player objects set to semi-transparent during spectating. Processor 21 also generates a game image with other player objects set to opaque during filming. Processor 21 also sets UI displays according to the state of other player objects. For example, processor 21 sets the text "Racing" as a UI display near other player objects PC and PD during a competitive racing game. Processor 21 also sets the text "Spectating" as a UI display near other player objects during spectating. Processor 21 also sets the text "Filming" as a UI display near other player objects during filming.
[0143] Next, the processor 21 determines whether or not to launch the map UI based on the operation data (step S46). If it is determined that the map UI should be launched (step S46: YES), the processor 21 performs the map UI processing (step S48). Since the processing in steps S46 and S48 is the same as the processing in steps S25 and S27, a detailed explanation is omitted. In the map UI processing in step S48, in addition to the icon of the player object PA, icons representing the other player objects PB to PD participating in the game session are displayed on the map image.
[0144] If it is not determined that the map UI should be launched (step S46: NO), the processor 21 determines whether or not to start a competitive racing game (step S47). For example, the processor 21 determines whether or not the race start conditions for starting a competitive racing game have been met. The race start conditions include, for example, the completion of a competitive racing game being played by players C and D. If a new game session has been started, the race start conditions may also include, for example, the elapsed time since the reception of session data. The race start conditions may also include the number of participants in the multiplayer session reaching a predetermined number (e.g., an upper limit, or a predetermined value smaller than the upper limit). The race start conditions may also include receiving information from the server or another game system 1 indicating the start of a racing game.
[0145] If it is determined that the competitive racing game will not be started (step S47: NO), the processor 21 executes the process in step S40 again. The processor 21 repeatedly executes the processes in steps S40 to S47 at predetermined frame time intervals (for example, 1 / 60 second intervals). As a result, the player object PA moves freely on the field based on the actions of player A, and the movement of player objects PB to PD is displayed.
[0146] Furthermore, while steps S40 to S47 are being repeated, the player may instruct the system to leave the game session they are currently participating in. If the player instructs the system to leave the game session, the processor 21 may terminate the second free-run process shown in Figure 18 and return to the first free-run process. In this case, the position of the player object PA may be maintained before and after leaving the game session. Also, while the player object is free-running after returning to the first free-run process, a join request may be sent to the server based on the player's input, allowing the player object to join another game session or to rejoin the same game session.
[0147] On the other hand, if it is determined that a competitive racing game should be started (step S47: YES), the processor 21 sets the course for the next competitive racing game (step S49). For example, the processor 21 determines the course for the next competitive racing game based on the selection made by players A to D who will participate in the next competitive racing game. The server may also determine the next course. The course for the next competitive racing game may be different from the course used in the competitive racing game played immediately before, as determined by players C and D. After setting the course for the next competitive racing game, the processor 21 terminates the process shown in Figure 18 and returns to the process shown in Figure 14. Then, the processor 21 executes the competitive racing game process using the set course.
[0148] (Competitive racing game processing) Next, we will describe the details of the competitive racing game processing. Figure 19 is a flowchart of an example of the competitive racing game processing in step S14.
[0149] As shown in Figure 19, the processor 21 performs the race game start process (step S50). Specifically, the processor 21 places multiple player objects participating in the competitive race game at the starting positions of the set course. Here, the processor 21 places player objects PA to PD at the starting positions. Then, after a predetermined time has elapsed, the processor 21 starts the competitive race game. During the competitive race game, the player objects PA to PD participating in the game are placed in the virtual space, while other player objects in free run, recording, or spectating are not placed in the virtual space.
[0150] When the competitive racing game starts, the processor 21 acquires operation data (step S51). The processing in step S51 is the same as the processing in step S21 above.
[0151] Next, the processor 21 performs data transmission and reception processing (step S52). Here, as data reception processing, the processor 21 acquires received data from game systems 1b to 1d corresponding to other player objects PB to PD in the competitive racing game. Specifically, game system 1a receives as received data data indicating the position, attitude, direction of movement, speed, etc., of other player objects PB to PD, as well as data regarding items owned by other player objects PB to PD and data indicating that other player objects PB to PD have used items (for example, data indicating that an item was fired, data indicating the firing direction, data indicating the firing speed, etc.). The processor 21 also transmits similar data regarding player object PA (position, attitude, direction of movement, speed, data indicating that an item was used, etc.) to game systems 1b to 1d as data transmission processing.
[0152] Next, the processor 21 performs player object control processing (step S53). The player object control processing in step S53 is the same as the player object control processing in step S42.
[0153] Next, the processor 21 performs control processing for other player objects (step S54). Here, the processor 21 updates the position, orientation, direction of movement, speed, etc., of the other player objects PB~PD during the competitive racing game based on the received data. The processor 21 also causes the other player objects PB~PD to use items based on the received data. For example, if the processor 21 receives data indicating that the other player object PB has fired an item, it causes the other player object PB to fire the item.
[0154] Next, processor 21 performs collision detection processing (step S55). Here, processor 21 performs collision detection between objects existing in the virtual space and processes accordingly. Specifically, processor 21 updates the position, orientation, direction of movement, speed, etc., of moving objects other than player objects PA~PD (e.g., non-player objects, items, etc.). For example, if player objects PA~PD fire an item, processor 21 processes the movement of that item. Then, processor 21 performs collision detection between each of player objects PA~PD and other objects. For example, processor 21 performs collision detection between player object PA and other player objects PB~PD, and if a collision is detected, processes accordingly. Also, processor 21 performs collision detection between an item fired into the virtual space by other player objects PB~PD and player object PA, and if a collision is detected, causes player object PA to perform behavior corresponding to the collision with that item.
[0155] Next, processor 21 performs drawing processing (step S56). Processor 21 generates a game image based on a virtual camera set behind player object PA. Here, processor 21 generates the game image by setting other player objects PB~PD in the competitive racing game to opaque (normal mode).
[0156] Next, the processor 21 determines whether or not the player object PA has reached the goal (step S57).
[0157] If the player object PA has not reached the goal (step S57: NO), the processor 21 repeats the process in step S51. The processor 21 repeatedly executes the processes in steps S51 to S57 at predetermined frame time intervals (e.g., 1 / 60 second intervals). This keeps the competitive racing game running.
[0158] If the player object PA reaches the goal (step S57: YES), the processor 21 determines whether or not to transition the player object PA to free run (step S58). For example, the processor 21 may determine whether or not to transition the player object PA to free run based on the player's input. If there is another race, the system may be configured to always transition to free run after reaching the goal, unless the player is instructed to leave the race and end the game.
[0159] If it is determined that the player should proceed to free run (step S58: YES), the processor 21 performs the second free run process (step S59). The second free run process in step S59 is as described with reference to Figure 18. The next course is set when the second free run process is completed. After the second free run process is completed, the processor 21 executes the process in step S50 again and starts the next competitive racing game. If it is determined that the player is YES in step S58, the processor 21 may perform the first free run process instead of the second free run process based on the player's input. In other words, after the competitive racing game is completed, the player may leave the game session and perform a free run by themselves.
[0160] Furthermore, after step S57, the second free run process in step S59 may be performed without performing the check in step S58. Also, before the player object PA reaches the goal, the race game may be terminated midway based on a predetermined input from the player, and the second free run process (or first free run process) in step S59 may be performed.
[0161] If it is determined that the player should not be switched to free run (step S58: NO), the processor 21 determines whether or not to switch to spectator mode (step S60). For example, the processor 21 determines whether or not to switch to spectator mode based on the player's input. Note that the transition to spectator mode may occur not only at the finish line, or in addition to at the finish line, such as when a player retires from the race midway through. For example, in a race mode where participants who are ranked lower than a certain standard when passing checkpoints retire, the processor 21 may determine whether or not to switch retired participants to spectator mode based on their input.
[0162] If the system is to switch to spectator mode (step S60: YES), the processor 21 sets the system to spectator mode (step S61). Then, the processor 21 executes the process in step S50 again to start the next race game.
[0163] If the system does not switch to spectator mode (step S60: NO), the processor 21 terminates the process shown in Figure 19.
[0164] As described above, in this embodiment, a second free-run process is performed during the period before the competitive racing game process is initiated. In the second free-run process, the game system 1 controls the movement of the player object corresponding to the player's vehicle on the field based on the player's input, and also acquires the position information of other player objects participating in the game session and controls those other player objects on the field. This allows the player to move their player object together with other player objects on the field where the competitive racing game is played, during the period before the competitive racing game is started. Furthermore, by having the player object participate in the game session and move on the field together with other player objects, and then starting a competitive racing game using the player object and other player objects when the race start conditions are met, a seamless competitive racing game can be played.
[0165] Furthermore, in this embodiment, the second free-run process is continuously performed in each game system 1 until a predetermined number of players gather and the game start conditions are met. Therefore, for a certain period of time, each player can move their corresponding player object on the field together with other player objects.
[0166] Furthermore, in this embodiment, while the player object is free-running, a join process is performed to join the game session, and the player object continues free-running even after joining the game session. This allows the player object to seamlessly join the game session while free-running. In addition, while participating in a game session and free-running, the player object can leave the game session and continue free-running.
[0167] Furthermore, in this embodiment, player objects in free run mode and player objects in competitive racing game mode are displayed in different ways. This allows players to easily recognize whether other player objects are in competitive racing game mode or free run mode.
[0168] Furthermore, in this embodiment, a player object in free run mode does not interact with other player objects in a competitive racing game. Conversely, a player object in free run mode does interact with other player objects in free run mode. Therefore, a player can watch a competitive racing game without interfering with it, while also enjoying games with other players during free run mode.
[0169] Furthermore, in this embodiment, the player can activate the map UI during free run and use the map UI to move their player object. The map UI displays a UI indicating other player objects. This allows the player object to be moved to a desired location even when the game is played in a vast field, for example, by moving the player object to a location where other player objects are located.
[0170] (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.
[0171] For example, in the above embodiment, the first free run process was performed before the second free run process was performed before the competitive racing game started. In other embodiments, the second free run process may be performed before the first free run process is performed before the competitive racing game starts. That is, the player object may be allowed to join the game session before the free run starts, and the competitive racing game may start when the race start conditions are met.
[0172] Furthermore, in the above embodiment, while a player object is free-running, information regarding the movement of other player objects that are free-running (such as position and speed information) as well as information regarding the items of those other player objects is acquired. Information regarding the items of other player objects includes information about the items owned by that player object and information about the items used by that player object (such as the position, direction of movement, and speed of the fired item). On the other hand, when a player object is free-running, only information regarding the movement of other player objects in a competitive racing game is acquired, and no information regarding the items of those other player objects is acquired.
[0173] In another embodiment, while a player object is free-running, information about other player objects in a competitive racing game may be obtained, in addition to information about the movement of those other player objects, as well as information about the items of those other player objects.
[0174] In other embodiments, while a player object is free-running, information regarding the movement of other player objects that are free-running may be obtained, but information regarding the items of those other player objects may not be obtained.
[0175] Furthermore, in the above embodiment, a player object in free-running mode interacts with other player objects in free-running mode. In other embodiments, a player object in free-running mode does not need to interact with other player objects in free-running mode.
[0176] Furthermore, in the above embodiment, the game systems 1 participating in the game session establish communication with each other and directly exchange information about player objects (position, orientation, speed, etc.) among the game systems 1. That is, free run and competitive racing games with other players are conducted based on P2P communication between the game systems. In other embodiments, the game systems 1 participating in the game session may exchange information about player objects via a server.
[0177] Furthermore, in the above embodiment, the game system 1 controls the movement of the player objects. In other embodiments, the server may control the movement of the player objects. That is, the server controls the movement of each player object, and the position information of each player object is transmitted to each game system 1, and the player objects are displayed in each game system 1.
[0178] Furthermore, the above-described process may be performed not only in game system 1, but also in any other information processing device or information processing system. The information processing system may consist of multiple devices, and these multiple devices may be connected via a network (for example, a LAN or the Internet).
[0179] 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]
[0180] 1. Game System 21 processors PA Player Object PB, PC, PD, and other player objects
Claims
1. On the computer, Regarding online multiplayer racing games, During the period until the race start conditions are met, Based on the communication, the system will initiate session participation processes, including starting or joining a multiplayer session. Based on the input, the player object is controlled to move on the field in the virtual space. The player object's position information is transmitted, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the system controls the movement of other player objects on the field. When the race start conditions are met, the competitive racing game is started by the players included in the multiplayer session. During the aforementioned competitive racing game, Among the multiple types of courses set at each location on the aforementioned field, within the course corresponding to the competitive racing game, Based on the operation input, the player object is moved and controlled. The player object's position information is transmitted, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the other player objects are controlled. A game program that allows the aforementioned competitive racing game to be played.
2. The race start conditions include the number of participants in the multiplayer session reaching a predetermined number. To the aforementioned computer, During the period until the aforementioned race start conditions are met, This controls the movement of the aforementioned player object and the other player objects, The game program according to claim 1, which continues to perform the session participation process until the number of participants in the multiplayer session reaches a predetermined number.
3. The aforementioned multiplayer session is a session in which, through the session participation process, it is possible to join a session that includes the other players in a race, The game program according to claim 1, wherein the race start condition includes at least the condition that no other players participating in the multiplayer session are in a race.
4. To the aforementioned computer, During the period until the aforementioned race start conditions are met, The game program according to claim 3, which causes the other player object in a race to be displayed in a different manner than the other player object that is not in a race.
5. The game program according to claim 4, wherein the aforementioned different display mode is to increase transparency.
6. The aforementioned different display modes involve adding a UI that indicates the state of being in a race. The aforementioned computer further: During the period until the aforementioned race start conditions are met, The game program according to claim 4 or 5, which causes the program to set a display mode in which a UI indicating a predetermined state is added to the other player object that is not in the race, when the object is in a predetermined state.
7. The aforementioned computer further: During the period until the aforementioned race start conditions are met, Without performing collision detection between the aforementioned player object and other player objects during the race, The game program according to claim 3 or 4, which performs collision detection between the player object and other player objects that are not in a race, and performs collision processing based on said collision detection.
8. To the aforementioned computer, Among the multiple types of environments set for the virtual space, the field is rendered in a display mode based on the currently set environment. The game program according to any one of claims 1 to 3, wherein when a player joins a multiplayer session through the session joining process, the program changes the environment of the virtual space to the environment set in the multiplayer session in which the player has joined.
9. To the aforementioned computer, In response to instructions based on the operation input, the system displays a map UI that shows the field and includes at least a UI that shows the position of the player object on the field, a UI that shows the position of other player objects on the field, and a destination UI that shows at least multiple destination locations set on the field. In the aforementioned map UI, when any destination UI is specified based on the operation input, The game program according to any one of claims 1 to 3, wherein the position of the player object is changed to a position on the field corresponding to the destination point, and movement control is resumed from that position.
10. An information processing system comprising a processor, wherein the processor is Regarding online multiplayer racing games, During the period until the race start conditions are met, Based on the communication, the session participation process, including starting or joining a multiplayer session, is performed. Based on the input, the player object is controlled to move on the field in the virtual space. The position information of the aforementioned player object is transmitted, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the movement of other player objects on the field is controlled. When the race start conditions are met, the competitive racing game will be started by the players included in the multiplayer session. During the aforementioned competitive racing game, Among the multiple types of courses set at each location on the aforementioned field, within the course corresponding to the competitive racing game, Based on the operation input, the player object is moved and controlled. The position information of the aforementioned player object is transmitted, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the other player objects are controlled. An information processing system for playing the aforementioned competitive racing game.
11. The race start conditions include the number of participants in the multiplayer session reaching a predetermined number. The aforementioned processor, During the period until the aforementioned race start conditions are met, This controls the movement of the aforementioned player object and the other player objects, The information processing system according to claim 10, which continuously performs the session participation process until the number of participants in the multiplayer session reaches a predetermined number.
12. The aforementioned multiplayer session is a session in which, through the session participation process, it is possible to join a session that includes the other players in a race, The information processing system according to claim 10, wherein the race start condition includes at least the condition that no other players participating in the multiplayer session are in a race.
13. The aforementioned processor, During the period until the aforementioned race start conditions are met, The information processing system according to claim 12, which sets a different display mode for other player objects that are in a race compared to other player objects that are not in a race.
14. The information processing system according to claim 13, wherein the aforementioned different display mode is to increase transparency.
15. The aforementioned different display modes involve adding a UI that indicates the state of being in a race. The aforementioned processor further, During the period until the aforementioned race start conditions are met, The information processing system according to claim 13 or 14, which sets a display mode in which a UI indicating a predetermined state is added to the other player object that is not in the race.
16. The aforementioned processor further, During the period until the aforementioned race start conditions are met, Without performing collision detection between the aforementioned player object and other player objects during the race, The information processing system according to claim 12 or 13, which performs collision detection between the player object and other player objects that are not in a race, and performs collision processing based on said collision detection.
17. The aforementioned processor, Among the multiple types of environments set for the virtual space, the field is drawn in a display manner based on the currently set environment. The information processing system according to any one of claims 10 to 12, wherein when a user joins a multiplayer session through the session participation process, the environment of the virtual space is changed to the environment set in the multiplayer session in which the user has joined.
18. The aforementioned processor, In response to instructions based on the operation input, the system displays a map UI that shows the field and includes at least a UI that shows the position of the player object on the field, a UI that shows the position of other player objects on the field, and a destination UI that shows at least multiple destination locations set on the field. In the aforementioned map UI, when any destination UI is specified based on the operation input, The information processing system according to any one of claims 10 to 12, wherein the position of the player object is changed to a position on the field corresponding to the destination point, and movement control is resumed from that position.
19. An information processing method performed in an information processing system, Regarding online multiplayer racing games, During the period until the race start conditions are met, Based on communication, perform session participation processes, including starting or joining a multiplayer session. Based on user input, the player object is controlled to move on a field within a virtual space. Transmitting the position information of the aforementioned player object, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the movement of other player objects on the field is controlled. When the race start conditions are met, the players included in the multiplayer session will start the race game. During the aforementioned competitive racing game, Among the multiple types of courses set at each location on the aforementioned field, within the course corresponding to the competitive racing game, To control the movement of the player object based on the operation input, Transmitting the position information of the aforementioned player object, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the other player objects are controlled. An information processing method comprising causing the aforementioned competitive racing game to be played.
20. The race start conditions include the number of participants in the multiplayer session reaching a predetermined number. During the period until the aforementioned race start conditions are met, This controls the movement of the aforementioned player object and the other player objects, The information processing method according to claim 19, further comprising continuously performing the session participation process until the number of participants in the multiplayer session reaches a predetermined number.
21. The aforementioned multiplayer session is a session in which, through the session participation process, it is possible to join a session that includes the other players in a race, The information processing method according to claim 19, wherein the race start condition includes at least that no other players participating in the multiplayer session are in a race.
22. During the period until the aforementioned race start conditions are met, The information processing method according to claim 21, further comprising setting a different display mode for other player objects that are in a race compared to other player objects that are not in a race.
23. The information processing method according to claim 22, wherein the aforementioned different display mode is to increase transparency.
24. The aforementioned different display modes involve adding a UI that indicates the state of being in a race. During the period until the aforementioned race start conditions are met, The information processing method according to claim 22 or 23, further comprising setting a display mode in which a UI indicating a predetermined state is added to the other player object that is not in the race, when the object is in a predetermined state.
25. During the period until the aforementioned race start conditions are met, Without performing collision detection between the aforementioned player object and other player objects during the race, The information processing method according to claim 21 or 22, further comprising: determining a collision between the player object and another player object that is not in a race; and performing collision processing based on the collision determination.
26. Among the multiple types of environments set for the virtual space, the field is rendered in a display manner based on the currently set environment. The information processing method according to any one of claims 19 to 21, further comprising changing the environment of the virtual space to the environment set in the multiplayer session in which the participant joined, when the participant joins a multiplayer session through the session joining process.
27. In response to instructions based on the operation input, the system presents a map UI that shows a map of the field and includes at least a UI that shows the position of the player object on the field, a UI that shows the position of other player objects on the field, and a destination UI that shows at least multiple destination locations set on the field. In the aforementioned map UI, when any destination UI is specified based on the operation input, The information processing method according to any one of claims 19 to 21, comprising changing the position of the player object to a position on the field corresponding to the destination point, and resuming movement control from that position.
28. An information processing apparatus comprising a processor, wherein the processor is Regarding online multiplayer racing games, During the period until the race start conditions are met, Based on the communication, the session participation process, including starting or joining a multiplayer session, is performed. Based on the input, the player object is controlled to move on the field in the virtual space. The position information of the aforementioned player object is transmitted, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the movement of other player objects on the field is controlled. When the race start conditions are met, the competitive racing game will be started by the players included in the multiplayer session. During the aforementioned competitive racing game, Among the multiple types of courses set at each location on the aforementioned field, within the course corresponding to the competitive racing game, Based on the operation input, the player object is moved and controlled. The position information of the aforementioned player object is transmitted, Based on the location information of other players included in the ongoing multiplayer session, which is obtained through communication, the other player objects are controlled. An information processing device for playing the aforementioned competitive racing game.
29. The race start conditions include the number of participants in the multiplayer session reaching a predetermined number. The aforementioned processor, During the period until the aforementioned race start conditions are met, This controls the movement of the aforementioned player object and the other player objects, The information processing apparatus according to claim 28, which continuously performs the session participation process until the number of participants in the multiplayer session reaches a predetermined number.
30. The aforementioned multiplayer session is a session in which, through the session participation process, it is possible to join a session that includes the other players in a race, The information processing apparatus according to claim 28, wherein the race start condition includes at least the condition that no other players participating in the multiplayer session are in a race.
31. The aforementioned processor, During the period until the aforementioned race start conditions are met, The information processing apparatus according to claim 30, which sets a different display mode for other player objects that are in a race compared to other player objects that are not in a race.