U.S. Pat. No. 8,533,076

ONLINE GAME COMMERCE SYSTEM

AssigneeMicrosoft Corporation

Issue DateNovember 30, 2011

Illustrative Figure

Abstract

An online game commerce system, in one embodiment, provides an architecture for enabling the interactive trade, collection, advertisement, purchase, and sales of video game components through the representation and use of an online marketplace such as an auction, store, trading hub or similar expression within a video game. For example, an online race car game purchased at a retail store comes with five different starter cars, but game players are offered the opportunity through an online store or auction accessible through the game to purchase additional cars for $5 each or a new engine for existing cars for $1.00 each. After the initial release of the game, game publishers may offer new cars and race tracks downloadable online for a price of $5.00 each or a promotional offer of $20 for any combination of five.

Description

DETAILED DESCRIPTION Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts, and more particularly toFIG. 1Athereof, there is illustrated a drawing of a gaming system according to an embodiment of the present invention. A remote server stores an add-on component115A that is configured to be uploaded and installed in a program185on a user computer180. The program185includes an Application Programming Interface (API)190that allows the program185to communicate with the remote server110through a standard network or Internet connection hosted on the user computer180. The add-on component115A (initially stored in database130or other storage device) is, for example, served to the user computer180by the remote server110via an Internet connection, and installed in the program185via the API. As shown inFIG. 1A, add-on component115A has been served to user computer180, installed by API190, and is shown residing within program185as add-on component115B. The add-on component is, for example, an executable program component, interpretable source code, or other software module, that, when executing within the program185, implements a feature or otherwise adds value to the program185. The program185may be any type of computer program, including any of games, business programs, entertainment programs, etc. A publisher of program185releases program185with facilities or other hooks (programming techniques) in the program185that are needed to accept additional new components (e.g., game pieces, area updates, etc.). The API190accepts incoming new components from an Internet or other connection and provides the incoming component to the program in a manner needed by the program to accept additional programming. For example, the API saves a new component in an appropriate directory that is accessible to the program, or invokes a specific routine provided by the program to install the component. We now turn to a specific example in which the program185is a game playing program of the type in which users select characters ...

DETAILED DESCRIPTION

Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts, and more particularly toFIG. 1Athereof, there is illustrated a drawing of a gaming system according to an embodiment of the present invention. A remote server stores an add-on component115A that is configured to be uploaded and installed in a program185on a user computer180. The program185includes an Application Programming Interface (API)190that allows the program185to communicate with the remote server110through a standard network or Internet connection hosted on the user computer180. The add-on component115A (initially stored in database130or other storage device) is, for example, served to the user computer180by the remote server110via an Internet connection, and installed in the program185via the API. As shown inFIG. 1A, add-on component115A has been served to user computer180, installed by API190, and is shown residing within program185as add-on component115B.

The add-on component is, for example, an executable program component, interpretable source code, or other software module, that, when executing within the program185, implements a feature or otherwise adds value to the program185. The program185may be any type of computer program, including any of games, business programs, entertainment programs, etc.

A publisher of program185releases program185with facilities or other hooks (programming techniques) in the program185that are needed to accept additional new components (e.g., game pieces, area updates, etc.). The API190accepts incoming new components from an Internet or other connection and provides the incoming component to the program in a manner needed by the program to accept additional programming. For example, the API saves a new component in an appropriate directory that is accessible to the program, or invokes a specific routine provided by the program to install the component.

We now turn to a specific example in which the program185is a game playing program of the type in which users select characters or other icons and then control movement of the selected character or icon via joystick or other input devices attached to the user computer180. An example output play space200of an example “shoot em up” style game playing program is shown inFIG. 1B. The game includes characters205and210which represent users of the game. In one embodiment, the game is an on-line game, and, for example, character205represents a remote on-line user and character210represents a local user of user computer180. Gun215represents a game component used by character215during play of the game.

In this example, the add-on component is configured to provide a virtual store, and the add-on component includes all the data and programming to place “Bob's Ammo Shop”220in the game. The program185has been programmed to have facilities to allow updates to a portion of the game playing space, and upon installation of the add-on component115B, “Bob's Ammo Shop” appears in the game playing space. As illustrated in this example, a part of the program185is updated with add-on component115B (e.g., updates programming of the game), and the programs output, or play space, is also updated with an additional feature (e.g., Bob's Ammo) provided by the add-on component.

In one embodiment, “Bob's Ammo Shop” is a virtual store that carries game weapons, and ammo that may be purchased by the local and/or remote users via interaction of their respective characters with the virtual store. Payment is made, for example, via points, health, or other value accumulated through play of the game. The characters may enter the virtual store through doors or other mean of entry provided by the add-on component and use various ways to select products from the virtual store. In one embodiment, once inside the virtual store, a virtual shopping experience is provided, with aisles, and items on shelves, etc. In another embodiment, a traditional on-line store with a pictorial index and electronic shopping cart are provided. In one embodiment, game play is suspended during “shopping.” In other embodiments, game play continues while the characters shop the virtual store—thus, while walking between aisles, a player in a shoot-em-up style game may be in peril of getting shot. In one embodiment, a motif of the add-on component115B is programmed to match a motif of the program being updated.

Typically, a virtual store within a specific game playing program will contain equipment, ammo, characters, etc that are compatible with the game playing program. Thus, upon entry of the virtual store, character205would be able to “purchase” his own game equipment, such as a particular model of a gun (pistol, rifle, machine gun, etc.), and character210may, for example, if the virtual store allows trading, trade up from a handgun to a more sophisticated weapon.

Various factors regarding each of the available game equipment. Game equipment is generally produced by the game publishers. The publishers may require certain items before equipment is provided to a user (e.g., a player must have accumulated a certain amount of points or playing time before being allowed to own a more sophisticated weapon). Such requirements are enforced via encrypted keys or other secure methods to check a users qualification before “purchase” of certain items. Such checks may be made, for example, by the remote server110, or the program185. Other items are available to all players willing to pay for them. Some game pieces are available for “purchase” using points, but others require purchase using currency.

Items stocked on the shelves of the virtual store may only be available in limited or fluctuating supply levels. In one embodiment, an on-line connection between the add-on component and the remote server provides up to date information on stock availability (e.g., the virtual store is an on-line store). The remote server110includes a manager program120that is configured to manage stock presented in the virtual or on-line store. The manager program120includes all the necessary programming to enforce game publisher rules about the sale and/or trade of gaming components (e.g., evaluation and/or production of keys needed to insure proper sale, trading, and/or use of the component), and maintains all necessary hierarchies or other organization needed to present the components available for sale or trade in an efficient manner. Messages, such as management message (M) are sent form the manager, over a network (e.g., Internet), to the user computer, through the API190, to the add-on component115B with the latest information needed to properly implement the feature of the add-on component (e.g., latest game components or pieces, prices and styles). Relevant information about purchases or other aspects related to activities in the virtual store (or other feature) are sent back, as needed, to the manager via response (R) messages. The manager120is also configured to coordinate purchases via credit card, bank accounts, or other currency sources by sending billing information to any available 3rd party credit or bill paying service (e.g., VISA, paypal, etc.).

Although only one add-on component is shown inFIG. 1A, the program185may be configured to accept multiple add-on components, and remote server110is preferably configured to serve many different types of add-on components. In addition, add-on component115A/B is not limited to implementing a single feature in the program185, and may also be programmed to implement multiple features. A car sales area230is also shown in the example game playing space ofFIG. 1B. Like Bob's Ammo Shop, the car sales area is available for the selection and purchase of game equipment (cars) that can then be used in the game (e.g., car240). In some embodiments, the update area (e.g., Bob's Ammo Shop220) is required to have a similar motif as the program, or at least be related to the program (e.g., provide character's, equipment, etc. that is usable with or at least related to the game. However, in other embodiments, the updated area may not be related at all to the game being played. For example, instead of selling game equipment, car sales area230might be an actual auto dealership selling full sized automobiles. The car sales area is then, for example, and online store for Ford, Chevy, or Ferrari automobiles. In one embodiment, special gaming style programming is utilized to implement the car sales area. In another embodiment, the car sales area is a link that brings up a traditional browser into the game program that the user can view a car sales web site (the traditional browser may have a skin or other motif similar to a motif of the game program; motif of the online stores or other areas/locations within the game play space may also be similarly updated using skins developed for add-on components).

Although additional aspects and features of the invention are discussed herein below, in several broad embodiments, the present invention includes: an add-on component server from a remote server that is installed (or imported) into a program of a user computer; an add-on component that implements one or more new features to a program; a remote server that manages a part of a program remotely (e.g., notifying a virtual store in a program about stock availability), in which the part may be either an add-on component or a permanent part of the program. Management by the remote server may also be configured to insure integrity of the sale and use of the add-on components via the use of keys and other privacy facilities that make those components, or aspects of the components, inoperable unless certain conditions are met (e.g., license is fully paid).

Thus, in one embodiment, the invention is a game, comprising, a game playing program wherein at least one part of the game playing program is configured to be populated with an add-on component, and the add-on component is populated from a remote source. The add-on component may be a sales component or an on-line store.

In one embodiment, the game playing program includes a character that represents a player utilizing the game playing program, the add-on component comprises a gaming style program that implements a shopping mall paradigm, the game playing program is configured to allow the player to direct the player's representative character into the shopping mall, and the add-on component is configured to allow the character to select and purchase items in the shopping mall.

The present invention is also a system, comprising, a game playing program wherein at least one part of the game playing program (e.g.,185) is configured to be populated with an add-on component, a remote server (e.g.,110) configured to store and serve at least one add-on component (e.g.,115A) compatible with the game playing program, and an interface (e.g.,190) coupled to the game playing program, the interface being configured to interact with the remote server and facilitate importation of an add-on component from the remote server into said at least one part of the game playing program. The importation of the add-on component (e.g.,115B) may be a dynamic update (e.g., during game play) of contents of at least one of an area and location (e.g.,220) within the game playing program. The add-on component may be, for example, a game component (e.g., any of a character, scene, level, weapon, strategy, action, object, or other component) utilized by the game playing program. In another example, the add-on component may define a virtual marketplace (e.g., Bob's Ammo Shop220) configured to at least one of trade, collect, buy, and sell game components through at least one of an online auction and store that are accessible as part of the game playing program.

In one embodiment, the remote server is further configured to register users of the system, transmit binary application code of the add-on component, and generate and transmit a license key that controls use of the add-on component.

The server includes facilities to manage an area within a program hosted on a user computer, wherein the server is remotely located from the user computer. In one embodiment, the server is further configured to define a virtual marketplace to at least one of trade, collect, buy, and sell items through any of online auctions and stores that have been dynamically updated into the program.

The server may also be further configured to facilitate fulfillment of purchase transactions incurred by a game player in a virtual store of the managed area, and bill the game player's purchases via interaction with a third party billing system to charge the game player and credit a selling party, and, for example, persist a billing record of fulfilled purchase transactions by saving relevant purchase information into a centralized storage device (e.g., to database130).

The server may also be configured to identify areas within the program that are capable of being dynamically updated from a remote source and then dynamically update the content of at least one of the identified areas, and, for example, the identified areas comprise at least one of a two dimensional and three dimensional space within an output of the game program.

On-line commerce includes a method, comprising the steps of, uploading an add-on component to a game program of the registered user, wherein the game program is configured to accept and install the add-on component, and managing activities of the user during interactions of the user with the uploaded add-on component. Preferably, the users are required to login to the system as shown inFIG. 25and are registered with the system which includes, for example, ID information, and credit or other information used to bill the user for services and/or products offered by any one or more features provided by the present invention. Illustrative examples are shown inFIG. 24, andFIGS. 26and27. Managing activities includes, for example, managing shopping carts, managing display of items for sale or auction, and managing a hierarchical organization items for sale or auction. Managing also includes the steps of defining a set of guidelines governing a game component's sale, purchase, trade, collection, display, distribution, or behavior, and enforcing the guidelines through the step of managing activities, including any respective metadata, binary files, and license keys of the add-on component according to the set of guidelines governing the uploaded component (e.g., as provided by game publishers).

The invention also includes a method of producing add-on components for games, comprising, preparing an executable program component capable of being imported into a game program and configured to interact with a game being played by a user of the game program. The executable program component may be programmed or otherwise configured to implement a virtual store in which game players may participate by purchasing items offered for sale, and, for example to continue game play action of the game program in the virtual store.

An API (e.g.,190) is utilized that allows the program (e.g., a game) to dynamically update the contents of an area/location within the program from a remote source. This is particularly applicable to “commerce” intended to take place, for example, in a game, such that the “area/location” being updated is a store or an auction and the “contents” are game objects, items, equipment, characters, etc that are for sale. “Bob's Ammo Shop”200, discussed previously, is one example, other examples include an FTD florist for sending virtual flowers to other game players in an on-line community (or outside the community). In another example, the FTD florist is an actual flower shop that accepts orders from game players, the real flowers are then delivered to street addresses worldwide.

The “area/location” may also be a feature that is a non-commerce scenario as well. For example, an “area/location” may also be defined in the game as a treasure chest and the “contents” of the treasure chest may be coins, jewels, weapons, potions, etc. In one embodiment, the contents are dynamically determined by making a request (or response to a remote server management message) to a remote server that manages and maintains the catalog of items. Furthermore the “remote server,” on a Transplay Platform (e.g.,105), may execute code at the time of the request to determine what specific item should display within the treasure chest depending upon “game rules” that are set up as an administrative process by the game developer or publisher through, for example, a web based management console. Examples of such rules are show jewels if the main character opening the chest is a woman, show life potion if the main character's health is less than 50%, or randomly etc. Another example of this behavior is defining a building as a location within a game (e.g., an ammo shop, museum, gas station, fast food, etc.), different bad guys that run out of the building shooting at the main character as the content, and game rules such as run out only if the main character has rescued the President and is at risk of escaping. Any game rules for any particular game or group of games may be utilized.

We now provide a more detailed look at the various feature of the present invention. In one embodiment, the present invention provides an online game commerce system that provides game developers and publishers with the ability to define, sell, distribute, and manage “game components” such as but not limited to characters, scenes, levels, weapons, strategies, actions, and objects. For example, game developers define a virtual marketplace where game players may interact with each other to trade, collect, buy, and sell their game characters, scenes, and components through online auctions and stores that become part of the gaming experience. Through the use of Web based management consoles, game publishers are allowed the flexibility to manage the pricing and distribution of game assets per download, per transaction, or on a subscription basis.

For example, consider the case in which a game player has invested significant time practicing and playing an online NFL football game. During the course of his game play, he has built a successful football franchise and has won five consecutive NFL titles with several star players that he has acquired and trained over time. The competition is getting a bit boring and he is ready for a new challenge, and therefore decides to sell his football team on the open market through an online auction. This online auction of video game characters is depicted within the video game as each of the game player's football team player's contracts expiring and deciding to become free agents. The virtual game sequence of the football player entering the open market as a free agent and signing a contract with a new team is actually conducted as a live transaction between two real game players where the original team owner is paid real money for the negotiated price of the virtual game character.

In another example, take the case in which a game enthusiast purchases an online race car game at a retail store that comes with five different starter cars. Once connected at home, the game player is offered the opportunity to purchase additional cars online for $5 each or a new engine for existing cars for $1.00 each. A month later after the initial release of the game, new cars and race tracks are downloadable for a price of $5.00 each or a promotional offer of $20 for any combination of five.

Register, upload, and categorize game components: In one embodiment, the present invention provides a method for registering, uploading, and categorizing game components such as characters, weapons, objects, scenes, levels, strategies, or actions. In this context, the terms “registering” and “uploading” refer to a unique process for defining the properties of a game component, transmitting the binary application code that represents such game component onto a remote game server, and generating a unique license key code that unlocks the use of a specific instance of a game component through the use of a user interface or an automated asynchronous system. “Categorizing” refers to a method of classifying or organizing registered game components into a hierarchical grouping by their specific properties such as but not limited to its skill set, color, dimensions, level, edition, version, price, rarity, age, and relationships to other game components. In one embodiment, the act of registering, uploading, and categorizing game components is fulfilled as shown inFIG. 5, item100through the use of a Web based management console as illustrated inFIG. 8.

Define and register game locations: In one embodiment, the present invention provides a method for defining and registering game locations. A game “location” in this context is defined as any two or three-dimensional area within a game whose contents may be dynamically updated, changed, or retrieved from a remote source. In one embodiment a game location may be defined as a store or auction and the “contents” being updated are game objects, items, equipment, characters, etc that are for sale. In another embodiment, a game location may be defined in a game as a treasure chest and the contents of the treasure chest being updated may be coins, jewels, weapons, potions, etc and may be dynamically determined by making a request to a remote server that manages and maintains the catalog of items. In one embodiment, the act of defining a game location is achieved through the use of a Game and Game Service API as shown inFIG. 5, Items140and175and the act of registering a game location is achieved through the use of a web based management console as illustrated inFIG. 5, Item100andFIG. 9.

Define and register game players: In one embodiment the present invention provides a method for defining and registering game players. A “game player” in this context may be defined as any person directing the control of a game character, component, or object within a game. Types of information associated with a game player that may be registered with the system include but are not limited to account identification information such as a game player id/username and password, personal contact information such as home address, email address, phone number, etc, and billing information such as credit card account, expiration, or preferred billing preferences. In one embodiment, an administrative user may register a game player through the use of a web based management console such as that depicted inFIG. 24. In another embodiment, the game player may register him/herself with the system through a set of user interface screens that are part of the game itself as depicted inFIGS. 26 and 27.

Authenticate and authorize game players: In one embodiment the present invention provides a method for authenticating and authorizing a game player within the game system. “Authenticating” in this context may be defined as the act of ensuring the identity of a game player by comparing the combination of a game player id and password with an existing account already present within the game system. This is achieved through the use of an in game screen such as that depicted inFIG. 25. “Authorizing” in this context may be defined in one embodiment as the act of determining whether an authenticated game player has the appropriate permissions to view a protected area within a game and download and execute protected game components. For example, inFIG. 1B, both the local and remote game players controlling game characters210and205maintain their own unique authorization permissions to game components such as guns and cars. For example, game player205may have access to a Colt 45, a hand grenade, and a Uzi machine gun, while game player215may have access to a 38 special, rocket launcher, and a Ford Mustang get-away car. Each game player may modify his/her access rights to additional game components by purchasing or collecting additional rights through the game commerce system described by the present invention. The authentication and authorization metadata of a game player that determines a game player's rights and restrictions to game components within the system in one embodiment are stored by a Game server (FIG. 5, Item120) within a relational database or networked file system (FIG. 1A, Item130, orFIG. 5, Item125).

Persist game component and location metadata: In one embodiment, the present invention provides a method for persisting game component and location metadata into a centralized storage device such as a relational database catalog or networked file system. In this context, the term “metadata” refers to any describing property or feature of a game component or location defined during registration of the game component or location into the game server system. Examples of such properties include but are not limited to: name, description, game component type, color, categories, genre, dimensions, weight, speed, strength, health, weaknesses, relationships, weapons, price, age, rarity, etc. The act of persisting game component and location metadata is achieved, in one embodiment, through a Game Server such as one depicted inFIG. 5, item120receiving user input from a Web based management console (FIG. 5, Item100andFIG. 9) and saving them to relational database as shown inFIG. 5, item125. In one embodiment, the specific structure of the data within the relational database may be stored in tables such as those depicted inFIG. 23.

Define provisioning rules: In one embodiment, the present invention provides a method for defining provisioning rules for an individual game component or a grouping or category of game components. In one embodiment, “provisioning rules” refers to a set of guidelines that govern the dynamic display or behavior within a game location. In the scenario in which a treasure chest is defined as a game location’ and the contents of the treasure chest are dynamically retrieved from a remote server and may be game items such as jewels, coins, weapons, etc, examples of provisioning rules that are determined by the server are “show jewels if the main character opening the chest is a woman,” “show life potion, if the main character's health is below 50%,” or “show demons if the main character has previously opened the chest.” In another embodiment, the term “provisioning rule” refers to a set of guidelines governing a game components sale or purchase. Examples of such guidelines include but are not limited to the ability to define a game component or group of components for sale through an online auction and/or an online store, the ability to set maximum and minimum sale prices, the ability to define an inventory of available game components to be sold by any auction or store, the ability to limit the number of game component items sold by a given store or auction as a fixed numerical limit or a percentage of available inventory, the ability to define weighted discounts for multiple purchases of related or bulk purchases, and the ability to define subscription bundles of game component offerings and updates. Moreover, “provisioning rules” may refer to a set of guidelines that are based upon the specific game environment variables that determine game players' ability to purchase, trade, collect, and/or sell specified game components. Examples of such game environment variables include but are not limited to the skill set, level, points, experience or other identifying characteristics of a game player or of the game objects and characters that a game player owns, and past actions taken against different game objects or characters performed by the game player or through characters or objects that the game player controls and owns. The act of defining provisioning rules is achieved, in one embodiment, through the use of a Web based management console as shown inFIG. 5, Item130andFIGS. 12 and 15.

Browse game catalog: In one embodiment, the present invention provides a unique method for game developers to allow game players to navigate through or search a hierarchical grouping of game components and view the metadata associated with each game component and category. Specifically a grouping of game components may be organized according to the specific properties such as but not limited to skill set, color, dimensions, level, edition, version, price, rarity, age, and relationships to other game components. In one embodiment browsing a catalog of game components may be represented as navigating through a set of two-dimensional screens that list out the game components within each catalog such as depicted inFIGS. 16 and 20. In another embodiment, browsing a catalog may be represented as cinematic or three-dimensional animated sequences or interactions between game characters or objects in which a game player navigates a game character through different aisles within a store and browses the shelves for specific game components and items such as depicted inFIG. 19. This is achieved through the use of a Game Catalog API (Application Programming Interface), such as depicted inFIG. 5, item115, that provides a standard programming interface to browse the game catalog from any proprietary gaming console or client such as, but not limited to, Sony Playstation 2, Microsoft Xbox, Nintendo GameCube, any wireless or handheld game client, or a personal computer. In one embodiment, when the game console client requests a list of game items from the Game Catalog API (FIG. 5, item115), a serialized data structure such as that depicted inFIGS. 6 and 7is returned by the Game Server (FIG. 5, Item120).

Define and participate in a store: In one embodiment, the present invention provides a unique method for game developers to define a virtual store in which game players may participate by purchasing items for sale by the game publisher or other game players or by posting their own game components to sell to other game players. The act of purchasing the game components may in one embodiment be represented as navigating through a set of two dimensional screens, such as those depicted inFIGS. 16,17, and18, adding game component items to one's purchase list or “shopping cart” and then “checking out” to pay for the items as a single credit card transaction. In another embodiment, the act of purchasing game components may be represented as a set of cinematic sequences or animated 3D game characters, objects, and models that virtually select the items to purchase from a store shelf, carry the items to the checkout counter, wait in line for the next available clerk, and interact with the store clerk to purchase the game items. This is achieved through the use of Game and Game Service APIs (Application Programming Interface), as shown inFIG. 5, items140and175, that provide a standard programming interface to create a store, define the contents of a store, browse a store's content, post an item for sale within a store, and purchase and remove an item from a store from any proprietary gaming console or client such as, but not limited to, Sony Playstation 2, Microsoft Xbox, Nintendo GameCube, any wireless or handheld game client, or a personal computer.

Define and participate in an auction: In one embodiment, the present invention provides a unique method for game developers to define a virtual auction in which game players may participate by bidding and purchasing items for sale by the game publisher or other game players or by posting their own game components to sell to other players. The act of bidding on and purchasing game components may in one embodiment be represented as navigating through a set of two dimensional screens, such as those depicted inFIGS. 20,22, and23adding game component items to one's bid list and then placing a maximum bid amount to purchase the item through the use of a credit card. In another embodiment, the act of bidding on game components may be represented as a set of cinematic sequences or animated 3D game characters, objects, and models, such as those represented inFIG. 20, that represent a virtual auction house in which an auctioneer calls on auction participants that raise their hands to signal a new bid. This is achieved through the use of Game and Game Service APIs (Application Programming Interface), as shown inFIG. 5, items140and175, that provides a standard programming interface to create an auction, define the contents of an auction, browse an auction's content, post an item for sale within an auction, set a bid increment, minimum bid amount, and closing amount for an auction, create an automatic bid notification alert or automatic bid increase for items that one is actively bidding, and purchase and remove an item from an auction from any proprietary gaming console or client such as, but not limited to, Sony Playstation 2, Microsoft Xbox, Nintendo GameCube, any wireless or handheld game client, or a personal computer.

Persist provisioning rules and transactions metadata: In one embodiment, the present invention provides a unique method for persisting provisioning rules and transactions metadata into a centralized storage device such as a relational database or networked file system. In this context, “provisioning rules” refers to a set of guidelines determined by a game publisher governing a game component's sale or purchase or dynamic display within a game location as defined by paragraph17. “Transactions metadata” refers to the properties and actions defined by game players when defining and participating in a store or auction as described in paragraphs19and20. The act of persisting provisioning rules and transactions metadata is achieved, in one embodiment, through a Commerce Server such as one depicted inFIG. 5, item150receiving user input from a Web based management console (FIG. 5, item130,FIG. 12,FIG. 15) or game player user interface screens (FIGS. 16-23) and saving them to relational database as shown inFIG. 5, item151. Moreover, the structure of such provisioning rules may in one embodiment may be represented and saved as an XML document as represented byFIG. 6, items330and340, andFIG. 7, items430and440.

Fulfill transaction and bill game player: In one embodiment, the present invention provides a unique method for fulfilling purchase transactions and billing a game player. When the game commerce server receives a purchase order from an invocation of a purchase action from the Game and Game Service APIs (FIG. 5, items140and175) by a game system client, the purchase order request is placed into a fulfillment queue such as that depicted inFIG. 5, item152. An asynchronous process cycles through orders within the fulfillment queue and attempts to charge the buying game player's account and credit the selling game publisher's or player's account by invoking the methods and objects provided through a standard Billing API such as that represented inFIG. 5, item160. Specific implementations of the Billing API interfaces are depicted inFIG. 5, item165and may include but are not limited to credit and debit card processing systems, electronic payment systems such as PayPal and direct deposit, subscription based billing systems, and a game scoreboard system in which game items are exchanged for game points or credits that are acquired during game play.

Persist billing record: In one embodiment, the present invention provides a unique method for persisting the billing record of the fulfilled transaction into a centralized storage device such as a relational database or networked file system. Information such as, but not limited to, the user names of the participating buyer and seller, the current time and date, the sale price, starting bid price, total number of bids, length of auction or total time to sell the item, units sold, is saved as part of the transaction. The act of persisting a billing record is achieved in one embodiment as depicted inFIG. 5in which a Billing System (item165) saves the record into a relational database (item170).

Notify game system and players of fulfilled transaction: In one embodiment, the present invention provides a unique method for notifying the game system and participating game players of fulfilled transactions. As depicted inFIG. 5, after a purchase order is fulfilled, through invoking a standard notification interface provided by a Billing API (item160), a third party billing system (item165) sends a fulfilled purchase order message to the game system which places the message into a notification queue (item155). The game commerce system server (item150) then processes the notification messages asynchronously. If a transaction failed due to insufficient funds or an inability to charge the buying player or credit the selling game publisher or player, then both the buying and selling parties are notified and the auction or store sale continues for future consideration. If a transaction has been successfully fulfilled, then both buying and selling parties are notified and for auction sales, the game system closes the specified auction and notifies all participating players of its end, or for store sales, removes the sold item from the store and decrements the store's inventory appropriately. In one embodiment, such notification may be represented as a two dimensional dialog box or screen that pops up within the game or changes state such as that depicted inFIG. 22and in another embodiment may be represented as the presence of or change in behavior or appearance of a specific game object, character, or location or by a specific game character explicitly notifying or telling the game player's main character as part of the game play and in another embodiment may be represented as an email message that is sent to the game player outside the immediate context of the game.

Receive and post messages and game components: In one embodiment, the present invention provides a unique method for receiving and posting messages and game components. As depicted inFIG. 5, when a successful transaction has been fulfilled both selling and buying parties are notified via a message sent by invoking a standard Messaging API interface (item145) provided by the game commerce server (item150). The game commerce server sends a message to the game clients of game players who have sold a game component to upload the sold game component and/or the specific license key unlocking the use of the game component onto the game server and instructs the game clients of game players who have purchased the game component to download the purchased game component and/or license key from the game server. Any metadata associated with the purchased game component is also transferred to the new owner. Examples of the structure of such metadata are illustrated inFIGS. 6 and 7. The embodiment described above describes a centralized method for receiving and posting messages and game components through the use of a server to broker message and component transfers. However, in another embodiment, the present invention provides a unique method for receiving and posting messages and game components through a peer-to-peer network or distributed system in which game clients connect directly to each other to exchange messages and components.

View sales reports and statistics: In one embodiment, the present invention provides a unique method for viewing sales reports and statistics about fulfilled transactions. Through the use of a user interface such as a web based application, game publishers or system administrators may review reports that illustrate transaction details such as but not limited to game component sales by time period, store and auction inventories over time, and game component sales by demographic group or region or game component properties such as skill set, color, dimensions, level, edition, version, price, rarity, age, and relationships to other game components.

The present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art.

Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art based on the present disclosure.

The present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to control, or cause, a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, mini disks (MD's), optical discs, DVD, CD-ROMS, micro-drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices (including flash cards), magnetic or optical cards, nanosystems (including molecular memory ICs), RAID devices, remote data storage/archive/warehousing, or any type of media or device suitable for storing instructions and/or data.

Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, and user applications. Data used by the software may be retrieved from different sources (local or remote) and either permanently or temporarily stored (before, during, or after any processing) by utilizing any of text files, delimited files, database(s), or other storage techniques. Ultimately, such computer readable media further includes software for performing the present invention, as described above.

Included in the programming (software) of the general/specialized computer or microprocessor are software modules for implementing the teachings of the present invention, including, but not limited to, finding updateable areas of a program, transferring components from a remote server to a program, managing areas/locations with a remote program, including organizing displays and facilitating purchase of items displayed, installing add-on components into a program, and the display, storage, or communication of results according to the processes of the present invention.

Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Claims

  1. A method in an on-line commerce server, having a processor, the method comprising: receiving a request from a remote gaming system, the remote gaming system comprising a game program playable by a user;in response to receiving the request, identifying, with the processor, an area within the game program capable of being dynamically updated with an add-on component;and providing an add-on component to the remote gaming system, wherein the game program is configured to install the provided add-on component so that the user can interact with the provided add-on component while playing the game program.
  1. The method of claim 1 wherein the provided add-on component is an online store.
  2. The method of claim 2 , further comprising: after the provided add-on component has been installed, allowing the user, while interacting with the provided add-on component, to purchase a new game component for the game program, wherein the new game component is configured to be used by a character of the game program.
  3. The method of claim 3 wherein the online store permits points accumulated during play of the game program for payment of game components selected for purchase through the provided add-on component.
  4. The method of claim 3 wherein the new game component is a piece of equipment configured to be equipped by a character of the game program.
  5. The method of claim 2 , further comprising: after the provided add-on component has been installed, allowing the user, while interacting with the provided add-on component, to purchase a new game component for the game program, wherein the new game component is at least one of a scene, level, strategy, or action.
  6. A system comprising a memory and a processor and further comprising: a module configured to register a user of a gaming system;a module configured to upload an add-on component to a game program associated with the registered user, wherein the game program is configured to install the add-on component;and a module configured to manage activities of the user as the user interacts with the uploaded add-on component wherein at least one of the modules comprises computer-executable instructions stored in memory for execution by the processor.
  7. The system of claim 7 , wherein the add-on component comprises at least one of an on-line store and an online auction accessible by the user for the exchange of game components.
  8. The system of claim 7 , further comprising: a module configured to enforce guidelines governing the exchange of a game component.
  9. The system of claim 9 , further comprising: a module configured to facilitate a purchase of a second game component by allowing a purchasing user to download the second game component along with its respective metadata, binary files, and license keys according to the guidelines governing the second game component.
  10. The system of claim 7 wherein the game component is a level achieved by a game player playing the game program.
  11. The system of claim 7 , further comprising: a module configured to prepare sales reports and statistics about fulfilled game component exchanges.
  12. The system of claim 7 , further comprising: a module configured to send a notification message to a buyer and a seller for each fulfilled game component exchange.
  13. A computer-readable storage device storing instructions that, when executed by a computing system comprising game components configured to be used by characters within a game program, cause the computing system to perform operations comprising: sending to an online commerce server a request for an update to a dynamically updateable add-on component of the game program;and receiving from the online commerce server an add-on component of the game program, wherein the game program is configured to install the received add-on component so that a user can interact with the received add-on component while playing the game program.
  14. The computer-readable storage device of claim 14 , the operations further comprising: facilitating the purchase, by the user while interacting with the installed add-on component, of a new game program component configured to be used by a character of the game program.
  15. The computer-readable storage device of claim 14 wherein the received add-on component is an auction component, the operations further comprising: populating the received add-on component with a plurality of game component items.
  16. The computer-readable storage device of claim 14 , the operations further comprising: categorizing the plurality of game component items;and defining provisioning rules for each of the plurality of game component items.
  17. The computer-readable storage device of claim 14 wherein the provisioning rules for at least one of the game component items specifies a starting bid price, a current bid price, a bid increment value, a start date, and a duration.
  18. The computer-readable storage device of claim 14 wherein the plurality of game component items comprise at least one achievement obtained by playing the game program.
  19. The computer-readable storage device of claim 14 , the operations further comprising: enforcing guidelines governing the exchange of a game component.

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