U.S. Pat. No. 9,573,064
VIRTUAL AND LOCATION-BASED MULTIPLAYER GAMING
AssigneeMicrosoft Technology Licensing LLC
Issue DateJune 24, 2010
Illustrative Figure
Abstract
A system and method combining real-world actions and virtual actions in a gaming environment. In one aspect, a massively multiplayer environment combines the real world actions and virtual actions of a participant to influence both character metrics and game play within one or more games provided by the service. In the real world or location-based events, game play occurs in and around links explicitly created between real world locations and virtual representations of those locations within the game.
Description
DETAILED DESCRIPTION Technology is described for combining real-world actions and virtual actions in a gaming environment. In one aspect, the technology presented provides a massively multi-player location-based gaming environment or service. The massively multiplayer environment combines the real world actions and virtual actions of a participant to influence both character metrics and game play within one or more games provided by the service. User actions within a particular game offered by the service may take place in either a virtual environment, such as a gaming console, mobile computing device, dedicated gaming device or web browser, or in locations the real world. In real world actions, a user participates in game related activities which in one embodiment, are tied to a user's location and movements. In the real world or location-based events, game play occurs in and around links explicitly created between real world locations and virtual representations of those locations within the game. The massively multi-player location-based gaming service in accordance with the present technology may be utilized with any of a number of different types of games, including games based on a story narrative, or theme based games, such as sports games. Any number of different categories of games exist, including action games including first person shooting games, action adventure games featuring long term obstacles as well as components of action games, simulation-type games based on construction or life simulation, role playing games where a user is cast in a particular role in one or more adventures which may or may not utilize specific skill sets, strategy games, vehicle simulation games, music games, and any of a number of other types of games. In each of the aforementioned genres, the technology herein allows use of real world events and virtual events to establish metrics for advancing game play. Any ...
DETAILED DESCRIPTION
Technology is described for combining real-world actions and virtual actions in a gaming environment. In one aspect, the technology presented provides a massively multi-player location-based gaming environment or service. The massively multiplayer environment combines the real world actions and virtual actions of a participant to influence both character metrics and game play within one or more games provided by the service. User actions within a particular game offered by the service may take place in either a virtual environment, such as a gaming console, mobile computing device, dedicated gaming device or web browser, or in locations the real world. In real world actions, a user participates in game related activities which in one embodiment, are tied to a user's location and movements. In the real world or location-based events, game play occurs in and around links explicitly created between real world locations and virtual representations of those locations within the game.
The massively multi-player location-based gaming service in accordance with the present technology may be utilized with any of a number of different types of games, including games based on a story narrative, or theme based games, such as sports games. Any number of different categories of games exist, including action games including first person shooting games, action adventure games featuring long term obstacles as well as components of action games, simulation-type games based on construction or life simulation, role playing games where a user is cast in a particular role in one or more adventures which may or may not utilize specific skill sets, strategy games, vehicle simulation games, music games, and any of a number of other types of games. In each of the aforementioned genres, the technology herein allows use of real world events and virtual events to establish metrics for advancing game play. Any of a number of different types of game interfaces may be utilized, including an audio interface, a browser-based interface, text based interface, a title based interface, a console based interface, a mobile computing device interface, a processing device such as a personal computer or game console, or any of a number of different types of interfaces.
In the context of this description, the technology will be illustrated with respect to a narrative game example, specifically a bank robbery game, and a theme based game example, specifically a soccer game.
FIG. 1illustrates a general overview of one embodiment of the present technology. A massively multi-player location-based game service1000serves a plurality of users25,26,27,28in various locations (location1, location2, location3, location4), which may be in various countries. Location1is located in city1and country1, and location2may be located in city1in the same country. Location3is located in a different city, city3, and a different country, country2. Location4is located in yet a third country, country3. All the users25-28are connected via one or more processing devices to the location-based game service1000. Users can interact in one or more games as discussed below.
Each of the various users may have associated therewith a processing device which provides location and/or virtual based game information and directs users to location and virtual events which are linked to a common game provided by massively multi-player location-based game service1000. As shown inFIG. 1, user25can receive information directing him to a specific location—that of user26. User26receives a message indicating bonus points in the game can be achieved by completing a travel event on “Super Air”. Various events and game types are supported in the context of the technology.
FIG. 2illustrates a block diagram of a system for implementing the technology presented herein. A massively multi-player location-based game service1000may include, for example, game management services1012, user account records1010, a messaging service1020, a user tracking service1006, a connection service1050, a user authentication service1060, a third party application programming interface1040, and a event exchange1900. Game management services1012can include one or more game applications1015. Each game application may provide character profile services1022, game status and scoring services1024, team member records1026, milestone and narrative records1028, virtual events1032, and location-based events1034. User account records1010may include a friend's list1016and specific game records1014. The user account records may include user's scores in any of the game applications1015provided by the service.
InFIG. 2, a number of users31,33,35,37,41,45and60-72are illustrated. Each user has associated therewith a respective processing device such as a console32, mobile devices34,36and39, a notebook computer43and console47. Users and their associated processing device may communicate with massively multi-player location-based gaming environment or service1000via network50. Network50may comprise any number of public or private networks, such as the Internet.
As noted above, any number of different types of gaming applications1015may be provided. In one context, games will have rules and narratives which define events used by players to advance through the game narrative or based on the game theme. Advancing can comprise scoring, completing achievements, or progressing through the narrative within the game. Progress and scoring within the game is defined by the game status and scoring service1024. Theme milestones and narrative1028will define the narrative of the game, or specific milestones which must be achieved by performing one or more of the virtual events and location-based events1034. Events may comprise one or more individual tasks. An example of an event might be a soccer game, and an example of a task within the soccer game might be to score a goal. In a narrative based game, an example of event might be to find a treasure in a specific location, with a task within the event to be to follow a particular route and collect certain milestones on the way to the particular treasure.
Character profile services1022track specific characteristics of a game character within a game. A character may be associated with a unique user. A user's character within a game can have characteristics which are defined by the game. For example, in a soccer game a player may have speed, strength, and agility characteristics, all of which are defined for the particular character and which may affect game play. In games where users interact with other users, team member records1026may be stored. Team member records1026may include, for example, other real users which are members of a given user's soccer team and play with the user during events. Team member records may be a sub-set of a user's friends on a social networking service, or unrelated to a user's social networking friends.
Virtual events1032may or may not have equivalent real world events. Virtual and location-based equivalents are discussed below with respect toFIG. 3B. Virtual events are events which are performed using a virtual environment provided by a processing device. In one example, a virtual event might be a video game version of a soccer game. In this example, a soccer game has a real world, location-based equivalent: a real soccer game on a real field. The real soccer game would be a location-based event since it occurs at a particular location and, as discussed herein, may be tracked by the location-based game service1000. Other virtual events, such as slaying a dragon, might not have location-based equivalents.
Location-based events1034are events which may occur in and around links created between a real world location and a game event. In an exemplary location-based event, a user may be directed to a particular location at a particular time, and may have to position himself or herself and acquire a particular item at that time. In one example, a user may be directed to a particular coffee house to purchase a particular type of drink at a designated time by the location-based event. The event will be completed when the purchase is made at the location at the particular time. Thus, location-based events may have characteristics including one or more specified locations, times, character associations and tasks.
User positioning at an event is determined by the user tracking service1006. Tracking services may be performed using a geographic positioning system (GPS) or other technologies as described herein, which are provided on user processing devices.
A user ID uniquely identifies the user37to the location-based game service. A user authentication service1060allows game players to authenticate themselves to the massively multi-player location-based gaming service1000. Authentication is desirable since it allows users to ensure that their activities are tracked uniquely within the system. A user tracking service1006maintains position information on each of the users31,33,35,37,41,45which are utilizing the location-based gaming service1000. User tracking services can be provided, as described above, by a GPS service, and/or by a specific game application (39) resident in the user's processing device.
As illustrated inFIG. 2, each processing device may have associated therewith a game application39. Although inFIG. 2only one application39is illustrated in a device memory310(described below with respect toFIG. 21), it will be understood that each device32,34,36,38,43,37may include an equivalent client-based game application. In one embodiment, no separate game application39need be utilized with the present technology.
Each game application39may include a augmented reality engine which provides game information to a user interface (318—FIG. 21) and provides data which allows the location-based gaming service1000to provide an enhanced gaming experience to each of the users. In the example illustrated inFIG. 2, a game application includes overlay data, an overlay engine, a position/orientation calculator and local game data. The local event data may include one or more location-based events which have been received from the location-based gaming service1000. As discussed below, events may comprise elements of one or more games provides by the multiplayer service. The local events may be stored for more rapid access by the processing device when the device is unable to communicate with the location-based gaming service, or to enable more responsive game play.
The overlay data and overlay engine may comprise location coded information which is provided to the processing device or peripheral to allow the processing device to present an alternative reality view to a user37. Various examples of alternative reality views are presented herein. One example of an alternative reality view is to place icons or tokens within the viewing screen of a mobile processing device. Another example is to place tokens on a mapping service. Many mobile processing devices, such as that illustrated in block form inFIG. 21, include an onboard camera which provides a field of view image to the user interface of the camera. This real time image can be overlayed with tokens and overlay data using the overlay engine to present information on game events for the player. Other technologies, such as head mounted displays and other augmented reality technologies, can be utilized in accordance with the present technology.
The position/location calculator may be a sensor which provides more fine grained location information to the massively multi-player location-based game service1000, or code for instructing the processor of a computing device to more accurately determine player position based on information in the scene of the camera. The position/location calculator can include, for example, image recognition technologies allowing scene capture information to be matched with a scene database, allowing the service1000to more accurately define the position of a user relative to the global positioning service. For example, geometric building lines which appear in the view of a mobile processing device can be computed and used to identify the exact position of a phone given a number of expected positions of geometric lines based on the known position of the phone and the known orientation of the phone. This information can be used in conjunction with GPS information to determine a position and orientation for a user. In one example, once the system knows where a mobile processing device is relative to the global positioning system, scene information (an image captured by the phone) can be used to calculate the exact position on the phone based on a knowledge of what buildings or other geographical features should appear within that image or might appear within that image given the proximity of the phone to a particular location. Known landmarks can be calculated in the exact position of the phone determined.
Third party data1090can be incorporated into the multiplayer gaming server service1000. Third party data1090can include social graphing information and user contact information which the user has provided the location-based gaming service1000with access to via a third party application programming interface1040. In one example, information such as a user's social graph from a user's social networking profile may be incorporated into the location-based gaming service1000. This information may be stored in user account records1010and include a friend's list1016of a player's social networking associates. A connection service1050allows users operating the various processing devices illustrated inFIG. 2to connect to each other to play games based on the location-based service1000, or other games which are provided on each of the processing devices. A messaging service1020allows users to send messages to each other, and users to receive messages from the location-based gaming service1000. An event exchange at1900, explained more fully below with respect toFIG. 19, allows users at different locations to exchange and perform tasks which they might not otherwise be able to perform based on their remoteness to particular location-based events1034.
FIGS. 3A and 3Bare block diagrams location-based and virtual events, and related and unrelated events. Each game will have a game theme305. A game theme305may comprise any of the events within a game which may be achieved to advance a user in the game. Each theme may or may not have a narrative associated with the theme. A sports themed game will generally not include a narrative, while an adventure based game may have a narrative which is enhanced by a sequence of events.
In a soccer game, for example, game events can comprise matches, scoring levels, skill challenges, or other events. In a narrative based game, the game story may comprise a narrative which follows a particular character through a number of narrative based events along a thematic narrative which adds context to the game. In the context of a game story, both narrative events and side events may occur. A side event is an event which is not integral to progress in the game narrative or theme, but which may allow a user to acquire achievements or bonuses that present other challenges to the user or which provide skills to the user in completing the main narrative or theme.
At2105, for any game, a user activates game play at2110. Events may be requested by the user at2115or seeded by the game at2120. A requested event includes a user identified request to perform an event, such as play a match in a soccer game. A seeded event may comprise a game generated presentation of an opportunity, such as a suggestion to play a particular soccer match at a particular time.
At2125, a determination is made as to whether or not any particular event is a narrative event or a side event. If the event is a narrative event, the user will perform the narrative event at2140and progress in the story at2145. If the event is a side event at2132, the side event performance will add character value or allow for a side achievement at2135. Side events include events which are an item of opportunity. Side events may be character building events and may allow the user to acquire special skills or physical attributes or weapons or separate achievements within the game.
FIG. 3Billustrates the concept of location-based events and related and unrelated events. Location-based events are those having a link between a game element and a physical, real-world location. Virtual events are those which are played in a virtual environment on a processing device. Location-based events may or may not have virtual equivalents. As illustrated inFIG. 3B, linked events2155may include narrative and side events and include, for example, soccer game location events2160such as matches, skills challenges, running training and skills practice. Each of the location-based events3160may have an equivalent virtual event2165which a player may perform in a game. Location-based events may have characteristics such as location, time, user/character strengths and affiliations with other players. Similarly, virtual events2165may have characteristics including a virtual location, affiliations and user/character strengths. Not all characteristics of a location-based event have equivalents in virtual events. As illustrates at2175, virtual events may have a virtual location affiliations and user/character strengths, but may not be tied to a particular time.
Unrelated events2180are events that, while significant and contribute to game play, do not have real and virtual world equivalents. A soccer game location event2185may include post-match socializing as or a joint team outing to a real soccer match at a real location. Virtual events such as play against a famous player or playing for a national team (2190) would not have real world equivalents.
FIG. 4Ais a flow chart illustrating game flow in a narrative game illustrating the relationship of narrative events to side events. InFIG. 4A, the example of a bank robbing game is utilized. At402, the narrative and side game events are defined. In a bank robbing game, to progress the game, one might obtain a weapon, find a bank, and then rob a bank. At406, a first narrative event will be for a player to get a weapon. At any point during a narrative game sequence, a user may choose to do a side event. At408, a determination is made as to whether or not the event has been completed. At406, the event may be begun and not completed, or simply never begun. If the event has not been done, it is possible that the user has engaged in a side event at410. If the user is engaging in a side event at410, a side event example may be to steal a car as illustrated at416. Once the user completes the side event, the user obtains and achievement for the side event at428and returns to the narrative at434. In this case, the side event—stealing a car—may contribute to the narrative event but is not necessary to progress the game. Another example of a side event would be to exercise to gain strength for additional robberies.
The return to the narrative can occur at any point before any of the events illustrated at406,414and426. Once the user completes the first narrative event at408, the achievement is marked at412and a next event, in this case to find a bank414is presented to the user. Marking an achievement completed at412in the context of the game allows any subsequent events which depend on completion of the marked event can now proceed. Again, the user must perform the event at420in order to mark the achievement at424and progress to the next sequential event robbing the bank at426. At any point along the narrative path, before each narrative event406,414,426is completed, the user may branch into a side event410,418,430.
The example illustrated in4A, side event416is but one of any number of different side events which may be provided to the user in the context of a bank robbing game. Once each event is completed at408,420,432, the achievement is marked and the narrative continues to the next sequential event. For example, when the third event426, robbing the bank, is completed at432, the event is marked at436and the narrative continues at438. Any number of different sequential events may occur within the context of a game narrative.
FIG. 4Billustrates a set of parallel events450which may be substituted for purely sequential events illustrated in4A. InFIG. 4B, a set of steps450A may compromise presenting any number of event alternatives, which may be performed in any sequence, to a user. Each of the events in a particular set455must be performed in order to advance in the narrative. That is, a user may be provided with three tasks which must be completed in order to advance the game. In the context ofFIG. 4A, instead of performing each of the events406,414and426in sequence, the user may be presented with the opportunity to perform the events in any order which the user desires. However all events must be performed in order to advance the game to the next level or next event in the narrative. In the example ofFIG. 4A, it may be difficult to perform the third event “rob bank”426without performing the first event “get weapon”406. However, any number of different examples can be considered where non-sequential events may be provided.
InFIG. 4B, at455a user is presented with a choice of several events in a set of events which will advance the narrative. If the event is completed at460, the achievement is marked at470and a determination made at475as to whether all the prerequisites within the particular set of several events to advance the narrative have been completed. If not, the user is presented with the remaining choice of events at455. Before any of the events is completed at460, the user may branch into a side event410,418,430. Once all the prerequisites for additional events and levels are completed at475, the achievement is marked and the narrative moves forward into the next group of events at490.
FIGS. 5A, 5B and 6illustrate an example of a game wherein the game story is thematic rather than narrative in nature.FIGS. 5 and 6also illustrate the use of a location-based event in combination with a virtual event.FIG. 5Ais an illustration of two individuals582and584engaged in a live, location-based soccer game.FIG. 5Bis an illustration of a virtual soccer game.
InFIG. 5A, user582is attempting to score a goal in a soccer goal586against user584. In one context, both user582and user584are both participants in the location-based game service1000. The interaction between user582and584may be relevant and may be a location-based event in a context of the location-based game service1000. The activities between the users, the result of the game, and the fact that the game occurred may all be relevant in the context of a soccer game which both the users are participating in. Likewise, user582may play user584in the video game illustrated inFIG. 5B. This virtual event may add to the context of the soccer game illustrated inFIG. 6.
FIG. 6is a flow chart illustrating story elements of a soccer game combining both location-based events and virtual events. InFIG. 6, events for a multiplayer location-based soccer game are retrieved at502. A first event in the soccer based story may be, for example, to play a real match which is a location-based event. The event may take place at a particular place and time, or may take place at a particular place at any time. In another context, the place and time need not be defined. Each event may have a number of task achievements506. If all event tasks are completed successfully, then the event is completed and marked completed in the game at508. In a soccer game, event tasks for a game event may include items such as scoring a goal, scoring a goal against a particular user, or preventing any goals from being scored against your team. If there are no event task achievements, or the task achievements have been completed, a determination is made at512as to whether an event is done. If the event is not done a side event may be engaged at510.
Once the narrative event is completed, the event is marked achieved at516and a next event in the story may be provided at520. In520, the next event is a virtual match between the users. This virtual event contributes to the story in the same manner that the location-based event504contributes to the story. Like the location-based event, each virtual event, in this case virtual match520, may include virtual task achievements522. If a virtual task achievement is present and achieved, the virtual event achievement may be stored at524. If there are no virtual task achievements or the virtual task achievement is not achieved then a determination is made at532as to whether or not the event is completed. If the event is completed, the event is marked achieved at534and the next story event536is presented. Event536is a location-based event, requiring the users to play a physical game in the real world. The determination that a physical game occurred is discussed below.
Hence, virtual events and location-based events are linked to a common game theme, and both contributed to the game play. At any of the event point512,532or538, a user may attempt a side event510,530and542. In the context of a soccer game a side event may include training for a soccer game. Training in this example at514comprises running. If for example, a user582runs five miles, a location-based tracking system can determine the run of the user and add this to the user's side event achievement. Once the event is completed, the event is marked achieved at526and the system returns to the narrative at any point along the story line illustrated by events504,520or534.
Tracking virtual events is accomplished by communication between any of the user processing devices disclosed herein and the virtual event service1032. Once a user is authenticated by the user authentication service1060, the user playing a virtual soccer game on one of the user processing devices illustrated inFIG. 2, for example, can be tracked by the use of a particular game application on any one of the processing devices. Virtual events which have occurred can be stored and achievements noted by the game status and scoring service1024. Tracking location-based events is performed in any number of ways.
FIG. 5Aillustrates a location-based soccer game occurring between two users582and584. In one embodiment, a location-based event is tracked by tracing a user's mobile processing device to a particular geographical location with any given tolerance. For example, once a user has authenticated their mobile device and identified the mobile device to the user tracking service, the fact that the mobile device is present at a particular soccer field for a given number of hours may be recognized as completing a soccer event.
In another alternative, sensors can be placed within different location-based elements. The example illustrated inFIG. 5A, sensors590,592are illustrated on the soccer ball586, another sensor595is illustrated as being in the soccer ball and other sensors521and531are provided on each respective user. The respective motions of each of the user, the ball with respect to the goal and sensors590and592, can be provided to the user tracking service1006in order to determine with much greater accuracy whether a user has scored a goal, and the user is in fact playing the location-based event of soccer. Proximity sensors590and592can be utilized to determine whether a particular ball595has passed over a goal. Any number of other techniques may be utilized to recognize a location-based event, as described below. For example, location-based events such as running, training, weightlifting, can all be tracked to a particular location where such events might occur. The granularity of the location of a particular user with respect to either playing a soccer game, running, or the user's position with respect to other types of game events, such as collecting a virtual token, described below, can be augmented by use of the game application39located on any of one of the processing devices described herein.
FIG. 7illustrates the use of social networking information in conjunction with any of the events utilized in games provided and/or administered by the massively multi-player location-based game service1000. For each event705in the game, friend relationships may be determined at715. Friend relationships may be determined by reference to the user's social graph from external sources, or by explicitly defined games and teams such as team member records1026within a particular gaming application. Within the context of a game, a user will have a character. If virtual activity occurs with a friend or any other user having a defined relationship at720, then the activity between the user and the user with whom the user has a relationship can be compared at725. This comparison may determine, for example, whether a relationship between the virtual activity and the game activity should augment the relationship between the users. Likewise, when a real world activity occurs at730, a comparison is made at735to determine whether or not the relationship merits augmenting the character with a defined relationship between the friend and the user. If, in either context, the comparison of725,735results in a relationship, then the relationship is added at740. If no relationship is determined based on the real or virtual activity, then the user may be prompted at745to determine whether or not the user wishes to explicitly define a relationship between the users.
For example, in the example illustrated above with respect toFIG. 5A, users582and584may have a virtual relationship of having played each other in a virtual soccer game without ever having played each other in a live event based game, alternatively, the users may have played each other several times in a live event based game. If based on location tracking services, the users determine that other real world events have occurred, such as, for example, the users attend a concert or meeting together, a further relationship between the users can be defined at740. Historical relationships can be defined at740as well. For example, the fact that the users582and584have played each other in soccer several times, and user582has consistently scored goals on user584, can affect the definition of user584's character within any of the game contexts.
FIG. 8is a general flow chart illustrating a process performed by the location-based game service1000in order to combine location-based events and virtual events within a single gaming application. For each user at805, the user is authenticated at815to uniquely identify the user to the location-based game service. Upon authentication at815, user games which the user is participating in, may be retrieved.
In one embodiment, events for games a user is participating in or wishes to participate in are determined at816and if a user is near the event at817, the user may be prompted to participate in the event. In one embodiment, events are seeded around the user based on the user location. In this context, events may be provided to a user's associated processing device based on the user location to prompt or encourage game play. Virtual events can be seeded as well as location-based events, using any number of notification mechanisms. Users may receive a text message or pop up window in a user interface. Users may see icons or virtual tokens appear in a mobile device interface. Where the event is a location-based event, a determination is made at817as to whether the user is near the event. Where the event is a virtual event, at817the determination may be one of whether the user is active on the processing device and in a mode where game play might be enabled.
In one embodiment, the user will be executing a game application on a processing device and may request an event at820. When a user requests an event within a particular game, available events are presented to the user at825. The process for presenting available events to a user is illustrated below inFIG. 14.
At830, a determination is made as to whether a seeded or requested event was performed by the user. the occurrence of event may be recognized when a user performs either a virtual event or a location-based event. At835, a determination is made as to whether or not the event is virtual or real. If the event is a virtual event, then at840, the virtual event information is retrieved from the processing device, and its relevance will be determined at850. If a real or location-based event has occurred at835, then location and event information is retrieved at845and again relevance is determined at850. Once relevance is determined at850, progress is recorded at855. Relevance includes a determination of whether or not the event was relevant to a particular story, narrative, or other event within the particular game application for which the event is defined. After game progress is recorded at855and next task options for the game may be presented at860.
FIG. 9illustrates a task selection interface900in, for example, a narrative based game.FIG. 9illustrates one embodiment of a console based user interface, for example, wherein a plurality of locations1322,1324,1326are associated with particular tasks1312,1314and1316. In the example illustrated inFIG. 9, a map of San Francisco includes certain locations such as “Golden Gate Park,” “AT&T Park,” and “Monster Park.” Events which may be selected within the context of a narrative based game may include “find the treasure in Golden Gate Park”1312, “catch a fly ball at AT&T Park”1314, or “find the football at Monster Park”1316. In order to complete any one or more of the missions1330which are available via the selection interface, a user needs to travel to the given location illustrated on the map shown in the game environment user interface and complete a location-based task at the specific location. For example, to complete the” “find the treasure in Golden Gate Park” task1312, a user needs to travel to the location illustrated at1322and look for a virtual treasure. The virtual treasure may be presented to the user via an augmented reality device as discussed below.
Location-based events can be identified by “tokens”. In one embodiment, tokens may comprise one or more of locations, locations combined with times, locations combined with times and teammates, virtual representations of items within an interface signifying a location and/or time (such is icons1322,1324,1326above and coins992,994and996below, or any indication, real or virtual, of a location-based event.
FIGS. 10A through 10Cillustrate presenting a user902with a location-based event using an augmented reality view in a processing device. InFIG. 10A, a user902viewing a scene904of a tree906and picnic table908without any augmented reality device simply sees a tree906and a picnic table908.
InFIG. 10B, a user can point a mobile processing device950having a field of view960at the same scene illustrated inFIG. 10A. As illustrated at user interface952of device950, a virtual pointer954can be presented to the user by overlaying game data on the screen of a mobile processing device950. InFIG. 10B, the item presented is a directional arrow which may indicate to user902that the user should proceed in the direction of the arrow in order to retrieve the treasure in Golden Gate Park as indicated by mission1312.
FIG. 10Cillustrates an alternative augmented reality presented to user902, wherein a similar scene is presented showing the user viewing a scene975through a field of view960of a processing device950, wherein instructions965are provided on the user interface952to “follow the coins.” As the user moves in the direction of arrow980, the user will cross the location of coins992,994and996, acquiring each of the coins as the user passes through the location defined by the coins. When the user reaches the treasure at998, the user may touch, or physically pass through the treasure in order to acquire the treasure and complete the mission using the location-based reference points defined as the location-based events in the context of the game. It will be understood that any number of different types of location-based reference points or metrics may be utilized to make sure the user passes through or otherwise makes it to the particular location identified by the location-based event.
In addition, it should be understood that although the elements illustrated inFIG. 10A through 10Care virtual elements, the elements may also comprise real world elements. For example, a user may be directed to a local coffee shop to purchase a coffee drink. A user input for the particular location-based event of purchasing a drink at a coffee shop will include the position of the user at the coffee shop and, for example, an input by a coffee shop employee that the user has in fact utilized the game service at the coffee shop. When the user purchases a drink, the indicator by the coffee shop may include an entrance of a special code, using a bar scanner to identify the coffee shop purchase to the location-based gaming service1000, or any of a number of other metrics to identify the fact that a purchase has occurred. Achievement will be completed when the user actually physically is present at the coffee shop and completes the purchase.
FIGS. 11A and 11Billustrate yet another alternative environment wherein an augmented reality is presented to the user. InFIG. 11A, without augmentation, a user views a billboard1102having an advertisement for a car1104thereon. When using the augmented reality device, such as augmented reality glasses975the user's view of the scene includes a game clue on screen1165. In order to present a game clue to a user via the augmented reality interface of the processing device950, or screen1165of glasses975, a digital watermark may be utilized on billboard1102. Alternatively, billboard1102may include one or more sensors such as those described above with respect toFIG. 5A, which indicate to the overlay engine in the application39that data should be applied on the billboard1102. It will be recognized that billboard1102is merely exemplary and any number of different types of physical structures can be substituted for billboard1102.
FIGS. 12 and 13illustrate use of a multi-user mission, including a simultaneous multiuser mission. One or more of the location-based events utilized in the gaming applications provided by massively multi-player location-based game service1000may be required to be performed in teams of players. That is, multiple users may be required to be at the same, or different places, within a particular time period, or within sequential time periods, in order to complete an event. InFIG. 12, two users,1202and1204are positioned approximately three city blocks away from each other within a particular city at a given time.
As illustrated inFIG. 13, a joint task1322may require a first user to be present at a first location and a second user at a second location at the same time, at sequential times or at different but specific time. Such a task may be completed by first determining a first user location at1324, determining a second user location at1325, and determining whether a task is complete at1326by determining, for example, of the locations of users1202and1204are within a given tolerance of where the user should be, and whether the users are there at the correct times. Once the location sequence is complete, the event can be marked accomplished at1330. WhileFIG. 12illustrates two users, any number of different users may be required to complete a multi-user location-based event. Likewise, although users illustrated inFIG. 12are illustrated as being present at the same time, the users may be present at sequential times, or within specific time periods as defined by the context of the event.
FIG. 14illustrates a process which may be performed by the location-based game service1000in order to present available events to a user such as that described above with respect to step825inFIG. 8. When an event is requested at820, at1400, an applicable game is determined. An applicable game is, for a particular user, necessary to understand which type of event a user is requesting within the context of the game. This will depend on the user's progress within the game, and, in one embodiment, a specification by the user of a request for a location-based event or a virtual event. In another example, the user request at820may not be an actual request by the user, but can be provided to the user automatically based on the user's location and an opportunity e.g. a seeded event. For example, if the user is not actively playing the game, but is engaged in the user tracking service1006and is positioned at a location near a location-based event opportunity, the event requested may be performed by the game application itself, noticing that the opportunity exists for the users to complete a location-based event.
At1405, the game story theme and/or narrative is retrieved. At1410, events consistent with the theme or narrative, and the user's position with the story are retrieved. At1415, a determination is made as to whether or not to offer the user a real or virtual event, or both. If a virtual event is offered, the user will be offered the opportunity to perform a virtual game element at1420. The virtual game sequence can include, for example, playing a soccer match, or performing a video game play. In one embodiment, a virtual sequence can simply be loading a narrative based game at a particular level at the last saved point in the game that the user stored the game prior to exiting the game. If a real world event is chosen, a determination is made at1425as to whether or not the event is a local event or a distant event. A local event will within defined distance within which a user may realistically may be expected to perform events. For example, a user may wish to perform location-based events within a particular city or within a radius outside of the city, but may not wish to perform events in another state or at a distance greater than a certain distance from the user. If the event is a local event, then the user's location is determined at1435, the user's game status is determined at1445, and events within the user's local area are retrieved at1450. If the event is a distant event at1425, then one or more locations outside the user's local radius are determined or a random location is selected at1430. In each instance, event options at the location selected are presented at1440. Options include a single event mission, a joint event mission with other users, a single task for a particular event, or a multiple task for a particular event. The list of event options is merely exemplary and may vary widely based on the game type and narrative. Tasks and events may be any of those described herein.
FIG. 15illustrates a process for determining the relevance of location-based or virtual game event described above with respect to step850. At1505, a user location is determined. User location may not be relevant or needed in determination of a relevance of a virtual game event. At1510, the applicable game for which a user is engaged is determined. The relevance of an event is tied to the game in which the event occurs. The game theme and narrative are retrieved at1520. At1525, the events which have occurred (at step830above) are retrieved. A determination is made at1535as to whether or not the events which are retrieved are relevant to the story line of the game. If the events are not part of the story line, they may present a side event at1520. If the events are not a side event at1520, then the events are meaningless within the context of the game and may be discarded at1570. If the action is one which is relevant to the story line at1535, then a determination is made at1545to ensure that all task elements of a particular event are complete. Elements may comprise tasks which may be performed in the context of an event. For example, if the event is a soccer game, then the task which may be required are to score more goals than your opponent in order to win the game. If all events are not complete, then a determination is made at1550as to whether or not it is possible to achieve partial credit. For example, in one embodiment, partial credit may be achieved for participating in the game, but not winning the game. If no partial credit is available, then no credit to the story line is provided at1570. If partial credit is available, then the event advances the store line and the user achievement is marked at855, above. If all elements are complete at1545, a determination is made at1560as to whether or not the event is part of a continuing mission. If the event is part of a continuing mission, then the user may be notified at1565. If not, then the event advances a story line at1575.
If the event is a side event at1550, then a determination is made at1530as to whether or not the event is a character event. For example, if the side event comprises running four miles, then the event may comprise a character event which adds to the character's skill at1530. If the side event is relevant to the character, then the character is enhanced at1540. If the event does not enhance the character, then no contribution to the character is recorded at1555.
FIG. 16illustrates a method performed by massively multi-player location-based game service1000to provide information to a game application39in order to allow a user to perform a location-based event using an augmented reality service in the application39.FIG. 16illustrates elements provided by the service and by the application39. Steps1602through1610are performed by the location-based game service.
At1602, for each event, token locations are retrieved. At1604, the user location is retrieved by the user tracking service1006, and based on the tokens retrieved in1602, tokens within the user's general area are retrieved at1606. Tokens may comprise the elements illustrated inFIGS. 9, 10 and 11, above. Once a token location is determined at1610, token locations are sent to a user's processing device at1612. The augmented reality service in the game application39may perform steps1614through1622. In the processing device, at1614, the application determines the view and reference points that a user's phone or other augmented reality vice may be pointed towards. The reference points can be determined from the GPS information and/or image matching or geometric calculations determined by the granular geographic location calculator as described above. Using this information, the token location within the possible views presented by the user interface of the user's processing device are determined at1616. At1618, these tokens are put into the user interface view based on the view of the user interface at any particular time. If the view changes at1620, the token display is updated at1622. This continues until the task is completed at1624. Additional tasks may be checked at1626.
FIG. 17illustrates a method performed by the location-based gaming service to provide a distant event to a user. Distant events are events outside a distance a user or system administrator of massively multi-player location-based game service1000has chosen as a suitable or desirable distance within which to perform location-based events.
For each event at1710, required locations and tokens are retrieved. This step is similar to step1602except that a distant location is utilized. At1720, the location of the requesting player is determined. The requesting player may be a player who is not performing a distance event, but for whom the distance event is relevant within the context or the play of the game. At1725, location tokens in the distant location are retrieved. At1730, the location of designee players within the distant location is determined.
In one context, a designee player is a player who may perform a task at the designation of a user. This allows users in local game context to perform location-based events at distances outside those which the user is comfortable performing location-based events. At1735, determination is made as to whether or not the user wishes to ask a designee player. The designee player may be a user's friend, a stranger, or a user who is willing to perform the task in exchange for other services, via event exchange1900described below. If the user does not wish to ask a designee player, then at1740, the information is stored and waits for the user to reach the distant location in order to perform the task.
If the user does wish to ask a designee player then at1745a determination is made as to whether or not the user has a connection with a particular designee user. As noted above, the designee user may be a user's friend, or other connection via any one or more of the social relationships discussed herein. If the user does not have a connection with any individuals, the user may wish to connect to a marketplace at1750. If the user connects to the market place and establishes a connection with the user at1760, a mission will be sent to the designee at1765. If the user does wish to make a connection at1745, then a connection to the user's designee will be made to the user designee at1755and the mission sent to the designee at1765.
At1770, a view may be provided of the designee via massively multi-player location-based game service1000to a user interface such as that illustrated inFIG. 9. Alternatively, a view of the distance user's field of view (e.g.960) using the designee user's processing device may be provided. Using the user tracking service1006, the position of the designee user can be relayed to the participating user based on any one of a number of tracking services described herein. Using this information, the designee user's accomplishment of the task can be relayed to the participating user. A determination is made at1775as to whether or not the task is complete and once the task is complete the system is updated at1780.
FIG. 18illustrates a process implemented by a event exchange1900in accordance with the present technology. For each event, tokens needed for a particular location are retrieved at1905. This step is similar to step1602and1710above, but the location is a distance location where one or more designees are willing to perform tasks for other users not available at the task location. In1920, the player's location is determined. At1925, a determination is made as to whether or not designee users have banked achievements which may be utilized to complete the task. A banked achievement is one where a designee user has already performed the particular location-based task, possibly any number of different times, and is willing to use stored events and exchange them with other users via the marketplace. If banked achievements are present and a designee player is willing to exchange them, then a transaction agreement for banked achievements can be entered into at1930between the player and the designee player. If no banked achievements are present, or the designee player does not wish to use a banked achievement, then the designee players available at the distance location are determined at1935. If a designee player is available at1940, then a determination is made at1945as to whether or not the player is willing to accept the role of designee player for the user. If the designee player is willing to accept the role for the user, then a search of the tokens required in the distance location is made in1950, and the mission is sent to the designee at1955. A view of the designee player is retrieved at1960in accordance with the aforementioned description of step1770above, and a determination made at step1965as to whether or not the task has been completed. Once a task is completed, the achievement is updated at1970. In1975, the service determines whether or not the designee player and the user should be linked in some manner. For example, if the user and the designee player have used such other services, or exchange services or a particular number of occasions, a link between the users may be established. Acceptance at1945may be preconditioned on an exchange of location-based events between users, or some other form of payment.
The technology may be used in any number of systems and operating environments. Various processing devices are illustrated inFIGS. 19-22.
FIG. 19shows an exemplary gaming and media system100. The following discussion ofFIG. 19is intended to provide a brief, general description of a suitable environment in which concepts presented herein may be implemented. As shown inFIG. 19, gaming and media system100includes a game and media console (hereinafter “console”)102. In general, console102is one type of computing system, as will be further described below. Console102is configured to accommodate one or more wireless controllers, as represented by controllers104(1) and104(2). Console102is equipped with an internal hard disk drive (not shown) and a portable media drive106that support various forms of portable storage media, as represented by optical storage disc108. Examples of suitable portable storage media include DVD, CD-ROM, game discs, and so forth. Console102also includes two memory unit card receptacles125(1) and125(2), for receiving removable flash-type memory units140. A command button135on console102enables and disables wireless peripheral support.
As depicted inFIG. 19, console102also includes an optical port132for communicating wirelessly with one or more devices and two USB (Universal Serial Bus) ports110(1) and110(2) to support a wired connection for additional controllers, or other peripherals. In some implementations, the number and arrangement of additional ports may be modified. A power button112and an eject button114are also positioned on the front face of game console102. Power button112is selected to apply power to the game console, and can also provide access to other features and controls, and eject button114alternately opens and closes the tray of a portable media drive106to enable insertion and extraction of a storage disc108.
Console102connects to a television or other display (such as monitor150) via A/V interfacing cables120. In one implementation, console102is equipped with a dedicated A/V port (not shown) configured for content-secured digital communication using A/V cables120(e.g., A/V cables suitable for coupling to a High Definition Multimedia Interface “HDMI” port on a high definition monitor150or other display device). A power cable122provides power to the game console. Console102may be further configured with broadband capabilities, as represented by a cable or modem connector124to facilitate access to a network, such as the Internet. The broadband capabilities can also be provided wirelessly, through a broadband network such as a wireless fidelity (Wi-Fi) network.
Each controller104is coupled to console102via a wired or wireless interface. In the illustrated implementation, the controllers104are USB-compatible and are coupled to console102via a wireless or USB port110. Console102may be equipped with any of a wide variety of user interaction mechanisms. In an example illustrated inFIG. 19, each controller104is equipped with two thumbsticks132(1) and132(2), a D-pad134, buttons136, and two triggers138. These controllers are merely representative, and other known gaming controllers may be substituted for, or added to, those shown inFIG. 19.
In one implementation, a memory unit (MU)140may also be inserted into controller104to provide additional and portable storage. Portable MUs enable users to store game parameters for use when playing on other consoles. In this implementation, each controller is configured to accommodate two MUs140, although more or less than two MUs may also be employed. In another embodiment, a Universal Serial Bus (USB) flash memory storage may also be inserted into controller104to provide additional and portable storage.
Gaming and media system100is generally configured for playing games stored on a memory medium, as well as for downloading and playing games, and reproducing pre-recorded music and videos, from both electronic and hard media sources. With the different storage offerings, titles can be played from the hard disk drive, from an optical disk media (e.g.,108), from an online source, or from MU140.
During operation, console102is configured to receive input from controllers104and display information on display150. For example, console102can display a user interface on display150to allow a user to perform the operations of the disclosed technology as discussed below.
FIG. 20is a functional block diagram of gaming and media system201(such as system100) and shows functional components of the gaming and media system201in more detail. Console203has a central processing unit (CPU)200, and a memory controller202that facilitates processor access to various types of memory, including a flash Read Only Memory (ROM)204, a Random Access Memory (RAM)206, a hard disk drive208, and portable media drive107. In one implementation, CPU200includes a level 1 cache210and a level 2 cache212, to temporarily store data and hence reduce the number of memory access cycles made to the hard drive208, thereby improving processing speed and throughput.
CPU200, memory controller202, and various memory devices are interconnected via one or more buses (not shown). The details of the bus that is used in this implementation are not particularly relevant to understanding the subject matter of interest being discussed herein. However, it will be understood that such a bus might include one or more of serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus, using any of a variety of bus architectures. By way of example, such architectures can include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnects (PCI) bus also known as a Mezzanine bus.
In one implementation, CPU200, memory controller202, ROM204, and RAM206are integrated onto a common module214. In this implementation, ROM204is configured as a flash ROM that is connected to memory controller202via a PCI bus and a ROM bus (neither of which are shown). RAM206is configured as multiple Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) modules that are independently controlled by memory controller202via separate buses (not shown). Hard disk drive208and portable media drive107are shown connected to the memory controller202via the PCI bus and an AT Attachment (ATA) bus216. However, in other implementations, dedicated data bus structures of different types can also be applied in the alternative.
A three-dimensional graphics processing unit220and a video encoder222form a video processing pipeline for high speed and high resolution (e.g., High Definition) graphics processing. Data are carried from graphics processing unit220to video encoder222via a digital video bus (not shown). An audio processing unit224and an audio codec (coder/decoder)226form a corresponding audio processing pipeline for multi-channel audio processing of various digital audio formats. Audio data are carried between audio processing unit224and audio codec226via a communication link (not shown). The video and audio processing pipelines output data to an A/V (audio/video) port228for transmission to a television or other display. In the illustrated implementation, video and audio processing components220-228are mounted on module214.
FIG. 20shows module214including a USB host controller230and a network interface232. USB host controller230is shown in communication with CPU200and memory controller202via a bus (e.g., PCI bus) and serves as host for peripheral controllers205(1)-205(4). Network interface232provides access to a network (e.g., Internet, home network, etc.) and may be any of a wide variety of various wire or wireless interface components including an Ethernet card, a modem, a wireless access card, a Bluetooth module, a cable modem, and the like.
In the implementation depicted inFIG. 20, console203includes a controller support subassembly240for supporting four controllers205(1)-205(4). The controller support subassembly240includes any hardware and software components needed to support wired and wireless operation with an external control device, such as for example, a media and game controller. A front panel I/O subassembly242supports the multiple functionalities of power button213, the eject button215, as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of console203. Subassemblies240and242are in communication with module214via one or more cable assemblies244. In other implementations, console102can include additional controller subassemblies. The illustrated implementation also shows an optical I/O interface235that is configured to send and receive signals that can be communicated to module214.
MUs241(1) and241(2) are illustrated as being connectable to MU ports “A”231(1) and “B”231(2) respectively. Additional MUs (e.g., MUs241(3)-241(6)) are illustrated as being connectable to controllers205(1) and205(3), i.e., two MUs for each controller. Controllers205(2) and205(4) can also be configured to receive MUs (not shown). Each MU241offers additional storage on which games, game parameters, and other data may be stored. Additional memory devices, such as portable USB devices, can be used in place of the MUs. In some implementations, the other data can include any of a digital game component, an executable gaming application, an instruction set for expanding a gaming application, and a media file. When inserted into console203or a controller, MU241can be accessed by memory controller202. A system power supply module250provides power to the components of gaming system201. A fan252cools the circuitry within console203.
An application260comprising machine instructions is stored on hard disk drive208. When console203is powered on, various portions of application260are loaded into RAM206, and/or caches210and212, for execution on CPU200, wherein application260is one such example. Various applications can be stored on hard disk drive208for execution on CPU200.
Gaming and media system201may be operated as a standalone system by simply connecting the system to monitor a television, a video projector, or other display device. In this standalone mode, gaming and media system201enables one or more players to play games, or enjoy digital media, e.g., by watching movies, or listening to music. However, with the integration of broadband connectivity made available through network interface232, gaming and media system201may further be operated as a participant in a larger network gaming community, as discussed in connection withFIG. 8.
FIG. 21depicts an example block diagram of a mobile device. Exemplary electronic circuitry of a typical m phone is depicted. The phone300includes one or more microprocessors312, and memory310(e.g., non-volatile memory such as ROM and volatile memory such as RAM) which stores processor-readable code which is executed by one or more processors of the control processor312to implement the functionality described herein.
Mobile device300may include, for example, processors312, memory310including applications and non-volatile storage. The processor312can implement communications, as well any number of applications, including the interaction applications discussed herein. Memory310can be any variety of memory storage media types, including non-volatile and volatile memory. A device operating system handles the different operations of the mobile device300and may contain user interfaces for operations, such as placing and receiving phone calls, text messaging, checking voicemail, and the like. The applications330can be any assortment of programs, such as a camera application for photos and/or videos, an address book, a calendar application, a media player, an internet browser, games, an alarm application, other third party applications, the interaction application discussed herein, and the like. The non-volatile storage component340in memory310contains data such as web caches, music, photos, contact data, scheduling data, and other files.
The processor312also communicates with RF transmit/receive circuitry306which in turn is coupled to an antenna302, with an infrared transmitted/receiver308, and with a movement/orientation sensor314such as an accelerometer and/or magnetometer. Accelerometers have been incorporated into mobile devices to enable such applications as intelligent user interfaces that let users input commands through gestures, indoor GPS functionality which calculates the movement and direction of the device after contact is broken with a GPS satellite, and to detect the orientation of the device and automatically change the display from portrait to landscape when the phone is rotated. An accelerometer can be provided, e.g., by a micro-electromechanical system (MEMS) which is a tiny mechanical device (of micrometer dimensions) built onto a semiconductor chip. Acceleration direction, as well as orientation, vibration and shock can be sensed. The processor312further communicates with a ringer/vibrator316, a user interface keypad/screen318, a speaker320, a microphone322, a camera324, a light sensor326and a temperature sensor328.
The processor312controls transmission and reception of wireless signals. During a transmission mode, the processor312provides a voice signal from microphone322, or other data signal, to the transmit/receive circuitry306. The transmit/receive circuitry306transmits the signal to a remote station (e.g., a fixed station, operator, other cellular phones, etc.) for communication through the antenna302. The ringer/vibrator316is used to signal an incoming call, text message, calendar reminder, alarm clock reminder, or other notification to the user. During a receiving mode, the transmit/receive circuitry306receives a voice or other data signal from a remote station through the antenna302. A received voice signal is provided to the speaker320while other received data signals are also processed appropriately.
Additionally, a physical connector388can be used to connect the mobile device100to an external power source, such as an AC adapter or powered docking station. The physical connector388can also be used as a data connection to a computing device. The data connection allows for operations such as synchronizing mobile device data with the computing data on another device.
A global positioning service (GPS) receiver365utilizing satellite-based radio navigation to relay the position of the user applications enabled for such service.
FIG. 22illustrates an example of a suitable computing system environment2200such as a personal computer. With reference toFIG. 22, an exemplary system for implementing the technology includes a general purpose computing device in the form of a computer2210. Components of computer2210may include, but are not limited to, a processing unit2220, a system memory2230, and a system bus2221that couples various system components including the system memory to the processing unit2220. The system bus2221may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
Computer2210typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer2210and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer2210. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory2230includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM)2231and random access memory (RAM)2232. A basic input/output system2233(BIOS), containing the basic routines that help to transfer information between elements within computer2210, such as during start-up, is typically stored in ROM2231. RAM2232typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit2220. By way of example, and not limitation,FIG. 22illustrates operating system2234, application programs2235, other program modules2236, and program data2237.
The computer2210may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,FIG. 22illustrates a hard disk drive2240that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive2251that reads from or writes to a removable, nonvolatile magnetic disk2252, and an optical disk drive2255that reads from or writes to a removable, nonvolatile optical disk2256such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive2241is typically connected to the system bus2221through an non-removable memory interface such as interface2240, and magnetic disk drive2251and optical disk drive2255are typically connected to the system bus2221by a removable memory interface, such as interface2250.
The drives and their associated computer storage media discussed above and illustrated inFIG. 22, provide storage of computer readable instructions, data structures, program modules and other data for the computer2210. InFIG. 22, for example, hard disk drive2241is illustrated as storing operating system2244, application programs2245, other program modules2246, and program data2247. Note that these components can either be the same as or different from operating system2234, application programs2235, other program modules2236, and program data2237. Operating system2244, application programs2245, other program modules2246, and program data2247are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer20through input devices such as a keyboard2262and pointing device2261, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit2220through a user input interface2260that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor2291or other type of display device is also connected to the system bus2221via an interface, such as a video interface2290. In addition to the monitor, computers may also include other peripheral output devices such as speakers2297and printer2296, which may be connected through a output peripheral interface2290.
The computer2210may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer2280. The remote computer2280may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer2210, although only a memory storage device2281has been illustrated inFIG. 22. The logical connections depicted inFIG. 22include a local area network (LAN)2271and a wide area network (WAN)2273, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
When used in a LAN networking environment, the computer2210is connected to the LAN2271through a network interface or adapter2270. When used in a WAN networking environment, the computer2210typically includes a modem2272or other means for establishing communications over the WAN2273, such as the Internet. The modem2272, which may be internal or external, may be connected to the system bus2221via the user input interface2260, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer2210, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,FIG. 22illustrates remote application programs2285as residing on memory device2281. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
The technology is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the technology include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The technology may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
- A computer implemented method of providing a game including a plurality of events comprising a story to a plurality of users, each user having one or more associated processing devices, comprising: communicating first and second sets of real world location-based events, the first set of location-based events different from the second set of location-based events, contributing to user progress in the story to the plurality of users via the one or more associated processing devices, the processing devices configured to play in a virtual environment, each location based event in the first set of location-based events occurring at a location and comprising a user interaction with a real world object at the location during the game and the second set of location-based events occurring at the location and comprising the user interaction with a virtual world object in the virtual environment of the game;communicating a set of virtual based events, different from the first and second sets of real world location-based events, contributing to user progress in the story to the plurality of users via the one or more associated processing devices, the virtual event comprising a user interaction with a virtual world object in the virtual environment of the game;receiving, as input at the one or more associated processing devices, user participation based on location and interaction with the real world object at the location in at least one location-based event in at least one of the first and second sets of location-based events and receiving user participation in at least one virtual event;tracking user progress in the story upon successful completion of each of the events, the tracking of the virtual events based upon completing individual achievements in a specified order to advance the game to a next event in the story;and presenting one or more additional location-based and virtual events via the one or more associated processing devices based on user progress.
- The method of claim 1 wherein the story is a narrative and user progress includes advancing the story.
- The method of claim 1 wherein the providing location-based events includes determining a user location and providing location-based events within a distance from the user location.
- The method of claim 1 wherein one or more location-based events has a link to one or more associated virtual events.
- The method of claim 4 wherein one or more location-based events includes one or more characteristics of a time, a presence, and a location the user meets to complete the event.
- The method of claim 1 wherein the method further includes presenting one or more tokens indicating locations for location-based actions to a user via one or more of a map interface or an augmented reality interface.
- The method of claim 6 wherein the location-based actions include capturing one or more of said tokens by tracking a user position relative to the tokens.
- The method of claim 7 further including automatically providing one or more tokens in the augmented reality interface when a user is located in a location having the one or more tokens.
- The method of claim 1 wherein the method further includes providing location-based events outside a distance from a user location and providing an event exchange allowing users to connect to designee players willing to complete events outside the distance from the user location.
- The method of claim 1 , wherein the presenting is further based on relationships established between two or more users determined by accessing the two or more user's social graph from external sources.
- A computer implemented method providing a location and virtual based gaming environment to a plurality of users, each user having one or more associated processing devices, comprising: communicating a first set of real world location-based events contributing to user progress in a story in an application to the plurality of users via the one or more associated processing devices, the processing devices configured to play in a virtual environment the location based event comprising a user interaction at the location with a real world object other than the associated processing device;communicating a second set of real world location-based events, different from the first set of location-based events, contributing to the user progress in the story in the application to the plurality of users via the one or more associated processing devices, the location based event comprising a user interaction at the location with a virtual object displayed at the location;communicating a set of virtual based events, different from the first and second sets of real world location-based events, contributing to the user progress in the story to the plurality of users via the one or more associated processing devices, the virtual event comprising the user interaction with the virtual world object in the virtual environment;tracking user location to determine user participation and completion in one or more location-based events contributing to the user progress in the story, and a side event contributing to the user progress, thereby allowing the user to acquire skills in completion of the story;tracking user performance of one or more virtual events performed on the one or more associated processing devices having an instance of the application and contributing to the user progress in the story;determining user completion of at least one location-based event and at least one virtual event linked to the location-based event, the user completion identifiable by marking an event achievement, each of the at least one location-based event and at least one virtual event contributing to the user progress in the story;and updating the application to reflect the user progress of completing the events such that at least one of subsequent location-based events and virtual events are configured to be a next sequential event upon successful completion of the event achievement.
- The method of claim 11 wherein tracking user location is performed by detecting user positioning information based on global positioning data provided by the processing device associated with the user.
- The method of claim 12 wherein tracking user performance include one of tracking user location relative to one or more event based positioning tokens.
- The method of claim 13 further including providing event based tokens to the processing device associated with the user by outputting one overlay information to the processing device.
- The method of claim 14 further including notifying the user when a user location is proximate to a location-based event.
- In a processing device including a processor and a user interface device, a computer readable medium including instructions for directing the processor to perform a method comprising: receiving game event information from a location-based gaming service, the event information including a first set of real world location-based events at least a portion of which include contributing to user progress in a virtual game application, the first set of location based events comprising a user interaction with a real world object at a location;a second set of real world location-based events, different from the first set of location-based events, at least a portion of which contribute to the user progress in the virtual game application, the second set of location based event comprising a user interaction with a virtual object at a location;and a set of virtual based events, different from the first and second sets of real world location-based events, contributing to the user progress in the virtual game application, the virtual event comprising the user interaction with the virtual world object in the virtual environment as an input via the user interface device;outputting the virtual game event information to the user interface device, the user interface having an input providing a view of a scene at the location and the processor rendering the event information on a representation of the scene in the user interface;transmitting user location information to the gaming service, the location information including a user position;notifying a user of availability of a location based event when a user is at a location;and tracking user performance of one or more virtual events performed via the user interface device and tracking user performance of location based events via the position of the processing device, the tracking including events contributing to the user progress in the virtual game application in which the user progress is based upon completing individual achievements in a specified order to advance the virtual game application to a next event in a story.
- The computer readable medium of claim 16 wherein the method further includes receiving information on a scene in view of the user, the scene including geographic information regarding a user position and calculating a user location from the geographic information and orientation inputs to the processing device.
- The computer readable medium of claim 17 wherein the receiving includes receiving one or more location-based events contributing to the user progress in the story and receiving one or more virtual based events contributing to the user progress in the story.
- The computer readable medium of claim 18 wherein the method further includes receiving a plurality of side events, one or more of the side events comprising a location-based event and one or more of the side events comprising a virtual event.
- The computer readable medium of claim 19 wherein the outputting further includes presenting one or more tokens indicating locations for location-based actions to a user via one or more of: a map interface or an augmented reality interface.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.