U.S. Pat. No. 9,299,064
SCOREBOARDS FOR ELECTRONIC GAMES
AssigneeAmazon Technologies Inc
Issue DateSeptember 24, 2012
Illustrative Figure
Abstract
Game scores are obtained and associated with tiers based at least in part on game scores. Also, social networking contacts who are also players of the game are identified. A scoreboard is generated that shows the tiers, rankings of a respective one of the players, and the social networking contacts who were identified.
Description
DETAILED DESCRIPTION The present application is directed towards generating scoreboards that display scores for electronic games. A non-limiting example follows with reference toFIG. 1.FIG. 1shows an example of a gaming environment100in which multiple players103interact with and compete in an electronic game106. In the present example, one of the players103, Mary, plays the electronic game106against several other players103, including some of her friends with whom she is connected through a social networking site. Mary's top score in the electronic game106is about average with respect to the other tens of thousands of players103who play this particularly popular game. As such, scrolling through scoreboard that shows a sorted list of the tens of thousands of top scores for all of the players103may be impractical and may not give Mary a clear sense of her relative performance in the electronic game106. In accordance with the present disclosure, a scoreboard109may be generated that displays Mary's percentile ranking, the percentile rankings of her social networking friends, and the percentile rankings of other players103at key levels that may be of interest to Mary. Thus, Mary may get a sense of her relative performance with respect to her social networking friends and other key players103in the electronic game106. In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same. With reference toFIG. 2, shown is a networked environment200according to various embodiments of the present disclosure. The networked environment200may include one or more computing devices203, one or more client devices206, one or more social networking devices209, and possibly other devices in data communication through a network213. The network213includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, other suitable networks, or any combination thereof. The computing ...
DETAILED DESCRIPTION
The present application is directed towards generating scoreboards that display scores for electronic games. A non-limiting example follows with reference toFIG. 1.FIG. 1shows an example of a gaming environment100in which multiple players103interact with and compete in an electronic game106. In the present example, one of the players103, Mary, plays the electronic game106against several other players103, including some of her friends with whom she is connected through a social networking site. Mary's top score in the electronic game106is about average with respect to the other tens of thousands of players103who play this particularly popular game. As such, scrolling through scoreboard that shows a sorted list of the tens of thousands of top scores for all of the players103may be impractical and may not give Mary a clear sense of her relative performance in the electronic game106.
In accordance with the present disclosure, a scoreboard109may be generated that displays Mary's percentile ranking, the percentile rankings of her social networking friends, and the percentile rankings of other players103at key levels that may be of interest to Mary. Thus, Mary may get a sense of her relative performance with respect to her social networking friends and other key players103in the electronic game106.
In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same.
With reference toFIG. 2, shown is a networked environment200according to various embodiments of the present disclosure. The networked environment200may include one or more computing devices203, one or more client devices206, one or more social networking devices209, and possibly other devices in data communication through a network213. The network213includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, other suitable networks, or any combination thereof.
The computing device203may comprise, for example, a server computer or any other system providing computing capability. Alternatively, multiple computing devices203may be employed that are arranged, for example, in one or more server banks, computer banks, or other arrangements. For example, multiple computing devices203together may comprise a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement. Such computing devices203may be located in a single installation or may be distributed among many different geographical locations. For purposes of convenience, the computing device203is referred to herein in the singular. Even though the computing device is referred to in the singular, it is understood that multiple computing devices203may be employed in the various arrangements as described above.
Various applications and/or other functionality may be executed in the computing device203according to various embodiments. Also, various data may be stored in a data store216that is accessible to the computing device203. The data store216may be representative of multiple data stores as can be appreciated. The data stored in the data store216, for example, is associated with the operation of the various applications and/or functional entities that will be described later.
The data store216may include information associated with one or more electronic games106and players103of the electronic games106. An electronic game106may be, for example, any type of single-player or multi-player game played on an electronic device, such as a client device206. According to various embodiments, each electronic game106may have multiple versions that may be played on different gaming platforms. As non-limiting examples of gaming platforms, an electronic game106may have different versions that are played on desktop computers, mobile computers, dedicated gaming devices, electronic book readers, and other similar types of devices.
Various data for the electronic games106may be obtained by the computing device203and stored in the data store216. For instance, historical game data226, scoreboard rules229, and possibly other data for the electronic games106may be stored in the data store216. The historical game data226may be data that has been collected over a past period of time. The historical game data226may include, for example, past scoring data or other types of data. As will be discussed in more detail later, the scoreboard rules229may be rules that determine at least some of the content that is to be displayed when showing, for example, points earned in the electronic game106or the relative standings of the players103.
Each player103may be an individual who plays one or more of the electronic games106. In some embodiments, a player103may be multiple individuals who, for example, share a single user account when playing the electronic games106. Various data may be stored in association with each player103. For instance, one or more game scores233, social networking affiliations236, and potentially other information may be associated with each player103. Each game score233may be, for example, a numerical quantity that corresponds to the level of achievement that a player103has attained in an electronic game106. In some embodiments, all of the game scores233for a player103may be stored in the data store216. In other embodiments, only the top game scores233may be saved, with the game score233being replaced in the event that the player103attains a new top game score233.
The social networking affiliations236may represent connections to or relationships with individuals through various online or social networks. For instance, a social networking affiliation236may be formed when a direct link between players103is formed through a social network. Players103who have such a direct link may be regarded as being social networking “friends.” As another non-limiting example, a social networking affiliation236may be formed when two or more players103have direct links to the same user on a social network. Such a relationship may be regarded as being “a friend of a friend.” It is understood that players103may have additional types of social networking affiliations236as well.
Various applications or other functionality may be executed in the computing device203according to various embodiments. For example, the computing device203may execute an electronic gaming service239and potentially other services, applications, processes, systems, engines, or functionality not discussed in detail herein. The electronic gaming service239is executed to provide various online gaming resources for players103or other visitors. For example, the electronic gaming services239may host one or more of the electronic games106that are played through a client device206. Additionally, the electronic gaming services239may provide forums or other type of gaming community environments for the players103. Even further, the electronic gaming service239may be operated in conjunction with an electronic commerce system through which the electronic games106may be sold, rented, leased, etc.
The electronic gaming service239may generate a network site243, such as a web site, to provide a network presence for the electronic gaming service239. The network site243may encode for display one or more network pages246that facilitate the client device206accessing the electronic gaming service239. To this end, the network site243may include a network page server that serves data, such as the network pages246, to the client devices206over a protocol such as hypertext transfer protocol (HTTP), simple object access protocol (SOAP), and/or other protocols. Such a network page server may comprise a commercially available network page server such as, for example, Apache® HTTP Server, Microsoft® Internet Information Services (IIS), and/or other network page servers.
The electronic gaming service239may also execute a scoreboard engine249that generates and encodes for display scoreboards253for the electronic games106. A scoreboard253may be a visual representation of the achievements or placement of players103for an electronic game106. As a non-limiting example, a scoreboard253may display the names or user names of players103, their corresponding game scores233, their standings with respect to other players, and potentially other information. As such, in some embodiments, a scoreboard253may be regarded as being a leaderboard for an electronic game106.
The scoreboard engine249may also determine rankings256for the players103. The rankings256may indicate the relative standings of the players103based at least in part on their game scores233. The rankings256may be expressed, for example, in absolute terms (e.g., “fifth place out of ten places”), as a percentile (e.g., “placed at 50th percent”), or as any other type of representation.
Additionally, the scoreboard engine249may associate players103with tiers259. A tier259may represent, for example, a group of players103that have game scores233or rankings256within a particular range. As a non-limiting example, players103having a ranking256in a percentile that is less than 2% may be grouped in a first tier259, players103having a ranking256in a percentile greater than or equal to 2% and less than 5% may be grouped into a second tier259, players having a ranking256in a percentile greater than or equal to 5% and less than 10% may be grouped into a third tier259, and so forth. In some embodiments, the particular range of the game scores233that are within a tier259may be change based at least in part on, for example, the quantity of the players103that play the electronic game106. Also, in some embodiments, at least a portion of the functionality performed by the scoreboard engine249may be performed by the client device206to reduce computational loads in the computing device203.
The client device206is representative of a plurality of client devices that may be coupled to the network213. The client device206may comprise, for example, a processor-based system such as a computer system. Such a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, a set-top box, a music player, a web pad, a tablet computer system, a game console, an electronic book reader, or any other device with like capability.
The client device206may be configured to execute a client-side application263and possibly other applications. The client-side application263may be executed in the client device206, for example, to access and render network content served up by the computing device203and/or other servers. As such, in some embodiments, the client-side application263may be embodied in the form of a web browser. In other embodiments, the client-side application263may be embodied as a stand-alone application dedicated to, for example, playing an electronic game106and/or rendering scoreboards253. In some embodiments, the client device206may be configured to execute applications beyond the client-side application263such as, for example, email applications, instant message applications, and/or other applications.
The client-side application263may also generate a user interface266that facilitates user interaction with and control of the client device206. The user interface266may include, for example, renderings for the electronic games106, the scoreboards253, the network pages246, and/or other content. The user interface266may be rendered on one or more display devices269for the client device206. The display device269may comprise, for example, one or more light emitting devices, such as cathode ray tubes (CRTs), liquid crystal display (LCD) screens, light emitting diode (LED) screens, gas plasma-based panel displays, LCD projectors, or other devices of like capability.
The social networking device209may comprise, for example, a server computer or any other system providing computing capability. Alternatively, multiple social networking devices209may be employed that are arranged, for example, in one or more server banks, computer banks, or other arrangements. For example, multiple social networking devices209together may comprise a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement. Such social networking devices209may be located in a single installation or may be distributed among many different geographical locations. For purposes of convenience, the social networking device209is referred to herein in the singular. Even though the social networking device209is referred to in the singular, it is understood that multiple social networking devices209may be employed in the various arrangements as described above. According to some embodiments, the social networking device209may be associated with and maintained by the same entity as that controlling the computing device203. In alternative embodiments, the social networking device209may be maintained by a different party.
The social networking device209may provide a social networking platform273to facilitate online interaction between users276. The social networking platform273may, for example, connect users276, such as family, friends, and other user276who share interests. In some embodiments, the social networking platform273may be embodied in the form of, for example, a social networking site and have social networking network pages, such as web pages. For the social networking platform273, each user276may be associated with a profile279, one or more social networking contacts283, and potentially other information. The profile279may include content provided by the user276and/or generated by the social networking device209. As non-limiting examples, such content may be a short biography, one or more pictures, user demographics, and/or other information.
The social networking contacts283may represent other users276who have associations with, connections to, or relationships with the respective user276. For example, the respective user276may select friends, family members, co-workers, or other users276as being social networking contacts283. At least some of the users276may also be players103of one or more electronic games106. Thus, the social networking affiliations236may represent various relationships between users276who are social networking contacts283and who are also players103of one or more the electronic games106.
Next, a general description of the operation of the various components of the networked environment200is provided. To begin, it is assumed that the computing device203, social networking device209, and client device206are populated with their respective data, powered up, and running.
The scoreboard engine249may determine and/or identify the social networking affiliations236for one of the players103. To this end, the computing device203may transmit a request for the social networking device209to provide a list of the social networking contacts283for the user276that corresponds to the player103. In some embodiments, the social networking device209may return a list of only the social networking contacts283that are also players103of one or more of the electronic games106. In alternative embodiments, the social networking device209may return a list of all of the social networking contacts283that are associated with the user276, and the computing device203may parse the list to determine the social networking affiliations236for the player103. This process may be repeated for all of the players103, and the social networking affiliations236may be updated from time to time.
With the social networking affiliations236determined and/or identified, the scoreboard engine249may generate a scoreboard253, for example, upon receiving a command from a user of the computing device203or the client device206. Additionally, the scoreboard engine249may generate the scoreboard253automatically from time to time. For instance, the scoreboard engine249may generate and/or update a scoreboard253hourly, monthly, daily, hourly or at any other time period. The following discussion provides an example, among others, of generating a scoreboard253for one of the electronic games106. A similar process may be performed for additional scoreboards253for the same electronic game106or for scoreboards253of other electronic games106.
First, the scoreboard engine249may obtain the data associated with the players103of the electronic game106, and the rankings256of the players103may then be determined. As previously mentioned, the ranking256for each player103may, for example, represent their placement with respect to the other players103. Accordingly, the ranking256may be expressed in absolute terms with respect to the total number of players103in the electronic game106. The scoreboard engine249may then associate each of the players103with one of the tiers259based at least in part on the game scores233and/or the previously calculated rankings256. As previously mentioned, the tiers259may represent groups of players103that are within a particular percentile range. Thus, as a non-limiting example, players103having a ranking256in a percentile that is less than 2% may be associated with a first tier259, players103having a ranking256in a percentile greater than or equal to 2% and less than 5% may be associated with a second tier259, players having a ranking256in a percentile greater than or equal to 5% and less than 10% may be associated with a third tier259, and so forth.
Next, the scoreboard engine249may select all or a subset of the tiers259to be represented in the scoreboard253. For the embodiments in which a subset of the tiers259is selected, the quantity of the tiers259that are to be included in the scoreboard253may be based at least in part on the scoreboard rules229. For instance, a scoreboard rule229may define that M tiers259are to be shown in the scoreboard253when the quantity of players103for the electronic game106is between N and R, wherein M, N, and R are predetermined numbers. Additionally, the scoreboard rules229may define the particular tiers259that are to be included in the scoreboard253based at least in part on the quantity of players103for the electronic game106. As a non-limiting example, a scoreboard rule229may define that tiers259A, C, F be shown in a scoreboard253when there are N players103, where A, C, and F are particular tiers259, and N is a predetermined number.
Additionally, for each of the tiers259that are to be represented in the scoreboard253, the scoreboard engine249may select one or more of the players103and/or their game scores233to be shown on the scoreboard253in conjunction with the corresponding tier259. By showing one or more of the game scores233in conjunction with the corresponding tier259, viewers of the scoreboard253may get a sense of a game score233that is needed in order to be ranked in that tier259. Additionally, the scoreboard engine249may determine a score differential between the game score233of a respective player103, such as the player103who is viewing the scoreboard253, and one or more game scores233that correspond to each of the tiers259. By showing these score differentials, the respective player103, such as the player103viewing the scoreboard253, may get a sense of the differences between his or her game score233and the game scores233that are shown for the tiers259.
Various criteria may be used to determine the players103and/or game scores that are to be shown on the scoreboard253in conjunction with one or more of the tiers259. For instance, in some embodiments, the scoreboard253may select the respective players103and/or game scores233to be shown based at least in part on their relative game scores233with respect to the other players103associated with the tier259. As non-limiting examples, the highest, lowest, average, or median game scores233in each tier259may be selected and shown in the scoreboard253. Additionally, in the event that a respective player103has a social networking affiliation236in a tier259, the player103who is a social networking affiliation236may be shown in conjunction with the tier259.
Additionally, for the tiers259that are ranked higher than a respective player103, the scoreboard engine249may select the game scores233that are the lowest in those tiers259to be shown in the scoreboard253. In this way, the respective player103may be able to view the lowest game score233that he or she must attain in order to advance to a higher-ranked tier259. Similarly, for the tiers259that are ranked lower than the respective player103, the scoreboard engine249may select the game scores233that are the highest in those tiers259to be shown in the scoreboard253. In this way, the respective player103may be able to view the lowest game score233that a player103in a lower tier259must attain in order to surpass the respective player103.
The scoreboard engine249may also represent the respective player103and his or her corresponding game score233in the scoreboard253. Additionally, social networking affiliations236may be represented in the scoreboard253as well. The scoreboard253may include the game scores233, score differentials between the respective player103and the other players103being social networking affiliations236, and possibly additional content. Additionally, the locations of the representations of these players103may be positioned relative to the representations of the tiers259, so that their relative standings may be readily perceived.
It may be the case that the client device206and the computing device203lose data communication for various reasons. For example, the client device206or the computing device203may not have access to the network213, or the client device206may enter an “offline mode.” As such, caching techniques may be used to facilitate the client206viewing a scoreboard253and uploading game scores233in the event that the client device206and the computing device203are temporarily unable to communicate. For instance, while the client device206is unable to communicate with the computing device203, new game scores233earned in the client device206may be cached. Upon the client device206being able to communicate with the computing device203, the new game scores233may then be transmitted to the computing device203. Additionally, the scoreboards253transmitted by the computing device203may be cached in the client device206so that the scoreboards253are accessible despite the loss of communication between the computing device203and the client device206.
In some embodiments, the scoreboard engine249may also identify players103that have social, online, geographical, or other types of connections with a respective one of the players103and represent the identified players103on the scoreboard253. For instance, the scoreboard253may represent that one or more players103are in a same geographical area as a respective player103, such as the player103that is viewing the scoreboard253. To this end, the players103may submit geographical information, for instance, when registering with the electronic gaming service239. In alternative embodiments, the geographical information may, for instance, be provided by a Global Positioning System (GPS) for the client device206, obtained or deduced by the computing device203through an Internet Protocol (IP) address, or obtained through any other method.
Additionally, the scoreboard engine249may identify connections between players103based at least in part on email address contacts for the players103. To this end, the players103may provide information associated with their electronic mail address book to the electronic gaming services239. For instance, information describing electronic mail contacts for the players103may be provided to the electronic gaming service239. The scoreboard engine249may use this information to determine whether other players103are electronic mail contacts.
In some embodiments, the scoreboard engine249may identify connections between players103based at least in part on a domain component of an electronic mail address. For the example electronic mail address “user@example.com,” the domain component of the electronic mail address may be “example.com.” Because a business, school, or other type of organization may provide electronic mail addresses with the same domain component to its members, the scoreboard engine249may identify connections between players103based at least in part on having the same domain component of an electronic mail address.
The players103identified as having social, online, geographical, or other types of connections may be represented on the scoreboard253. Additionally, the score differentials between a respective player103and these identified players103may be represented on the scoreboard253. Also, the represented players103may be positioned on the scoreboard in relation to the represented tiers259, so that their relative rankings256may be readily perceived.
The scoreboard engine249may also generate one or more additional scoreboards253for which representations of the tiers259are replaced by, for example, a consecutive listing of the players103sorted by their respective game score233and/or ranking259. For such a scoreboard253, one may be able to scroll through the listing of players103and view a representation of each player103and corresponding game score233. Each player103may be positioned adjacent to a player103having the next immediately higher game score233and a player103having the next immediately lower game score233.
It may be the case that some players103submit game scores233to the electronic gaming service239that have not been earned legitimately through playing an electronic game106. These fraudulent game scores233may be much higher than what is possible to obtain by playing the electronic game106. As such, the scoreboard engine249may determine whether game scores233that are obtained from the client device206are within a predetermined range. Such a range may be provided by, for example, a manager associated with the electronic game106, such as a game developer. In other embodiments, the scoreboard engine249may perform statistical analysis of the game scores233for a particular electronic game106and determine the predetermined range based on the results of the statistical analysis.
If a game score233is outside of the predetermined range, the scoreboard engine249may identify that game score233as being fraudulent. To the contrary, if a game score233is within the predetermined range, the scoreboard engine249may determine that the game score233is not fraudulent. The scoreboard engine249may generate multiple scoreboards253, wherein one or more of the scoreboards253are for non-fraudulent game scores233and one or more of the other scoreboards253are for fraudulent game scores233. The players103who submit the fraudulent game scores233may be provided the scoreboard253for the fraudulent game scores233, while the players103who do not submit fraudulent game scores233may be provided the scoreboard253for the non-fraudulent game scores233. Thus, players103who do not submit fraudulent game scores233do not view game scores233that have been deemed fraudulent. The players103who did submit fraudulent game scores233are shown a scoreboard253that includes the fraudulent game scores233. Also, in some embodiments, the scoreboard253that includes the fraudulent game scores233may further include some non-fraudulent game scores233.
Additionally, the scoreboard engine249may determine a cheater metric for each of the players103. Such a cheater metric may be, for example, a value that indicates a level at which it is believed that a player103is a cheater for the electronic gaming service239. In some embodiments, the cheater metric may be based at least in part on a quantity of game scores233that have been deemed fraudulent. Further, the cheater metric may take into account the number of electronic games106for which the player103has submitted a fraudulent game score233. As a non-limiting example, a cheater metric may be determined using the following equation:
R=s*g,
where R is the cheater metric, s is the quantity of fraudulent game scores233submitted by the player103, and g is the quantity of electronic games106for which the player103has submitted a fraudulent game score233.
Using the cheater metrics for the players103, the electronic gaming service239may identify particular players103to audit their activity on the electronic gaming service239. For instance, the electronic gaming service239may select players103that have a cheater metric that exceeds a particular value and monitor their game scores233being submitted. Additionally, the electronic gaming service239may refrain from including the game scores233for these players103in one or more of the scoreboards253.
Moreover, the electronic gaming service239may determine the quantity of fraudulent game scores233for each of the electronic games106. Using these quantities, the electronic gaming service239may identify particular electronic games106that have relatively high numbers of fraudulent game scores233being submitted. The electronic gaming service239may notify developers or other agents of the electronic game106of the potential issues regarding fraudulent game scores233being submitted for their electronic games106. To this end, the electronic gaming service239may transmit an electronic notification to an agent of the electronic game106.
Referring next toFIG. 3A, shown is one example, among others, of a user interface266that may be rendered on the display device269(FIG. 2) of the client device206. The user interface266shown may be generated upon the respective player103TicTacToePro viewing the scoreboard253. The user interface266in the present example includes a rendering of the scoreboard253, a time selection dropdown list300, a geographic selection dropdown list301, a switch scoreboard button303, a gaming platform selection list306, a show connections button309, a find connections button313, and other features not discussed in detail for brevity.
The rendering of the scoreboard253includes rows that represent the tiers259, referred to herein as the tiers259a-259i. In the present example, the tier259arepresents the first percentile of the game scores233, the tier259brepresents the 10th percentile of the game scores233, the tier259crepresents the 25th percentile of the game scores233, and so forth. Represented in conjunction with each of the tiers259a-259iis one of the players103, the game score233for each player103shown, and a score differential319for each player103shown.
In the present example, the players103shown in conjunction with the tiers259a-259d, which represent rankings256(FIG. 2) that are higher than the ranking256of TicTacToePro, are the players103having the lowest game score233in their respective tier259. By showing the lowest ranked player103in the tiers259a-259dthat represent higher rankings256, the player103TicTacToePro may get a sense of the minimum game score233increase she must attain in order to advance to one of these tiers259a-259d. Thus, in the example shown, the player103TicTacToePro must gain at least 25,000 points towards her game score233in order to advance to the tier259dthat represents the 43rdpercentile of the players103.
The players103shown in conjunction with the tiers259f-259i, which represent rankings256that are higher than TicTacToePro, are the players103that have the highest game score233in their respective tier259. By showing the highest ranking player103in the tiers259f-259i, the player103TicTacToePro may get a sense of the minimum game score233increase another player103must gain in order to advance from a lower tier259f-259iand surpass the player103TicTacToePro.
By selecting one of the rows in the time selection dropdown list300, a viewer may select the time period for data, such as the game scores233, that are to be used for the scoreboard253. For instance, in the event that the viewer selects the “All Time” time button300c, all of the game scores233over the lifetime of the electronic game106may be used in determining the rankings256and tiers259. Alternatively, in the event that the viewer selects the “Today” time button300a, game scores233only from the most recent day are used in calculating rankings256and the tiers259. In the event that the viewer selects the “This Week” time button300b, game scores233from the most recent week are used to calculate the rankings256and tiers259for the scoreboard253. Similarly, a user may select one or more geographic regions for which data is shown for the scoreboard253by using the geographic selection dropdown list301.
As previously mentioned, the electronic game106(FIG. 2) may have multiple versions that may be played on different gaming platforms. In the present embodiment of the user interface266, the viewer may select the respective gaming platforms for which the game scores233are used when generating the scoreboard253. Thus, the performance for a player103may be shown with respect to one or more different gaming platforms.
The switch scoreboard button303may facilitate a different style of scoreboard253being shown on the user interface266. In particular, by selecting the switch scoreboard button303, the user interface266and corresponding scoreboard253shown inFIG. 3Cmay be generated, as will be discussed in more detail later.
Additionally, the user interface266may include indicators315to identify players103that are registered through one or more social networking platforms273(FIG. 2). In the present example, a viewer may select the indicator315, and the electronic gaming service239(FIG. 2) may facilitate the viewer and the corresponding player103becoming social networking contacts283(FIG. 2). Thus, the viewer may establish new social networking contacts283using the scoreboard253.
The find connections button313may facilitate a respective player103finding other players103with whom he or she has a pre-existing connection. For instance, by selecting the find connections button313, the respective player103may be prompted to input an electronic mail contacts list, employer name, school affiliation, geographical location, or any other type of information that may facilitate the scoreboard engine249(FIG. 2) identifying other players103for whom there may be a relationship. By selecting the show connections button309, the scoreboard engine249may identify and show social networking affiliations236for a respective player103, as will now be discussed with reference toFIG. 3B.
FIG. 3Bshows an example, among others, of a user interface266that may be rendered, for example, upon the viewer selecting the show connections button309(FIG. 3A). The user interface266shown includes the rendering of the scoreboard253, the time selection dropdown list300, the geographic selection dropdown list31, the switch scoreboard button303, the find connections button313, a connections visibility list316, a hide connections button320, and other features not discussed in detail for brevity.
Similar to as discussed above with respect toFIG. 3A, the rendering of the scoreboard253includes rows that represent the tiers259a-259i, players103, game scores233, and score differentials319. In addition, the scoreboard253now shows additional players103, referred to herein as the players103a-103c, who have been identified as having a social networking affiliation236(FIG. 2) with the respective player103TicTacToePro. In the present example, the players103a-103dare represented by boxes that indicate their rankings256(FIG. 2) with respect to the tiers259. For example, the player103a, who has a percentile ranking of 18%, is represented by a box that leads to a location that is between the tier259b, which represents the 10% ranking256, and the tier259c, which represents the 25% ranking256. Thus, the scoreboard253visually presents that the player103aas being ranked between the tier259band the tier259c. In some alternative embodiments, the additional players103a-103cwho have been identified as having a social networking affiliation236with the respective player103TicTacToePro may be represented in additional rows in the scoreboard253. These rows may be located, for example, so that their placement shows the rankings256of the players103a-103cwith respect to the tiers259.
The connections visibility list316may facilitate a viewer selecting groups of particular social networking affiliations236or other types of connections to be shown in conjunction with the scoreboard253. As a non-limiting example, it may be selected that social networking affiliations236from a respective social networking platform273(FIG. 2) be shown and that players103located in the same geographical location not be shown.
In the event that a viewer selects the switch scoreboard button303, the scoreboard engine249may generate a scoreboard253that presents different content. For instance, as will be discussed with reference toFIG. 3C, a scoreboard253showing a consecutive listing of the players103sorted by their respective ranking256may be generated.
FIG. 3Cshows one example, among others, of a user interface266that may be rendered on the display device269(FIG. 2). The user interface266in the present example includes a rendering of the scoreboard253, the time buttons300a-300c, the switch scoreboard button303, the gaming platform selection list306, the find connections button313, and other features not discussed for brevity.
The scoreboard253includes a consecutive listing of the players103sorted by their respective rankings256. In the scoreboard253shown, each row corresponds to one of the players103. Shown in conjunction with each of the players103is a corresponding ranking256, game score233, and score differential319. A viewer may scroll through the scoreboard253to view the various content presented. The viewer may also select the find connections button313to discover other players103with whom the viewer has a pre-existing connection.
Similar to as previously discussed, a viewer may select one or more of the gaming platforms for which data is to be included in the scoreboard253by using the gaming platform selection list306. Additionally, the viewer may select the time period for the data, such as the game scores233, that are to be used for the scoreboard253by using the time buttons300a-300c. Also, the viewer may select the switch scoreboard button303to cause the scoreboard engine249to, for example, present the scoreboard253shown inFIG. 3AorFIG. 3B.
A viewer may wish to scroll through the listing of the players103while still viewing information corresponding to a respective one of the players103. As such, the user interface266may show the information for the respective one of the players103despite the scrolling location within the listing of the players103. For instance, in the present example, if a viewer were to scroll down the list (e.g., to view lower ranked players103), the information for the player103TicTacToePro may remain visible towards the top portion of the scoreboard253. Similarly, if a viewer were to scroll up the list (e.g., to view higher ranked players103), the information for the player103TicTacToePro may remain visible towards the bottom portion of the scoreboard253. The information for TicTacToePro would be visible despite the scrolling location. Similar functionality may be included for user interfaces266shown inFIGS. 3A-3Bas well.
Referring next toFIG. 4, shown is a flowchart that provides one example of the operation of a portion of the scoreboard engine249according to various embodiments of the present disclosure. In particular,FIG. 4shows an example of the scoreboard engine249generating scoreboards253in accordance with the present disclosure. It is understood that the flowchart ofFIG. 4provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the scoreboard engine249as described herein. As an alternative, the flowchart ofFIG. 4may be viewed as depicting an example of steps of a method implemented in the computing device203(FIG. 2) according to one or more embodiments.
Beginning with box403, the scoreboard engine249obtains the game scores233(FIG. 2) for the players103(FIG. 2) of the electronic game106(FIG. 2). Next, the ranking256(FIG. 2) for each of the players103is determined based on their game scores233, as shown in box406. The scoreboard engine249then moves to box409and associates each player103with one of the tiers259(FIG. 2). The players103may be associated with the tiers259, for example, based at least in part on the rankings256that were calculated in box406.
As shown in box413, the scoreboard engine249then selects one or more of the tiers259that are to be included in the scoreboard253. As previously mentioned, the scoreboard rules229(FIG. 2) may define the quantity and/or the particular tiers259that are to be included with the scoreboard253. For instance, a scoreboard rule229may define that M tiers259are to be shown in the scoreboard253when the quantity of players103for the electronic game106is between N and R, wherein M, N, and R are predetermined numbers.
The scoreboard engine249may then move to box416and obtain the data for the first selected tier259. As shown in box419, a game score233for one of the players103associated with the tier259is selected to be shown in conjunction with the scoreboard253. The scoreboard engine249then moves to box423and calculates the score differential319between the game score233obtained in box419and the game score233for a respective one of the players103. The respective one of the players103may be, for example, the player103for whom the scoreboard253is being generated and who will be viewing the scoreboard253. The scoreboard engine249then includes the score differential319to be shown with the scoreboard253, as shown in box426.
In box429, the scoreboard engine249determines whether there are additional tiers259that were selected in box413. If so, the scoreboard engine moves to box433, the data for the next tier259is obtained, and the process is repeated as shown. Otherwise, the scoreboard engine249moves to box436and identifies one or more players103that have a social networking affiliation with a respective one of the players103. As previously mentioned the respective one of the players103may be, for example, the player103for whom the scoreboard253is being generated and who will be viewing the scoreboard253. The scoreboard engine249may then move to box439and determine the placement on the scoreboard253for the players103that were identified in box436. The scoreboard253may then be encoded for rendering and transmitted to the client device206(FIG. 2) for display on the display device269(FIG. 2), as shown in box443. Thereafter, the process ends.
Referring now toFIG. 5, shown is a flowchart that provides another example of the operation of a portion of the scoreboard engine249according to various embodiments of the present disclosure. In particular,FIG. 5shows an example of the scoreboard engine249detecting fraudulent game scores233(FIG. 2) and generating a scoreboard253(FIG. 2) for fraudulent game scores233and a scoreboard253for non-fraudulent game scores233. It is understood that the flowchart ofFIG. 5provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the scoreboard engine249as described herein. As an alternative, the flowchart ofFIG. 5may be viewed as depicting an example of steps of a method implemented in the computing device203(FIG. 2) according to one or more embodiments.
Beginning with box503, the scoreboard engine249obtains the game score233from the client device206(FIG. 2). Next, the scoreboard engine249determines whether the game score233is within a predetermined range, as shown in box506. The predetermined range may be set, for example, by a manager, such as a developer, of the electronic game106(FIG. 1). If the game score233is determined to be fraudulent, the scoreboard engine249moves to box509and associates the player103(FIG. 1) and the corresponding game score233with the scoreboard253for the fraudulent game scores233. The scoreboard253is then encoded and transmitted to the client device206for rendering on the client device, as shown in box513.
If the game score233is within the predetermined range, the scoreboard engine moves to box516and associates the player103and the corresponding game score233with the scoreboard253for non-fraudulent game scores233. Next, the scoreboard253is encoded and transmitted to the client device206for rendering on the client device206, as shown in box519.
With reference toFIG. 6, shown is a schematic block diagram of the computing device203according to an embodiment, among others, of the present disclosure. The computing device203includes at least one processor circuit, for example, having a processor603and a memory606, both of which are coupled to a local interface609. To this end, the computing device203may comprise, for example, at least one server computer or like device. The local interface609may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.
Stored in the memory606are both data and several components that are executable by the processor603. In particular, stored in the memory606and executable by the processor603is the electronic gaming service239and potentially other applications. Also stored in the memory606may be the data store216and other data. In addition, an operating system513may be stored in the memory606and executable by the processor603.
It is understood that there may be other applications that are stored in the memory606and are executable by the processors603as can be appreciated. Where any component discussed herein is implemented in the form of software, any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java, Javascript, Perl, PHP, Visual Basic, Python, Ruby, Delphi, Flash, or other programming languages.
A number of software components are stored in the memory606and are executable by the processor603. In this respect, the term “executable” means a program file that is in a form that can ultimately be run by the processor603. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory606and run by the processor603, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory606and executed by the processor603, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory606to be executed by the processor603, etc. An executable program may be stored in any portion or component of the memory606including, for example, random access memory (RAM), read-only memory (ROM), a hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
The memory606is defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory606may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
Also, the processor603may represent multiple processors603and the memory606may represent multiple memories606that operate in parallel processing circuits, respectively. In such a case, the local interface609may be an appropriate network213(FIG. 2) that facilitates communication between any two of the multiple processors603, between any processor603and any of the memories606, or between any two of the memories606, etc. The local interface609may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. The processor603may be of electrical or of some other available construction.
Although the electronic gaming service239and other various systems described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
The flowchart ofFIGS. 4-5show the functionality and operation of an implementation of portions of the scoreboard engine249(FIGS. 4-5). If embodied in software, each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor603in a computer system or other system. The machine code may be converted from the source code, etc. If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
Although the flowchart ofFIGS. 4-5show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more blocks shown in succession inFIGS. 4-5may be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the blocks shown inFIGS. 4-5may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
Also, any logic or application described herein, including the electronic gaming service239, that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor603in a computer system or other system. In this sense, the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system. The computer-readable medium can comprise any one of many physical media such as, for example, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
It is emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims
- A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising program instructions, that when executed, cause the computing device to at least: obtain a plurality of game scores for a plurality of players of an electronic game;determine that the plurality of game scores are within a predetermined range that indicates that the plurality of game scores are not fraudulent;determine a plurality of rankings for the plurality of players;associate individual ones of the plurality of players with respective ones of a plurality of tiers based at least in part on the plurality of rankings, wherein individual ones of the plurality of tiers are associated with respective ones of a plurality of percentile ranges of the plurality of rankings;identify at least one of the plurality of players as having a social networking affiliation with another player of the plurality of players, the social networking affiliation comprising at least one of: being a social networking contact for the another player through a social networking platform;sharing a common social networking contact for the another player through the social networking platform;having a same domain component of an electronic mail address as the another player;being an electronic mail contact for the another player;or being in a same geographical area as the another player;and generate a scoreboard for the electronic game, the scoreboard representing at least the plurality of tiers and at least one of the plurality of game scores for individual ones of the plurality of tiers;encode at least a portion of the scoreboard for display on a client device with a representation of at least: a selected subset of the plurality of tiers;at least one of the plurality of game scores for individual ones of the plurality of tiers;a first ranking for the another player;and a second ranking for the at least one of the plurality of players that have the social networking affiliation with the another player, wherein the second ranking is presented relative to the selected subset of the plurality of tiers.
- The computer-readable medium of claim 1 , wherein the scoreboard is for a plurality of versions of the electronic game played on a plurality of different gaming platforms.
- The computer-readable medium of claim 1 , wherein the program instructions are further configured to cause the computing device to at least facilitate adding one of the plurality of players as an additional social networking contact.
- A method, comprising: obtaining, in at least one computing device, a plurality of game scores for a plurality of players of an electronic game;associating, in the at least one computing device, individual ones of the plurality of players with respective ones of a plurality of tiers based at least in part on the plurality of game scores;identifying, in the at least one computing device, at least one of the plurality of players as having a social networking affiliation with another player of the plurality of players, wherein the social networking affiliation comprises at least one of: being a social networking contact for the another player through a social networking platform;sharing a common social networking contact for the another player through the social networking platform;having a same domain component of an electronic mail address as the another player;being an electronic mail contact for the another player;or being in a same geographical area as the another player;generating, in the at least one computing device, a scoreboard representing at least the plurality of tiers and at least one of the plurality of game scores for individual ones of the plurality of tiers;and encoding, in the at least one computing device, for display on a client device, at least a portion of the scoreboard with a representation of at least: a selected subset of the plurality of tiers;a first ranking of the another player, the first ranking being shown relative to the selected subset of the plurality of tiers;and a second ranking for the at least one of the plurality of players having the social networking affiliation with the another player, the second ranking being shown relative to the selected subset of the plurality of tiers.
- The method of claim 4 , further comprising calculating, in the at least one computing device, a score differential between a game score for the another player and at least one of the game scores for at least one of the plurality of tiers in the selected subset, wherein the representation for the scoreboard further represents the score differential.
- The method of claim 4 , wherein a quantity of the plurality of tiers in the selected subset changes based at least in part on a number of the plurality of players for the electronic game.
- A system, comprising: at least one computing device;and a scoreboard system executable in the at least one computing device, wherein the scoreboard system, when executed, causes the at least one computing device to at least: obtain a plurality of game scores for a plurality of players of an electronic game;determine a plurality of rankings for the plurality of players;associate individual ones of the plurality of players with respective ones of a plurality of tiers based at least in part on the plurality of game scores;identify at least one of the plurality of players has having a social networking affiliation with another player of the plurality of players, wherein the social networking affiliation comprises at least one of: being a social networking contact for the another player through a social networking platform;sharing a common social networking contact for the another player through the social networking platform;having a same domain component of an electronic mail address as the another player;being an electronic mail contact for the another player;or being in a same geographical area as the another player;generate a scoreboard for an electronic game, the scoreboard representing at least the plurality of tiers and at least one of the plurality of game scores for individual ones of the plurality of tiers;encode for display on a client device at least a portion of the scoreboard with a representation of at least: a first ranking and a second ranking, the first ranking being for another player of the plurality of players of the electronic game, the second ranking being for a social networking contact of the another player, the first ranking and the second ranking being presented in conjunction with the listing of the plurality of tiers;and a plurality of score differentials between the another player and a subset of the plurality of players, wherein individual ones of the plurality of score differentials are presented in conjunction with respective ones of the plurality of tiers.
- The system of claim 7 , wherein the scoreboard is for a plurality of versions of the electronic game played on a plurality of different gaming platforms.
- The system of claim 8 , wherein the scoreboard system further causes the at least one computing device to at least facilitate a user selecting a subset of the plurality of different gaming platforms for which the scoreboard is generated.
- The system of claim 7 , wherein the scoreboard further represents an additional score differential between the another player and the social networking contact, the additional score differential being presented in conjunction with the social networking contact.
- The system of claim 7 , wherein the scoreboard system is further configured to cause the at least one computing device to generate a second scoreboard for the electronic game, the second scoreboard representing an additional listing of an additional subset of the plurality of players that is sorted based at least in part on a plurality of game scores.
- The system of claim 11 , wherein the scoreboard system is further configured to cause the at least one computing device to determine whether to encode, for rendering on a client device, the second scoreboard based at least in part on a quantity of the plurality of players for the electronic game.
- The system of claim 12 , wherein the second scoreboard is encoded for rendering on the client device upon the quantity of the plurality of players for the electronic game being less than a predetermined threshold.
- The system of claim 7 , wherein the scoreboard system is further configured to cause the at least one computing device to facilitate a user selecting a time period range for the scoreboard.
- The system of claim 7 , wherein the scoreboard system is further configured to cause the at least one computing device to facilitate adding at least one of the plurality of players as an additional social networking contact.
- A system, comprising: at least one computing device;and a scoreboard system executable in the at least one computing device, wherein the scoreboard system, when executed, causes the at least one computing device to at least: obtain a plurality of game scores for a plurality of players of an electronic game;associate individual ones of the plurality of players with respective ones of a plurality of tiers based at least in part on the plurality of game scores;identify at least one of the plurality of players as having a social networking affiliation with another player of the plurality of players, wherein the social networking affiliation comprises at least one of: being a social networking contact for the another player through a social networking platform;sharing a common social networking contact for the another player through the social networking platform;having a same domain component of an electronic mail address as the another player;being an electronic mail contact for the another player;or being in a same geographical area as the another player;generate a scoreboard representing at least the plurality of tiers and at least one of the plurality of game scores for individual ones of the plurality of tiers;and encode for display on a client device at least a portion of the scoreboard with a representation of at least: a selected subset of the plurality of tiers;a first ranking of the another player, the first ranking being shown relative to the selected subset of the plurality of tiers;and a second ranking for the at least one of the plurality of players having the social networking affiliation with the another player, the second ranking being shown relative to the selected subset of the plurality of tiers.
- The system of claim 16 , wherein the scoreboard system further causes the at least one computing device to at least calculate a score differential between a game score for the another player and at least one of the game scores for at least one of the plurality of tiers in the selected subset, wherein the representation for the scoreboard further represents the score differential.
- The system of claim 16 , wherein a quantity of the plurality of tiers in the selected subset changes based at least in part on a number of the plurality of players for the electronic game.
- The system of claim 16 , wherein the scoreboard is for a plurality of versions of the electronic game played on a plurality of different gaming platforms.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.