U.S. Pat. No. 9,367,543

GAME ACHIEVEMENTS SYSTEM

AssigneeMicrosoft Technology Licensing, LLC

Issue DateMay 1, 2013

Patent Arcade analysis Read the full post

U.S. Patent No. 9,367,543: Game achievements system

U.S. Patent No. 9,367,543: Game achievements system

Issued June 14, 2016 to Microsoft Technology Licensing, LLC
Priority Date December 7, 2004

Summary:
U.S. Patent No. 9,367,543 (the ‘543 Patent) is for all the achievement hunters out there. Consoles with an online mode have the option for players to create a username and profile to give themselves a unique identity in the gaming community. Gaming profiles used to be nothing more than a way for friends to identify each other and did not convey much information about the individual.

The ‘543 Patent solves this by creating a method for providing a game achievements system where games reward players with achievements based on performing certain tasks. Every earned achievement is shown in the player’s gaming profile as a badge or trophy. Achievements helped prolong a game’s life by pushing players to play the game in unusual ways that would not have been encouraged during a normal play through. Players may also receive points based on the number achievements earned, exemplified in Xbox’s gamerscore system. Xbox’s gamerscore interface allows players to compare points and achievements. The points systems fuel friendly competition amongst friends to see who could earn more achievements.

Abstract:
Systems and method for providing a game achievements system where players are rewarded with game achievements based on mastering certain in-game facets of the games they play. Each game achievement may be conveyed in a profile as a badge or trophy, title, description, date, etc. Players may also accumulate points based on game achievements. A display interface may be made available such that a player may see his achievements and total points, as well as those of others.

Illustrative Claim:
1. A system comprising: a first computing device having a first processing unit and a first memory device storing first computer executable instructions; and a second computing device having a second processing unit and a second memory device storing second computer executable instructions; wherein the first computer executable instructions, when executed by the first processing unit, cause the first processing unit to: receive inputs from a gamer for populating a gamer profile, the inputs identifying a gamer name of the gamer profile; receive further inputs from the gamer identifying specific other gamers that can receive the gamer profile; provide at least the gamer name of the gamer profile to a remote service on the second computing device that maintains the gamer profile; execute game code of a game; identify occurrences of a plurality of achievements, wherein the occurrences are achieved while the game is being played on the first computing device by the gamer and the occurrences include: an occurrence of a first individual achievement having a first title, wherein the gamer is credited a first number of points for the occurrence of the first individual achievement, and an occurrence of a second individual achievement having a second title, wherein the gamer is credited a second number of points for the occurrence of the second individual achievement, report the occurrence of the first individual achievement to the remote service on the second computing device, wherein the remote service updates the gamer profile to reflect the occurrence of the first individual achievement; and report the occurrence of the second individual achievement to the remote service on the second computing device, wherein the remote service updates the gamer profile to reflect the occurrence of the second individual achievement, and wherein the second computer executable instructions, when executed by the second processing unit, cause the second processing unit to: execute the remote service; obtain the gamer profile at the remote service via communicating with the first computing device; obtain identities of the specific other garners that can receive the gamer profile of the gamer; update the gamer profile to reflect the occurrence of the first individual achievement and the occurrence of the second individual achievement; and selectively provide the updated gamer profile to other computing devices associated with the specific other garners while preventing further computing devices associated with further garners from receiving the updated gamer profile.

Research By: Rachel Johns
Edited by: Andrew F. Thomas

Illustrative Figure

Abstract

Systems and method for providing a game achievements system where players are rewarded with game achievements based on mastering certain in-game facets of the games they play. Each game achievement may be conveyed in a profile as a badge or trophy, title, description, date, etc. Players may also accumulate points based on game achievements. A display interface may be made available such that a player may see his achievements and total points, as well as those of others.

Description

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS FIG. 1illustrates the functional components of a multimedia/gaming console100in which certain aspects of the present invention may be implemented. The multimedia console100has a central processing unit (CPU)101having a level 1 cache102, a level 2 cache104, and a flash ROM (Read Only Memory)106. The level 1 cache102and a level 2 cache104temporarily store data and hence reduce the number of memory access cycles, thereby improving processing speed and throughput. The CPU101may be provided having more than one core, and thus, additional level 1 and level 2 caches102and104. The flash ROM106may store executable code that is loaded during an initial phase of a boot process when the multimedia console100is powered ON. A graphics processing unit (GPU)108and a video encoder/video codec (coder/decoder)114form a video processing pipeline for high speed and high resolution graphics processing. Data is carried from the graphics processing unit108to the video encoder/video codec114via a bus. The video processing pipeline outputs data to an A/V (audio/video) port140for transmission to a television or other display. A memory controller110is connected to the GPU108to facilitate processor access to various types of memory112, such as, but not limited to, a RAM (Random Access Memory). The multimedia console100includes an I/O controller120, a system management controller122, an audio processing unit123, a network interface controller124, a first USB host controller126, a second USB controller128and a front panel I/O subassembly130that are preferably implemented on a module118. The USB controllers126and128serve as hosts for peripheral controllers142(1)-142(2), a wireless adapter148, and an external memory device146(e.g., flash memory, external CD/DVD ROM drive, removable media, etc.). The network interface124and/or wireless adapter148provide access to a network (e.g., the Internet, home network, etc.) and may be any of a wide variety of various wired or wireless adapter components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the ...

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

FIG. 1illustrates the functional components of a multimedia/gaming console100in which certain aspects of the present invention may be implemented. The multimedia console100has a central processing unit (CPU)101having a level 1 cache102, a level 2 cache104, and a flash ROM (Read Only Memory)106. The level 1 cache102and a level 2 cache104temporarily store data and hence reduce the number of memory access cycles, thereby improving processing speed and throughput. The CPU101may be provided having more than one core, and thus, additional level 1 and level 2 caches102and104. The flash ROM106may store executable code that is loaded during an initial phase of a boot process when the multimedia console100is powered ON.

A graphics processing unit (GPU)108and a video encoder/video codec (coder/decoder)114form a video processing pipeline for high speed and high resolution graphics processing. Data is carried from the graphics processing unit108to the video encoder/video codec114via a bus. The video processing pipeline outputs data to an A/V (audio/video) port140for transmission to a television or other display. A memory controller110is connected to the GPU108to facilitate processor access to various types of memory112, such as, but not limited to, a RAM (Random Access Memory).

The multimedia console100includes an I/O controller120, a system management controller122, an audio processing unit123, a network interface controller124, a first USB host controller126, a second USB controller128and a front panel I/O subassembly130that are preferably implemented on a module118. The USB controllers126and128serve as hosts for peripheral controllers142(1)-142(2), a wireless adapter148, and an external memory device146(e.g., flash memory, external CD/DVD ROM drive, removable media, etc.). The network interface124and/or wireless adapter148provide access to a network (e.g., the Internet, home network, etc.) and may be any of a wide variety of various wired or wireless adapter components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.

System memory143is provided to store application data that is loaded during the boot process. A media drive144is provided and may comprise a DVD/CD drive, hard drive, or other removable media drive, etc. The media drive144may be internal or external to the multimedia console100. Application data may be accessed via the media drive144for execution, playback, etc. by the multimedia console100. The media drive144is connected to the I/O controller120via a bus, such as a Serial ATA bus or other high speed connection (e.g., IEEE 1394).

The system management controller122provides a variety of service functions related to assuring availability of the multimedia console100. The audio processing unit123and an audio codec132form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data is carried between the audio processing unit123and the audio codec132via a communication link. The audio processing pipeline outputs data to the A/V port140for reproduction by an external audio player or device having audio capabilities.

The front panel I/O subassembly130supports the functionality of the power button150and the eject button152, as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of the multimedia console100. A system power supply module136provides power to the components of the multimedia console100. A fan138cools the circuitry within the multimedia console100.

The CPU101, GPU108, memory controller110, and various other components within the multimedia console100are interconnected via one or more buses, including 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 a Peripheral Component Interconnects (PCI) bus, PCI-Express bus, etc.

When the multimedia console100is powered ON, application data may be loaded from the system memory143into memory112and/or caches102,104and executed on the CPU101. The application may present a graphical user interface that provides a consistent user experience when navigating to different media types available on the multimedia console100. In operation, applications and/or other media contained within the media drive144may be launched or played from the media drive144to provide additional functionalities to the multimedia console100.

The multimedia console100may be operated as a standalone system by simply connecting the system to a television or other display. In this standalone mode, the multimedia console100allows one or more users to interact with the system, watch movies, or listen to music. However, with the integration of broadband connectivity made available through the network interface124or the wireless adapter148, the multimedia console100may further be operated as a participant in a larger network community.

When the multimedia console100is powered ON, a set amount of hardware resources are reserved for system use by the multimedia console operating system. These resources may include a reservation of memory (e.g., 16 MB), CPU and GPU cycles (e.g., 5%), networking bandwidth (e.g., 8 kbs), etc. Because these resources are reserved at system boot time, the reserved resources do not exist from the application's view.

In particular, the memory reservation preferably is large enough to contain the launch kernel, concurrent system applications and drivers. The CPU reservation is preferably constant such that if the reserved CPU usage is not used by the system applications, an idle thread will consume any unused cycles.

With regard to the GPU reservation, lightweight messages generated by the system applications (e.g., popups) are displayed by using a GPU interrupt to schedule code to render popup into an overlay. The amount of memory required for an overlay depends on the overlay area size and the overlay preferably scales with screen resolution. Where a full user interface is used by the concurrent system application, it is preferable to use a resolution independent of application resolution. A scaler may be used to set this resolution such that the need to change frequency and cause a TV resynch is eliminated.

After the multimedia console100boots and system resources are reserved, concurrent system applications execute to provide system functionalities. The system functionalities are encapsulated in a set of system applications that execute within the reserved system resources described above. The operating system kernel identifies threads that are system application threads versus gaming application threads. The system applications are preferably scheduled to run on the CPU101at predetermined times and intervals in order to provide a consistent system resource view to the application. The scheduling is to minimize cache disruption for the gaming application running on the console.

When a concurrent system application requires audio, audio processing is scheduled asynchronously to the gaming application due to time sensitivity. A multimedia console application manager (described below) controls the gaming application audio level (e.g., mute, attenuate) when system applications are active.

Input devices (e.g., controllers142(1) and142(2)) are shared by gaming applications and system applications. The input devices are not reserved resources, but are to be switched between system applications and the gaming application such that each will have a focus of the device. The application manager preferably controls the switching of input stream, without knowledge the gaming application's knowledge and a driver maintains state information regarding focus switches.

The present invention is directed to a “Gamer Profile,” which serves as a building block for services and applications that aim to create a social community of gamers and grow relationships among players. In accordance with the present invention, the Gamer Profile is the entirety of information (e.g., metadata) related to a specific user (i.e., the gamer's digital identity). The Gamer Profile is developed from a set of services that collect and expose this information in a meaningful way to the community. The Gamer Profile also provides for personalization such that users can customize and enhance their gaming experience. As will be discussed in greater detail below, the Gamer Profile consists of various components, including, but not limited to, a Gamercard, game achievements, and gamer preferences.

Referring toFIG. 2, there is illustrated an overview of an exemplary architecture that may be used to implement the Gamer Profile. The console100interacts with a remote service158that provides services160such as voice/chat, a friends list, matchmaking, content download, roaming, feedback, tournaments, voice messaging, and updates to games. The service158also maintains the Gamer Profiles in a profile database162and configuration data164used by the services160and games154. The service158collects Gamer Profiles, aggregates, processes information supplied by other services160, and fulfills real-time client requests for retrieving Gamer Profile-related services. The Gamer Profiles in the database162are also used by the games154to enable, among other things, personalization and customization, etc.

Using the console100, the user may interact with a guide156. The guide156provides an interface where the user may navigate to, and enter, various online areas and options provided by the service158. The configuration data164stored by the service158may be used to determine features and options provided by the guide156. When the game154is running, a defined set of APIs are used to call and interact with the services160. When requesting Gamer Profile information via the APIs, the game154may pass a unique identifier of a user. The service158may return a Gamercard (discussed below), game stats, game achievements, affiliations, game settings. etc. Additional details of the various aspects of the exemplary architecture are provided below.

The console100includes an offline tracking mechanism157that tracks offline player activity during periods when a player is not communicatively connected to the service158. The tracker/aggregator157tracks offline player activity during offline sessions and aggregates that data with the online player activity into the Gamer Profile166.

Referring toFIG. 3, the Gamer Profile166is created when a user creates a profile (selected from the guide156) and chooses his/her unique Gamertag (a user's unique name), tile (picture/avatar associated with the user) other options during an account sign-up phase. From there, a base Gamer Profile166is created. The Gamer Profile166may then be populated from several sources. For example, the Gamer Profile166may include self-described data168from the Gamer Profile owner. Other gamers170can provide feedback regarding the Gamer Profile owner. The service158may track the gamer's online and offline activity. In addition, the games154may report the gamer's statistics and game achievements.

The owner of Gamer Profile can edit his/her Gamer Profile166directly and control who can view each section of the Gamer Profile. The Gamer Profile166may be edited via general fields (e.g., tile, country, language, gender, greeting, etc.) and/or system settings (e.g., voice output, controller vibration, character name, game format, game mode, etc.). Privacy/Opt-out Settings can be tuned for the Gamer Profile to, e.g., restrict presence information only to friends, allow game achievements to be visible to all, etc.

The Gamer Profile166may include feedback provided by other players170. Feedback helps others learn about a particular gamer. For example, if the gamer uses foul language or aggressive play in game sessions, other gamers may submit feedback to the service158. The feedback mechanism improves the user experience by building reputations. Players are therefore anonymous, but not unknown because of the accumulated feedback.

As noted above the Gamer Profile166may be used for customization and preference setting on a global level, as well as a per game level. Gamer preferences aid games154in choosing defaults for common settings such as game profile name, controller inversion and controller vibration, etc. For example, if a gamer likes using an inverted controller, this preference will be used for new titles as they are played. Games154have access to Gamer Profiles via the database162and services160. In addition, game usage data can be mined to tune the game154to the user's particular preferences and game features updated after the initial game launch.

As noted above, the Gamer Profile166conveys, among other things, game achievements. Players will be rewarded with game achievements based mastering certain in-game facets of the games they play. Each game achievement may be conveyed in the Gamer Profile166as, e.g., a badge or trophy, title, description, date, etc., as shown inFIG. 4. Games may supply a screen snapshot or some other rich media captured at the moment the player earned a given achievement. This too may be displayed as part of the Gamer Profile166. Players will accumulate gamer Cred (a points-based reward system) based on game achievements. As shown inFIG. 4, the player has a gamer Cred of 290. The display interface ofFIG. 4may be made available within the console100or via, e.g., a web browser, etc.

Referring toFIG. 5, there is illustrated the overall relationship of the game achievements and gamer Cred in accordance with the present invention. The player's total gamer Cred is an aggregation of gamer Cred awarded through the play of one or more games (e.g., Title A and Title B). Each game may award up to a certain amount of game Cred (e.g., 200) that is divided into game-defined achievements and standard system achievements.

For example, referring to the user interfaceFIG. 6, Title A may be a relatively easy game to master and may award a total of 100 game-defined gamer Cred points. Within Title A, there may be several achievements (e.g., Campaign completed on hardest, multiplayer level 10, etc.) The relative weight of each of the achievements is set based on the total weight (e.g., Campaign completed on hardest is 10/36 or 27.8%). If a player completes this achievement, then the player may be awarded 27.8% of the 100 total gamer Cred points, or 28, rounded to the nearest integer value. A player is preferably credited with an achievement only once.

The standard system achievements make up the remaining 100 points in the exemplary embodiment. The standard system achievements may be applied to all games. They may include achievements such as a first sign-in to a title, completing a first session with a game, completing a first hour of a game, completing 100 sessions with a game, completing 10 hours with a game, completing a game, etc. Other system achievements may be defined as necessary. The system achievements may be weighted such that a first sign-in is awarded a relative few points, whereas completing 100 sessions is awarded a higher number points.

Developers may use a tool that include user interface ofFIG. 6to describe their game. The tool may create a configuration file that a system application on the console100reads when the game is loaded, a C++ header file that game code can compile against, and an XML file that is used for configuration, creation of tables, creation stored procedures, and creation of leader boards.

Although Title A and Title B can award 200 gamer Cred points, more difficult games may award 500 or 1000 (or some other number) of gamer Cred points. The total amount to be awarded on a per game basis is preferably set by the online service158and is not editable by the developers. This will maintain fairness and avoid the situation where Game X wants to increase sales by making the total number of gamer Cred points available a significantly higher number than other games.

Thus, the present invention provides a balanced game achievements system by weighting the difficulty of the achievements and the games. In addition, because the aggregation of game Cred is abstracted from the game to the console100, the likelihood that a hacker or developer can over-value achievements to inflate a player's gamer Cred is reduced.

While the present invention has been described in connection with the preferred embodiments of the various Figs., it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function of the present invention without deviating therefrom.

Claims

  1. A system comprising: a first computing device having a first processing unit and a first memory device storing first computer executable instructions;and a second computing device having a second processing unit and a second memory device storing second computer executable instructions;wherein the first computer executable instructions, when executed by the first processing unit, cause the first processing unit to: receive inputs from a gamer for populating a gamer profile, the inputs identifying a gamer name of the gamer profile;receive further inputs from the gamer identifying specific other gamers that can receive the gamer profile;provide at least the gamer name of the gamer profile to a remote service on the second computing device that maintains the gamer profile;execute game code of a game;identify occurrences of a plurality of achievements, wherein the occurrences are achieved while the game is being played on the first computing device by the gamer and the occurrences include: an occurrence of a first individual achievement having a first title, wherein the gamer is credited a first number of points for the occurrence of the first individual achievement, and an occurrence of a second individual achievement having a second title, wherein the gamer is credited a second number of points for the occurrence of the second individual achievement, report the occurrence of the first individual achievement to the remote service on the second computing device, wherein the remote service updates the gamer profile to reflect the occurrence of the first individual achievement;and report the occurrence of the second individual achievement to the remote service on the second computing device, wherein the remote service updates the gamer profile to reflect the occurrence of the second individual achievement, and wherein the second computer executable instructions, when executed by the second processing unit, cause the second processing unit to: execute the remote service;obtain the gamer profile at the remote service via communicating with the first computing device;obtain identities of the specific other garners that can receive the gamer profile of the gamer;update the gamer profile to reflect the occurrence of the first individual achievement and the occurrence of the second individual achievement;and selectively provide the updated gamer profile to other computing devices associated with the specific other garners while preventing further computing devices associated with further garners from receiving the updated gamer profile.
  1. The system of claim 1 , wherein: the first computer executable instructions, when executed by the first processing unit, cause the first processing unit to: interact with a defined set of application programming interfaces (APIs) to communicate with the remote service.
  2. The system of claim 2 , wherein: the first computer executable instructions, when executed by the first processing unit, cause the first processing unit to: pass an identifier of another gamer to the remote service via one or more of the APIs;and receive, from the remote service, at least part of another gamer profile of the another gamer, the second computer executable instructions, when executed by the second processing unit, cause the second processing unit to: obtain the another gamer profile at the remote service via communication with another computing device of the another gamer;obtain an identity of the gamer from the another gamer with an indication that the gamer can receive the another gamer profile;and confirm that the another gamer has indicated the gamer can view the another gamer profile prior to providing the at least part of the another gamer profile to the first computing device.
  3. The system of claim 3 , wherein the at least part of the another gamer profile includes other achievements achieved by the another gamer during game play on the another computing device.
  4. The system of claim 4 , wherein: the first computer executable instructions, when executed by the first processing unit, cause the first processing unit to: control a display device to display the at least part of the another gamer profile, including at least names of the other achievements achieved by the another gamer.
  5. The system of claim 5 , wherein: the first computer executable instructions, when executed by the first processing unit, cause the first processing unit to: control the display device to display another gamer name of the another gamer with the names of the other achievements.
  6. The system of claim 1 , wherein: the first computer executable instructions, when executed by the first processing unit, cause the first processing unit to: track offline activity by the gamer while the first computing device is not communicatively connected to the remote service;aggregate the offline activity into the gamer profile;and communicate the aggregated offline activity to the remote service when the first computing device is subsequently communicatively connected to the remote service.
  7. The system of claim 1 , wherein the first computing device is embodied as a gaming console.
  8. A computing device comprising: a processing unit;a network interface;and a memory device storing instructions which, when executed by the processing unit, cause the processing unit to: receive inputs from a gamer for populating a gamer profile, the inputs identifying a gamer name of the gamer profile;receive further inputs from the gamer identifying specific other gamers with which the gamer profile can be shared;using the network interface, provide at least the gamer name of the gamer profile and identities of the specific other gamers to a remote service on another computing device that maintains the gamer profile;execute game code of a game;identify occurrences of a plurality of achievements, wherein the occurrences are achieved while the game is being played on the computing device by the gamer and the occurrences include: an occurrence of a first individual achievement having a first title, wherein the gamer is credited a first number of points for the occurrence of the first individual achievement, and an occurrence of a second individual achievement having a second title, wherein the gamer is credited a second number of points for the occurrence of the second individual achievement, using the network interface, report the occurrence of the first individual achievement to the remote service on the another computing device, wherein the remote service updates the gamer profile to reflect the occurrence of the first individual achievement;and using the network interface, report the occurrence of the second individual achievement to the remote service on the another computing device, wherein the remote service updates the gamer profile to reflect the occurrence of the second individual achievement, wherein the remote service selectively provides the updated gamer profile to other computing devices associated with the specific other gamers without providing the updated gamer profile to further computing devices associated with further gamers not specified by the gamer to receive the updated gamer profile.
  9. The computing device of claim 9 , wherein the instructions, when executed by the processing unit, cause the processing unit to: receive further inputs identifying certain sections of the gamer profile that can be received by the specific other gamers;and using the network interface, communicate identifiers of the certain sections that can be shared with the specific other gamers to the remote service, wherein the remote service restricts sharing of the gamer profile to sharing the certain sections of the gamer profile with the specific other gamers.
  10. The computing device of claim 9 , wherein the instructions, when executed by the processing unit, cause the processing unit to: capture a snapshot of the game at a moment when the occurrence of the first individual achievement occurs;and using the network interface, communicate the snapshot to the remote service, wherein the remote service shares the snapshot with at least some of the specific other garners as part of the garner profile.
  11. The computing device of claim 9 , wherein the instructions, when executed by the processing unit, cause the processing unit to: perform chat communications with an individual other garner via a chat service provided by the remote service.
  12. The computing device of claim 9 , wherein the instructions, when executed by the processing unit, cause the processing unit to: control a display device to display the garner name, an indication that the garner achieved the first individual achievement, and an indication that the garner achieved the second individual achievement.
  13. A system comprising: a processing unit;a network interface;and a memory device storing instructions which, when executed by the processing unit, cause the processing unit to: store a garner profile for a first garner associated with a first computing device, wherein the gamer profile includes a name associated with the gamer;using the network interface, receive, from the first computing device, identifiers of specific other gamers with which the gamer profile can be shared;using the network interface, receive, from the first computing device, reports of occurrences of a plurality of achievements, wherein the occurrences are achieved while the game is being played on the first computing device by the gamer and the occurrences include: an occurrence of a first individual achievement having a first title and an associated first number of points, and an occurrence of a second individual achievement having a second title and an associated second number of points, update the gamer profile to reflect the occurrence of the first individual achievement by crediting the gamer profile with the associated first number of points;update the gamer profile to reflect the occurrence of the second individual achievement by crediting the gamer profile with the associated second number of points;and selectively provide the updated gamer profile to other computing devices associated with the specific other gamers without sharing the updated gamer profile with further computing devices associated with further gamers that the gamer has not indicated the gamer profile should be shared with.
  14. The system of claim 14 , wherein the instructions, when executed by the processing unit, cause the processing unit to: using the network interface, receive further identifiers of certain sections of the gamer profile that can be shared with the specific other gamers;and restrict sharing of the gamer profile to sharing the certain sections of the gamer profile with the specific other gamers.
  15. The system of claim 14 , wherein the instructions, when executed by the processing unit, cause the processing unit to: using the network interface, share presence information of the gamer with the specific other gamers;and restrict the further gamers from obtaining the presence information of the gamer.
  16. The system of claim 14 , wherein the instructions, when executed by the processing unit, cause the processing unit to: using the network interface, obtain a snapshot of the game reflecting a moment when the occurrence of the first individual achievement occurred on the first computing device;and using the network interface, share the snapshot with the specific other gamers by communicating the snapshot to the other computing devices.
  17. The system of claim 14 , wherein the instructions, when executed by the processing unit, cause the processing unit to: using the network interface, provide a chat service to the gamer and the specific other gamers by sharing chat communications among the first computing device and the other computing devices.
  18. The system of claim 14 , wherein the instructions, when executed by the processing unit, cause the processing unit to: provide game updates to the computing device and the other computing devices.
  19. The system of claim 14 , wherein the instructions, when executed by the processing unit, cause the processing unit to: mine game usage data of the gamer;and based at least on the mined game usage data, tune the game to suit particular preferences of the gamer.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.