Dynamically generated local virtual events
By dynamically generating local virtual events in parallel real-life games, the problem of players lacking public interaction is solved, and the game participation and authenticity is improved.
Patent Information
- Application Number
- CN202380076107.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-06
- Filing Date
- 2023-09-01
- Publication Date
- 2025-06-10
AI Technical Summary
In position-based parallel reality games, players with similar positions in the real world lack sufficient public interaction, resulting in reduced player participation.
Generate local virtual events dynamically, allowing players to choose to participate in spontaneous viral moments during play. These local virtual events can be of different types, with specific game designs, goals, and rules, and are automatically triggered when a predetermined start condition is met.
It increases the level of players' participation and interest in parallel reality games, extends the player's activity time in the game, and provides a more "real" parallel reality game experience.
Smart Images

Figure CN120129562A_ABST
Abstract
Description
BACKGROUND OF THE INVENTION 1. TECHNICAL FIELD
[0001] The described subject matter generally relates to location-based games, and more particularly to dynamically generating local virtual events for players with similar locations in location-based games.
[0002] 2. PROBLEM
[0003] Location-based games use the real world as their geographical environment. Parallel reality games are a type of location-based game that uses a virtual world parallel to the real-world geographical environment. Players can interact and perform various game objectives in the parallel virtual world by navigating and performing actions in the real world. When actions are taken primarily with reference to the virtual world, the virtual world can act as an obstacle to the player experiencing a truly parallel virtual world to the real world. Instead, players may experience that the real world and the virtual world are different and relatively unconnected. This is especially true when players playing the game at the same physical location in the real world do not experience sufficient common interaction with players in similar locations in the virtual world. Such an experience may reduce player engagement over time. SUMMARY OF THE INVENTION
[0004] This disclosure relates to increasing player engagement in parallel reality games. The techniques disclosed herein are expected to increase player engagement by incorporating spontaneous viral moments (e.g., local virtual events, implicit social events) that players can choose to participate in during gameplay into the user experience. Local virtual events can be of different types and can have correspondingly different game designs, corresponding goals and rules, and access-controlled game content. Based on meeting one or more corresponding predetermined start conditions, local virtual events can be automatically triggered during gameplay. From the user's perspective, the viral moments can be spontaneous because the start conditions triggering the viral moments can be unknown to the user. The chance of such spontaneous viral moments occurring during gameplay can increase the level of player engagement or interest in the parallel reality game and increase the amount of time the player wishes to spend playing the parallel reality game.
[0005] Local virtual events can be of different types and can have corresponding game designs that specify their game objectives and rules, and can have corresponding exclusive (access-controlled) game content. Additionally, each type of local virtual event can have corresponding predetermined start conditions and corresponding predetermined end conditions. These conditions can specify, for example, where, when, and how often a specified type of local virtual event can be triggered, how long it can last, its relative rarity of occurrence, how often players can participate in the event, etc. For example, the predetermined start condition for triggering a given type of local virtual event can specify that the number of location-similar players who are active at the same physical location in the real world (e.g., the number of active player devices within a predetermined real-world area corresponding to a predetermined virtual element and within a predetermined range from the virtual element) must be at least a predetermined number. As another example, the predetermined start condition can specify that a predetermined number of active players in a predetermined area must complete a predetermined in-game action (e.g., each player captures a predetermined number of virtual items or objects; prerequisite game action), etc. The predetermined end condition can specify the duration for the local virtual event (e.g., 30 minutes). One type of local virtual event can be a shared AR session, where location-similar players at the same physical location in the real world can get the opportunity to spontaneously participate in an organized community game (e.g., in-game actions associated with a specific geographical location) and play together or against each other as one or more teams or factions.
[0006] Local virtual events can be implicit. That is, unbeknownst to location-similar players who are playing their corresponding (group or individual) game sessions under a corresponding game design (e.g., a first set of one or more game designs), the predetermined start condition for a given local virtual event (e.g., based on the number of active players in the local area, the number of active players in the local area who have completed a predetermined virtual in-game action, etc.) can become satisfied. And as a result, the identified number of location-similar players can receive a notification inviting them to join an upcoming implicit social event and indicating the time when the event is about to start. The notification can further specify the game objective of the implicit social event (e.g., corresponding to a second game design). In some embodiments, in response to the satisfaction of the predetermined start condition for a given local virtual event, the implicit social event can start automatically (e.g., immediately) without notification, and the game mechanics for the identified number of location-similar players (for whom the event is triggered) can be automatically adjusted based on the second game design (e.g., the identified number of location-similar players can automatically gain access to the access-controlled content associated with the local virtual event).
[0007] During gameplay of a local virtual event, an achievement tracker can be presented to each of the players who are location-similar in an implicit social event. The achievement tracker can present individual or collective achievement data based on the game objectives of the implicit social event. At the end of the implicit social event, the game design (e.g., game objectives, game rules) for each of the players who are location-similar in the local virtual event can be restored to its previous state that existed before the local virtual event began. Thus, by incorporating spontaneous viral moments of organized community game actions or activities for players who happen to be location-similar in the real world at a given point in time into the user experience, awareness of the community of players who are currently location-similar in the real world can be increased, and a more "realistic" parallel reality (e.g., AR, VR) gaming experience can be achieved.
[0008] In one embodiment, a computer-implemented method includes the step of a game server providing game data of a location-based game to a plurality of client devices based on a first game design. The method further includes the step of receiving, from the plurality of client devices, first activity data associated with the location-based game based on the first game design. Additionally, the method includes the step of determining whether the first activity data from the plurality of client devices meets a predetermined start condition associated with a local virtual event. Further still, the method includes the step of, in response to determining that the first activity data meets the predetermined start condition, starting a local virtual event for the plurality of client devices. And further still, the method includes the step of the game server providing game data based on the local virtual event to the plurality of client devices. The local virtual event can have a second game design that is different from the first game design. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 Depicts a representation of a virtual world having a geographical environment parallel to the real world according to one embodiment.
[0010] Figure 2 Depicts an exemplary game interface of a parallel reality game according to one embodiment.
[0011] Figure 3 Is a block diagram of a networked computing environment suitable for dynamically generating local virtual events for location-similar players in a location-based game according to one embodiment.
[0012] Figure 4 Is according to one embodiment Figure 3 Block diagram of the local virtual event setup module shown.
[0013] Figure 5 Is a flowchart of a process for dynamically generating local virtual events for location-similar players in a location-based game according to one embodiment.
[0014] Figure 6 illustrates an example computer system for a networked computing environment suitable for Figure 1 a networked computing environment. DETAILED DESCRIPTION
[0015] The figures and the following description illustrate certain embodiments in an illustrative manner. Those skilled in the art will recognize from the following description that alternative embodiments of structures and methods can be employed without departing from the described principles. Wherever feasible, like or similar reference numerals are used in the figures to indicate like or similar functions. When elements share a common numeral followed by a different letter, this indicates that the elements are similar or identical. Unless the context otherwise indicates, a reference to a numeral alone generally refers to any one or any combination of such elements.
[0016] Various embodiments are described in the context of a parallel reality game that includes augmented reality content in a virtual world geographical environment that is parallel to at least a portion of the real-world geographical environment such that a player's movement and actions in the real world affect actions in the virtual world. The described subject matter can be applied to other situations where it is desirable to dynamically generate local virtual events (e.g., implicit social events) for players in similar locations in a location-based game based on predetermined conditions. Additionally, the inherent flexibility of computer-based systems allows for a variety of possible configurations, combinations, and divisions of tasks and functions among and within the components of the system.
[0017] Example Location-Based Parallel Reality Game
[0018] Figure 1 is a conceptual diagram of a virtual world 110 of a parallel reality world 100. The virtual world 110 can serve as a game board for players of a parallel reality game. As illustrated, the virtual world 110 includes a geographical environment that is parallel to the geographical environment of the real world 100. In particular, a coordinate range that defines a geographical region or space in the real world 100 is mapped to a corresponding coordinate range that defines a virtual space in the virtual world 110. The coordinate range in the real world 100 can be associated with a town, neighborhood, city, campus, venue, country, continent, the entire Earth, or other geographical regions. Each geographical coordinate in the geographical coordinate range is mapped to a corresponding coordinate in the virtual space in the virtual world 110.
[0019] The player's location in the virtual world 110 corresponds to the player's location in the real world 100. For example, player A located at location 112 in the real world 100 has a corresponding location 122 in the virtual world 110. Similarly, player B located at location 114 in the real world 100 has a corresponding location 124 in the virtual world 110. As the player moves around within the geographical coordinate range in the real world 100, the player also moves around within the coordinate range that defines the virtual space in the virtual world 110. In particular, when the player navigates the geographical coordinate range in the real world 100, a location system (such as a GPS system, a position determination system, or both) associated with the mobile computing device carried by the player can be used to track the player's location. The data associated with the player's location in the real world 100 is used to update the player's location within the corresponding coordinate range that defines the virtual space in the virtual world 110. In this way, the player can navigate along a continuous trajectory within the coordinate range that defines the virtual space in the virtual world 110 by simply traveling within the corresponding geographical coordinate range in the real world 100, without having to check or periodically update location information at specific discrete locations in the real world 100.
[0020] Location-based games can include multiple game designs (such as corresponding to games (e.g., multi-player organized community games), in-game events or moments, etc.), each game design having a corresponding game objective and game rules, and controlling access to corresponding game content (such as virtual elements, virtual energy, virtual items, virtual objects). The game objective requires the player to travel to and interact with various virtual elements or virtual objects located at various virtual locations scattered in the virtual world 110, in accordance with the corresponding game rules of the game design. The player can travel to these virtual locations by traveling to the corresponding locations of the virtual elements or objects in the real world 100. For example, the location system can track the player's location such that as the player navigates the real world 100, the player also navigates the parallel virtual world 110. Then, the player can interact with various virtual elements and objects at specific locations to achieve or execute one or more game objectives.
[0021] The game objective of the game design can enable players to interact with virtual elements 130 (such as points of interest) located at various virtual positions in the virtual world 110. These virtual elements 130 can be linked to landmarks, geographical locations, or objects 140 (such as waypoints) in the real world 100. The real-world landmarks or objects 140 can be artworks, monuments, buildings, enterprises, libraries, museums, or other suitable real-world landmarks or objects. The interactions include capturing, claiming ownership of some virtual items, using some virtual items, spending some virtual currency, etc. To capture these virtual elements 130, the player travels to the landmark or geographical location 140 linked to the virtual element 130 in the real world and performs any necessary interactions with the virtual element 130 in the virtual world 110 (as defined by the game rules). For example, player A 112 may have to travel to the landmark 140 in the real world 100 to interact with or capture the virtual element 130 linked to that specific landmark 140. Interacting with the virtual element 130 may require real-world actions such as taking a photo or verifying, obtaining, or capturing other information about the landmark or object 140 associated with the virtual element 130.
[0022] The game objective of the game design can require the player to use one or more virtual items collected by the player in a location-based game. For example, the player can travel in the virtual world 110 to find virtual items 132 (such as weapons, creatures, powers, or other items) useful for completing the game objective. These virtual items 132 can be found or collected by traveling to different locations in the real world 100 or by performing various actions in the virtual world 110 or the real world 100 (such as interacting with virtual elements 130, fighting non-player characters or other players, or completing quests, etc.). In Figure 1 the example shown, the player uses the virtual item 132 to capture one or more virtual elements 130. Specifically, the player can deploy the virtual item 132 at a location near or within the virtual element 130 in the virtual world 110. Deploying one or more virtual items 132 in this way can result in the capture of the virtual element 130 for the player or for the player's team / faction.
[0023] In a particular embodiment, as part of a parallel reality game, players may have to collect virtual energy. The virtual energy 150 may be dispersed at different locations in the virtual world 110. Players can collect the virtual energy 150 by traveling to (or within a threshold distance of) a location in the real world 100 that corresponds to the location of the virtual energy in the virtual world 110. The virtual energy 150 can be used to power virtual items or perform various in-game objectives. A player who loses all of the virtual energy 150 can be disconnected from the game or prevented from playing for a certain period of time, or until they have collected additional virtual energy 150.
[0024] In accordance with aspects of the present disclosure, a parallel reality game can be a large multi-player location-based game in which each participant in the game shares the same virtual world. Players can be divided into separate teams or factions and can cooperate to achieve one or more in-game objectives, such as capturing or claiming ownership of virtual elements. In this way, a parallel reality game can inherently be a social game that encourages collaboration among in-game players. In a parallel reality game, players from opposing teams can compete against each other (or sometimes cooperate to achieve a common goal). Players can use virtual items to attack or impede the progress of players on opposing teams. In some cases, players are encouraged to gather at real-world locations for collaborative or interactive events in the parallel reality game. In these cases, the game server attempts to ensure that players are physically present at the location and not faking their location.
[0025] Figure 2 An embodiment of a game interface 200 is depicted that can be presented as part of an interface between a player and the virtual world 110 (e.g., on a player's smart phone). The game interface 200 includes a display window 210 that can be used to display the virtual world 110 and various other aspects of the game, such as player location 122 and the locations of virtual elements 130, virtual items 132, and virtual energy 150 in the virtual world 110. The user interface 200 can also display other information, such as game data information, game communications, player information, client location verification instructions, and other information associated with the game. For example, the user interface can display player information 215, such as player name, experience level, and other information. The user interface 200 can include a menu 220 for accessing various game settings and other information associated with the game. The user interface 200 can also include a communication interface 230 that enables communication between the game system of the parallel reality game and the player and between one or more players.
[0026] In accordance with aspects of the present disclosure, a player may interact with a parallel reality game by carrying a client device in the real world. For example, a player may play the game by accessing an application associated with the parallel reality game on a smart phone and moving the smart phone around in the real world. In this aspect, a player does not have to continuously view a visual representation of the virtual world on a display screen in order to play a location-based game. As a result, the user interface 200 may include non-visual elements that allow a user to interact with the game. For example, when a player approaches a virtual element or object in the game, or when an important event (such as an implicit social event) occurs nearby in the parallel reality game, the game interface may provide an auditory notification to the player. In some embodiments, the player may use the audio control 240 to control these auditory notifications. Different types of auditory notifications may be provided to the user, depending on the type of virtual element or event. The auditory notification may increase or decrease in frequency or volume, depending on the player's proximity to the virtual element or object. Other non-visual notifications and signals, such as vibration notifications or other suitable notifications or signals, may be provided to the user.
[0027] A parallel reality game may have various features to enhance and encourage gameplay within the parallel reality game. For example, a player may accumulate virtual currency or another virtual reward (such as virtual tokens, virtual points, virtual material resources, etc.) that can be used throughout the game (e.g., to purchase items in the game, exchange for other items, handicrafts, etc.). As a player completes one or more game objectives and gains experience within the game, the player may advance through various levels. A player may also be able to obtain enhanced "abilities" or virtual items that can be used to complete game objectives within the game.
[0028] Using the provided disclosure, those of ordinary skill in the art will understand that many game interface configurations and underlying functions are possible. Unless explicitly stated to the contrary, the present disclosure is not intended to be limited to any one particular configuration.
[0029] Example Game System
[0030] Figure 3 An embodiment of a networked computing environment 300 is illustrated. The networked computing environment 300 uses a client-server architecture, where a game server 320 communicates with a client device 310 via a network 370 to provide a parallel reality game to a player at the client device 310. The networked computing environment 300 may also include other external systems, such as a sponsor / advertiser system or a commerce system. Although Figure 3Only one client device 310 is shown, but any number of client devices 310 or other external systems can be connected to the game server 320 via the network 370. Additionally, the networked computing environment 300 can include different or additional elements, and the functionality can be distributed between the client device 310 and the server 320 in a different manner than described below.
[0031] The networked computing environment 300 provides for the interaction of players in a virtual world having a geographical environment parallel to the real world. In particular, geographical regions in the real world can be directly linked or mapped to corresponding regions in the virtual world. Players can move around in the virtual world by moving to various geographical locations in the real world. For example, a player's location in the real world can be tracked and used to update the player's location in the virtual world. Generally, a player's location in the real world is determined by finding the location of the client device 310 through which the player is interacting with the virtual world and assuming the player is at the same (or approximately the same) location. For example, in various embodiments, if a player's location in the real world is within a threshold distance (e.g., ten meters, twenty meters, etc.) of a real-world location corresponding to a virtual location of a virtual element in the virtual world, then the player can interact with the virtual element. For convenience, various embodiments are described with reference to "the location of the player", but those skilled in the art will understand that such reference can refer to the location of the player's client device 310.
[0032] The client device 310 can be any portable computing device capable of being used by a player to interface with the game server 320. For example, the client device 310 is preferably a portable wireless device that can be carried by a player, such as a smart phone, a portable gaming device, an augmented reality (AR) headset, a cellular phone, a tablet computer, a personal digital assistant (PDA), a navigation system, a handheld GPS system, or other such devices. For some use cases, the client device 310 can be a less mobile device, such as a desktop computer or a laptop computer. Additionally, the client device 310 can be a vehicle having a built-in computing device.
[0033] The client device 310 communicates with the game server 320 to provide sensing data of the physical environment. In one embodiment, the client device 310 includes a camera component 312, a game module 314, a positioning module 316, and a location determination module 318. The client device 310 also includes a network interface (not shown) for providing communication via the network 370. In various embodiments, the client device 310 can include different or additional components, such as additional sensors, displays, and software modules, etc.
[0034] The camera component 312 includes one or more cameras that can capture image data. The cameras capture image data depicting the environmental scene around the client device 110 having a particular pose (the position and orientation of the camera within the environment). The camera component 312 can use various light sensors having varying color capture ranges and varying capture rates. Similarly, the camera component 312 can include cameras having a range of different lenses, such as wide-angle lenses or telephoto lenses. The camera component 312 can be configured to capture a single image or multiple images as video frames.
[0035] The client device 310 can also include additional sensors for collecting data about the environment around the client device, such as motion sensors, accelerometers, gyroscopes, barometers, thermometers, light sensors, microphones, etc. The image data captured by the camera component 312 can be appended with metadata describing other information about the image data, such as additional sensing data (e.g., temperature, ambient brightness, air pressure, location, pose, etc.) or capture data (e.g., exposure length, shutter speed, focal length, capture time, etc.).
[0036] The game module 314 provides an interface for a player to participate in a parallel reality game. The game server 320 transmits game data to the client device 310 via the network 370 for use by the game module 314 to provide a local version of the game to a player at a location remote from the game server. In one embodiment, the game module 314 presents a user interface on the display of the client device 310 that depicts a virtual world (e.g., renders an image of the virtual world) and allows the user to interact with the virtual world to perform various game objectives based on the game design. In some embodiments, the game module 314 presents an image of the real world (e.g., captured by the camera component 312) enhanced with virtual elements from a parallel reality game. In these embodiments, the game module 314 can generate or adjust virtual content based on other information received from other components of the client device 310. For example, the game module 314 can adjust virtual objects to be displayed on the user interface based on a depth map of the scene captured in the image data.
[0037] The game module 314 can also control various other outputs to allow the player to interact with the game without requiring the player to view the display screen. For example, the game module 314 can control various audio, vibration, or other notifications that allow the player to play the game without looking at the display screen.
[0038] The positioning module 316 can be any device or circuitry for determining the location of the client device 310. For example, the positioning module 316 can determine the actual or relative location by using satellite navigation positioning systems (such as GPS systems, Galileo positioning systems, Global Navigation Satellite System (GLONASS), Beidou satellite navigation and positioning systems), inertial navigation systems, dead reckoning systems, IP address analysis, triangulation and / or proximity with cellular towers or Wi-Fi hotspots, or other suitable technologies.
[0039] As the player moves around the real world with the client device 310, the positioning module 316 tracks the player's location and provides the player location information (such as real-world activity data) to the game module 314. The game module 314 updates the player's location in the virtual world associated with the game based on the player's actual location in the real world. Thus, the player can simply interact with the virtual world by carrying or transporting the client device 310 in the real world. In particular, the player's position in the virtual world can correspond to the player's position in the real world. The game module 314 can provide the player location information to the game server 320 via the network 370. In response, the game server 320 can develop various techniques to verify the location of the client device 310 to prevent cheaters from faking their locations. It should be understood that the location information associated with the player is utilized only when permission has been granted after the player has been notified that their location information will be accessed and how it will be utilized in the context of the game (such as updating the player's location in the virtual world). Additionally, any location information associated with the player is stored and maintained in a manner that protects the player's privacy.
[0040] The position determination module 318 receives the location determined by the positioning module 316 for the client device 310 and refines it by determining the pose of one or more cameras of the camera assembly 312. In one embodiment, the position determination module 318 uses the location generated by the positioning module 316 to select a 3D map of the environment around the client device 310. The position determination module 318 can obtain the 3D map from local storage or from the game server 320. The 3D map can be a point cloud, mesh, or any other suitable 3D representation of the environment around the client device 310.
[0041] In one embodiment, the position determination module 318 applies a trained model to determine the pose of an image captured by the camera component 312 relative to the 3D map. Thus, the position determination model can determine an accurate (e.g., within a few centimeters and degrees) determination of the location and orientation of the client device 310. Then, a dead reckoning system based on sensor readings, periodic re-position determination, or a combination of both can be used to track the location of the client device 310 over time. Having an accurate pose for the client device 310 can enable the game module 314 to present virtual content (e.g., by displaying virtual elements in combination with real-time feedback from the camera component 312 on a display) or the real world itself (e.g., by displaying virtual elements on a transparent display of an AR headset) overlaid on an image of the real world in a manner that gives the impression that virtual objects are interacting with the real world. For example, a virtual character can hide behind a real tree, a virtual hat can be placed on a real statue, or a virtual creature can run away and hide when a real person approaches it too quickly.
[0042] The game server 320 includes one or more computing devices that provide game functionality to the client device 310. The game server 320 can include a game database 330 or communicate with a game database 330. The game database 330 stores game data used in the parallel reality game to serve or provide the game data to the client device 320 via the network 370.
[0043] The game data stored in the game database 330 may include: (1) data associated with the virtual world in the parallel reality game (such as image data used to render the virtual world on a display device, geographical coordinates of positions in the virtual world, etc.); (2) data associated with the players of the parallel reality game (such as player profiles including but not limited to player information, player experience level, player currency, current player's location in the virtual world / real world, player energy level, player preferences, team information, faction information, etc.); (3) game design data associated with multiple game designs and the corresponding game objectives and game rules of each game design (such as a first set of one or more game designs for location-based games (such as one or more main game designs or default game designs), a second game design (such as one or more local virtual event game designs corresponding to one or more types of local virtual events or implicit social events), etc.); (4) data associated with virtual elements in the virtual world (such as the location of virtual elements, the type of virtual elements, game objectives associated with virtual elements; corresponding real-world location information for virtual elements; the behavior of virtual elements, the relevance of virtual elements, etc.); (5) data associated with real-world objects, landmarks, and locations linked to virtual world elements (such as the location of real-world objects / landmarks, the description of real-world objects / landmarks, the relevance of virtual elements linked to real-world objects, etc.); (6) the game state for the corresponding game design (such as the current number of players, the current state of game objectives, the player leaderboard, etc.); (7) data associated with player actions / inputs for the corresponding game design (such as the current player location, past player locations, player movement, player inputs, player queries, player communications, etc.); or (8) any other data used, involved, or obtained during the implementation of the parallel reality game. The game data stored in the game database 330 may be filled offline or in real time with data filled by a system administrator or data received from users of the system 300 (such as players) (such as from the client device 310 via the network 370).
[0044] In one embodiment, the game server 320 is configured to receive requests for game data from the client device 310 (e.g., via a remote procedure call (RPC)) and respond to these requests via the network 370. The game server 320 may encode the game data in one or more data files and provide the data files to the client device 310. Additionally, the game server 320 may be configured to receive game data (e.g., player location, player actions, player input, etc.) from the client device 310 via the network 370. The client device 310 may be configured to periodically send player input and other updates to the game server 320, which uses the player input and other updates to update the game data in the game database 330 to reflect any and all changed conditions for the game.
[0045] In Figure 3 the illustrated embodiment, the game server 320 includes a general game module 322, a commercial game module 323, a local virtual event setup module 326, a mapping system 327, and a 3D map repository 328. As mentioned above, the game server 320 interacts with the game database 330, which may be part of the game server or accessed remotely (e.g., the game database 330 may be a distributed database accessed via the network 370). In other embodiments, the game server 320 contains different or additional elements. Additionally, the functionality may be distributed among the elements in a different manner than described.
[0046] The general game module 322 hosts an instance of a parallel reality game for a group of players (e.g., all players of a parallel reality game) and serves as the authoritative source for the current state of the parallel reality game for that group of players (which may include multiple simultaneous sessions based on multiple game designs for different subsets of players). Because of the hosting, the general game module 322 generates game content for presentation to the players (e.g., via their respective client devices 310). When hosting the parallel reality game, the general game module 322 may access the game database 330 to retrieve or store game data. The general game module 322 may also receive game data (e.g., depth information, player input, player location, player actions, landmark information, etc.) from the client device 310 and incorporate the received game data into the overall parallel reality game for the entire group of players of the parallel reality game. The general game module 322 may also manage the delivery of game data to the client device 310 via the network 370. In some embodiments, the general game module 322 also regulates the security aspects of the interaction between the client device 310 and the parallel reality game, such as securing the connection between the client device and the game server 320, establishing connections between various client devices, or verifying the location of various client devices 310 to prevent players from cheating by spoofing their location.
[0047] The commercial game module 323 can be separate from or a part of the general game module 322. The commercial game module 323 can manage various game features that will be linked to real-world commercial activities, including within a parallel reality game. For example, the commercial game module 323 can receive requests from external systems such as sponsors / advertisers, enterprises, or other entities via the network 370 to include game features linked to real-world commercial activities. The commercial game module 323 can then arrange to include these game features in the parallel reality game when it is confirmed that the linked commercial activity has occurred. For example, if an enterprise pays an agreed amount to the provider of the parallel reality game, then a virtual object identifying the enterprise can appear at a virtual location in the parallel reality game corresponding to the enterprise's real-world location (e.g., a store or a restaurant).
[0048] The local virtual event setup module 326 manages a player's access to different types of local virtual events (e.g., implicit social events) in the parallel reality game. Although the term "event" is used for convenience, it should be understood that this term does not necessarily refer to a specific event at a specific location or time. Instead, it can refer to any provision of controlled game content where one or more access criteria (e.g., predefined start conditions) are used to determine whether a player can access the content. Such content can be part of a larger parallel reality game that includes game content with less or no access control, or can be a stand-alone, access-controlled parallel reality game. The features and configuration of the local virtual event setup module 326 are described in detail below in conjunction with Figure 4 and Figure 5 describe the features and configuration of the local virtual event setup module 326 in detail.
[0049] The mapping system 327 generates a 3D map of a geographic area based on a set of images. The 3D map can be a point cloud, a polygon mesh, or any other suitable representation of the 3D geometry of the geographic area. The 3D map can include semantic tags that provide additional context information, such as identifying objects (tables, chairs, clocks, lamp posts, trees, etc.), materials (concrete, water, bricks, grass, etc.), or game attributes (e.g., passable by a character, suitable for certain in-game actions, etc.). In one embodiment, the mapping system 327 stores the 3D map together with any semantic / context information in the 3D map repository 328. The 3D map can be stored in the 3D map repository 328 together with location information (e.g., GPS coordinates of the center of the 3D map, a circular fence defining the extent of the 3D map, etc.). Thus, the game server 320 can provide the 3D map to the client device 310, which provides location data indicating that they are within or near the geographic area covered by the 3D map.
[0050] The network 370 can be any type of communication network, such as a local area network (e.g., an intranet), a wide area network (e.g., the Internet), or some combination thereof. The network can also include a direct connection between the client device 310 and the game server 320. Generally speaking, the communication between the game server 320 and the client device 310 can be implemented via a network interface using any type of wired or wireless connection, using various communication protocols (e.g., TCP / IP, HTTP, SMTP, FTP), encoding or formats (e.g., HTML, XML, JSON), or security schemes (e.g., VPN, secure HTTP, SSL).
[0051] This disclosure relates to servers, databases, software applications, and other computer-based systems, as well as the actions taken and the information sent to and from these systems. Those of ordinary skill in the art will recognize that the inherent flexibility of computer-based systems allows for many possible configurations, combinations, and divisions of tasks and functions among and within components. For example, a process disclosed as being implemented by a server can be implemented using a single server or multiple servers working in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.
[0052] In cases where the systems and methods disclosed herein access and analyze personal information about a user or utilize personal information (such as location information), the user can be provided with the opportunity to control whether a program or feature collects information and to control whether and how content is received from the system or other applications. Such information or data is not collected or used until the user is provided with a meaningful notice of what information is to be collected and how that information will be used. Information is not collected or used unless the user provides consent, and the user can revoke or modify consent at any time. Thus, the user can control how information about the user is collected and how information about the user is used by an application or system. Additionally, before certain information or data is stored or used, it can be processed in one or more ways such that personally identifiable information is removed. For example, a user's identity can be processed such that personally identifiable information cannot be determined for the user.
[0053] Figure 4 is according to one embodiment Figure 3 is a block diagram of the local virtual event setup module 326 as shown. As explained previously, access-controlled game content (e.g., corresponding to a local virtual event) can be provided to a identified group of players with similar locations in a location-based game to create a viral moment that spontaneously occurs for the players, thereby increasing player engagement and the amount of time that players may wish to spend playing a parallel reality game. The functionality for providing such access-controlled game content (based on the corresponding game design) can be implemented by the local virtual event setup module 326.
[0054] In Figure 4 In the illustrated embodiment, the local virtual event setup module 326 includes a first activity analysis module 410, a notification module 420, a game design setup module 430, a tracking module 440, a second activity analysis module 450, and a data repository 460. In other embodiments, the local virtual event setup module 326 includes different or additional elements. Additionally, the functionality may be distributed among the elements in a different manner than described.
[0055] As previously explained, a parallel reality game instance for a group of players (e.g., all players of a parallel reality game) may be hosted by the general game module 322 of the game server 320 using game data from the game database 330. An instance of the parallel reality game for the group of players may correspond to a predefined coordinate range that defines a geographic region or space in the real world, which is mapped to a corresponding coordinate range that defines a virtual space in the virtual world, and the coordinate range in the real world may be associated with a town, neighborhood, city, campus, venue, country, continent, the entire Earth, or other geographic region. The parallel reality game instance may be a location-based multi-player game instance where each participant in the game shares the same virtual world. Additionally, players may be divided into separate games or AR sessions with corresponding game designs (e.g., one or more game designs for a first group). For example, different subsets of players may play under different game designs with different game objectives based on different aggregations of subsets of players at real-world locations within a predefined coordinate range that defines a geographic region (e.g., a town). That is, a first group of aggregated players at a first real-world location in the parallel reality game may be associated with a shared AR session (e.g., a group event with a shared game objective), and the entire parallel reality game instance may simultaneously host multiple such shared AR sessions based on multiple player aggregations at different (or the same) real-world locations within the geographic region (e.g., a town).
[0056] In this way, a first set of one or more game designs (with corresponding game objectives, game rules, and game content) can be correspondingly set for the corresponding aggregations of players in the set of players of the overall parallel reality game instance. For example, a main game design or a default game design (such as the first set of one or more game designs) can be set for all players of the game instance corresponding to the geographical area. In addition, corresponding game designs (such as the first set of one or more game designs) can be set for the corresponding aggregations of players (from all players of the game instance corresponding to the geographical area) playing at corresponding (same or different) real-world locations within the geographical area. And the (multiple) game designs applicable to a given player in the geographical area can stipulate game objectives and game rules for the players of the parallel reality game and control what game content is provided to the client device associated with the given player.
[0057] During the game play, the player can operate the corresponding client device to interact with the parallel reality game instance based on the corresponding game design and generate game data (such as first activity data). For example, the game objective of the game design can enable the corresponding player to interact with virtual elements or objects located at various virtual locations in the virtual world. The interaction can include capturing some virtual items, claiming ownership of some virtual items, using some virtual items, spending some virtual currency, etc. The data generated based on the interaction can be transmitted by the corresponding client device to the game server as virtual world activity data. For example, the virtual world activity data includes virtual game action data associated with the action requests input by the user of the client device in the virtual world of the location-based game and the results of the action requests determined by the game server. Additionally, the client device can provide location data (such as geographical location data, GPS data), and during the game play under the corresponding game design, the location data indicates the geographical location of the client device in the real world within the geographical area. The location data can be transmitted by the client device as a background process at a predetermined frequency (such as per second), or can be transmitted based on another rule system (such as based on a request from the game server, based on a location update detected by the client device, etc.). The location data generated by the client device can be transmitted to the game server as real-world activity data. Another example of real-world activity data can be the user performing a predetermined action using the client device (such as image capture at a predetermined real-world location or of a predetermined real-world object).
[0058] The first activity analysis module 410 can be configured to analyze first activity data (e.g., virtual world activity data, real-world activity data) for each player among a plurality of players (e.g., all players) from parallel reality game instances in a geographic region. To perform the analysis, the first activity analysis module 410 can determine whether a predetermined start condition for one of a plurality of types of local virtual events has been met based on the first activity data from client devices associated with the set of all players in the geographic region. Data corresponding to the plurality of types of local virtual events (including corresponding predetermined start condition data) can be stored in the data repository 460, and the first activity analysis module 410 can access the data stored in the data repository 460 to compare the received first activity data with data corresponding to the predetermined start conditions for different types of local virtual events that can be triggered by the game server, and make a determination.
[0059] For example, the predetermined start conditions for different types of local virtual events can specify one or more of the following: (1) a predetermined virtual element or object or item located at a predetermined virtual location in the virtual world and corresponding to a predetermined location in the real world (e.g., a landmark in a park, stadium, farmers' market, etc.); (2) a predetermined range (e.g., 50 meters), which is defined relative to a predetermined virtual element / object / item in the virtual world and / or relative to the corresponding predetermined location in the real world; (3) at least a predetermined number of client devices (from all client devices associated with the set of players in the geographic region) located within a predetermined range of a predetermined virtual element (or within a predetermined range of each other) and determined to be active (e.g., based on ping data less than 24 hours long); (4) a predetermined number of active client devices located within a predetermined range of a predetermined virtual element being at least a predetermined distance apart from each other (e.g., any two players within the predetermined range are at least 5 meters apart from each other); (5) each of a predetermined number of active client devices not having participated in another instance of the same type of local virtual event within a predetermined past time period (e.g., if players participate in an event, then they will be in a 12-hour cooldown period before they can participate in the same type of event again); (6) a predetermined date and time at which at least a predetermined number of active client devices will be located within a predetermined range of a predetermined virtual element or of each other; (7) a (plurality of) predetermined in-game actions (e.g., players must capture a predetermined number and / or type of virtual items or objects; prerequisite in-game actions); (8) performing a (plurality of) predetermined real-world actions (e.g., capturing an image of a predetermined real-world object or landmark, walking a predetermined distance), etc.
[0060] Thus, for example, a first type of local virtual event can specify (based on a corresponding predetermined start condition) that an instance of the first type of local virtual event is triggered if there are at least 25 active players within 50 meters of a given landmark in a given park. As another example, a second type of local virtual event can specify that if at least 50 active players are detected during a specific soccer game within a specific date and time range in a stadium, and each of the 50 active players performs a specific action (such as capturing a specific virtual item, taking a photo of the stadium, etc.), then an instance of the second type of local virtual event is triggered.
[0061] The first activity analysis module 410 can also specify conditions to determine whether a player associated with a given client device is an active player (such as pinging the device hourly and identifying the player as an active player if the player of the device has been active in the past 24 hours). By setting the predetermined start conditions differently for different types of local virtual events, various different implicit social events can be configured to trigger in various different ways at different rarity levels and at various different locations where players may gather, thereby increasing player engagement. Data associated with different types of local virtual events can be stored in the data repository 460 and / or the game database 330.
[0062] In response to determining that the predetermined start conditions for a given type of local virtual event have been met, the notification module 420 can be configured to notify a plurality of client devices that the predetermined start conditions for the given type of local virtual event have been met. In some embodiments, the notification module 420 can notify only those players (such as the identified players) whose first activity data (such as capturing a specific virtual element) meets the predetermined start conditions. In other embodiments, the notification module 420 can notify a group of players (such as the identified players) that includes players whose first activity data meets the predetermined start conditions and also includes additional players who may be similar in location to the players. For example, the start conditions for a specific type of local virtual event can require at least 50 players to gather within a predetermined range from a given virtual landmark and also require that the 50 players must perform a specific in-game action within that range and within a predetermined time period. In this case, if the module 410 determines that the start conditions for the local virtual event are met, then the notification module 420 can notify not only the 50 players who meet the predetermined start conditions (by performing a specific in-game action) but also other players who may happen to be in other locations similar to the defined range of the given virtual landmark (but who did not perform the specific in-game action).
[0063] As previously explained, a local virtual event can be an implicit event because players of parallel reality game instances that are dispersed across a geographical area and participating in a corresponding game session or event (such as a gathering of players based on one or more locations in the geographical area) may not be aware of the conditions that cause different local virtual events to be triggered. As a result, players may not expect a given type of local virtual event to occur, and the occurrence of such an event may seem spontaneous.
[0064] To notify players of an event, when the first activity analysis module 410 determines that the start conditions for a given type of local virtual event are met, the notification module 420 can send a notification (such as a visual notification, a vibration notification, an auditory notification, other notifications) to the identified players, notifying that the given type of local virtual event has been triggered and is about to start. The notification can include additional information based on the game design data associated with the given type of local virtual event. The additional information can include the time when the local virtual event will start (such as a countdown timer), the game area of the local virtual event (such as a predetermined range or area that can be the same as or different from the area corresponding to the predetermined start conditions for triggering the event), map data indicating the location of the game area, game objectives, a list of participating players, the duration of the event, etc. In some embodiments, the notification can serve as an invitation for the identified players to join the local virtual event, and each player can have the option to join the event by responding to the notification or ignoring the notification.
[0065] The game design settings module 430 can set the game design (such as a second game design) associated with the local virtual event for a group of player client devices (such as the client devices notified by the notification module 420, the client devices that respond to join the local virtual event in response to the notification from the notification module 420), the start conditions of which local virtual event are determined by the first activity analysis module 410 to be met, and the start time and other information of which are notified to the players by the notification module 420.
[0066] In some embodiments, the game design settings module 430 can set the game design associated with the local virtual event for a group of player client devices as a background process. That is, when the first activity analysis module 410 determines that the start conditions for a given type of local virtual event are met, instead of the notification module 420 sending a notification to the identified players that the given type of local virtual event has been triggered and is about to start, the game design settings module 430 can directly set the game design based on the triggered given type of local virtual event for the group of player client devices.
[0067] The game design set by the game design settings module 430 can affect game mechanisms (e.g., game rules, game objectives, access to access-controlled game content) for a group of players. For example, the game design set by the game design settings module 430 can replace a previous game design associated with each client device in a group of client devices. Alternatively, the game design set by the game design settings module 430 can be appended to a previous game design associated with each client device in a group of client devices (e.g., grant access to additional access-controlled game content). For example, a group of client devices can be associated with a primary game design or a default game design (e.g., a first set of one or more game designs). As another example, different subsets of one or more client devices in a group of client devices can be associated with respective game designs (e.g., a first set of one or more game designs) having respective game sessions or events and access to respective game content. And the game design set by the game design settings module 430 (e.g., a second game design) can replace or be appended to the previous game design for each client device in the group of client devices. In some embodiments, the second game design can grant exclusive access to access-controlled game content (e.g., virtual elements or objects) to a group of client devices participating in a respective game session or event. In some embodiments, the second game design can correspond to an organized community game event having a shared AR session (e.g., a live game associated with a specific geographic location) in which participating players in the group of client devices play together or against each other as one or more teams or factions toward a common goal.
[0068] After a local virtual event begins, the group of client devices for which the game design is set by the game design settings module 430 can participate in a game in the game area based on the game design of the local virtual event. Game content for the local virtual event can be generated for presentation to the client devices of the group of players. During gameplay, players can operate the respective client devices to interact with the game content of the local virtual event in the game area and generate game data (e.g., second activity data).
[0069] The tracking module 440 can track second activity data (such as virtual world activity data, real world activity data) from a group of client devices to, for example, determine the progress of a group of players towards the game goals of the game design of a local virtual event. For example, the tracking module 440 can track action data in a virtual game associated with action requests input by a group of players in the virtual world of a local virtual event and the results of the action requests determined by the game server. Based on this tracking, the tracking module 440 can control the notification module 420 to present achievement tracking data (such as goal tracking data) to the group of client devices, and the achievement tracking data indicates at least one of the individual achievements and collective achievements of the group of players for the game goals of the game design based on the local virtual event. The tracking module 440 can also control the notification module 420 to present other information related to playing the game, such as a list of participating players in the game area, event duration or remaining time, personal score, leaderboard, information about other upcoming local virtual events in the vicinity, etc. For example, the local virtual event can have as its game goal that a group of players with similar identified locations capture a predetermined number of (access-controlled, local virtual event-specific) virtual objects within the game area of the event (collectively or individually) within a predetermined time period, such that each participating player can win a virtual reward. And in this case, the tracking module 440 can track the location of the group of players within the game area, the time elapsed for the event, the time remaining for the event, the current number of virtual objects captured (individually and / or collectively), the leaderboard, virtual reward information, etc.
[0070] The second activity analysis module 450 can be configured to analyze the second activity data of the group of client devices tracked by the tracking module 440. To perform the analysis, the second activity analysis module 450 can determine whether a predetermined end condition associated with the local virtual event has been met based on the second activity data. Data corresponding to the predetermined end condition of the local virtual event can be stored in the data repository 460, and the second activity analysis module 450 can access the data stored in the data repository 460 to compare the received second activity data with the data corresponding to the predetermined end condition and make a determination. For example, the predetermined end condition can specify one or more of the following: (1) a predetermined time period (such as 30 minutes) has elapsed since the start of the local virtual event; (2) the (collective or individual) performance of the game goals of the local virtual event based on the game design, etc.
[0071] In response to determining that a predetermined end condition for a local virtual event has been met, the notification module 420 may be configured to notify a group of client devices that the local virtual event has ended. For example, if the second activity analysis module 450 determines that the game objective of the local virtual event has been met before the set duration of the local virtual event ends, the notification module 420 may notify the group of client devices that the objective of the local event has been achieved, and the corresponding score tracking data may be presented to the client devices of the group of players of the local virtual event. Additionally, in this example, the second activity analysis module 450 may be configured to update the game data for the players to apply game-designed virtual rewards to each player in the group of players based on the successful completion of the objective of the local virtual event.
[0072] Furthermore, the game design settings module 430 may be configured such that, in response to the notification module 420 notifying the group of client devices that a predetermined end condition for the local virtual event has been met and the event has ended, the game design settings module 430 sets the corresponding game design for the group of client devices to a previous game design state, which is the game design state before the local virtual event began. For example, the game design settings module 430 may restore each client device in the group of client devices participating in the local virtual event to the corresponding game design from a first set of one or more game designs (e.g., the main game design or default game design, the game design with the corresponding game session or event). The game design settings module 430 may thus restrict access to access-controlled game content (e.g., virtual elements or objects) to the group of client devices that were temporarily granted access during the local virtual event. In an embodiment where the second game design may correspond to an organized community game event with a shared AR session, the end of the local virtual event may cause the game play for the group of players to resume to the state that existed before the players joined the local virtual event. Thus, after the local virtual event has ended, the game play for the group of players may continue based on the corresponding game design with the corresponding game content, objectives, and rules.
[0073] The data stored in the data repository 460 may include: (1) data associated with each type of local virtual event among multiple types of local virtual events, including corresponding access-controlled game content data (such as virtual element data), game design data, game objective data, game rule data, start condition data, end condition data, etc.; (2) data associated with the players of each type of local virtual event and each instance of each type of local virtual event (such as player profiles, including but not limited to player information, player experience level, player currency, current player location in the virtual world / real world, player energy level, player preferences, team information, faction information, etc.); (3) game state data for each instance of each type of local virtual event; (4) data associated with player actions / inputs for each instance of each type of local virtual event (such as current player location, past player location, player movement, player input, player queries, player communications, etc.); or (5) any other data used, related to, or obtained during the implementation of each instance of each type of local virtual event. The game data stored in the data repository 460 may be populated offline or in real time by a system administrator, or by data received from users (such as players) of the system, such as received from a client device via a network.
[0074] Example method
[0075] Figure 5 is a flowchart depicting an example method 500 for dynamically generating local virtual events for players with similar locations in a location-based game. The steps are illustrated from the perspective of the game server 320 that executes the method 500. Figure 5 However, some or all of the steps may be performed by other entities or components. Additionally, some embodiments may perform the steps in parallel, in a different order, or perform different steps.
[0076] In the illustrated embodiment, method 500 begins with game server 320 providing 510 game data for a location-based game to a plurality of client devices 310 based on a first set of one or more game designs (e.g., a main game design or a default game design). Game server 320 may receive 520 first activity data (e.g., location data, in-game action data) associated with the location-based game from the plurality of client devices based on the first set of one or more game designs. Game server 320 may determine 530 whether the first activity data from the plurality of client devices meets a predetermined start condition associated with a local virtual event (e.g., at least 50 active players within a predetermined range of a specific virtual location in the virtual world). The game server may begin 540 a local virtual event for the plurality of client devices in response to determining that the first activity data meets the predetermined start condition. And game server 320 may provide 550 game data (e.g., capture as many predetermined virtual items as possible within 30 minutes) to the plurality of client devices based on the local virtual event. The local virtual event has a second game design that is different from the first set of one or more game designs. At the end of method 500 (e.g., after a predetermined period of time corresponding to the local virtual event has passed), the game server may restore the game design back to the first set of one or more game designs and may restore the game that existed before the start of the local virtual event for the plurality of client devices.
[0077] Example computing system
[0078] Figure 6 is a block diagram of an example computer 600 suitable for use as client device 310 or game server 320 or local virtual event setup module 326 or for providing the functionality of method 500. Example computer 600 includes at least one processor 602 coupled to a chipset 604. Chipset 604 includes a memory controller hub 620 and an input / output (I / O) controller hub 622. Memory 606 and a graphics adapter 612 are coupled to memory controller hub 620, and a display 618 is coupled to graphics adapter 612. A storage device 608, a keyboard 610, a pointing device 614, and a network adapter 616 are coupled to I / O controller hub 622. Other embodiments of computer 600 have different architectures.
[0079] In Figure 6In the illustrated embodiment, the storage device 608 is a non-transitory computer-readable storage medium, such as a hard disk drive, a compact disc read-only memory (CD-ROM), a DVD, or a solid-state memory device. The memory 606 holds instructions and data used by the processor 602. The pointing device 614 is a mouse, a trackball, a touch screen, or other type of pointing device and can be used in conjunction with the keyboard 610 (which may be an on-screen keyboard) to input data into the computer system 600. The graphics adapter 612 displays images and other information on the display 618. The network adapter 616 couples the computer system 600 to one or more computer networks, such as network 370.
[0080] Figures 3 to 5 The type of computer used by entities and methods of can vary according to the embodiment and the processing capabilities required by the entity. For example, the game server 320 may include multiple blade servers that work together to provide the described functionality. Additionally, a computer may lack some of the above components, such as the keyboard 610, the graphics adapter 612, and the display 618.
[0081] Additional Considerations
[0082] Some portions of the above description describe embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and representations are typically used by those skilled in the computing arts to effectively convey the substance of their work to others skilled in the art. Although these operations are functionally, computationally, or logically described, these operations are understood to be implemented by a computer program that includes instructions for execution by a processor or equivalent circuitry, microcode, etc. Additionally, it is sometimes convenient to refer to the arrangement of these functional operations as modules without loss of generality.
[0083] Any reference to "an embodiment" or "embodiments" means that the particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The phrase "in an embodiment" that appears in different places in the specification does not necessarily refer to the same embodiment. Similarly, the use of "a" or "an" before an element or component is merely for convenience. The description should be understood to mean that there is one or more of the element or component unless the context clearly indicates otherwise.
[0084] Unless another meaning is apparent from the context, where a value is described as "about" or "substantially" (or derivatives thereof), such values should be interpreted as being exact + / - 10%. For example, "about ten" should be understood to mean "in the range of 9 to 11".
[0085] The terms "comprises", "comprising", "includes", "including", or any other variation thereof are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Additionally, unless expressly stated to the contrary, "or" refers to an inclusive or and not an exclusive or. For example, condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or absent); A is false (or absent) and B is true (or present); and both A and B are true (or present).
[0086] Upon reading this disclosure, those skilled in the art will appreciate additional alternative structural and functional designs for systems and processes for providing the described functionality. Accordingly, while particular embodiments and applications have been illustrated and described, it should be understood that the described subject matter is not limited to the exact construction and components disclosed. The scope of protection should be limited only by the claims set forth below.
Claims
1. A computer-implemented method, comprising: providing, by a game server, game data of a location-based game to a plurality of client devices based on a first set of one or more game designs; receiving, from the plurality of client devices, first activity data associated with the location-based game based on the first set of one or more game designs; determining whether the first activity data from the plurality of client devices satisfies a predetermined start condition associated with a local virtual event; in response to determining that the first activity data satisfies the predetermined start condition, starting the local virtual event for the plurality of client devices; and providing, by the game server, game data based on the local virtual event to the plurality of client devices, the local virtual event having a second game design different from the first set of one or more game designs.
2. The method according to claim 1, further comprising: receiving, from the plurality of client devices, second activity data based on the second game design of the local virtual event; determining whether the second activity data from the plurality of client devices satisfies a predetermined end condition associated with the local virtual event; in response to determining that the second activity data satisfies the predetermined end condition, ending the local virtual event for the plurality of client devices; and providing, by the game server and after ending the local virtual event, game data of the location-based game to the plurality of client devices based on the first set of one or more game designs.
3. The method according to claim 2, wherein determining whether the second activity data from the plurality of client devices satisfies the predetermined end condition includes one of the following: determining whether a predetermined period of time has elapsed since the start of the local virtual event; and determining whether a game objective of the second game design has been achieved by users of the plurality of client devices before the predetermined period of time has passed.
4. The method according to claim 3, wherein the local virtual event is a shared AR session, and wherein the method further includes displaying achievement tracking data on each of the plurality of client devices and during the local virtual event, the achievement tracking data indicating at least one of individual achievements and collective achievements of the game objective based on the second game design.
5. The method according to claim 4, wherein determining whether the first activity data satisfies the predetermined start condition comprises: determining whether the number of the plurality of client devices is at least a predetermined number.
6. The method according to claim 5, wherein determining whether the first activity data satisfies the predetermined start condition further comprises: determining, based on the first activity data, whether the predetermined number of client devices are located within a predetermined area, the predetermined area corresponding to a predetermined range measured from a real-world location associated with a predetermined virtual element at a virtual world location.
7. The method according to claim 6, wherein determining whether the first activity data satisfies the predetermined start condition further comprises: For each of the plurality of client devices, determine whether a prerequisite game action based on a game design from the first set of one or more game designs has been completed within the predetermined area.
8. The method according to claim 7, wherein the prerequisite game action is one of an action in a virtual game and an action in the real world.
9. The method according to claim 7, further comprising: Providing map data in the game data based on the local virtual event and indicating a game area corresponding to the predetermined area to the plurality of client devices.
10. The method according to claim 5, wherein determining whether the first activity data satisfies the predetermined start condition further comprises: Determining whether the predetermined number of client devices are located within a predetermined range of each other based on the first activity data.
11. The method according to claim 10, further comprising presenting a notification to one or more of the plurality of client devices in response to determining that the predetermined number of client devices are located within the predetermined range of each other, wherein the notification indicates a predetermined time at which the local virtual event is scheduled to start.
12. The method according to claim 1, wherein the first activity data corresponds to at least one of real-world activity data and virtual-world activity data.
13. The method according to claim 12, wherein the real-world activity data includes location data indicating the geographical location of the client device, and the virtual-world activity data includes virtual game action data associated with an action request input by a user of the client device in the virtual world of the location-based game and a result of the action request determined by the game server.
14. A non-transitory computer-readable medium storing instructions that, when executed by a computing system, cause the computing system to perform operations, the operations comprising: Providing game data of a location-based game to a plurality of client devices based on a first set of game designs; Receiving first activity data associated with the location-based game from the plurality of client devices based on the first set of one or more game designs; Determining whether the first activity data from the plurality of client devices satisfies a predetermined start condition associated with a local virtual event; In response to determining that the first activity data satisfies the predetermined start condition, starting the local virtual event for the plurality of client devices; and Providing game data based on the local virtual event to the plurality of client devices, the local virtual event having a second game design different from the first set of one or more game designs.
15. The non-transitory computer-readable medium according to claim 14, wherein the operations further comprise: Receiving second activity data from the plurality of client devices based on the second game design of the local virtual event; Determining whether the second activity data from the plurality of client devices satisfies a predetermined end condition associated with the local virtual event; In response to determining that the second activity data satisfies the predetermined end condition, end the local virtual event for the plurality of client devices; and after ending the local virtual event, provide game data of the location-based game to the plurality of client devices by the game server and based on the first set of one or more game designs.
16. The non-transitory computer-readable medium according to claim 15, wherein the operation for determining whether the second activity data from the plurality of client devices satisfies the predetermined end condition includes an operation for one of the following: Determining whether a predetermined period of time has elapsed since the start of the local virtual event; and Determining whether the game objective of the second game design has been achieved by users of the plurality of client devices of the local virtual event before the predetermined period of time has passed.
17. The non-transitory computer-readable medium according to claim 16, wherein the local virtual event is a shared AR session, and wherein the operation further includes displaying achievement tracking data on each of the plurality of client devices and during the local virtual event, the achievement tracking data indicating at least one of individual achievements and collective achievements of the game objective based on the second game design.
18. The non-transitory computer-readable medium according to claim 17, wherein the operation for determining whether the first activity data satisfies the predetermined start condition includes an operation for the following: Determining whether the number of the plurality of client devices is at least a predetermined number.
19. The non-transitory computer-readable medium according to claim 18, wherein the operation for determining whether the first activity data satisfies the predetermined start condition further includes an operation for the following: Based on the first activity data, determining whether the predetermined number of client devices are located within a predetermined area, the predetermined area corresponding to a predetermined range measured from a real-world location associated with a predetermined virtual element.
20. The non-transitory computer-readable medium according to claim 19, wherein the operation for determining whether the first activity data satisfies the predetermined start condition further includes an operation for the following: For each of the plurality of client devices, determining whether a prerequisite game action based on a game design from the first set of one or more game designs has been completed in the predetermined area.