Programs, information processing systems
The program improves player engagement by associating virtual objects with real-world positions, enabling interactive effects based on terminal movements, thereby enhancing the immersion and interest in the game.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- COLOPL
- Filing Date
- 2024-12-26
- Publication Date
- 2026-07-08
AI Technical Summary
Existing systems lack mechanisms to enhance player engagement and interest by integrating real-world movements with virtual space interactions.
A program that arranges multiple objects in a virtual space associated with real-world positions, allowing for interactions and effects based on the relationship between these objects when certain conditions are met, such as the terminal's position aligning with specific locations.
Enhances player engagement by creating immersive experiences that leverage real-world movements to trigger in-game effects and interactions.
Smart Images

Figure 2026114661000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a program and an information processing system.
Background Art
[0002] Conventionally, a system that reflects the position of a terminal operated by a player in the real space in a virtual space is known. Some such systems perform various processes according to the movement of the terminal. For example, in Patent Document 1, when the terminal reaches the position in the real space corresponding to the destination set in the virtual space, a reward determined in consideration of the route to reach the destination is given to the player.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] It aims to improve the interest.
Means for Solving the Problems
[0005] A program according to an aspect of the present disclosure causes a computer to arrange a plurality of objects including a first object and a second object in a virtual space in association with positions in the real space, and when a predetermined condition including that the position in the virtual space corresponding to the position in the real space of the terminal operated by the player becomes a first position is satisfied, associate the first object and the second object, and when the first object and the second object are associated, cause an effect to be exerted according to the relationship between the first object and the second object.
Effects of the Invention
[0006] According to this disclosure, interest can be improved. [Brief explanation of the drawing]
[0007] [Figure 1] Figure 1 is a diagram illustrating the overview of the information processing system. [Figure 2] Figure 2 shows an example of the module configuration of a terminal. [Figure 3] Figure 3 shows an example of a server module configuration. [Figure 4] Figure 4 shows an example of information about user 11 stored by the server in Figure 3. [Figure 5] Figure 5 shows an example of screen transitions on the terminal shown in Figure 2. [Figure 6] Figure 6 shows an example of the preparation screen displayed on the terminal shown in Figure 2. [Figure 7] Figure 7 shows an example of the matching screen displayed on the terminal shown in Figure 2. [Figure 8] Figure 8 shows an example of the event screen displayed on the terminal in Figure 2, as well as the virtual space where the event is held. [Figure 9] Figure 9 shows an example of the process flow for running a game. [Figure 10] Figure 10 shows an example of the process flow for executing the matching part. [Figure 11] Figure 11 shows an example of the processing flow for executing the event part. [Figure 12] Figure 12 shows an example of the matching process flow. [Figure 13] Figure 13 shows an example of the allocation criteria used when adjusting the users to be assigned to each team during the matching process. [Figure 14] Figure 14 shows an example of the flow of attack detection processing. [Figure 15] Figure 15 shows an example of the attack range of a user object set up in a virtual space. [Figure 16] FIG. 16 is a diagram showing an example of the flow of the base suppression process. [Figure 17] FIG. 17 is a diagram showing an example of the first range, the second range, and the third range in the virtual space. [Figure 18] FIG. 18 is a diagram showing an example of the flow of the effect exertion process. [Figure 19] FIG. 19 is a diagram showing an example of the effects exerted within the effect range of the base. [Figure 20] FIG. 20 is a diagram showing an example of the flow of the movement process. [Figure 21] FIG. 21 is a diagram showing an example of the movement directions of the main object and the sub-object. [Figure 22] FIG. 22(a) is a diagram showing the terrain information around the current position of a specific user, and FIG. 22(b) is a diagram showing an example of the virtual space in which the user object corresponding to the specific user is arranged. [Figure 23] FIG. 2 is a diagram showing an example of a specific event screen displayed on the terminal of a specific user. [Figure 24] FIG. 24 is a diagram showing an example of the flow of the attack determination process in the modification example.
Mode for Carrying Out the Invention
[0008] The information processing system according to the present disclosure will be described with reference to the drawings. [Outline of the System] It should be noted that in the translation of the text of FIG. 22(b), there may be an error in the original text you provided. It is assumed that the correct figure number should be FIG. 22(b) instead of FIG. 2 in the translation. You can check and correct it according to the actual situation.As shown in FIG. 1, the information processing system 10 includes a network 20, a plurality of terminals 100, and one or more servers 200. The information processing system 10 is provided as a home system or as a business system. Each terminal 100 is configured to communicate with the server 200 via the network 20. As an example, the information processing system 10 is configured as a game system that provides games to the users 11 of each terminal 100. In the following description, when simply referred to as "game", it means the game provided by the information processing system 10. Each terminal 10 can be used as a game terminal. The terminal 100 as a game terminal provides the user 11 with a function of playing a game (hereinafter referred to as a game function). That is, the user 11 of each terminal 100 becomes a player of the game. Each terminal 100 is an example of a computer (information processing device). The server 200 is an example of a computer (information processing device).
[0009] [Network] As an example, the network 20 is composed of the Internet and a mobile communication system including a wireless base station. For example, the mobile communication system can be realized as a 3G, 4G, 5G mobile communication system, LTE (Long Term Evolution), or a wireless network connectable to the Internet by an access point.
[0010] [Hardware Configuration of Terminal] As an example, each terminal 100 is a smartphone. Each terminal 100 may be a mobile terminal device such as a feature phone, a PDA (Personal Digital Assistant), smart glasses, AR glasses, a wearable device, or a tablet computer.
[0011] For example, terminal 100 comprises a processor 110, memory 120, and storage 130. Terminal 100 may also include a communication interface 140 and an input / output interface 150. Terminal 100 may also include a microphone 160, a speaker 165, a posture sensor 170, a GNSS receiver 175, and a touchscreen 180. Each component of terminal 100 is connected to a communication bus 190.
[0012] The processor 110 executes a series of instructions contained in a program stored in the memory 120 or storage 130 in response to a signal given to the terminal 100, or in response to a predetermined condition being met. For example, the processor 110 can be implemented as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an MPU (Micro Processor Unit), an FPGA (Field-Programmable Gate Array), or other arithmetic unit.
[0013] Memory 120 temporarily stores programs and data. For example, programs are read from storage 130. Data includes data sent to terminal 100 and data generated by processor 110. For example, memory 120 can be implemented as RAM (Random Access Memory) or other volatile memory. Storage 130 permanently stores programs and data. For example, storage 130 can be implemented as ROM (Read-Only Memory), a hard disk drive, flash memory, or other non-volatile storage device. Storage 130 may also be implemented as a removable storage device, such as a memory card.
[0014] For example, storage 130 stores a game program and a communication program. For example, the game program implements game functions. The game program provides an environment for user 11 to play the game. The communication program implements functions for communicating with other computers. For example, the other computer is server 200. Storage 130 may also store an operating system, a simulation program, a user authentication program, and other programs.
[0015] For example, the data stored in storage 130 may include data for defining the virtual space, data defining various objects, and user information. The data for defining the virtual space may include map data. For example, map data is 3D data that includes information on the latitude, longitude, and altitude of the terrain and buildings in the real world. Various objects may include characters, equipment, and objects that make up screens for various games as electronic data. For example, user information may include user ID, username, gender, age, and address. User information may include in-game currency, in-game items, data that stores the game's progress (save data), and various rewards held by user 11.
[0016] The communication interface 140 is connected to the network 20. The communication interface 140 communicates with other computers connected to the network 20. For example, the communication interface 140 can be implemented as a LAN (Local Area Network) or another wired communication interface. For example, the communication interface 140 can be implemented as Wi-Fi®, Bluetooth®, NFC (Near Field Communication), or another wireless communication interface. The communication interface 140 is not limited to those described above.
[0017] The input / output interface 150 communicates with an external input device 300. For example, the input / output interface 150 can be implemented as USB (Universal Serial Bus), DVI (Digital Visual Interface), HDMI® (High-Definition Multimedia Interface), or other wired communication interfaces. For example, the input / output interface 150 can be implemented as Bluetooth® or other wireless communication interfaces.
[0018] For example, the input device 300 is a controller. The controller has one or more operating components. For example, one or more operating components may include buttons, keys, switches, handles, bars, touchpads, or sticks. The controller transmits output values to the terminal 100 based on the user 11's operation of the operating components. For example, the controller may include motion sensors such as an accelerometer and an angular velocity sensor. The controller may be configured to transmit output values from the motion sensors to the terminal 100. The controller may be attachable to and detachable from the terminal 100.
[0019] The input device 300 is not limited to those described above. For example, the input device 300 may be a camera. The camera may be configured to transmit images of the user 11 to the terminal 100. For example, the input device 300 may be a distance measuring sensor. The distance measuring sensor may be configured to transmit output values to the terminal 100 based on the detection of the user 11's hand or a marker, etc.
[0020] The microphone 160 converts the user 11's speech into an audio signal (electrical signal) and transmits it to the processor 110. The speaker 165 converts the audio signal back into sound and outputs it to the user 11. In addition to the speaker 165, the terminal 100 may also be equipped with earphones or an earphone jack for connecting earphones.
[0021] The attitude sensor 170 acquires orientation information regarding the orientation of the terminal 100. For example, the orientation information includes at least the tilt angle of the central axis of the terminal 100 with respect to the Earth's axis, and the rotation angle of the central axis of the terminal 100. For example, the attitude sensor 170 is composed of an accelerometer and a gyroscope.
[0022] The GNSS receiver 175 receives positioning information transmitted from multiple positioning satellites that constitute a GNSS (Global Navigation Satellite System), and acquires the location information of the terminal 100 based on the received positioning information. For example, the positioning information includes at least the position coordinates of the positioning satellites and the transmission time of the positioning information. Examples of GNSS include GPS (Global Positioning System), GLONASS, Galileo, and BeiDou. The GNSS receiver 175 may be configured to receive positioning information from augmentation satellites in a specific area. For example, the location information may be the latitude and longitude of the terminal 100. For example, the location information may also include the altitude of the terminal 100. For example, the GNSS receiver 175 may be used as a positioning device to acquire information for determining the location information of the terminal 100.
[0023] The positioning device is not limited to the configuration described above. For example, if the positioning device is an input / output interface 150, the processor 110 determines the current location of the terminal 100 based on signals transmitted from an external input device 300. For example, if the input device 300 is a camera, the processor 110 determines the current location of the terminal 100 by determining the shooting location based on the received captured image. The location information of the terminal 100 may also be corrected by detection results from an accelerometer, a gyroscope, and a magnetic sensor.
[0024] As an example, the touchscreen 180 includes a monitor 181 and a touch sensor 182. The monitor 181 can be implemented as a transmissive or non-transmissive display device. For example, the monitor 181 can be a liquid crystal monitor, an organic EL (Electro-Luminescence) monitor, or another display device. The monitor 181 displays various images. The images displayed on the monitor 181 include various objects such as backgrounds, characters, windows, buttons, menus, lists, and icons. The monitor 181 is not limited to those described above. For example, the monitor 181 may be a 3D monitor including a sub-monitor that displays an image for the left eye and a sub-monitor that displays an image for the right eye.
[0025] The touch sensor 182 transmits an output value to the processor 110 based on the user 11's operation on the monitor 181. For example, the touch sensor 182 can be implemented as a capacitive touch sensor, a resistive touch sensor, an ultrasonic touch sensor, or another type of touch sensor. The input surface of the touch sensor 182 is part or all of the display surface of the monitor 181. For example, the touch sensor 182 is used as an operating device configured to accept input operations from the user 11. For example, if the operating device is the touch sensor 182, the processor 110 accepts the user 11's physical contact operation with the input surface of the touch sensor 182 as the user 11's input operation. For example, the forms of input operations using the touch sensor 182 may include tapping, swiping, dragging, flicking, and other forms.
[0026] The operating device is not limited to the configuration described above. For example, if the operating device is a communication interface 140, the processor 110 accepts signals transmitted from an operating device (not shown) connected via the network 20 as input operations of the user 11. For example, if the operating device is an input / output interface 150, the processor 110 accepts signals transmitted from an external input device 300 as input operations of the user 11. For example, if the input device 300 is a camera and a distance sensor, when the processor 110 detects the user 11's hand from the received captured image, it accepts a gesture detected based on the captured image and output value as input operations of the user 11. For example, if the input device 300 is a controller, the processor 110 accepts an output value transmitted from the controller as input operations of the user 11.
[0027] [Server Hardware Configuration] The server 200 may be a workstation or a general-purpose computer such as a PC. The server 200 comprises a processor 210, memory 220, storage 230, a communication interface 240, and an input / output interface 250. Each component of the server 200 is connected to the communication bus 290.
[0028] The processor 210 executes a series of instructions contained in a program stored in memory 220 or storage 230 in response to signals given to server 200 or when predetermined conditions are met. For example, the processor 210 can be implemented as a CPU, GPU, MPU, FPGA, or other arithmetic unit.
[0029] Memory 220 temporarily stores programs and data. For example, programs are read from storage 230. For example, data includes data sent to server 200 and data generated by processor 210. For example, memory 220 can be implemented as RAM or other volatile memory.
[0030] The storage 230 permanently stores programs and data. For example, the storage 230 can be implemented as ROM, a hard disk drive, flash memory, or other non-volatile storage device. The storage 230 may also be implemented as a removable storage device, such as a memory card. The server 200 may use programs stored in an external storage device instead of the storage 230. For example, in a scenario where multiple information processing systems 10 are used, such as in an amusement facility, program and data updates can be performed collectively.
[0031] Storage 230 stores game programs and communication programs. For example, the game programs implement game functions. The communication programs implement functions for communicating with other computers. For example, the other computers are one or more terminals 100. Storage 230 may also store distribution programs, operating systems, simulation programs, user authentication programs, and other programs. For example, storage 230 stores data for defining virtual spaces, data defining objects, and user information.
[0032] The communication interface 240 is connected to the network 20. The communication interface 240 communicates with other computers connected to the network 20. For example, the communication interface 240 can be implemented as a LAN or other wired communication interface. For example, the communication interface 240 can be implemented as Wi-Fi®, Bluetooth®, NFC, or other wireless communication interface. The communication interface 240 is not limited to those described above.
[0033] The input / output interface 250 communicates with external input / output devices (not shown). For example, the input / output interface 250 can be implemented as a USB, DVI, HDMI, or other wired communication interface. For example, the input / output interface 250 can be implemented as Bluetooth® or other wireless communication interface.
[0034] [Device Features] As shown in Figure 2, the components of terminal 100 can be combined one or more to form functionally cohesive functional units (modules). For example, terminal 100 may include a game control unit 101, an attitude acquisition unit 102, a position acquisition unit 103, a display control unit 104, a storage unit 105, a communication unit 106, and an input / output unit 107. For example, the game control unit 101 and the display control unit 104 can be implemented by a processor 110. For example, the attitude acquisition unit 102 can be implemented by a processor 110 and an attitude sensor 170. For example, the position acquisition unit 103 can be implemented by a processor 110 and a GNSS receiver 175. For example, the storage unit 105 can be implemented by a memory 120 and a storage 130. For example, the communication unit 106 can be implemented by a communication interface 140. For example, the input / output unit 107 can be implemented by a processor 110, a touch sensor 182, and an input / output interface 150.
[0035] The input / output unit 107 detects user 11's input operations to the touch sensor 182 and user 11's input operations to external operating devices via the input / output interface 150. For example, the input / output unit 107 can identify the type of input operation based on the user 11's input operation to the touch sensor 182. For example, the types of input operations that the input / output unit 107 can identify may include tapping, swiping, dragging, flicking, and other types. Hereinafter, when user 11's fingers or the like touch the touch sensor 182, it will simply be referred to as "touch".
[0036] When a touch is initiated on the touch sensor 182, the input / output unit 107 identifies the coordinates of the touch position (hereinafter referred to as the "touch start position"). When the touch on the touch sensor 182 is interrupted, the input / output unit 107 identifies the coordinates of the last touch position (hereinafter referred to as the "touch end position"). While the touch on the touch sensor 182 is ongoing, the input / output unit 107 identifies the coordinates of the touch position at that time (hereinafter referred to as the "current touch position"). Based on the touch time from the start to the end of the touch and the change in the touch position, the input / output unit 107 identifies the type of input operation performed by the user 11.
[0037] The attitude acquisition unit 102 acquires orientation information of the terminal 100. For example, the orientation information includes at least the tilt angle of the terminal 100's central axis relative to the Earth's axis, and the rotation angle of the terminal 100 relative to its central axis. For example, the attitude acquisition unit 102 acquires orientation information at predetermined time intervals. For example, the predetermined time interval is 0.1 seconds. However, it is not limited to this, and the predetermined time interval may be less than 0.1 seconds or longer than 0.1 seconds. To improve the accuracy of the tilt angle and rotation angle, the attitude acquisition unit 102 may acquire orientation information in real time as much as possible. To avoid data load and pressure on the amount of data, the predetermined time interval for acquiring orientation information may be arbitrarily changed.
[0038] The position acquisition unit 103 acquires location information of the terminal 100. For example, the location information may be the latitude, longitude, and altitude of the terminal 100 as coordinate values. For example, the position acquisition unit 103 acquires location information at predetermined time intervals. For example, the predetermined time interval is 0.1 seconds. However, it is not limited to this, and the predetermined time interval may be less than 0.1 seconds or longer than 0.1 seconds. To improve the accuracy of the coordinate values, the position acquisition unit 103 may be made capable of acquiring location information in real time as much as possible. To avoid data load and pressure on the amount of data, the predetermined time interval for acquiring location information may be arbitrarily changed. In this specification, "location in real space" means the coordinate values of the terminal 100 that are identified as location information. For example, the location in real space is expressed by coordinate values on the Earth (surface) in the real world. However, it is not limited to this, and the location in real space may be a part of the Earth or outer space.
[0039] The communication unit 106 receives various types of information from one or more servers 200. For example, the information received by the communication unit 106 from the servers 200 may include game progress information and user information. Game progress information is information used to control the progress of the game. Game progress information may include various requests.
[0040] The communication unit 106 transmits various types of information to one or more servers 200. For example, the information that the communication unit 106 transmits to the servers 200 may include gameplay information and user information. Gameplay information is information that reflects the input operations of the user 11 in the progress of the game. Gameplay information is output according to the orientation information acquired by the attitude acquisition unit 102. Gameplay information is output according to the position information acquired by the position acquisition unit 103. Gameplay information is output according to the input operations received by the input / output unit 107. Gameplay information may include various requests.
[0041] The game control unit 101 identifies the user's instructions based on game progress information, the touch position received by the input / output unit 107, and the nature of the input operation. For example, the game control unit 101 can identify instructions for executing various processes based on game progress information, the touch position received by the input / output unit 107, and the nature of the input operation. For example, the game control unit 101 makes various decisions regarding the progress of the game. For example, the game control unit 101 makes various draws regarding the progress of the game.
[0042] The game control unit 101 generates gameplay information according to game progress information, user 11 instructions, various judgment results, and various lottery results. The gameplay information generated by the game control unit 101 is transmitted to the server 200 by the communication unit 106. For example, the processor 110, acting as the game control unit 101, can perform functions corresponding to the steps for receiving various information. For example, the processor 110, acting as the game control unit 101, can perform functions corresponding to the steps for transmitting various information. For example, the processor 110, acting as the game control unit 101, can perform functions corresponding to the steps for advancing the game.
[0043] The display control unit 104 controls the content displayed on the monitor 181. For example, the display control unit 104 creates an image to be displayed on the monitor 181. The display control unit 104 creates an image of the game screen according to the game progress information received via the communication unit 106. The display control unit 104 creates an image of the game screen according to the gameplay information generated by the game control unit 101. The display control unit 104 displays the image of the game screen on the monitor 181. The display control unit 104 may be configured to display the image of the game screen on an external display device via the input / output interface 150. The display control unit 104 may be configured to display the image of the game screen on an external display device via the communication interface 140.
[0044] The display control unit 104 controls and draws objects (hereinafter referred to as "UI objects") for constructing a user interface (hereinafter referred to as "UI") necessary for user 11's input operations. UI objects are information that assists user 11's input operations necessary to advance the game. For example, UI objects include icons, buttons, lists, windows, and menus. The various UI objects shown in this disclosure are merely examples and are not limited to their forms. As an example, the processor 110, as the display control unit 104, can perform functions corresponding to steps for controlling the display content of the monitor 181.
[0045] Each step in each terminal 100 can be implemented by hardware and software (programs) executed by the processor 110. The software may be pre-stored in the storage 130. The software may be stored on a computer-readable non-volatile data storage medium, such as a CD-ROM, and distributed as a program product. The software may be provided as a downloadable program product by an information provider connected to a network such as the Internet. The software is read from the data storage medium by a data reading device, or downloaded from another computer such as a server 200 via the communication interface 140, and then stored in the storage 130. The software is read from the storage 130 by the processor 110 and stored in the memory 120 in the form of an executable program. The processor 110 then executes the program.
[0046] [Server Functions] As shown in Figure 3, the components of the server 200 can be combined one or more to form functionally cohesive functional units (modules). For example, the server 200 may include a game control unit 201, a storage unit 205, a communication unit 206, and an input / output unit 207. The server 200 may also include a display control unit (not shown). The server 200 may also include a location information acquisition unit that acquires location information of the terminal 100. For example, the game control unit 201 can be implemented by a processor 210. For example, the storage unit 205 can be implemented by a memory 220 and a storage 230. For example, the communication unit 206 can be implemented by a communication interface 240. For example, the input / output unit 207 can be implemented by a processor 210 and an input / output interface 250.
[0047] The communication unit 206 receives various types of information from each terminal 100. For example, the information received by the communication unit 206 from each terminal 100 includes game play information and user information. The communication unit 206 also transmits various types of information to each terminal 100. For example, the information transmitted by the communication unit 206 to each terminal 100 includes game progress information and user information. The input / output unit 207 may detect and accept input operations from the user 11 to an external input device via the input / output interface 250.
[0048] The game control unit 201 defines the virtual space that serves as the game's setting. The game control unit 201 places various objects within the virtual space. These objects include field objects that constitute the virtual field. For example, field objects are placed based on map data. In other words, the game control unit 201 constructs the virtual space based on map data of the real world.
[0049] For example, in a virtual space, field objects corresponding to various types of information representing the terrain, buildings, etc., of the real world contained in the map data are placed. Therefore, a virtual field that can be recognized as a map corresponding to the real world is constructed in the virtual space by the field objects. Each position in the virtual field corresponds to a position in the real world.
[0050] Various objects include one or more user objects corresponding to user 11. For example, a user object is a player character (avatar). User objects are not limited to characters; they may also be symbols or icons. User objects are placed in the virtual space in relation to the real-world location of terminal 100. In other words, user objects represent information indicating the current location of user 11 who owns terminal 100. Various objects include base objects used in the game described later. Various objects include flag point objects used in the game described later. Various objects may also include computer objects as non-player characters that do not correspond to user 11.
[0051] For example, a virtual space is defined by two-dimensional coordinates. For example, a field object is placed in the virtual space corresponding to a two-dimensional region in the real world. For example, a user object, a base object, and a flag point object are placed in the virtual space associated with a point in the real world. That is, a user object, a base object, and a flag point object are defined as one-dimensional points in the virtual space.
[0052] For example, multiple base objects are placed at equal intervals in the virtual space. For example, base objects may be placed in association with locations corresponding to predetermined locations in the real world. For example, predetermined locations may be monuments, public facilities, shops, and scenic spots that exist in the real world.
[0053] For example, a flag point object is placed in association with one base object. For example, multiple flag point objects are placed for one base object. For example, the number of flag point objects placed for one base object is preferably odd. For example, multiple flag point objects are placed within a predetermined range from their corresponding base object. For example, the predetermined range is shorter than the distance from the corresponding base object to the nearest other base object. For example, the predetermined range is preferably shorter than half the distance from the corresponding base object to the nearest other base object.
[0054] For example, the virtual space may be defined using three-dimensional coordinates. In this case, field objects, user objects, base objects, and flag point objects may be positioned in the virtual space in correspondence with the three-dimensional space in the real world.
[0055] As will be explained in more detail later, in the game, in the virtual space (virtual field), a user object can capture a flag point object, and by capturing the flag point object, it can capture the base object corresponding to the captured flag point object. In the following explanation, the virtual space location of a user object may be simply referred to as "user location". In the following explanation, the placement location of a base object in the virtual space may be simply referred to as "base location". In the following explanation, the placement location of a flag point object in the virtual space may be simply referred to as "flag location". User location, base location, and flag location are all locations in the virtual space. In the following explanation, a base object may be simply referred to as "base". In the following explanation, a flag point object may be simply referred to as "flag point".
[0056] The game control unit 201 advances the game according to the gameplay information received by the communication unit 206 from the terminal 100. For example, the game control unit 201 makes various decisions regarding the progress of the game. For example, the game control unit 201 makes various draws regarding the progress of the game. The game control unit 201 generates game progress information according to the results of these processes. The game progress information is transmitted to the terminal 100 by the communication unit 206. For example, the processor 210, acting as the game control unit 201, can perform functions corresponding to the steps taken to receive various information. For example, the processor 210, acting as the game control unit 201, can perform functions corresponding to the steps taken to transmit various information. For example, the processor 210, acting as the game control unit 201, can perform functions corresponding to the steps taken to advance the game.
[0057] Each step in the server 200 can be implemented by hardware and software (programs) executed by the processor 210. The software may be pre-stored in the storage 230. The software may be stored on a computer-readable non-volatile data storage medium, such as a CD-ROM, and distributed as a program product. The software may be provided as a downloadable program product by an information provider connected to a network such as the Internet. The software is read from the data storage medium by a data reading device, or downloaded from another computer, such as an external storage device, via the communication interface 240, and then stored in the storage 230. The software is read from the storage 230 by the processor 210 and stored in the memory 220 in the form of an executable program. The processor 210 then executes the program.
[0058] [Game Overview] For example, the game related to this disclosure is a game that utilizes the location information of terminal 100. For example, in the game, events progress based on the location information of terminal 100. For example, the game includes an event part, a matching part, and a preparation part.
[0059] The event part is a section in which players move their user objects in a virtual space, battle other user objects, and capture flag points to control bases. For example, in the event part, multiple users 11 participate in the same event. For example, the event is held over a predetermined period of time. For example, in the event, multiple users 11 participating in the same event are divided into multiple teams, and the teams compete against each other over a predetermined period of time.
[0060] For example, in an event, multiple users 11 participating in the same event are assigned to either Team 1 or Team 2. One of Team 1 and Team 2 is an example of Team 1, and the other is an example of Team 2. For example, Team 1 and Team 2 are opposing teams in the event. In the following explanation, from the perspective of user 11 who possesses terminal 100, the team to which they are assigned is referred to as an "ally," and teams other than the team to which they are assigned are referred to as "enemies." For user 11 assigned to Team 1, Team 1 is an ally and Team 2 is an enemy team, and for user 11 assigned to Team 2, Team 2 is an ally and Team 1 is an enemy team. For example, the event involves one or more users 11 on the allied team cooperating to compete against one or more users 11 on the enemy team. For example, multiple users 11 may be assigned to three or more teams.
[0061] The matching part is the part that matches multiple users 11 who will be participating in the same event. In the matching part, the multiple users 11 participating in the event will be assigned to multiple teams. The preparation part is the part in which preparations for the event part are carried out. In the preparation part, preparations for the event part can be made whether or not you are participating in the event.
[0062] [Overview of the event part] This section will explain an example of the specific specifications for the event part. For example, a user object is placed in the virtual space, corresponding to the terminal's location. When terminal 100 moves in the real world, the user object moves in the virtual space by being placed in the location corresponding to the terminal's current location.
[0063] For example, in the event part, a battle takes place between multiple user objects. For example, in the event part, a real-time system is employed in which each user object operates according to the flow of time in the real world. For example, each user object has HP as a parameter value. For example, each user object becomes immobile when its HP reaches 0. For example, each user object's HP decreases when it is attacked by a user object corresponding to a user 11 that is assigned to a team other than the team to which the user 11 corresponding to that user object is assigned. In the following description, a user object corresponding to a user 11 assigned to a specific team will simply be referred to as "a user object belonging to a specific team". For example, in the event part, a battle may take place between multiple user objects and one or more computer objects controlled by the game control unit 201.
[0064] For example, in the event part, in the virtual space, the capture and release of the flag point becomes possible when the user's position and the flag's position have a predetermined relationship. This predetermined relationship may be that the user's position is within a predetermined range from the flag's position. However, it is not limited to this; the predetermined relationship may also be that the user's position and the flag's position coincide. In the real world, when terminal 100 reaches the real-world position corresponding to the flag's position, the capture and release of the flag point becomes possible. In the following explanation, the predetermined relationship between the user's position and the flag's position may simply be referred to as "the user object reaching the flag point."
[0065] For example, in the event part, capturing a flag point and then recapturing the base corresponding to that flag point is possible if the manner in which the flag point is captured meets certain conditions. For example, in the event part, capturing a specific base is possible by capturing all the flag points corresponding to that base. For example, in the event part, capturing a majority of the flag points corresponding to a specific base that is currently held by the enemy team is possible by capturing a majority of the flag points corresponding to that base.
[0066] The conditions for capturing and releasing a base are not limited to these. For example, the conditions for capturing a base may be to occupy a predetermined number of flag points corresponding to the base. For example, the conditions for capturing a base may be to occupy a majority of the flag points of all flag points corresponding to the base. For example, the conditions for releasing a base may be to occupy a predetermined number of flag points corresponding to a base that is controlled by the enemy team. For example, the conditions for capturing a base may be to occupy all flag points corresponding to a base that is controlled by the enemy team. For example, the conditions for capturing and releasing a base may be the same. For example, the conditions for capturing and releasing a base may be that the number of flag points occupied by the friendly team exceeds the number of flag points occupied by the enemy team among all flag points corresponding to the base.
[0067] The event part is designed so that user 11 moves through the real world while holding terminal 100, moving to a real-world location corresponding to the flag location placed in the virtual world. One of user 11's objectives in the event part is to capture the base by moving to the real-world location corresponding to the flag location while holding terminal 100 and occupying the flag point.
[0068] For example, a base may include the same number of base bases as the number of teams to which user 11 is assigned. For example, a base base is a base that is controlled by one of the teams to which user 11 is assigned at the start of the event. For example, the event may start with multiple teams each controlling one base base. For example, the event may start with all flag points corresponding to base bases occupied by the team controlling the base base corresponding to that flag point. For example, the event may start with multiple teams each controlling two or more base bases. For example, the event may start with base bases that are not controlled by any team.
[0069] For example, a base may include one or more auxiliary bases and one or more defensive bases. For example, auxiliary and defensive bases are bases that are not captured by any of the teams to which user 11 is assigned at the start of the event. For example, the event may start with all flag points corresponding to auxiliary or defensive bases not captured by any team. For example, the event may start with some auxiliary and defensive bases captured by any team.
[0070] For example, in the event part, multiple bases with a predetermined relationship can be linked by the same team capturing multiple bases with a predetermined relationship. For example, a predetermined relationship may be that the location of another base is within a predetermined range from the location of a predetermined base. For example, multiple linked bases constitute a base group. A base group includes other bases that are associated with one base that is included in the base group. A base group also includes bases that are indirectly associated through one or more other bases, such as bases that are associated with another base that is associated with one base that is included in the base group. Constituting a base group with multiple bases is one example of linking multiple bases.
[0071] For example, in the event part, effects are triggered depending on how the bases are captured. For instance, the manner in which bases are captured may include the number and types of captured bases, the number of bases included in a base group, the combination of base types included in a base group, and the distance between bases included in a base group. In the event part, effects are triggered within the effective range of the captured bases. The effects of capturing bases will be explained in more detail later.
[0072] The event part ends when the event termination conditions are met. For example, the event termination condition may be the end of a predetermined event period. If the event period ends, the winner of the event part may be determined based on the actions of each user object during the event period. For example, the event termination condition may be that the manner in which any team captures a base meets predetermined conditions. In this case, the team that meets the predetermined conditions may be considered the winning team of the event. For example, the predetermined conditions may be that the number of bases captured by any team exceeds a predetermined number, that any team captures all bases, or that any team captures a specific base. For example, the specific base may be a base base. For example, the event termination condition may be that all user objects belonging to the enemy team are rendered immobile. In this case, the team that renders all of the enemy team's user objects immobile may be considered the winning team of the event.
[0073] [Overview of the Matching Part] Let's describe an example of the specific specifications for the matching part. For example, user 11 waits until they are matched with other users 11 for a given event. User 11 may wait until they are matched with a predetermined number of users 11. The predetermined number may vary depending on the event. In the matching part, once the predetermined number of users 11 have been matched, the event part begins.
[0074] [Overview of the preparation phase] Here is an example of a specific specification for the preparation phase. For example, User 11 prepares for the event part. Preparing for the event part includes changing the settings of user objects used in the event part. For example, in the preparation part, it is possible to configure virtual items to be used in the event part. For example, a virtual item is a weapon used by a user object. A virtual item is not limited to this; it may also be an item that affects the appearance of a user object, or an item that grants a special skill to a user object.
[0075] [Data structure] As shown in Figure 4, the memory 220 and storage 230 in the server 200 store information about user 11 as a storage unit 205. As an example, the information about user 11 has the following data structure.
[0076] For example, each user ID is associated with various parameters (features) related to that user. For instance, parameters associated with a user ID may include rank, number of events participated in, number of wins in events, login time, current location, area of affiliation, average number of steps taken, and main travel range.
[0077] Rank is one of the indicators that shows the strength of user 11. Rank corresponds to strength information regarding user 11's skill level. For example, rank is information that is updated based on user 11's performance in past events.
[0078] The number of participations and the number of wins are indicators of user 11's proficiency in the game. These correspond to the number of times user 11 has played. For example, the number of participations indicates the number of times user 11 has participated in an event. The number of wins indicates the number of times user 11 has won an event.
[0079] Login time is one indicator that shows the time of day when user 11 primarily plays. Login time corresponds to time-based information regarding the time of day user 11 plays. For example, login time shows the times user 11 logged in during a certain period in the past.
[0080] The current location is information indicating the current location of the terminal 100 owned by user 11 in the real world. The area of origin is information indicating which of the pre-defined areas owned by user 11 is located in the real world. For example, the areas may be divided into 10 areas: Hokkaido, Tohoku, Northern Kanto, Southern Kanto, Chubu, Kinki, Chugoku, Shikoku, Kyushu, and Okinawa. In this case, the area of origin is information indicating which of the 10 areas user 11 is located in. The current location and area of origin correspond to information regarding user 11's location in the real world.
[0081] Average steps taken per day is information indicating the number of steps user 11 took per day over a certain period in the past. Main travel range is information indicating the range of movement user 11 took over a certain period in the past. Average steps taken per day and main travel range correspond to information regarding user 11's movement.
[0082] For example, rank, number of participations, number of wins, login time, current location, affiliated area, average number of steps traveled, and main travel area are all matching information referenced when matching with other users in the matchmaking process.
[0083] [Overview of screen transitions on each device] This section describes the overview of screen transitions on terminal 100. As shown in Figure 5, the monitor 181 of terminal 100 may display various screens depending on the game progress and the user's instructions. For example, these screens may include a preparation screen 40, a matching screen 50, and an event screen 60.
[0084] Preparation screen 40 is displayed during the preparation phase. Matching screen 50 is displayed during the matching phase. Event screen 60 is displayed during the event phase. [Overview of the preparation screen] As shown in Figure 6, in the preparation phase, the preparation screen 40 is displayed on the monitor 181 of terminal 100. The preparation screen 40 may include various objects. For example, the preparation screen 40 includes a first preparation display area 40a and a second preparation display area 40b. For example, the first preparation display area 40a displays a user object icon 401 indicating a user object corresponding to user 11. For example, multiple user object icons 401 may be displayed. For example, the first preparation display area 40a displays a weapon icon 402 indicating a virtual item set as a weapon used by the user object corresponding to each user object icon 401.
[0085] For example, the second preparation display area 40b displays owned weapon icons 411 indicating the weapons owned by user 11. For example, on the preparation screen 40, by performing a weapon setting operation on the owned weapon icons 411, the weapon corresponding to the operated owned weapon icon 411 can be set as the weapon used by the user object. For example, the weapon setting operation is performed by swiping the owned weapon icons 411 displayed in the second preparation display area 40b to the display area of the used weapon icons 402 in the first preparation display area 40a.
[0086] For example, on the preparation screen 40, the weapon can be deselected as a weapon by performing a weapon deselection operation on the weapon icon 402 that was operated on. For example, the weapon deselection operation is performed by swiping the weapon icon 402 displayed in the first preparation display area 40a to the second preparation display area 40b.
[0087] For example, on the preparation screen 40, by performing a weapon swap operation, it is possible to unset the weapon currently set as the weapon being used, and to set a weapon that is not currently set as the weapon being used. For example, the weapon swap operation is performed by swiping the weapon icon 402, which indicates the weapon to be swapped, and the owned weapon icon 411, from the part where one is displayed to the part where the other is displayed.
[0088] For example, the second preparation display area 40b displays a matching icon 421 and an event icon 422. For example, on the preparation screen 40, a matching request operation to start the matching part can be performed by tapping the area where the matching icon 421 is displayed. For example, on the preparation screen 40, an event start operation to start the event part can be performed by tapping the area where the event icon 422 is displayed. The matching request operation and the event start operation are examples of preparation end operations to end the preparation part. The matching request operation can be accepted when user 11 is not participating in the event. The event start operation can be accepted when user 11 is participating in the event.
[0089] [Overview of the Matching Screen] As shown in Figure 7, in the matching part, the matching screen 50 is displayed on the monitor 181 of terminal 100. The matching screen 50 may include various objects. For example, the matching screen 50 includes a matching display area 50a. For example, the matching display area 50a displays a matching waiting icon 51 to indicate that matching is pending. The matching display area 50a may also display a matching progress icon 52 to indicate the progress of matching. For example, the matching progress is the ratio of the number of matched users 11 to a predetermined number. For example, the matching progress may be the number of matched users 11 or the estimated time until the event starts.
[0090] [Overview of the event screen] As shown in Figure 8, during the event part, the event screen 60 is displayed on the monitor 181 of terminal 100. The event screen 60 may include various objects. For example, the event screen 60 includes a part of a virtual field 600 constructed in a virtual space. The event screen 60 includes a part of a field object 601 that constitutes the stage of the event.
[0091] For example, event screen 60 includes one or more user objects 610 placed in a virtual field 600 in a virtual space. For example, user objects 610 include a self object 611, an ally object 612, and an enemy object 613.
[0092] For example, event screen 60 includes its own object 611. The own object 611 is a user object 610 corresponding to user 11 who owns terminal 100. For example, the own object 611 includes a main object 611a and a sub-object 611b. The main object 611a is a user object 610 on which the location information of terminal 100 owned by user 11 is reflected in real time. The sub-object 611b is a user object 610 on which the location information of terminal 100 owned by user 11 is reflected with a certain delay. Therefore, the sub-object 611b moves in accordance with the main object 611a.
[0093] For example, event screen 60 includes an attack range indicator A1 that shows the attack range of the player's object 611. For example, on event screen 60, by tapping the area where the player's object 611 is displayed, it is possible to issue an attack command to attack an enemy object 613 located within the attack range of the player's object 611.
[0094] For example, event screen 60 may include an ally object 612. The ally object 612 is a user object 610 belonging to the ally team. For example, event screen 60 may include an enemy object 613. The enemy object 613 is a user object 610 belonging to the enemy team. For example, event screen 60 may include one or more computer objects placed in the virtual field 600 of the virtual space.
[0095] For example, event screen 60 may include base 620 as a base object placed in a virtual field 600 in a virtual space. For example, base 620 may include base base 621, auxiliary base 622, and defense base 623.
[0096] For example, event screen 60 may include a captured icon 630 indicating that base 620 has been captured. For example, the captured icon 630 may include an allied captured icon 631 and an enemy captured icon 632. Allied captured icon 631 is a captured icon 630 indicating that base 620 has been captured by the allied team. Enemy captured icon 632 is a captured icon 630 indicating that base 620 has been captured by the enemy team.
[0097] For example, event screen 60 may include an effect range indicator A2 that shows the effect range of base 620. For example, event screen 60 may include an association indicator A3 that shows that multiple bases 620 are associated with each other. Association indicator A3 can also be recognized as an indicator that multiple bases 620 belong to the same base group.
[0098] For example, event screen 60 may include flag point 640 as a flag point object placed in the virtual field 600 of the virtual space. Note that, for the sake of explanation, some of the flag points 640 are not shown in the diagram. For example, multiple flag points 640 corresponding to base 621 are all placed in a state where they are occupied by the team that controls base 621 at the start of the event.
[0099] For example, event screen 60 includes a preparation icon 650. For example, on event screen 60, tapping the area where the preparation icon 650 is displayed allows for a start of the preparation phase.
[0100] [An example of the process flow for starting a game] As shown in Figure 9, in step S100, when the game program is launched, the processor 110 of terminal 100 starts the game and sends a game start notification to the server 200 containing information that identifies the start of the game. For example, the game start notification includes the user ID assigned to the user 11 using terminal 100 as one of the user information items. In step S101, the processor 210 of server 200 receives the game start notification. For example, the processor 210 puts the game into a playable state based on the game start notification.
[0101] In step S102, the processor 110 of terminal 100 displays the preparation screen 40 on the monitor 181. For example, the processor 110 displays various objects on the monitor 181 as part of the preparation screen 40. In step S103, the processor 110 of terminal 100 executes the terminal-side main processing. For example, in step S103, the processor 110 of terminal 100 enables the preparation part to proceed. For example, the processor 110 sends and receives various information to and from the server 200 via the communication interface 140. For example, when the processor 110 receives an operation from user 11, it sends play information indicating the content of that operation to the server 200. For example, the operation content indicated by the play information may include weapon setting operations, weapon unequipping operations, and weapon swapping operations. The processor 110 controls the game based on the various information received from the server 200.
[0102] In step S104, the processor 210 of the server 200 executes the server-side main processing. The processor 210 sends and receives various information to and from the terminal 100 via the communication interface 240. The processor 210 controls the game based on the various information received from the terminal 100. For example, the processor 210 receives play information from the terminal 100. For example, the processor 210 sets the weapon to be used by a predetermined user object 610 by updating the weapon information corresponding to the user object 610 according to the play information.
[0103] Although not shown in the diagram, the processor 110 of terminal 100 displays the preparation screen 40 on the monitor 181 when a preparation start operation is performed on the event screen 60 to instruct the start of the preparation part (step S102). Subsequently, the processor 110 of terminal 100 and the processor 210 of server 200 perform a series of processes to advance the preparation part (steps S103, S104).
[0104] [An example of the process flow for advancing the matching part] As shown in Figure 10, in step S200, the processor 110 of terminal 100 receives a matching request operation that instructs the start of the matching part. The matching request operation is performed by tapping the part of the monitor 181 where the matching icon 421 is displayed.
[0105] In step S201, the processor 110 of terminal 100 starts the matching part when it receives a matching request operation. The processor 110 sends a matching request to the server 200 instructing it to start the matching part. For example, the matching request includes information that can identify the user ID corresponding to user 11. In step S202, the processor 210 of server 200 receives the matching request.
[0106] In step S203, the processor 210 of the server 200 performs a matching process to match multiple users 11. The matching process will be described in more detail later.
[0107] Once the matching process in step S203 is complete, in step S204, the processor 210 of the server 200 sends a matching completion notification to the terminal 100. In step S205, the processor 110 of the terminal 100 receives the matching completion notification. Subsequently, the processor 110 of the terminal 100 and the processor 210 of the server 200 complete the series of processes necessary to advance the matching part and move on to the series of processes necessary to advance the event part.
[0108] [An example of the process flow for advancing the event part] As shown in Figure 11, in step S300, the processor 210 of the server 200 sends an event start notification to the terminal 100 indicating the start of an event. In step S301, the processor 110 of the terminal 100 receives the event start notification. In step S302, the processor 110 displays the event screen 60 on the monitor 181. As an example, the processor 110 displays various objects on the monitor 181 as part of the event screen 60.
[0109] In step S303, the processor 110 of terminal 100 executes terminal-side event processing. In other words, the processor 110 enables the event part to proceed. For example, the processor 110 sends and receives various information to and from the server 200 via the communication interface 140. As an example, when the processor 110 receives an operation that instructs the user object 610 to take an action (hereinafter referred to as "action instruction operation"), it sends play information indicating the content of that operation to the server 200. The processor 110 controls the game based on the various information received from the server 200.
[0110] In step S304, the processor 210 of the server 200 executes server-side event processing. That is, the processor 210 enables the second part of the first game to proceed. For example, the processor 210 sends and receives various information to and from the terminal 100 via the communication interface 240. The processor 210 controls the game based on the various information received from the terminal 100. As an example, the processor 210 may receive play information from the terminal 100. The processor 210 manages the actions of the user object 610 according to the play information.
[0111] In step S305, when the termination condition of the event is met, the processor 210 of the server 200 terminates the event part and sends an event result notification indicating the result of the event part to the terminal 100.
[0112] In step S306, the processor 110 of terminal 100 receives an event result notification. In step S307, the processor 110 of terminal 100 displays the event result on the monitor 181 on the event screen 60. Subsequently, the processor 110 of terminal 100 displays the preparation screen 40 on the monitor 181 and completes the series of processes necessary to execute the event.
[0113] Although not shown in the diagram, the processor 110 of terminal 100 displays the event screen 60 on the monitor 181 when an event start operation is performed on the preparation screen 40 to instruct the start of the event part (step S302). Subsequently, the processor 110 of terminal 100 and the processor 210 of server 200 perform a series of processes to advance the event part (steps S303 to S307).
[0114] [Example of the matching process flow] As shown in Figure 12, in the matching process, the processor 210 of the server 200 uses a population of multiple users 11 waiting to be matched, and matches a predetermined number of users 11 from among the multiple users 11 included in the population. As an example, the processor 210 matches multiple users 11 for each predetermined area. In the following explanation, multiple users 11 waiting to be matched will be referred to as "waiting users 11," and the population consisting of multiple waiting users 11 will be referred to as the "waiting group."
[0115] The processor 210 performs matching processing for each pre-defined area. For example, the area classifications for matching processing match the classifications of the area to which the user belongs. That is, if the area to which the user belongs is divided into 10 areas: Hokkaido, Tohoku, Northern Kanto, Southern Kanto, Chubu, Kinki, Chugoku, Shikoku, Kyushu, and Okinawa, it is desirable that the areas to be matched also be divided into the same 10 areas. For example, the area classifications for matching processing do not necessarily have to match the classifications of the area to which the user belongs.
[0116] In step S400, the processor 210 determines whether user 11 (hereinafter referred to as "target user 11"), whose area of affiliation is the area targeted for this matching process (hereinafter referred to as "target area"), is included in the waiting group. If target user 11 is not included in the waiting group (step S400: NO), the processor 210 returns to the process of step S400 and waits until target user 11 is included in the waiting group. That is, the processor 210 waits until target user 11 is waiting for matching.
[0117] If the waiting group includes the target user 11 (step S400: YES), the processor 210 proceeds to step S401. In step S401, the processor 210 selects one user 11 from the target users 11. In step S402, the processor 210 assigns the selected user 11 to one of several teams.
[0118] Next, in step S403, the processor 210 identifies biases among the 11 users already assigned to each team (hereinafter referred to as "assigned users 11"). In step S403, the processor 210 obtains matching information for the assigned users 11. Based on this, the processor 210 identifies biases among the assigned users 11 with respect to parameters that can be identified from the matching information. As an example, the processor 210 identifies biases in rank, number of participations, number of wins, login time, current location, affiliated area, average number of steps moved, and main movement range.
[0119] In step S404, the processor 210 determines whether the target user 11 is included in the waiting group. If the target user 11 is included in the waiting group (step S404: YES), the processor 210 proceeds to step S405. In step S405, the processor 210 selects one user 11 from among the target users 11.
[0120] If the target user 11 is not included in the waiting group (step S404: NO), the processor 210 proceeds to step S406. In step S406, the processor 210 determines whether there is a specific area in an area other than the target area. For example, a specific area is an area where the number of waiting users 11 belonging to that specific area is less than a specific number. The specific number is a number less than a predetermined number. For example, the specific number may be less than half of the predetermined number. If there is no specific area (step S406: NO), the processor 210 returns to step S404. If there is a specific area (step S406: YES), the processor 210 proceeds to step S407. In step S407, the processor 210 selects one user 11 from among the users 11 whose belonging area is a specific area (hereinafter referred to as "specific user 11").
[0121] In steps S405 and S407, the processor 210 obtains matching information for multiple waiting users 11 included in the waiting group. Then, the processor 210 adjusts the user 11 to be specified based on the obtained matching information. For example, the processor 210 may match multiple users 11 with similar parameters by specifying a user 11 with similar parameters to a user 11 that has already been assigned.
[0122] For example, the processor 210 may be adjusted to specify users 11 whose distance from base station 621 is close to that of the assigned users 11. For example, the location where base station 621 is placed may be predetermined for each area where an event is held. That is, the processor 210 may match multiple users 11 whose location parameters are close. For example, the processor 210 may be adjusted to specify users 11 whose average number of steps moved is close to that of the assigned users 11. That is, the processor 210 may match multiple users 11 whose movement parameters are close.
[0123] When one user is selected from the target users 11 or specific users 11, in step S408, the processor 210 assigns the selected user 11 to one of several teams. In step S408, the processor 210 adjusts the team to which the selected user 11 is assigned based on the matching information of the selected user 11.
[0124] As shown in Figure 13, for example, the processor 210 may be adjusted so that the parameters of the users 11 belonging to each team are similar. That is, the processor 210 may be adjusted so that the parameters identified from the matching information of the users 11 assigned to each team are similar across multiple teams. For example, the processor 210 may be adjusted so that the average rank, average number of participations, average number of wins, average average number of steps moved, and average distance from the reference base 620 of the users 11 belonging to each team are similar. For example, the reference base 620 may be the base base 621.
[0125] For example, the processor 210 may be adjusted so that the parameters of the users 11 belonging to each team are evenly distributed. For example, the processor 210 may be adjusted so that the login time slots and main movement ranges of the users 11 belonging to each team are evenly distributed. For example, the processor 210 may divide the login time slots into multiple time slots and adjust so that one or more users 11 whose login time slots overlap are assigned to each team in all of the divided time slots. For example, the processor 210 may divide the target area into multiple areas and adjust so that one or more users 11 whose main movement ranges overlap are assigned to each team in all of the divided areas.
[0126] As shown in Figure 12, in step S409, the processor 210 determines whether the number of allocated users 11 has reached a predetermined number. If the number of allocated users 11 has not reached a predetermined number (step S409: NO), the processor 210 returns to the process in step S403. Thus, the processor 210 repeats the processes in steps S403 to S409 until the allocation of the predetermined number of users 11 is complete.
[0127] If the number of allocated users 11 reaches a predetermined number (step S409: YES), the processor 210 proceeds to step S410. In step S410, the processor 210 determines whether a specific user 11 is included among the allocated users 11. If a specific user 11 is included among the allocated users 11 (step S410: YES), in step S411, the processor 210 adjusts the position where the user object 610 corresponding to the specific user 11 is placed. In the following description, the user object 610 corresponding to a specific user 11 will be referred to as "specific user object 610". A specific user 11 corresponds to a player that satisfies conditions regarding location in real space. That is, for example, the condition regarding location in real space is that the user belongs to an area different from the area where the event is held.
[0128] For example, in step S411, the processor 210 determines a virtual space location for placing a specific user object 610 that is different from the virtual space location corresponding to the current location of a specific user 11. For example, the processor 210 may determine the location for placing the specific user object 610 based on the matching information of the assigned users 11, excluding the specific user 11. For example, the processor 210 may determine the location for placing the specific user object 610 such that the average distance from the reference base 620 is approximated among multiple teams. That is, the processor 210 may place the specific user object 610 in the virtual space according to the location of the reference base 620.
[0129] If the location for a specific user object 610 is determined, in step S412, the processor 210 places the user object 610 corresponding to the assigned user 11 in the virtual space. For example, for assigned users 11 other than the specific user 11, the processor 210 places the user object 610 in the virtual space corresponding to the current location of the assigned user 11. Similarly, if the specific user 11 is not included among the assigned users 11 (step S410: NO), in step S412, the processor 210 places the user object 610 corresponding to the assigned user 11 in the virtual space. After that, the processor 210 terminates the matching process.
[0130] Through this matching process, the processor 210 can make adjustments according to the matching information when matching multiple waiting users 11 included in the waiting group.
[0131] [Example of server-side event processing] For example, processor 210 performs various processes as server-side event processing, including attack determination processing, base capture processing, and effect activation processing. For example, attack determination processing is the processing related to attacks by user object 610. For example, base capture processing is the processing related to the occupation of flag point 640 and the capture of base 620. For example, effect activation processing is the processing that activates predetermined effects depending on the captured base 620. Furthermore, when the event termination condition is met, processor 210 performs win / loss determination processing as server-side event processing to determine the winner or loser of the event.
[0132] [An example of the attack detection process flow] When an attack command operation is performed on the event screen 60, the processor 110 of terminal 100 sends an attack command notification to the server 200 as play information. When the processor 210 of server 200 receives the attack command notification, it performs an attack determination process.
[0133] The attack detection process is an example of a process that sets a range of the virtual space as the range of influence and, if an object is included within the set range of influence, causes that object to be affected. In other words, the attack detection process is a process that sets an attack range as an example of a range of influence. Furthermore, the attack detection process is a process that attacks an enemy object 613, which is a user object 613 belonging to a different team than the attacking user object 610, if that enemy object 613 is included within the set attack range. For example, the attacked enemy object 613 will lose life. Attacking enemy object 613 is an example of affecting an object. For example, the effects on an object may include restoring the life of an allied object 612, improving the parameters of allied object 612, or decreasing the parameters of enemy object 613.
[0134] As shown in Figure 14, in step S500, the processor 210 of the server 200 acquires the location and orientation information of the terminal 100. In step S501, the processor 210 acquires weapon information used by the attacking user object 610. The weapon information is information that identifies the weapon used by the attacking user object 610. The weapon information corresponds to item information related to the virtual item used by user 11.
[0135] In step S502, the processor 210 sets a portion of the virtual space as the attack range. In the following description, when simply referred to as the attack range, it refers to the attack range of the user object 610 that performs the attack. As an example, the processor 210 sets a portion of the virtual space as the attack range according to the location information, orientation information, and weapon information of the terminal 100.
[0136] As shown in Figure 15, as an example, the processor 210 identifies the position P of the user object 610 performing the attack in virtual space based on its position in real space identified from the location information of the terminal 100. As an example, the processor 210 identifies the orientation D of the user object 610 performing the attack in virtual space based on the orientation of the terminal 100 identified from the orientation information of the terminal 100. As an example, the processor 210 identifies the attack distance r and attack angle θ of the user object 610 performing the attack, depending on the type of weapon identified from the weapon information. The processor 210 sets the attack range S in virtual space based on the position P, orientation D, attack distance r, and attack angle θ. When the attack range S is set in this way, the attack range S is a fan-shaped area centered on the position P of the user object 610 performing the attack. As an example, the attack range S does not have to be a fan-shaped area. As an example, the attack range S may be set regardless of the type of weapon identified from the weapon information. In this case, the attack range S may be set based on predetermined attack distance r and attack angle θ. For example, the shape of the attack range S may be changed depending on the type of weapon identified from the weapon information.
[0137] As shown in Figure 14, in step S503, the processor 210 determines whether an enemy object 613 exists within the attack range S. If no enemy object 613 exists within the attack range S (step S503: NO), the processor 210 terminates the attack determination process. If an enemy object 613 exists within the attack range S (step S503: YES), the processor 210 proceeds to step S504. In step S504, the processor 210 sets the enemy object 613 located closest to position P as the target of the attack. That is, if multiple enemy objects 613 are located within the attack range S, the processor 210 prioritizes influencing the enemy object 613 located closest to position P of the user object 610 performing the attack in the virtual space.
[0138] In step S505, the processor 210 acquires the position and orientation information of the terminal 100 corresponding to the enemy object 613 that has been set as the target of the attack. In step S506, the processor 210 determines whether the attack by the user object 610 performing the attack is coming from behind the enemy object 613 that has been set as the target of the attack. As an example, the processor 210 determines that the attack is coming from behind if the position P is within a predetermined angle θ1 range with respect to the direction RD which is opposite to the orientation D of the enemy object 613.
[0139] If the attack is not from behind (step S506: NO), the processor 210 proceeds to step S507. In step S507, the processor 210 calculates the normal damage amount. For example, the normal damage amount may differ depending on the type of weapon used by the attacking user object 610. If the attack is from behind (step S506: YES), the processor 210 proceeds to step S508. In step S508, the processor 210 calculates the bonus damage amount. For example, the bonus damage amount may be calculated by multiplying the normal damage amount by a constant (for example, 1.5 times). In this way, the processor 210 changes the amount of damage dealt to the enemy object 613 according to the position and orientation information of the terminal 100 corresponding to the attacking user object 610, and the position and orientation information of the terminal 100 corresponding to the enemy object 613. In other words, if the enemy object 613 is located within the attack range S of the attacking user object 610, the processor 210 changes its effect on the enemy object 613 according to the orientation information of the terminal 100 corresponding to the enemy object 613. In this case, the terminal 100 of user 11 corresponding to the attacking user object 610 corresponds to the third terminal, and the terminal 100 of user 11 corresponding to the enemy object 613 corresponds to the first terminal.
[0140] In step S509, the processor 210 updates the life of the enemy object 613 according to the amount of damage calculated in step S507 or step S508. After that, the processor 210 terminates the attack determination process.
[0141] Through this attack determination process, the processor 210 will affect the enemy object 613 if it is located within the attack range S of the attacking user object 610.
[0142] The processor 210 performs the attack determination process described above for each of the user objects 610 corresponding to the multiple users 11 participating in the event. Specifically, the processor 210 obtains the location information, orientation information, and weapon information of each user object 610 for each of the multiple users 11. Then, the processor 210 sets the attack range S for the user object 610 corresponding to each terminal 100 according to the obtained location information, orientation information, and weapon information. As an example, the processor 210 obtains various information corresponding to a first user 11, which is an arbitrary first user 11 among the multiple users 11 participating in the event. Specifically, the processor 210 obtains the location information, orientation information, and weapon information of the first terminal 100 owned by the first user 11, and the weapon information of the first user object 610 corresponding to the first terminal 100. Then, the processor 210 sets the attack range S for the first user object 610 according to the obtained location information, orientation information, and weapon information. Similarly, the processor 210 acquires various information corresponding to a second user 11, which is different from the first user 11 among the multiple users 11 participating in the event. Specifically, the processor 210 acquires the location information, orientation information, and weapon information of the second user object 610 that the second user 11 possesses. Then, the processor 210 sets the attack range S of the second user object 610 according to the acquired location information, orientation information, and weapon information. The attack range S of the first user object 610 is an example of the first influence range, and the attack range S of the second user object 610 is an example of the second influence range.
[0143] [An example of the process for capturing a base] The processor 110 of terminal 100 sends the location information of terminal 100 to the server 200 at predetermined intervals. When the processor 210 of server 200 receives the location information of terminal 100, it performs base capture processing. Capturing base 620 is an example of activating the first object. In other words, base capture processing is an example of processing that activates the first object. The processor 210 performs base capture processing for each of the multiple flag points 640 located in the virtual space.
[0144] As shown in Figure 16, in step S700, the processor 210 determines, based on the location information of the terminal 100, whether the user object 610 is located within a first range from the flag position of the flag point 640 that is the target of the base control process. In the following description, the flag point 640 that is the target of the base control process will be referred to as "target flag point 640," and the flag position of the target flag point 640 will be referred to as "target flag position." The first range is an example of a predetermined range.
[0145] As shown in Figure 17, for example, the first range S1 is a circular area with radius r1 centered on the flag position. For example, radius r1 may be shorter than half the distance to the nearest flag point 640. In other words, multiple flag points 640 should be arranged so that the first ranges S1 of each flag point 640 do not overlap. For example, the length of radius r1 may be the same for each flag point 640, or it may be different for each flag point 640.
[0146] As shown in Figure 16, in step S700, if the user's location is not within the first range S1 from the target flag location, the processor 210 determines that the user object 610 is not located within the first range S1 from the target flag location. In this case, the processor 210 terminates the base control process.
[0147] In step S700, the processor 210 determines that the user object 610 is staying within the first range S1 from the target flag location if the user's location is within the first range S1 from the target flag location. In this case, in step S701, the processor 210 determines whether the target flag point 640 is occupied by an allied team. A positive determination in step S700 is an example of a condition different from the predetermined conditions. That is, as an example, a condition different from the predetermined conditions includes the fact that the virtual space location corresponding to the real space location of terminal 100 is the first location. If the target flag point 640 is occupied by an allied team (step S701: YES), the processor 210 terminates the base capture process.
[0148] If the target flag point 640 is not occupied by an allied team (step S701: NO), the processor 210 proceeds to step S702. In step S702, the processor 210 begins counting the time required to capture the flag point 640. The time required to capture is an example of a predetermined time. For example, the time required to capture may be a fixed amount of time predetermined, or it may be a time that fluctuates depending on the progress of the event. For example, the progress of the event may include the number of captured bases 620, the types of captured bases 620, and the remaining time of the event.
[0149] Next, in step S703, the processor 210 determines whether the occupation time has elapsed. If the occupation time has not elapsed (step S703: NO), the processor 210 proceeds to step S704. In step S704, the processor 210 determines whether the user object 610 has moved outside the first range S1 from the target flag location. In step S704, if the user location is not included within the first range S1 from the target flag location, the processor 210 determines that the user object 610 has moved outside the first range S1 from the target flag location. In this case, the processor 210 terminates the base capture process.
[0150] In step S704, if the user's position is within the first range S1 from the target flag position, the processor 210 determines that the user object 610 has not left the first range S1 from the target flag position. In this case, the processor 210 returns to the processing in step S703. The processor 210 repeats the processing in steps S703 and S704 until the required occupancy time has elapsed or the user object 610 has left the first range S1 from the target flag position.
[0151] If the required time for occupation has elapsed (step S703: YES), the processor 210 proceeds to step S705. In step S705, the processor 210 sets the target flag point 640 as a flag point 640 occupied by the friendly team. That is, the processor 210 sets the target flag point 640 as a flag point 640 occupied by the team to which the user object 610 located within the first range S1 from the target flag position belongs. Therefore, if the user object 610 located within the first range S1 from the target flag position belongs to the first team, the processor 210 sets the target flag point 640 as a flag point 640 occupied by the first team. Also, if the user object 610 located within the first range S1 from the target flag position belongs to the second team, the processor 210 sets the target flag point 640 as a flag point 640 occupied by the second team. A positive determination in step S703 is an example of a predetermined time elapsed since the virtual space position corresponding to the real space position of terminal 100 became the first position.
[0152] Next, in step S706, the processor 210 determines whether all flag points 640 corresponding to the base 620 that corresponds to the target flag point 640 have been captured by the friendly team. In the following explanation, the base 620 that corresponds to the target flag point 640 will be referred to as the base 620 to be captured.
[0153] If all flag points 640 corresponding to the target base 620 are captured by the friendly team (step S706: YES), the processor 210 proceeds to step S707. In step S707, the processor 210 sets the target base 620 as a base captured by the friendly team. That is, the processor 210 sets the target base 620 as a base captured by the team that occupies the corresponding flag points 640. Therefore, if the team occupying the corresponding flag points 640 is Team 1, the processor 210 sets the target base 620 as a base captured by Team 1. Also, if the team occupying the corresponding flag points 640 is Team 2, the processor 210 sets the target base 620 as a base captured by Team 2.
[0154] Subsequently, in step S708, the processor 210 determines whether there is another base 620 (hereinafter referred to as "ally base 620 within range") that is captured by an allied team within a second range from the location of the base 620 to be captured. The second range is an example of a defined range, and the allied base 620 within range is an example of a second object.
[0155] As shown in Figure 17, for example, the second range S2 is a circular area with radius r2 centered on the base location. For example, radius r2 may be longer than radius r1 of the first range S1. For example, radius r2 is the length that includes one or more other bases 620 within the second range S2. In other words, multiple bases 620 may be arranged such that one or more other bases 620 are included within the second range S2 of each base 620. For example, the length of radius r2 may be the same for each base 620, or it may be different for each base 620. For example, the length of radius r2 may differ depending on the type of base 620.
[0156] As shown in Figure 16, if there are no friendly bases 620 within the second range S2 from the base location of the base 620 to be captured (step S708: NO), the processor 210 terminates the base capture process. If there are friendly bases 620 within the second range S2 from the base location of the base 620 to be captured (step S708: YES), the processor 210 proceeds to step S709. In step S709, the processor 210 associates the base 620 to be captured with the friendly bases 620 within the range. A positive determination in step S708 is an example of the fulfillment of a predetermined condition. That is, the predetermined condition includes the case where a condition different from the predetermined condition is fulfilled when there are friendly bases 620 within the range as an activated second object within the second range S2 from the virtual space location of the base 620 to be captured as a first object. After that, the processor 210 terminates the base capture process.
[0157] If at least one of the flag points 640 corresponding to the target base 620 is not occupied by the friendly team (step S706: NO), the processor 210 proceeds to step S710. In step S710, the processor 210 determines whether the target base 620 is occupied by the enemy team. If the target base 620 is not occupied by the enemy team (step S710: NO), the processor 210 terminates the base capture process.
[0158] If the target base 620 is captured by the enemy team (step S710: YES), the processor 210 proceeds to step S711. In step S711, the processor 210 determines whether more than half of the flag points 640 corresponding to the target base 620 are occupied by the friendly team. If more than half of the flag points 640 corresponding to the target base 620 are not occupied by the friendly team (step S711: NO), the processor 210 terminates the base capture process.
[0159] If more than half of the flag points 640 corresponding to the target base 620 are occupied by the friendly team (step S711: YES), processor 210 proceeds to step S712. In step S712, processor 210 releases the enemy team's capture of the target base 620. A positive result in step S711 is one example of the release condition being met.
[0160] Next, in step S713, the processor 210 determines whether there is another base 620 (hereinafter referred to as "enemy base 620 within range") that is controlled by the enemy team within the second range S2 from the base location of the base 620 to be controlled. That is, in step S713, the processor 210 determines whether there is an enemy base 620 within range that is associated with the base 620 to be controlled.
[0161] If there are no enemy bases 620 within the second range S2 from the location of the base 620 to be captured (step S713: NO), the processor 210 terminates the base capture process. If there are enemy bases 620 within the second range S2 from the location of the base 620 to be captured (step S713: YES), the processor 210 proceeds to step S714. In step S714, the processor 210 releases the association between the base 620 to be captured and the enemy bases 620 within range. That is, when the release condition is met for the base 620 to be captured, the processor 210 releases the association between the base 620 to be captured and the enemy bases 620 within range that are associated with that base 620. The base 620 to be captured is an example of a first object, and the enemy bases 620 within range are an example of a second object. After that, the processor 210 terminates the base capture process.
[0162] In this type of base capture process, the process from step S701 onwards proceeds on the condition that the user's position is included within the first range S1 from the target flag position (step S700: YES). Furthermore, in this type of base capture process, the process from step S705 onwards proceeds on the condition that the required time for occupation has elapsed while the user's position is included within the first range S1 from the target flag position (step S703: YES). Therefore, it can be said that the predetermined conditions include a condition for affirming step S700 and a condition for affirming step S703.
[0163] Furthermore, in such base capture processing, if the release conditions are met for the target base 620, the capture by the enemy team can be released, and the base can be unassociated with other enemy bases 620 within range. In this case, by capturing all flag points 640 corresponding to the target base 620 in the subsequent base capture processing, the base 620 can be captured by the friendly team, and it can be associated with other friendly bases 620 within range. In other words, when the release conditions are met, the processor 210 can make the target base 620, which has been unassociated with enemy bases 620 within range, associate with a friendly base 620 within range that is a different base 620 from the enemy base 620 within range.
[0164] [An example of the process for achieving effectiveness] The processor 210 of server 200 performs effect activation processing at predetermined intervals according to the bases 620 controlled by each team. The processor 210 performs effect activation processing for each of the bases 620 controlled by each team.
[0165] As shown in Figure 18, in step S800, the processor 210 identifies the type of base 620 that is subject to the effect activation process (hereinafter referred to as "target base 620"). In step S801, the processor 210 identifies the number and type of bases 620 that are included in the same base group as the target base 620. In step S802, the processor 210 sets the effective range of the target base 620 to a location within a third range from the base location of the target base 620. In the following description, when simply referred to as the effective range, it refers to the effective range of the target base 620. In step S803, the processor 210 activates the effect within the effective range set in step S802. After that, the processor 210 terminates the effect activation process.
[0166] As shown in Figure 17, for example, the third range S3 is a circular area with radius r3 centered on the base location. For example, radius r3 may be longer than radius r1 of the first range S1 and shorter than radius r2 of the second range S2. For example, radius r3 may be a length that does not include one or more other bases 620 in the third range S3. For example, the length of radius r3 may be the same for each base 620, or it may be different for each base 620. For example, the length of radius r3 may differ depending on the type of base 620.
[0167] As shown in Figure 19, for example, the effects exerted within the effective range differ depending on the type of base 620. For example, base 621 is a base 620 that exerts a life recovery effect. For example, the life recovery effect is an effect that restores the life of a user object 610 belonging to the team that controls the affected base 620 at regular intervals when that user object 610 is located within the effective range.
[0168] For example, defensive base 623 is base 620 that provides the effect of increasing the time required to capture. For example, the effect of increasing the time required to capture is that it increases the time required to capture flag point 640, which is located within the effect range. For example, it is desirable that the effect of increasing the time required to capture is applied when a user object 610 belonging to a team other than the team that controls base 620 attempts to capture flag point 640.
[0169] For example, auxiliary base 622 is a base 620 that, on its own, does not exert any effect within its effective range. For example, if the target base 620 is not associated with any other base 620, the processor 210 will exert an effect within its range of effect corresponding to the type of base 620. Specifically, if the target base 620 is a base base 621, the processor 210 will exert a life recovery effect within its range of effect. If the target base 620 is a defensive base 623, the processor 210 will exert an effect that increases the time required to capture the base within its range of effect. If the target base 620 is an auxiliary base 622, the processor 210 will not exert any effect within its range of effect.
[0170] For example, if the target site 620 is associated with other sites 620, the processor 210 will exert its effects within the scope of effect according to the type of site 620 that is included in the same site group as the target site 620.
[0171] For example, if the base group in which the affected base 620 includes the base base 621, the processor 210 will activate the life recovery effect within its effective range, even if the affected base 620 is an auxiliary base 622 or a defensive base 623. If the base group in which the affected base 620 includes the defensive base 623, the processor 210 will activate the occupation time increase effect within its effective range, even if the affected base 620 is a base base 621 or an auxiliary base 622.
[0172] Thus, when multiple locations 620 are associated, the processor 210 changes its effect depending on the combination of types of locations 620 included in the same location group. That is, when a first location 620, which is any location 620, is associated with a second location 620 that is different from the first location 620, the effect changes depending on the combination of the types of the first location 620 and the second location 620. The first location 620 is an example of a first object, and the second location 620 is an example of a second object.
[0173] For example, if the target base 620 is associated with other bases 620, the processor 210 changes the effect exerted within the scope of the effect depending on the number of bases 620 included in the same base group (hereinafter referred to as "number of bases in the group"). For example, the processor 210 changes the effect exerted depending on whether the number of bases in the group is a first number (e.g., 1 to 3), a second number (e.g., 4 to 7), or a third number (e.g., 8 or more). For example, when the number of bases in the group is a second number, which is greater than the first number, the processor 210 may exert an effect that is more favorable to the user 11 of the team controlling the target base 620 than when it is a first number. For example, the number of stages in which the effect exerted within the scope of the effect changes may be two stages or four or more stages.
[0174] For example, if the base group includes base base 621, processor 210 changes the amount of life recovered within its effective range depending on whether the number of bases in the group is the first, second, or third number. For example, processor 210 increases the amount of life recovered in the order of first number < second number < third number of bases in the group.
[0175] For example, when a base group includes a defensive base 623, processor 210 changes the amount of increase in the time required to capture within its effective range depending on whether the number of bases in the group is the first, second, or third number. For example, processor 210 increases the amount of increase in the time required to capture in the order of first number < second number < third number of bases in the group.
[0176] In this way, the processor 210 changes its effect depending on the number and type of bases 620 that are included in the same base group as the base 620 being affected. Making the effect work according to the number and type of bases 620 that are included in the same base group as the base 620 being affected is one example of making the effect work according to the relationship between the base 620 being affected and the bases 620 associated with that base 620.
[0177] [Example of a movement process flow] The processor 110 of terminal 100 sends the location information of terminal 100 to the server 200 at predetermined intervals. When the processor 210 of server 200 receives the location information of terminal 100, it performs movement processing to move the user object 610 in the virtual space.
[0178] As shown in Figure 20, in step S900, the processor 210 sets the movement direction and orientation of the main object 611a based on the current location and orientation information of terminal 100 and the location and orientation information of terminal 100 acquired in the past. In the following description, the location information of terminal 100 acquired in the past will be referred to as "past location information," and the orientation information of terminal 100 acquired in the past will be referred to as "past orientation information." Subsequently, in step S901, the processor 210 sets the movement direction and orientation of the sub-object 611b based on the past location and orientation information of terminal 100. After that, the processor 210 terminates the movement process.
[0179] The processes in steps S900 and S901 will be explained in detail. As shown in Figure 21, as an example, in step S900, the processor 210 identifies the virtual space location corresponding to the current location of terminal 100 (hereinafter referred to as "virtual current location P10") based on the current location information. The processor 210 also identifies the virtual space location corresponding to the location of terminal 100 a predetermined time ago (hereinafter referred to as "predetermined virtual past location P11") based on past location information acquired a predetermined time ago from the present.
[0180] The processor 210 then sets the direction from a predetermined virtual past position P11 to the virtual current position P10 as the movement direction Ma of the main object 611a. For example, the processor 210 may correct the movement direction Ma of the main object 611a based on the current orientation information and past orientation information. Also, for example, the processor 210 sets the orientation Da of the main object 611a based on the current orientation information of the terminal 100.
[0181] As an example, in step S901, the processor 210 identifies the virtual space location corresponding to the terminal 100's position at the first time point (hereinafter referred to as "first virtual past location P20") based on past location information at the first time point, which was one hour prior to the present. The processor 210 also identifies the virtual space location corresponding to the terminal 100's position at the second time point (hereinafter referred to as "second virtual past location P21") based on past location information at the second time point, which was two hours prior to the present. The second time point is a time point in the past than the first time point, and the second virtual past location P21 is the virtual space location corresponding to the terminal 100's position in the past than the first virtual past location P20.
[0182] The processor 210 then sets the direction from the first virtual past position P20 to the second virtual past position P21 as the movement direction Mb of the sub-object 611b. For example, if multiple sub-objects 611b are arranged, the first and second time points may differ for each of the multiple sub-objects 611b. For example, the processor 210 may correct the movement direction Mb of the sub-object 611b based on the past orientation information at the first time point and the past orientation information at the second time point. Also, for example, the processor 210 sets the orientation Db of the sub-object 611b based on the past orientation information of the terminal 100. For example, the processor 210 sets the orientation of the sub-object 611b based on the orientation information of the terminal 100 acquired at the second time point.
[0183] [An example of the process for determining the winner / loser] When the termination condition of an event is met, the processor 210 of server 200 performs a win / loss determination process to determine the winner or loser of the event.
[0184] For example, in the win / loss determination process, the processor 210 evaluates the actions of the user objects 610 belonging to each team during the event period and determines the winner based on the evaluation results. For example, there may be one or more evaluation items when determining the winner. For example, the processor 210 may use the amount of damage dealt by each team's user objects 610 to the enemy team's user objects 610 during the event period, or the length of time each team controlled a base 620 during the event period as evaluation items. For example, the processor 210 may use the number and types of bases 620 controlled by each team at the end of the event period as one of the evaluation items.
[0185] [Processing related to specific users] This section describes how to handle situations where a specific user 11 is included among the users 11 participating in the event.
[0186] As shown in Figures 22(a) and 22(b), at the start of an event, the processor 210 places a specific user object 610 in association with a virtual space location Pb1 that is different from the virtual space location corresponding to location Pa1, which is the current location of a specific user 11. Subsequently, when the specific user 11 moves in the real world while holding the terminal 100, the processor 210 moves the specific user object 610 relative to the location information of the terminal 100. For example, as shown in Figure 22(a), suppose the specific user 11 moves in the real world while holding the terminal 100 to location Pa2, which is a predetermined distance d1 away in a predetermined direction D1 from location Pa1. In this case, as shown in Figure 22(b), the processor 210 moves the specific user object 610 to location Pb2, which is a predetermined distance d1 away in a predetermined direction D1 relative to the virtual space location Pb1.
[0187] [Summary of the event screen on a specific user's device] As shown in Figure 23, the event screen 60 of a specific user 11's terminal 100 (hereinafter referred to as "specific event screen 60") includes a specific field object 602 that is different from the field object 601 placed in the virtual field 600. For example, the specific field object 602 is placed based on map data corresponding to the current location of the specific user 11. For example, on the specific event screen 60, various objects such as a user object 610, a base 620, a controlled icon 630, a flag point 640, and a ready icon 650 are displayed overlaid on the specific field object 602.
[0188] [Effects of this disclosure] The effects of this disclosure will be explained. (1) User 11 can advance the event to their advantage by having their own object 611 attack the enemy object 613. Here, the attack range S of the own object 611 is set according to the position information and orientation information of the terminal 100 that user 11 possesses. According to this, in order to include the enemy object 613 in the attack range S of the own object 611, the game becomes such that the user moves around in real space with the terminal 100 in possession of it and changes the orientation of the terminal 100 according to the positional relationship between the own object 611 and the enemy object 613. Therefore, the level of interest can be improved.
[0189] (2) The attack range S of the player object 611 is set according to the type of weapon used by the player object 611. Therefore, in order to include the enemy object 613 within the attack range S of the player object 611, it becomes necessary to adjust the position and orientation of the player object 611 according to the type of weapon used by the player object 611. This makes the gameplay of changing the orientation of the terminal 100 while moving with the terminal 100 even more enjoyable.
[0190] (3) The attack range S of a user object 610 corresponding to each terminal 100 is set based on the location and orientation information of the terminal 100 corresponding to each user object 610. That is, the attack range S of a user object 610 corresponding to a first user 11, which is any of the multiple users 11, is set based on the location and orientation information of the terminal 100 owned by the first user 11. On the other hand, the attack range S of a user object 610 corresponding to a second user 11, which is different from the first user 11, is set based on the location and orientation information of the terminal 100 owned by the second user 11. In this case, in order for the first user 11 to escape the attack range S of the user object 610 corresponding to the second user 11, it is necessary to move while taking into account the location and orientation information of the terminal 100 owned by the second user 11. This creates a game-like element where players move while taking into account the location and orientation information of the terminal 100 owned by another user 11, thus further enhancing the game's appeal.
[0191] (4) When an attack by user object 610 is performed from behind the target enemy object 613, the amount of damage dealt increases compared to when the attack is not performed from behind. For this reason, when user 11 has their own object 611 attack the enemy object 613, it may be advantageous to have the attack performed from behind the enemy object 613. This creates a gameplay element where user 11 moves their own object 611 to attack the enemy object 613, rather than simply including the enemy object 613 within the attack range S of their own object 611, thus further enhancing the enjoyment of the game. Also, when user 11's own object 611 is attacked by the enemy object 613, it may be advantageous to have the attack performed from behind the user's own object 611. This creates a gameplay element where user 11 adjusts the position and orientation of their own object 611 to avoid being attacked from behind, even if they cannot escape the attack range S of the enemy object 613, thus further enhancing the enjoyment of the game.
[0192] (5) If the attack range S of the attacking user object 610 includes multiple enemy objects 613, the enemy object 613 located closest to the attacking user object 610's position P is set as the target of the attack. This prevents a situation where, even though user 11 approaches a predetermined enemy object 613 in order to attack it, a different enemy object 613 is set as the target of the attack. Therefore, it prevents a decrease in enjoyment due to an unintended enemy object 613 being set as the target of the attack.
[0193] (6) By possessing the terminal 100 and moving through the real world, user 11 can capture base 620 and associate that base 620 with another base 620. When multiple bases 620 are associated, effects are exerted according to the relationships between the associated bases 620, allowing the event to progress favorably. This provides user 11 with an incentive to possess the terminal 100 and move through the real world, thereby improving the level of interest.
[0194] (7) The effect exerted within the effective range of the affected base 620 changes depending on whether the number of bases 620 associated with the affected base 620 is the first number or the second number. This makes it possible to motivate the user 11 to associate multiple bases 620 by carrying the terminal 100 and moving around in the real world, thereby improving interest.
[0195] (8) The effects exerted within the effective range of the affected base 620 vary depending on the combination of the type of affected base 620 and the types of bases 620 associated with that affected base 620. This makes it possible to motivate the user 11 to associate multiple bases 620 in various combinations by carrying the terminal 100 and moving around in the real world, thereby improving interest.
[0196] (9) By capturing a base 620, user 11 can associate that base 620 with allied bases 620 located within the second range S2 from the base location of the base 620. This creates a gameplay element in which the player can use already captured bases 620 as a foothold to gradually capture bases 620 located within the second range S2 from the base location of the base 620, thereby improving the game's appeal.
[0197] (10) A base 620 can be captured by capturing the flag point 640 corresponding to that base 620. The flag point 640 can be captured by keeping the user object 610 within the first range S1 from the flag position until the capture time has elapsed. This increases the sense of accomplishment when capturing the flag point 640 compared to the case where the flag point 640 can be captured simply by moving the user object 610 within the first range S1 from the flag position.
[0198] (11) In order to capture flag point 640, it is necessary to wait within the first range S1 from the flag location until the capture time has elapsed. Therefore, if multiple users 11 intend to capture flag point 640, they will be more likely to come into close proximity with other user objects 610. This increases the chances of users 11 battling each other, thereby improving the level of interest.
[0199] (12) By moving through the real world with the terminal 100 in hand, user 11 can release the enemy team from capturing base 620 and also release the association between that base 620 and another base 620 captured by a different enemy team. This creates motivations for user 11 to move through the real world, such as increasing the number of bases 620 captured by the friendly team and decreasing the number of bases 620 captured by the enemy team, thus preventing user 11 from becoming bored. Furthermore, this allows user 11 to choose whether to take on the role of increasing the number of bases 620 captured by the friendly team or decreasing the number of bases 620 captured by the enemy team, depending on the frequency of play and login time of user 11. Therefore, it prevents user 11 from being unable to enjoy the event due to the frequency of play or login time of user 11.
[0200] (13) If the enemy team's capture of base 620 is undone and the association with another base 620 held by the enemy team is broken, the friendly team can then capture the base 620 that was undone by the enemy team. This provides an incentive for players to undone the capture of base 620 held by the enemy team and break the association with another base 620 held by the enemy team, thereby improving the game's appeal.
[0201] (14) As an example, an event progresses with each of the multiple users 11 participating in the event carrying a terminal 100 and moving around in the real world, battling other users 11 and capturing bases 620. In such an event, if there are differences in the location or movement patterns of the multiple users 11 participating in the event, some users 11 may not be able to enjoy the game. In this regard, the present disclosure adjusts the multiple users 11 participating in the event based on matching information regarding the location and movement of the multiple users 11, thereby suppressing the occurrence of users 11 who cannot enjoy the game and improving the level of enjoyment.
[0202] (15) When matching multiple users 11, users 11 whose location parameters are similar to those of the assigned users 11 are matched. This makes it possible to prevent the occurrence of users 11 who cannot enjoy the game due to differences in location among the matched users 11.
[0203] (16) When matching multiple users 11, users 11 whose movement parameters are similar to those of the already assigned users 11 are matched. This makes it possible to prevent the occurrence of users 11 who cannot enjoy the game due to differences in their movement patterns among the matched users 11.
[0204] (17) When matching multiple users 11, in addition to matching information regarding the location and movement of users 11, the multiple users 11 participating in the event are adjusted based on matching information regarding the strength, number of plays, and time of day of each user 11. This makes it possible to suppress the occurrence of users 11 who are unable to enjoy the game due to the strength, number of plays, or time of day of the multiple users 11 participating in the event.
[0205] (18) When assigning multiple users 11 participating in the event to multiple teams, the average of the location and movement parameters of the multiple users 11 assigned to each team is adjusted to be similar. This suppresses differences in the average of the location and movement parameters of the multiple users 11 assigned to each team, thereby reducing unfairness due to team assignments and improving the level of interest.
[0206] (19) When a real space is divided into multiple areas and users 11 located in each area are matched, there may be differences in the number of users 11 located in each area. In this case, an unfair situation may arise in which the ease of completing matching differs between areas depending on the number of users 11 located in each area. In this regard, in this disclosure, if there is a specific area in which the number of users 11 waiting to be matched is less than a certain number, a specific user 11 located in a specific area can be matched with a user 11 located in another area. This reduces the unfairness in which the ease of completing matching differs between areas depending on the number of users 11 located in each area.
[0207] (20) When a particular user 11 is included among multiple users 11 participating in an event, there may be differences in the distances between the multiple users 11 participating in the event from the corresponding location in real space to which the base 620 in the event is associated. In this case, users 11 may not be able to properly enjoy battling other users 11 or capturing base 620 in the event. In this regard, the present disclosure adjusts the position of the particular user object 610 when a particular user 11 is included among multiple users 11 participating in an event. As a result, even if there are differences in the distances between the multiple users 11 participating in the event from the corresponding location in real space to which the base 620 in the event is associated, the user object 610 corresponding to each user 11 can be placed in an appropriate position. Therefore, a decrease in enjoyment can be suppressed.
[0208] The above embodiment can be implemented with the following modifications. The above embodiment and the following modifications can be combined with each other to the extent that they do not contradict each other technically. [Example of change 1] While it is assumed that the self-object 611 includes a main object 611a and a sub-object 611b, it is not limited to this. For example, the number of self-objects 611 may be one. Also, the number of self-objects 611 may be two, or four or more.
[0209] [Example of change 2] The main object 611a and the sub-object 611b may be operated through the cooperation of multiple users 11. For example, an arbitrary first user 11 may operate the main object 611a using the first terminal 100, while a second user 11, different from the first user 11, may operate the sub-object 611b using the second terminal 100. That is, the second user 11 may operate the sub-object 611b of the object 611 as an associate of the first user 11. In this case, for example, the processor 210 may set the movement direction of the main object 611a and the sub-object 611b according to the position information and orientation information of the first terminal 100. That is, even when the second user 11 operates the sub-object 611b using the second terminal 100, the movement direction of the sub-object 611b may be set by a movement process performed based on the position information and orientation information of the first terminal 100. According to this, the main object 611a and the sub-object 611b can be moved in coordination in the virtual space, regardless of the relative positions of the first user 11 and the second user 11 in real space. On the other hand, the processor 210 sets the attack range S of the main object 611a according to the position information, orientation information of the first terminal 100 and the weapon information of the main object 611a. The processor 210 may also set the attack range S of the sub-object 611b according to the position information, orientation information of the second terminal 100 and the weapon information of the sub-object 611b. That is, when the second user 11 operates the sub-object 611b, the attack range S of the sub-object 611b may be set by an attack determination process performed based on the position information, orientation information of the second terminal 100 and the weapon information of the sub-object 611b. According to this, it is possible to provide a gameplay experience in which events progress while changing the position and orientation of the terminal 100 for each of the first user 11 and the second user 11.
[0210] [Example of change 3] When multiple enemy objects 613 are located within the attack range S of the attacking user object 610, the method for setting which of the multiple enemy objects 613 to be set as the attack target may be changed as appropriate. That is, when multiple objects are located within the range of influence, it is arbitrary which object to set as the target of the effect. For example, when an attack target selection operation is performed using terminal 100, the processor 210 of server 200 may set the enemy object 613 to be attacked based on the content of the attack target selection operation. That is, when multiple enemy objects 613 are located within the attack range S, it may be possible to accept an operation to select which of the multiple enemy objects 613 to prioritize for attack. In this case, the processor 110 of terminal 100 accepts the attack target selection operation using terminal 100 and sends the content of the selection operation to server 200. For example, the attack target selection operation may be performed by tapping the part of the event screen 60 of terminal 100 where the enemy object 613 to be attacked is displayed.
[0211] As shown in Figure 24, as an example, if step S503 of the attack determination process is determined to be positive, in step S510, the processor 210 determines whether an attack target selection operation has been performed. If an attack target selection operation has not been performed (step S510: NO), the processor 210 proceeds to step S504 and sets the enemy object 613 located closest to the position P of the user object 610 performing the attack as the attack target. On the other hand, if an attack target selection operation has been performed (step S510: YES), in step S511, the processor 210 may set the enemy object 613 selected by the attack target selection operation as the attack target.
[0212] For example, the operation to select an attack target using terminal 100 may be performed before or after the attack instruction operation. Furthermore, the operation to select an attack target using terminal 100 may also serve as the attack instruction operation. As an example, processor 210 may differentiate the target enemy object 613 depending on whether or not an attack target selection operation has been performed. For example, if an attack target selection operation has been performed, processor 210 sets the selected enemy object 613 as the attack target. On the other hand, if an attack target selection operation has not been performed, processor 210 may set the enemy object 613 located closest to the position P of the user object 610 performing the attack in the virtual space as the attack target. This improves convenience when attacking a specific enemy object 613 when multiple enemy objects 613 are located within the attack range S.
[0213] [Example of change 4] If multiple enemy objects 613 are located within the attack range S of a user object 610 performing an attack, it may be possible to set some or all of the multiple enemy objects 613 located within the attack range S as the target of the attack. That is, if multiple objects are located within the range of influence, it may be possible to set some or all of the multiple objects located within the range of influence as the target of the effect. For example, depending on the weapon used by the user object 610, it may be possible to set all of the multiple enemy objects 613 located within the attack range S as the target of the attack, or to set only some of them as the target of the attack. For example, depending on the weapon used by the user object 610, the upper limit on the number of enemy objects 613 that can be set as targets of the attack may differ.
[0214] [Example of change 5] The amount of damage dealt when attacking enemy object 613 may vary depending on the relationship between the attacking user object 610 and enemy object 613. For example, the amount of damage dealt when attacking enemy object 613 may vary depending on the distance between the attacking user object 610 and enemy object 613. For example, the amount of damage dealt when attacking enemy object 613 may vary depending on the rank difference between the user 11 corresponding to the attacking user object 610 and the user 11 corresponding to enemy object 613.
[0215] [Example of change 6] The positions where each base 620 is placed may be changed as appropriate. For example, multiple bases 620 do not have to be placed at equal intervals. In this case, the effect exerted within the effective range of the affected base 620 may change depending on whether the distance between the affected base 620 and the base 620 associated with it is a first distance or a second distance which is longer than the first distance. For example, when the distance between the affected base 620 and the base 620 associated with it is a second distance, the effect may be more favorable to the user 11 of the team that controls the affected base 620 compared to when it is a first distance. This can be used to motivate the user 11 to control bases 620 located further away by carrying the terminal 100 and moving around in the real world, thereby improving the level of interest.
[0216] [Example of change 7] The types of bases 620 may be changed as appropriate. The effects exerted within the effective range of each base 620 when it is captured may also be changed as appropriate. For example, the effects may include improving the parameters of friendly objects 612, decreasing the parameters of enemy objects 613, or increasing the acquisition rate of specific virtual items. Furthermore, the effects exerted when multiple bases 620 are linked may also be changed as appropriate. As an example, when multiple bases 620 are linked, different effects may be exerted compared to when each base 620 is captured individually.
[0217] [Example of change 8] For example, each base 620 may be configured to exert its effect within its effective range by being associated with other bases 620. In other words, if each base 620 is not associated with other bases 620, it may not exert its effect within its effective range, even if it is controlled by any team. That is, the condition for each base 620 to exert its effect within its effective range may include being associated with other bases 620. For example, each base 620 may be configured to exert its effect within its effective range by being associated with other bases 620 and being included in the same base group as a specific base 620. That is, the condition for each base 620 to exert its effect within its effective range may include being included in the same base group as a specific base 620. For example, the specific base 620 may be base base 621.
[0218] [Example of change 9] The processor 210 may change the effects exerted within the effective range of the affected base 620 before and after a predetermined time has elapsed since the affected base 620 became associated with another base 620. In this case, after the predetermined time has elapsed since the affected base 620 became associated with another base 620, the effects may be more favorable to the user 11 of the team controlling the affected base 620 compared to before the time elapsed.
[0219] [Example of change 10] The number of flag points 640 assigned to a single base 620 may differ for each base 620. For example, the number of flag points 640 assigned to a single base 621 may differ for a base base 621, an auxiliary base 622, and a defensive base 623. In other words, the number of flag points 640 assigned to a single base 620 may differ between a first type of base 620 and a second type of base 620.
[0220] [Example of change 11] The method for capturing each base 620 may be changed as appropriate. For example, each base 620 may be captured when a capture condition is met, which includes the position of a user object 610 within a predetermined range from the base location of the base 620. In this case, a flag point 640 does not need to be placed in the virtual space. Furthermore, the method for capturing each base 620 may differ for each base 620. For example, the method for capturing a base 621, an auxiliary base 622, and a defensive base 623 may differ. That is, the method for capturing a base 620 may differ between a first type base 620 and a second type base 620. Similarly, the method for releasing the capture of each base 620 may be changed as appropriate.
[0221] [Example of change 12] The predetermined relationship that allows an arbitrary first base 620 to be associated with a second base 620 that is different from the first base 620 is not limited to the location of the second base 620 being within a specified range from the location of the first base 620, and may be changed as appropriate. For example, the predetermined relationship may be set in advance by the processor 210.
[0222] [Example of change 13] The attack range S of user object 610 may be set according to a virtual item other than a weapon, in addition to or instead of a weapon. For example, a virtual item may temporarily or permanently extend the attack range S of user object 610. For example, a virtual item may grant a different effect instead of narrowing the attack range S of user object 610. For example, the different effect could be an effect that increases the amount of damage dealt when user object 610 attacks, or an effect that reduces the amount of damage taken when user object 610 is attacked by another user object 610.
[0223] [Example of change 14] Virtual items, such as weapons, may be obtainable in events or on occasions other than events. For example, virtual items may be obtainable in a lottery conducted by paying a predetermined price, or by entering a predetermined code. For example, an obtained virtual item may be consumed by using it in an event, or it may remain owned by user 11 even if it is used in an event. For example, there may be virtual items that are consumed by using them in an event, and virtual items that remain owned by user 11 even if they are used in an event.
[0224] [Example of change 15] It may be possible to process the user 11 participating in the event and remove them from the event. For example, the processor 210 may remove the user 11 corresponding to the user object 610 from the event if the current location of the user object 610 is outside the range of the virtual space corresponding to the event's hosting area for a certain period of time. Also, for example, the processor 210 may remove the user 11 corresponding to the user object 610 from the event if the current location of the user object 610 is more than a certain distance from the base location of the reference base 620.
[0225] [Example of change 16] On a specific event screen 60 of a specific user 11's terminal 100, the same field object 601 as that of other users 11 may be displayed. That is, on a specific event screen 60, a field object 601 that does not correspond to the terrain, buildings, etc., of the real space surrounding the specific user 11 may be displayed.
[0226] [Example of change 17] The processor 210 may determine a virtual space location different from the virtual space location corresponding to the current location of a user 11, as the location for placing user objects 610 corresponding to users 11 other than a specific user 11. For example, the processor 210 may determine a virtual space location different from the virtual space location corresponding to the current location of each user 11 for all of the multiple users 11 participating in the event. For example, the processor 210 may distribute the user objects 610 corresponding to each of the multiple users 11 participating in the event evenly within the event area. In this case, for example, the processor 210 may place the user objects 610 corresponding to each of the multiple users 11 participating in the event at equal distances from the base location of the reference base 620. Also, for example, multiple users 11 located in Japan may be made to participate in an event held in a virtual space where field objects 601 are placed based on foreign map data. This allows users 11 to enjoy the event in areas that are difficult to travel to in the real world.
[0227] [Example of change 18] The matching process procedure may be modified as appropriate. For example, the processor 210 may sequentially assign users 11 who have started waiting for matching to one of several teams in the event in the area to which the user 11 belongs. That is, the processor 210 may sequentially assign users 11 who have started waiting for matching as designated users 11 without defining a population consisting of multiple users 11 who are waiting for matching. In this case, for example, when assigning users 11 who have started waiting for matching, the processor 210 may make adjustments based on the matching information of the user 11 and the matching information of the assigned users 11. For example, the processor 210 may match multiple users 11 whose predetermined parameters, which can be identified from the matching information, are similar. Also, for example, the processor 210 may match multiple users 11 among multiple teams such that the parameters of the users 11 assigned to each team are similar for predetermined parameters that can be identified from the matching information. Furthermore, as an example, the processor 210 may, if certain conditions are met, assign user 11 to an event in an area different from the area to which user 11 belongs. For example, the certain conditions may be that the number of users 11 waiting for matching in the area to which user 11 belongs is less than a predetermined number.
[0228] [Example of change 19] The execution order of the processes and steps described above is merely an example and is not limited thereto. The execution order of the processes and steps can be arbitrarily changed as long as it does not deviate from the embodiments and modifications.
[0229] [Example of change 20] One or more modules or functions provided by terminal 100 and server 200 may be implemented by circuits such as ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), FPGA (Field-Programmable Gate Array), and MCU (Micro Control Unit).
[0230] [Example of change 21] One or more modules or functions provided by terminal 100 and server 200 may be implemented by software using a processor. The computer comprises a processor, memory, and storage. The above-mentioned programs and various data are recorded in storage so that they can be read by the processor. The programs are loaded into memory. The processor then reads the above-mentioned programs from storage and executes them, thereby realizing the functions of this disclosure. As already described, the storage may be implemented as a non-volatile storage device.
[0231] [Example of change 22] The program may be supplied to the computer via any transmission medium capable of transmitting it (such as a communication network or broadcast waves).
[0232] [Example of change 23] The program may be recorded on a storage medium such as a magnetic disk (floppy disk, hard disk, etc.), an optical disk (CD-ROM, DVD, MO, etc.), or a semiconductor memory (ROM, RAM, flash memory, etc.).
[0233] [Example of change 24] The game program on server 200 and the game program on terminal 100 can be perceived as a single program, or they can be perceived as separate programs. Alternatively, server 200 may perform all processing, and the results of this processing may be displayed as an image on the monitor 181 of terminal 100.
[0234] [Example of change 25] In the embodiments and modifications described above, some or all of the processes and steps executed by the processor 210 of the server 200 as the game control unit 201 may be executed by the processor 110 of the terminal 100 as the game control unit 101. In other words, all of the processes and steps described in the embodiments and modifications may be performed by the processor 210 of the server 200 or by the processor 110 of the terminal 100.
[0235] [Example of change 26] Of the processes and steps described in the embodiments and modifications, any specific processes and steps may be executed by the processor 210 of the server 200, while processes and steps different from those specific may be executed by the processor 110 of the terminal 100. In other words, in the information processing system 10, the computer may consist of one or more terminals 100 and one or more servers 200. For example, all of the various means and functions that can be implemented by the processor 210 of the server 200 may be implemented by the processor 110 of the terminal 100. For example, some of the various means and functions that can be implemented by the processor 210 of the server 200 may be implemented by the processor 210 of the server 200, and the remainder may be implemented by the processor 110 of the terminal 100.
[0236] [Example of change 27] The various functions that can be implemented by the game control unit 201 are not limited to being configured by a single processor 210, but may be configured by a single server 200 or a plurality of processors contained in a plurality of servers 200. The various functions that can be implemented by the game control unit 101 and the display control unit 104 are not limited to being configured by a single processor 110, but may be configured by a single terminal 100 or a plurality of processors contained in a plurality of terminals 100. Furthermore, the various functions may be configured by a plurality of processors contained in one or more terminals 100 and one or more servers 200. Thus, a computer may be composed of one or more terminals 100, one or more servers 200, or may include one or more terminals 100 and one or more servers 200.
[0237] [Note] This disclosure encompasses the following embodiments. Reference numerals are used for components of the embodiments not for limitation but to aid understanding.
[0238] (Challenge) For example, the objective is to improve interest. (Note 1) A program that causes a computer (110,210) to acquire position information relating to the real-world location of a terminal (100) operated by a player (11), orientation information relating to the orientation of the terminal (100), and item information relating to a virtual item used by the player (S500), and then, according to the position information, orientation information, and item information, to set a range of a part of the virtual space as an influence range (S) (S502), and if an object (610) is located within the influence range (S) (S503:YES), to influence the object (610) (S509).
[0239] For example, the game's appeal can be enhanced by providing a gameplay element where players move around in real space while holding a device, changing the device's orientation or the virtual items they use in order to include a specific object within its range of influence.
[0240] (Note 2) The terminal (100) includes a first terminal (100) and a second terminal (100), and the program described in Note 1 sets a first influence range (S) according to the position information, orientation information, and item information of the first terminal (100) (S502), and sets a second influence range (S) according to the position information, orientation information, and item information of the second terminal (100) (S502).
[0241] For example, by having the player with the first device set the first influence range, and the player with the second device set the second influence range, the game can be made more engaging by adjusting the position and orientation of each device and the items they use while playing.
[0242] (Note 3) The terminal (100) includes a first terminal (100) and a second terminal (100), and the program described in Note 1 or Note 2 sets the direction of movement in the virtual space according to the position information and orientation information of the first terminal (100) (S900, S901), and sets the range of influence according to the position information, orientation information, and item information of the second terminal (100) (S502).
[0243] For example, by having the player with the first device set the direction of movement, and the player with the second device set the area of influence, and by having them cooperate while adjusting the position, orientation, and items used of each device, the enjoyment of the game can be enhanced.
[0244] (Note 4) The terminal includes a first terminal (100) and a third terminal (100), the object (610) includes a first object (610) associated with the first terminal (100), and if the first object (610) is located in the influence range (S) set according to the position information, orientation information, and item information of the third terminal (100) (S503:YES), the influence on the first object (610) is changed according to the orientation information of the first terminal (100) (S506~S509), the program as described in any of Notes 1 to 3.
[0245] For example, the level of engagement can be enhanced by providing a gameplay element that involves adjusting the orientation of the device, rather than simply checking whether the first object is within the range of influence. (Note 5) If multiple objects (610) are located within the influence range (S), the program described in any of Notes 1 to 4 will prioritize influencing the object (610) that is closest to the location in the virtual space corresponding to the location information of the terminal (100) (S504, S509).
[0246] For example, the player can adjust the object they want to affect by holding and moving their device. Therefore, if multiple objects are placed within the area of influence, it is possible to prevent unintended objects from being affected, which would diminish the enjoyment of the game.
[0247] (Note 6) A program as described in any of Notes 1 to 5, which allows the user to select which of the multiple objects (610) to be affected preferentially when multiple objects (610) are located within the influence range (S) (S510).
[0248] For example, the player can select which object to affect from among multiple objects placed within the area of influence. Therefore, when multiple objects are placed within the area of influence, it is possible to prevent unintended objects from being affected, which could diminish the enjoyment of the game.
[0249] (Note 7) An information processing system that performs the following: (S500) acquiring location information relating to the real-world location of a terminal (100) operated by a player (11), orientation information relating to the orientation of the terminal, and item information relating to a virtual item used by the player; (S502) setting a range of a part of the virtual space as an influence range (S) according to the location information, orientation information, and item information; and (S509) influencing an object (610) if it is located within the influence range (S).
[0250] (Note 8) A program that causes a computer (110,210) to place a plurality of objects (620), including a first object (620) and a second object (620), in a virtual space corresponding to a location in real space, and when a predetermined condition is met, including that the location in the virtual space corresponding to the location in real space of the terminal (100) operated by the player (11) is the first location (S700:YES), the program associates the first object (620) and the second object (620) (S709), and when the first object (620) and the second object (620) are associated, the program exerts an effect according to the relationship between the first object (620) and the second object (620) (S803).
[0251] For example, the player can associate a first object and a second object by carrying a terminal and moving in the real space. When the first object and the second object are associated, an effect is exerted according to the relationship between the first object and the second object. According to this, since the player can be motivated to carry the terminal and move in the real space, the interest can be improved.
[0252] (Appendix 9) When a plurality of the objects (620) including the first object (620) and the second object (620) are associated, the effect is changed (S803) depending on whether the distance between the associated plurality of the objects (620) is a first distance or a second distance. The program according to Appendix 8.
[0253] For example, by motivating the player to associate the first object and the second object in various combinations with different distances between the first object and the second object by carrying a terminal and moving in the real space, the interest can be improved.
[0254] (Appendix 10) When a plurality of the objects (620) including the first object (620) and the second object (620) are associated, the effect is changed (S803) depending on whether the number of the associated plurality of the objects (620) is a first number or a second number. The program according to Appendix 8 or Appendix 9.
[0255] For example, by motivating the player to adjust the number of objects to be associated by carrying a terminal and moving in the real space, the interest can be improved. (Appendix 11) The object (620) includes a plurality of types of the object (620). When the first object (620) and the second object (620) are associated with each other, the effect is changed (S803) according to the combination of the type of the first object (620) and the type of the second object (620). The program according to any one of Appendices 8 to 10.
[0256] For example, by motivating the player to move in the real space while holding the terminal and associate a plurality of objects in various combinations, the interest can be improved.
[0257] (Appendix 12) When a condition different from the predetermined condition is satisfied (S700: YES), the first object (620) is activated (S707). The condition different from the predetermined condition is a condition including that the position in the virtual space corresponding to the position in the real space of the terminal (100) becomes the first position. The predetermined condition includes that when there is a second object (620) activated within a specified range (S2) from the position of the first object (620) in the virtual space, a condition different from the predetermined condition is satisfied (S708: YES). The program according to any one of Appendices 8 to 11.
[0258] For example, by providing a gameplay of gradually associating objects located within a specified range from the position of an already activated object in the virtual space using the already activated object as a clue, the interest can be improved.
[0259] (Appendix 13) The predetermined condition includes that a predetermined time has elapsed (S703: YES) after the position in the virtual space corresponding to the position in the real space of the terminal (100) becomes the first position. The program according to any one of Appendices 8 to 12.
[0260] For example, in order for the player to associate the first and second objects, they must hold the device, move to a designated location, and wait for a predetermined amount of time to elapse. This increases the sense of accomplishment when the first and second objects are associated, compared to when they can be associated simply by moving to the designated location.
[0261] (Note 14) The terminal (100) includes a terminal (100) with a first attribute and a terminal (100) with a second attribute, and when the predetermined condition is met based on the information of the terminal (100) with the first attribute, the first object (620) is associated with the second object (620) as the object (620) with the first attribute (S709), and when the release condition is met based on the information of the terminal (100) with the second attribute, the association between the first object (620) and the second object (620), which has been associated as the object (620) with the first attribute, is released (S714), a program as described in any of Notes 8 to 13.
[0262] For example, in addition to associating the first object with the second object, the player can be given the enjoyment of unassociating multiple objects based on information from a device with attributes different from their own device.
[0263] (Note 15) When the release condition is met (S713:YES), the program described in any of Notes 8 to 14 makes it possible to associate the first object (620), which has been released from association with the second object (620), with a third object (620) different from the second object (620) as the object (620) of the second attribute (S714).
[0264] For example, it can be used to motivate users to unassociate multiple objects that are linked based on information from a device with attributes different from their own, thereby improving engagement. (Note 16) An information processing system that performs the following: arranging a plurality of objects (620), including a first object (620) and a second object (620), in a virtual space corresponding to a location in real space; associating the first object (620) and the second object (620) (S709) when a predetermined condition is met, including that the location in the virtual space corresponding to the location in real space of the terminal (100) operated by the player (11) becomes the first position (S700:YES); and when the first object (620) and the second object (620) are associated, exerting an effect according to the relationship between the first object (620) and the second object (620) (S803).
[0265] (Note 17) A program that causes a computer (110,210) to perform adjustments (S405,S407,S408) in accordance with information that includes at least one of the information regarding the real-world position and information regarding the movement of multiple players (11) when matching multiple players (11).
[0266] For example, by suppressing discrepancies in position and movement patterns among multiple matched players, it is possible to prevent players from being unable to enjoy the game, thereby improving its overall appeal.
[0267] (Note 18) The program described in Note 17, wherein the information includes information relating to the real-world positions of the plurality of players (11), and the adjustment matches the plurality of players (11) with the same positional feature quantities identified from the information (S405, S407).
[0268] For example, it can prevent some players from being unable to enjoy the game due to differences in the location patterns of multiple matched players. (Note 19) The program as described in Note 17 or Note 18, wherein the information includes information relating to the movement of the plurality of players (11), and the adjustment matches the plurality of players (11) with similar movement feature quantities identified from the information (S405, S407).
[0269] For example, differences in movement patterns among matched players can help prevent some players from being unable to enjoy the game. (Note 20) The program described in any of Notes 17 to 19, wherein the information includes at least one of the following: strength information relating to the strength of the player (11), count information relating to the number of times the player (11) has played, and time information relating to the time of day when the player (11) plays.
[0270] For example, among multiple players who are matched, it is possible to prevent some users 11 from being unable to enjoy the game due to differences in each player's skill level, number of plays, or time of day they play. (Note 21) A program as described in any of Notes 17 to 20, wherein when matching the multiple players (11), the multiple players (11) are assigned to one of the multiple groups (S402, S408), and when assigning the multiple players (11) to the multiple groups, the multiple groups are adjusted so that the feature quantities identified from the information of the players (11) assigned to each group are similar (S408).
[0271] For example, by suppressing differences in feature quantities related to the position and movement of multiple players assigned to each group, it is possible to reduce unfairness caused by group assignments and improve the level of enjoyment.
[0272] (Appendix 22) A reference object (620) is arranged in the virtual space corresponding to the position in the real space, and the avatars (610) of the plurality of matched players (11) are arranged in the virtual space according to the position of the reference object (620) (S412), the program according to any one of Appendices 17 to 21.
[0273] For example, it is possible to suppress the occurrence of unfairness due to the positional relationship between the position in the real space of each matched player and the reference object, so that the interestingness can be improved. (Appendix 23) The avatars (610) of the plurality of matched players (11) are arranged in the virtual space (S41, when there is a player (11) among the plurality of matched players (11) who satisfies the condition regarding the position in the real space, when arranging the avatar (610) of the player (11) in the virtual space, the position where the avatar (610) is arranged is adjusted (S411), the program according to any one of Appendices 17 to 22.
[0274] For example, when there is a player who satisfies the condition regarding the position in the real space among the plurality of matched players, the position where the avatar corresponding to the player is arranged is adjusted. Therefore, even when there is a difference in the position in the real space among the plurality of matched players, the avatars corresponding to each player can be arranged at appropriate positions. Therefore, it is possible to suppress a decrease in interestingness.
[0275] (Appendix 24) When matching a plurality of players (11), an adjustment is made according to information including at least one of information regarding the position in the real space and information regarding movement of the plurality of players (11) (S405, S407, S408), an information processing system.
[0276] Note that the configurations described in Appendices 1 to 24 may be appropriately applied to the fields of devices, systems, methods, and media. It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from its technical spirit. For example, some of the components described in the embodiments (or one or more of the embodiments thereof) may be omitted, or some components may be combined. The same applies to the procedures. The scope of the present invention should be determined by referring to the appended claims, along with the entire scope of equivalents to which the claims are granted. [Explanation of Symbols]
[0277] S... Attack range S1... First range S2... Second range S3... Third range 10... Information processing system 11... User 100... Terminal 101... Game control unit 102... Attitude acquisition unit 103... Position acquisition unit 110... Processor 200... Server 201... Game control unit 210... Processor 610... User object 620... Base
Claims
1. On the computer, By positioning multiple objects, including the first and second objects, in the virtual space in correspondence with their locations in the real world, When a predetermined condition is met, including the fact that the position in the virtual space corresponding to the position in the real space of the terminal operated by the player becomes the first position, the first object and the second object are associated, A program that, when the first object and the second object are associated, exerts an effect according to the relationship between the first object and the second object.
2. The program according to claim 1, which, when a plurality of the objects including the first object and the second object are associated, changes the effect depending on whether the distance between the plurality of associated objects is a first distance or a second distance.
3. The program according to claim 1, which, when a plurality of the objects including the first object and the second object are associated, changes the effect depending on whether the number of associated plurality of objects is a first number or a second number.
4. The aforementioned object includes multiple types of the aforementioned object, The program according to claim 1, wherein when the first object and the second object are associated, the effect is changed according to the combination of the type of the first object and the type of the second object.
5. If conditions other than the aforementioned predetermined conditions are met, the first object is activated. A condition different from the aforementioned predetermined condition is a condition in which the position in the virtual space corresponding to the position of the terminal in the real space becomes the first position, The program according to claim 1, wherein the predetermined condition includes a condition different from the predetermined condition being met when there is an activated second object within a specified range from the position of the first object in the virtual space.
6. The program according to claim 1, wherein the predetermined condition includes a predetermined time elapsed after the position in the virtual space corresponding to the position of the terminal in the real space becomes the first position.
7. The aforementioned terminal includes a terminal with a first attribute and a terminal with a second attribute. When the predetermined conditions are met based on the terminal information of the first attribute, the first object is associated with the second object as the object of the first attribute. The program according to claim 1, which, when the release condition is met based on the terminal information of the second attribute, causes the association between the first object associated as the first attribute and the second object to be released.
8. The program according to claim 7, wherein when the release condition is met, the first object, whose association with the second object has been released, can be associated with a third object different from the second object as the object of the second attribute.
9. Placing multiple objects, including a first object and a second object, in a virtual space, corresponding to their positions in the real world, When a predetermined condition is met, including the fact that the position in the virtual space corresponding to the position in the real space of the terminal operated by the player becomes the first position, the first object and the second object are associated, An information processing system that, when the first object and the second object are associated, performs an effect according to the relationship between the first object and the second object.