The subject matter described herein relates to an integrations portal for a peer-to-peer game platform that can enable game developers to configure software component modules to enable peer-to-peer wagering.
Developer portals with publishing features can be used for communication with the development community. Such communication includes communicating static content, such as API documentation and terms-of-use, as well as dynamic community-contributed content such as blogs and forums. In addition, developer portals can be used to expose programming interfaces and educate developers about the programming interfaces. The web portal can also allow a developer community to provide feedback, make support and feature requests, and in some instances submit their own content that can be accessed by other developers.
In an aspect, an integrations portal can include memory and one or more data processors forming part of at least one computing system. The integrations portal can be in communication with a developer client and can include an interface to prompt the developer client for and to receive peer-to-peer competition settings and third-party game mechanics. A peer-to-peer wagering platform can include memory and one or more data processors forming part of at least one computing system. The peer-to-peer wagering platform can be in communication with the integrations portal and a plurality of player clients and can be adapted to implement operations. The operations can include receiving data from the integrations portal that includes the peer-to-peer competition settings and the third-party game mechanics. The operations can include receiving data including a request from at least one of the plurality of player clients to participate in a peer-to-peer competition. The operations can include causing to be provided to the plurality of player clients the peer-to-peer competition according to the peer-to-peer competition settings specified by the developer client in which at least one of the plurality of player clients wagers on an outcome of the peer-to-peer competition. At least a part of the wager can form a reward for a winner of the peer-to-peer competition. The operations can include receiving data characterizing a performance of the plurality of player clients in the peer-to-peer competition. The operations can include determining the outcome of the peer-to-peer competition based on the received performance and the third-party game mechanics specified by the developer client. The operations can include transmitting data to initiate distribution of the reward to the winner based on the outcome.
In another aspect, data can be received from an integrations portal. The data can include peer-to-peer competition settings and third-party game mechanics. A peer-to-peer competition can be caused to be provided to a plurality of player clients according to the peer-to-peer competition settings specified by a developer client in which at least one of the plurality of player clients wagers on an outcome of the peer-to-peer competition. At least a part of the wager can form a reward for a winner of the peer-to-peer competition. The outcome of the peer-to-peer competition can be determined based on the received performance and the third-party game mechanics specified by the developer client.
One or more of the following features can be included in any feasible combination. For example, the integrations portal can prompt the developer client for and to receive a game binary executable. The game binary executable can be received from the integrations portal. A fingerprint of the game binary executable can be determined to uniquely identify the game binary executable. A player-game binary executable executing on a player client can be authorized by comparing data characterizing the player-game binary executable with the fingerprint of the game binary executable. The integrations portal can prompt the developer client for and to receive a push notification certificate. Data can be received including the push notification certificate from the integrations portal. Push notifications can be generated and transmitted to the plurality of player clients to present an advertisement on the plurality of player clients.
The peer-to-peer competition settings can enable the wager to include one of a virtual currency wager and a real-money wagering. The third-party game mechanics can include one or more rules describing how to determine the outcome of the peer-to-peer competition. The integrations portal can provide to the developer client one or more software development kits for integrating a peer-wagering module into a third-party single player game for execution on a player client. The peer-wagering module can receive a wager amount from a player associated with the player client. A data warehouse can receive one or more metrics from the peer-to-peer wagering platform characterizing player client and peer-to-peer wagering platform interactions. The integrations portal can provide data characterizing the one or more metrics to the developer client for visualization by the developer client.
Computer program products are also described that comprise non-transitory computer readable media storing instructions, which when executed by at least one data processor of one or more computing systems, causes at least one data processor to perform operations herein. Similarly, computer systems are also described that may include one or more data processors and a memory coupled to the one or more data processors. The memory may temporarily or permanently store instructions that cause at least one processor to perform one or more of the operations described herein. In addition, methods can be implemented by one or more data processors either within a single computing system or distributed among two or more computing systems.
The subject matter described herein can provide many technical advantages. For example, in some implementations integration of software development kits can be streamlined by providing developers with software components customized for their given application. Additionally, developers can manage approval and enabling of third-party games having an integrated peer-wagering module. Furthermore, developers can manage and control configurations and settings for digital skills based gaming competition with peer-to-peer wagering. Developers can review game success, for example, by reviewing daily active users (DAU), player engagement, revenue generation, and the like within a dashboard. Security and cheating mitigation can be achieved through a binary executable fingerprinting scheme as well as enabling management of same.
The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
The current subject matter can enable game developers or game publishers to use a self-service integrations portal to configure software development kit (SDK) software component modules that can enable peer-to-peer wagering within existing single-player games. In some implementations, the integrations portal can allow game developers to download software components, can guide game developers through the process of integrating the software components into their games, can enable game developers to manage their games with respect to a peer-to-peer wagering platform, can provide statistics and other metric information about the game's player population and interactions with the peer-to-peer wagering platform, can enable the game developer to modify competitions set up through the peer-to-peer wagering platform, and can perform other configuration and setup tasks.
In order to enable peer-to-peer wagering, developers of the game that forms each game instance 130i can integrate into the game instance 130i a peer-wagering module 140i. The peer-wagering module 140i can enable the players 110i to wager on the outcome of a given game competition. The peer-wagering module 140i communicates with and works in tandem with a peer-to-peer wagering platform 160. The peer-to-peer wagering platform 160 can maintain account information for each player 110i, including financial information, and can act as a trusted party to hold funds in escrow and/or secure funds to enforce the terms of a wager (e.g., ensures winning players receive the winnings, award, reward, and the like). The peer-to-peer wagering platform 160 can also pass data characterizing advertisements (e.g., advertising logic, invitations, and/or messages) to the third party game server 150. The peer-to-peer wagering platform 160 can also include a player-matching system, and can include multiplayer features such as leaderboards, rewards, and ranking systems.
In order to enable integration of the peer-wagering module 140i into the game instances 130i and management of the games by the developer, the system 100 can include an integrations portal 170 in communication with the peer-to-peer wagering platform 160 and a developer client 180. The integrations portal 170 can include an interface, such as a web-portal, for prompting the game developer operating the developer client 180 for information and for receiving the information. The interface on the integrations portal 170 can enable game developers to manage their games with respect to the peer-to-peer wagering platform 160, manage competitions among the players 110i, and can provide statistics and other metric information about the game's player population (e.g., players 110i) and their interactions with the peer-to-peer wagering platform 160.
For example, developers (e.g., publishers) can sign up for an account on the integrations portal 170 using a web form interface with fields for email address, password, first name, last name, and publisher name. Similarly, developers (e.g., publishers) are able to log in with their email and password through a web form interface. Developers can be able to add additional users with discrete login and passwords to their publisher accounts, permitting multiple individuals to access a given game's account with individual credentials.
Using registered games 220, the integrations portal 170 can guide publishers through a process in a “wizard”-like interface with a number of consecutive and defined steps.
Fingerprinting can accomplished by inserting a unique ID into the game binary at build time that is readable by both the running application and by the integrations portal 170 (upon uploading). This fingerprint can uniquely identify individual builds (or “binaries”) of games. A modification of the game binary (e.g., a new version) from the game developer will cause a change in fingerprint, as will unauthorized modifications (e.g., hacks). This allows the prevention of unauthorized game binaries from performing operations on the peer-to-peer wagering platform 160. It also allows for the prevention of players 110i being matched up and playing across incongruent versions of the game with different rules. This also allows individual game builds to be tracked, which can be useful in tracking down software defects and disabling specific buggy versions (for example, disabling a certain version of game software that is able to be exploited to gain unfair advantage). Fingerprinting can also allow for adding support for new game modes in specific versions of the game only, thereby facilitating the ability for the game publisher to introduce a new ‘level’ or style of gameplay that only users of a new version can play, without freezing out users of the old version.
In some implementations, the peer-to-peer wagering platform 160 can serve the uploaded executable binaries to players 110i (e.g., end-users) through an application store.
The integrations portal 170 and/or the peer-to-peer wagering platform 160 can transmit the game executable binaries to an application store 1020 for distribution to players 110i. The integrations portal 170 can transmit to the application store 1020 game details or meta data (for example, information prompted for by the example basic game information interface 400) for promotional or other use by the application store 1020. Additionally, the peer-to-peer wagering platform 160 can operate in tandem with the peer-wagering modules 140i to enable wagering on electronic games of skill including authorizing game instances 130i by comparing the game instance 130i to the binary executable fingerprint.
The peer-to-peer wagering platform 160 can receive, at 1720, a request from at least one of the player clients 120i to participate in a peer-to-peer competition. The player clients 120i can include game instances 130i having integrated peer-wagering modules 140i.
The peer-to-peer wagering platform 160 can cause to be provided to the player clients 120i, at 1730, the peer-to-peer competition according to the peer-to-peer competition settings specified by the developer client 180. At least one of the player clients 120i can wager on an outcome of the peer-to-peer competition and in some implementations, at least a part of the wager forms a reward for the winner of the peer-to-peer competition.
The gaming competition can proceed under normal game operation and once the game competition completes, at 1740, the peer-to-peer wagering platform 160 can receive a characterization of the performance of the players 110i operating the player clients 120i. For example, the numerical score of each player client 120i can be received.
The peer-to-peer wagering platform 160 can determine, at 1750, the outcome of the peer-to-peer competition based on the received performance and the game mechanics. For example, if the received performance characterizes each participating player's score and the third-party game mechanics require the lowest score to win (e.g., such as in golf), the outcome can be determined to be the lowest score.
The peer-to-peer wagering platform 160 can transmit, at 1760, data to initiate distribution of the reward to the winner based on the outcome. For example, funds can be distributed to accounts associated with the winner.
Various implementations of the subject matter described herein may be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
To provide for interaction with a user, the subject matter described herein may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user may provide input to the computer. Other kinds of devices may be used to provide for interaction with a user as well; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The subject matter described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Although a few variations have been described in detail above, other modifications are possible. For example, the implementations described above can be directed to various combinations and subcombinations of the disclosed features and/or combinations and subcombinations of several further features disclosed above. In addition, the logic flows depicted in the accompanying figures and described herein do not require the particular order shown, or sequential order, to achieve desirable results. Other embodiments may be within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
6443841 | Rossides | Sep 2002 | B1 |
6856986 | Rossides | Feb 2005 | B1 |
8088000 | Ginsberg et al. | Jan 2012 | B2 |
8210926 | Asher et al. | Jul 2012 | B2 |
8313368 | Filipour et al. | Nov 2012 | B2 |
8360873 | Wickett et al. | Jan 2013 | B1 |
8414387 | Paradise et al. | Apr 2013 | B1 |
8512129 | Ginsberg et al. | Aug 2013 | B2 |
8545330 | Wickett et al. | Oct 2013 | B2 |
8562422 | Lutnick | Oct 2013 | B2 |
8568222 | Gagner et al. | Oct 2013 | B2 |
8613662 | Morrow et al. | Dec 2013 | B2 |
8641511 | Ginsberg et al. | Feb 2014 | B2 |
8651948 | Asher et al. | Feb 2014 | B2 |
8683272 | Cadima et al. | Mar 2014 | B2 |
8715077 | Paradise et al. | May 2014 | B2 |
8900054 | Patel | Dec 2014 | B2 |
20010031663 | Johnson | Oct 2001 | A1 |
20020037767 | Ebin | Mar 2002 | A1 |
20020073021 | Ginsberg et al. | Jun 2002 | A1 |
20060080175 | Rowe et al. | Apr 2006 | A1 |
20060189382 | Muir et al. | Aug 2006 | A1 |
20070265092 | Betteridge | Nov 2007 | A1 |
20080033734 | Carry | Feb 2008 | A1 |
20080153588 | Muir et al. | Jun 2008 | A1 |
20080200242 | Ginsberg et al. | Aug 2008 | A1 |
20080201159 | Gabrick et al. | Aug 2008 | A1 |
20080234047 | Nguyen | Sep 2008 | A1 |
20090197665 | Christensen | Aug 2009 | A1 |
20100216536 | Gagner et al. | Aug 2010 | A1 |
20100234101 | Morrow et al. | Sep 2010 | A1 |
20100241699 | Muthukumarasamy et al. | Sep 2010 | A1 |
20110010386 | Zeinfeld | Jan 2011 | A1 |
20110254223 | Valentine | Oct 2011 | A1 |
20120100918 | Ginsberg et al. | Apr 2012 | A1 |
20120156668 | Zelin | Jun 2012 | A1 |
20120281080 | Wang | Nov 2012 | A1 |
20130029760 | Wickett et al. | Jan 2013 | A1 |
20130079072 | Filipour et al. | Mar 2013 | A1 |
20130121614 | Intwala | May 2013 | A1 |
20130273987 | Laycock et al. | Oct 2013 | A1 |
20130331177 | Arnone et al. | Dec 2013 | A1 |
20140024427 | Cole et al. | Jan 2014 | A1 |
20140024437 | Vann et al. | Jan 2014 | A1 |
20140031132 | Wickett et al. | Jan 2014 | A1 |
20140045589 | Paradise et al. | Feb 2014 | A1 |
20140094267 | Davis et al. | Apr 2014 | A1 |
20140100023 | Arnone et al. | Apr 2014 | A1 |
20140128147 | Yu Cheng et al. | May 2014 | A1 |
20140194188 | Kosta et al. | Jul 2014 | A1 |
20140200062 | Paradise et al. | Jul 2014 | A1 |