Many games provide a virtual world or some other imagined playing space where a player of the game controls one or more player characters, engages in in-game actions, and/or acquires in-game assets. Player characters (also referred to as characters or PCs) can be considered in-game representations of the controlling player. A game engine accepts inputs from the player, determines player character actions, decides outcomes of events and presents the player with a game display illuminating what happened. In some games with multiple players, each player may control one or more player characters.
A player of a game can directly engage in in-game actions or indirectly via a player character in a role-playing game. For example, in-game actions may include building a virtual town, growing virtual crops, going on a quest, buying/selling virtual items from a virtual store, and the like. Many games also support acquisition of in-game assets (also referred to as rewards or loot) by a player in order to facilitate control of player characters or to perform in-game actions. Examples of in-game assets include, but are not limited to, acquiring game points, gold coins, experience points, character levels, character attributes, virtual cash, game keys, and other in-game items of value within the game.
In some games, a game engine may manage and display non-player characters (NPCs). Unlike player characters actively managed by players. NPCs get their movements, actions, decisions, etc. from the game engine. The game engine many provide NPCs within a game, for example, to make the game space more realistic or because the game does not have player characters. Because NPCs are not controlled by player inputs, they can sometimes appear lifeless or indistinguishable from each other.
Some embodiments are illustrated by way of example and not limitations in the figures of the accompanying drawings, in which:
The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the claimed invention.
The following description is presented to enable any person skilled in the art to create and use a computer system configuration and related method and article of manufacture to obtain and provide social network content and/or features within an online game. In some embodiments, a user of the game also has a social network account. The user's social network account is configured to receive and post messages (or other content) generated by friends or other persons designated as being connected to the user within the social network. As an example, the user may have a unique social network page within the social network platform that displays such messages (or other content). These messages (and associated information such as an identifier of a friend attributable for a given message) may be obtained from the social network platform and presented within the online game as the user is playing the game. The game also provides features for the user to interact with the social network content displayed within the game, such as providing the ability for the user to reply to a social network message from within the game. Such reply is automatically provided to the social network platform so that the reply appears on the user's social network page.
Various modifications to the preferred embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Moreover, in the following description, numerous details are set forth for the purpose of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of these specific details. In other instances, well-known structures and processes are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Social networking system 120a is a network-addressable computing system that can host one or more social graphs. Social networking system 120a can generate, store, receive, and transmit social networking data. Social networking system 120a can be accessed by the other components of system 100 either directly or via network 160. Game networking system 120b is a network-addressable computing system that can host one or more online games. Game networking system 120b can generate, store, receive, and transmit game-related data, such as, for example, game account data, game input, game state data, and game displays. Game networking system 120b can be accessed by the other components of system 100 either directly or via network 160. Player 101 may use client system 130 to access, send data to, and receive data from social networking system 120a and game networking system 120b. Client system 130 can access social networking system 120 or game networking system 120b directly, via network 160, or via a third-party system. As an example and not by way of limitation, client system 130 may access game networking system 120b via social networking system 120a. Client system 130 can be any suitable computing device, such as a personal computer, laptop, cellular phone, smart phone, computing tablet, etc.
Although
The components of system 100 may be connected to each other using any suitable connections 110. For example, suitable connections 110 include wireline (such as Digital Subscriber Line (DSL) or Data Over Cable Service Interface Specification (DOCSIS)), wireless (such as Wi-Fi or Worldwide Interoperability for Microwave Access (WiMAX)), or optical (such as Synchronous Optical Network (SONET) or Synchronous Digital Hierarchy (SDH)) connections. In particular embodiments, one or more connections 110 each include an ad hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of the Internet, a portion of the PSTN, a cellular telephone network, or another type of connection, or a combination of two or more such connections. Connections 110 need not necessarily be the same throughout system 100. One or more first connections 110 may differ in one or more respects from one or more second connections 110. Although
In an online computer game, a game engine manages the game state of the game. Game state comprises all game play parameters, including player character state, non-player character (NPC) state, in-game object state, game world state (e.g., internal game clocks, game environment), and other game play parameters. Each player 101 controls one or more player characters (PCs). The game engine controls all other aspects of the game, including non-player characters (NPCs), and in-game objects. The game engine also manages game state, including player character state for currently active (online) and inactive (offline) players.
An online game can be hosted by game networking system 120b, which can be accessed using any suitable connection with a suitable client system 130. A player may have a game account on game networking system 120b, wherein the game account can contain a variety of information associated with the player (e.g., the player's personal information, financial information, purchase history, player character state, game state). In some embodiments, a player may play multiple games on game networking system 120b, which may maintain a single game account for the player with respect to all the games, or multiple individual game accounts for each game with respect to the player. In some embodiments, game networking system 120b can assign a unique identifier to each player 101 of an online game hosted on game networking system 120b. Game networking system 120b can determine that a player 101 is accessing the online game by reading the user's cookies, which may be appended to HTTP requests transmitted by client system 130, and/or by the player 101 logging onto the online game.
In particular embodiments, player 101 may access an online game and control the game's progress via client system 130 (e.g., by inputting commands to the game at the client device). Client system 130 can display the game interface, receive inputs from player 101, transmitting user inputs or other events to the game engine, and receive instructions from the game engine. The game engine can be executed on any suitable system (such as client system 130, social networking system 120a, or game networking system 120b). As an example and not by way of limitation, client system 130 can download client components of an online game, which are executed locally, while a remote game server, such as game networking system 120b, provides backend support for the client components and may be responsible for maintaining application data of the game, processing the inputs from the player, updating and/or synchronizing the game state based on the game logic and each input from the player, and transmitting instructions to client system 130. As another example and not by way of limitation, each time player 101 provides an input to the game through the client system 130 (for example, by typing on the keyboard or clicking the mouse of client system 130), the client components of the game may transmit the player's input to game networking system 120b. In various embodiments, an online game can be embedded into a third-party website. The game can be hosted by the networking system of the third-party website, or it can be hosted on game system 120b and merely accessed via the third-party website. The embedded online game can be hosted solely on a server of game system 120b or using a third-party vendor server. In addition, any combination of the functions of the present disclosure can be hosted on or provided from any number of distributed network resources. For example, one or more executable code objects that implement all or a portion of the game can be downloaded to a client system for execution.
The game interface 200 can display various game components, such as the game environment, options available to the player (e.g., in-game actions, preferences, settings, etc.), game results, etc. Some components of the game interface 200 may be static, while others may be dynamic (e.g., changing with game play). The user may be able to interact with some components (e.g., player character, NPCs, virtual objects, etc.) and not interact with other components (e.g., the background of the virtual world, such as the virtual street or sidewalk). The user can engage in specific in-game actions or activities by providing input to game interface 200.
In the example online game illustrated in
The user can also click on various icons in game interface 200 to activate various game options. For example, if the user clicks on one of the icons in option bar 208, the game engine will alter the game interface 200 to present the user with options for buying and selling virtual items for use in the virtual city. For example, the player could buy or sell virtual furniture, appliances, décor, windows, goods, etc. Similarly, the user can click on other icons in option bar 208 to access other game options.
One skilled in the art would appreciate that
Although some online games permit multiple players to interact with each other, such as via control of their respective player characters within an instance of the game, typically the interaction does not extend to user generated content (UGC) as it exists in social networking sites. For example, UGC such as generating tweets or following tweets on Twitter are considered to be “real social,” which is typically absent in online games. Accordingly, it would be beneficial to provide UGC as it exists in social networks in online games.
In some embodiments, the game engine is configured to provide information from a social network platform in an online game, provide user interaction features pertaining to the social network within the online game, and coordinate synchronization of information between the social network and the game. The social network may be hosted on the social networking system 120a or some other system. Examples of social networks include, but are not limited to, Twitter, Posterous, FriendFeed, Tumblr, Dailybooth, 12 Seconds, micro blogging platforms, blogging platforms, social network platforms, and the like.
When an instance of an online game is started (block 401), the authentication module 300 is configured to check authorization from a user of the game about incorporating social network features into the game (block 402). The social network features comprise features or content associated with the user's account on a social network. In one embodiment, the game presents an authorization request to the user each time the game is accessed by the user. In another embodiment, the game presents an authorization request to the user once, and then the authorization is considered to be on-going in subsequent sessions of the game. In still another embodiment, the game presents an initial authorization request to the user and then periodically repeats the authorization request, because the user's authorization is valid for a pre-determined period of time or number of game sessions.
Returning to
Next at a block 410, the import content module 302 is configured to obtain content associated with the user from the social network (e.g., via the Twitter APIs). Continuing the Twitter example, the import content module 302 obtains tweets (and its associated information) posting on the user's Twitter page in real-time or near real-time. These tweets are generated by other Twitter users (also referred to as Twitter friends) that the user subscribes or follows. Associated information pertaining to the tweets can include a photo of each of the user's Twitter friends, their Twitter usernames, etc. As another example, the game may obtain a list of the user's friends on the social network.
At least a portion of the social network content that was obtained is then displayed within the game (block 412). Depending on the existing content of the game, the social network content can be overlaid onto the game's existing content to make the game even more interactive or realistic. In one embodiment, each of the NPCs displayed within in the game may be used as an avatar for the user's friends in the social network, and social network content associated with the user's friends may be respectively displayed with each of the NPCs/avatars within the game. The social network content may be displayed with a NPC similar to a caption. NPCs that were previously non-interactive elements within the game are now interactive elements that are additionally directly relevant to the user.
Continuing the Twitter example,
If the number of the user's friends on the social network with current postings exceeds the number of NPCs 206 displayed in the game, then the import content module 302 may be configured to obtain content from a random subset of the user's friends that match the maximum number of NPCs 206 displayed in the game. In another embodiment, the import content module 302 may be configured to dynamically associate a particular user's friend with a particular NPC 206 based on the most current tweet postings. If, for example, user's friend A is generating current posts while user's friend B is not posting, then user's friend B may not be associated with an NPC until and unless he/she starts generating a post. Hence, NPCs within the game have become interactive elements (e.g., they have become the user's citizens), now directly pertinent to the user since they provide the latest status information about the user's friends, and serves as a gateway for real-time interaction with the user's friend(s). Conversely, if the number of the user's friends on the social network is less than the number of NPCs 206, the game engine may randomly select a subset of NPCs 206 to be associated with the user's friends on the social network. In other embodiments, any existing or newly created object in the game can be (visually) associated with the social network content pertaining to the user. Such existing or newly created object can be an animate or inanimate object within the game, and can even comprise a toolbar or similar navigation icons within the game.
Returning to
Once the user has completed composing a reply (e.g., the user clicks an Okay button 520), the export content module 304 posts the reply to the social network (block 420). Continuing the Twitter example, the export content module 304 can use the Twitter APIs (and stored access token) to post the reply without knowing or using the user's Twitter password (similar to how the import content module 302 obtains the tweets without needing the user's password).
If the user does not express an interest in replying to any of the displayed posts (no branch 416), then the import content module 302 continues to obtain the most current posts from the social network (block 410) for display within the game (block 412). The import content module 302 similarly continues to obtain and display the most current posts from the social network once a reply generated within the game has been posted to the social network (block 420).
The gift sent to the user's friend may encompass a variety of gifts selected by the game engine. In one embodiment, the same default gift may be provided to all social network posts (that also indicated inclusion of a gift) generated within the game. In another embodiment, the game engine may be configured to provide customized gifts depending on the profile of the user or the friend. For example, if the user has a large number of friends, the user may be deemed to be influential and it may be advantageous to provide gifts to the user's friends that are more generous than a default gift. Similarly, if the user or friend is a known celebrity or other well-known person, it may be advantageous to provide a higher than average gift to entice that person to play the game and spread the word about the game. In still another embodiment, the user's activities within the game (e.g., how much time is spent playing the game or how much money is spent playing the game) may determine the level of gift to send to the user's friend. In yet still another embodiment, the game engine may randomly select from a pre-set group of gifts. In another embodiment, the game engine may study the click-through success rate of sent gifts and increase successive use of those gifts with the highest click-through success rates.
Examples of gifts include, but are not limited to, a certain amount of points, currency, items, or other items having a denomination of value within the game, a monetary credit that can be used as real money within the game, an insider tip to advance in the game, other real or virtual item pertaining to game play, and the like. The denominational value or type of gift may change over time and may encompass any possibility that relates to playing or joining the game.
If the user's friend accepts the gift (block 424) by, for example, clicking on the accept button 532 (yes branch 426), the game engine provides a page for the friend to try the game for the first time or to login using an existing username and password. When the game starts, the accepted gift is applied for use within the game (block 428).
If the user's friend declines the gift (no branch 430), the game engine is configured to provide a page for the friend to try the game for the first time or to login using an existing username and password (block 432). In another embodiment the game engine may provide additional or alternative content to the friend to entice him/her to accept the gift again or otherwise try the game for the first time.
Once the user's friend plays the game, joining for the first time or as an existing player, he or she can also enjoy “real social” interaction with his/her own friends on the social network from within the game (as set forth in flow diagram 400).
The elements of hardware system 600 are described in greater detail below. In particular, network interface 616 provides communication between hardware system 600 and any of a wide range of networks, such as an Ethernet (e.g., IEEE 802.3) network, a backplane, etc. Mass storage 618 provides permanent storage for the data and programming instructions to perform the above-described functions implemented in servers, whereas system memory 614 (e.g., DRAM) provides temporary storage for the data and programming instructions when executed by processor 602. I/O ports 620 are one or more serial and/or parallel communication ports that provide communication between additional peripheral devices, which may be coupled to hardware system 600.
Hardware system 600 may include a variety of system architectures and various components of hardware system 600 may be rearranged. For example, cache 604 may be on-chip with processor 602. Alternatively, cache 604 and processor 602 may be packed together as a “processor module,” with processor 602 being referred to as the “processor core.” Furthermore, certain embodiments of the present disclosure may not require nor include all of the above components. For example, the peripheral devices shown coupled to standard I/O bus 608 may couple to high performance I/O bus 606. In addition, in some embodiments, only a single bus may exist, with the components of hardware system 600 being coupled to the single bus. Furthermore, hardware system 600 may include additional components, such as additional processors, storage devices, or memories.
An operating system manages and controls the operation of hardware system 600, including the input and output of data to and from software applications (not shown). The operating system provides an interface between the software applications being executed on the system and the hardware components of the system. Any suitable operating system may be used, such as the LINUX Operating System, the Apple Macintosh Operating System, available from Apple Computer Inc. of Cupertino, Calif., UNIX operating systems, Microsoft® Windows® operating systems, BSD operating systems, and the like. Of course, other embodiments are possible. For example, the functions described herein may be implemented in firmware or on an application-specific integrated circuit.
Furthermore, the above-described elements and operations can be comprised of instructions that are stored on non-transitory storage media. The instructions can be retrieved and executed by a processing system. Some examples of instructions are software, program code, and firmware. Some examples of non-transitory storage media are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processing system to direct the processing system to operate in accord with the disclosure. The term “processing system” refers to a single processing device or a group of inter-operational processing devices. Some examples of processing devices are integrated circuits and logic circuitry. Those skilled in the art are familiar with instructions, computers, and storage media.
In this manner, real-time or near real-time social network content can be obtained from a social network platform for presentation within an online game, and the user of the game may interact with the social network content such as composing content in direct response to the displayed content. Supplemental content, such as a gift for use within the game, may be included in the user composed content. The system then automatically provides the user's composed content back to the social network platform for posting at a social network page of the intended recipient of the user composed content (e.g., the user's friend). When the recipient actuates the gift from within the social network, the recipient is taken to a webpage associated with the game. In particular, the recipient is presented an interface for accepting the gift and playing the game himself.
One or more features from any embodiment may be combined with one or more features of any other embodiment without departing from the scope of the disclosure.
A recitation of “a”, “an,” or “the” is intended to mean “one or more” unless specifically indicated to the contrary. In addition, it is to be understood that functional operations, such as “awarding”, “locating”, “permitting” and the like, are executed by game application logic that accesses, and/or causes changes to, various data attribute values maintained in a database or other memory.
The present disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend.
For example, the methods, game features and game mechanics described herein may be implemented using hardware components, software components, and/or any combination thereof. By way of example, while embodiments of the present disclosure have been described as operating in connection with a networking website, various embodiments of the present disclosure can be used in connection with any communications facility that supports web applications. Furthermore, in some embodiments the term “web service” and “website” may be used interchangeably and additionally may refer to a custom or generalized API on a device, such as a mobile device (e.g., cellular phone, smart phone, personal GPS, personal digital assistance, personal gaming device, etc.), that makes API calls directly to a server. Still further, while the embodiments described above operate with business-related virtual objects (such as stores and restaurants), the invention can be applied to any in-game asset around which a harvest mechanic is implemented, such as a virtual stove, a plot of land, and the like. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the disclosure as set forth in the claims and that the disclosure is intended to cover all modifications and equivalents within the scope of the following claims.
This application is a continuation of U.S. patent application Ser. No. 14/358,967, filed on May 16, 2014, which is a U.S. national stage application filed under 35 U.S.C. § 371 from International Application Ser. No. PCT/CN2011/002118, filed on Dec. 16, 2011, and published as WO 2013/08666 on Jun. 20, 2013, which applications and publication are incorporated herein by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
6784901 | Harvey | Aug 2004 | B1 |
7386799 | Clanton | Jun 2008 | B1 |
8694899 | Goossens | Apr 2014 | B2 |
8892999 | Nims | Nov 2014 | B2 |
9427661 | Pascal | Aug 2016 | B1 |
9844728 | Cao et al. | Dec 2017 | B2 |
10061467 | Brunsch | Aug 2018 | B2 |
20030228909 | Tanaka | Dec 2003 | A1 |
20050143108 | Seo | Jun 2005 | A1 |
20070101276 | Yuen | May 2007 | A1 |
20090199111 | Emori et al. | Aug 2009 | A1 |
20090253513 | Ducheneaut | Oct 2009 | A1 |
20120214564 | Barclay | Aug 2012 | A1 |
20140315639 | Cao et al. | Oct 2014 | A1 |
20140347368 | Kishore | Nov 2014 | A1 |
Number | Date | Country |
---|---|---|
102054127 | May 2011 | CN |
102194036 | Sep 2011 | CN |
104247336 | Dec 2014 | CN |
104247336 | Feb 2018 | CN |
WO-2013086663 | Jun 2013 | WO |
Entry |
---|
“U.S. Appl. No. 14/358,967, First Action Interview—Office Action dated Mar. 2, 2017”, 5 pgs. |
“U.S. Appl. No. 14/358,967, First Action Interview Pre-Interview dated Jul. 14, 2016”, 4 pgs. |
“U.S. Appl. No. 14/358,967, Notice of Allowance dated Aug. 18, 2017”, 7 pgs. |
“U.S. Appl. No. 14/358,967, Preliminary Amendment dated May 16, 2014”, 3 pgs. |
“U.S. Appl. No. 14/358,967, Response filed May 1, 2017 to First Action Interview—Office Action dated Mar. 2, 2017”, 9 pgs. |
“Chinese Application Serial No. 201180076359.1, Amendment filed Jul. 8, 2014”, w/English Translation, 59 pgs. |
“Chinese Application Serial No. 201180076359.1, Office Action dated Nov. 14, 2016”, w/English Translation, 17 pgs. |
“International Application Serial No. PCT/CN2011/002118, International Preliminary Report on Patentability dated Jul. 26, 2014”, 6 pgs. |
“International Application Serial No. PCT/CN2011/002118, Search Report dated Sep. 27, 2012”, 3 pgs. |
“International Application Serial No. PCT/CN2011/002118, Written Opinion dated Sep. 27, 2012”, 4 pgs. |
Number | Date | Country | |
---|---|---|---|
20180071633 A1 | Mar 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14358967 | US | |
Child | 15818459 | US |