Cypherpoker is p2p poker development environment software that provides an architecture for developing p2p poker “site” solutions. The architecture functions like an inverse commons-the more it is used the more valuable it becomes to the collective of individual projects that use. This article provides a brief intro to the concept of Cypherpoker comparing the original base version with changes that are designed to suit the regular online poker player who might be already used to the way legacy controls work.
Server-less Poker
The below is a crude diagram that loosely describes the way an inverse commons for p2p poker might work:
We can think what is below the “invite only” line as the ethereum network (or any crypto-coin capable of smart/escrow contracts) which secures the escrow system needed for securing the game play (described in other articles). Above the invite only line we have the possibility of many emerging poker site projects AND legacy projects such as Poker Stars/Full Tilt etc. that might choose move towards a server-less based model because of the increased efficiency and reduced cost.
Cypherpoker Betting Controls
The base controls for Cypher poker look like this:
They are evolving to be optimal for play on touch screen style devices. The “Increase Bet” and “Decrease Bet” send the number in the increase-stepper (+/- bar below the Increase/Decrease Bet buttons) to the “Bet” box on the left.
This allows players using touch screen (ie no keyboard) to quickly increase or decrease their bets efficiently using just touch. When the player wants to finally commit their bet they click on “Place Bet” and the cumulated amount from the Bet box is finalized and action is passed to the next player.
This system might work well for devices however it isn’t necessary for PC based players which much of the (legacy) online poker industry is made up of.
Modifying Cypherpoker For Legacy Style PC Play
In the video below I give my example of a modified version of Cypherpoker which now includes the standard “fold”, “raise”, “bet buttons”, as well as a few hot bet buttons (above the previous mentioned buttons). I also added the “fold to any bet” and “check call any” check boxes. Furthermore at the bar item at the top of the screen we can now see who the action is on and who is the dealer.
We can check out the testing in the video below:
The “Bet” box used still used however it doesn’t take live updates from the player’s bet size changes. Instead, the player commits their bet using any of the betting related buttons and the corresponding amount is sent to the “Bet” box all at once (rather than in steps like the base version). Ultimately the “Bet” box would be hidden here.
All of the functions seem to be working properly with the exception of the “check call any box” (tested near the end) which is (mistakenly) enabling the controls when it is not the corresponding player’s turn. Fixing this would require an addition to the checkbox change event code such as:
If players turn == true
enable controls
Else
do nothing
There is also a “bug” in the betting order that I will need to defer to Patrick the original creator of Cypherpoker. As of now the betting order postflop is backwards. Patrick has spent all his time working on the underlying infrastructure provided by Cypherpoker and it's just now that we are able to start really addressing the gameplay and gameflow aspects.
Continuing the (R)-Evolution
I’ll be continuing my studies of the Cypherpoker code and working towards evolving the player experience. In the meantime Patrick has been working on the web-based Cypherpoker version so their can be a very user friendly demo via a url with little to no installation (this will likely connect to a remote ethereum client or MetaMask if possible).
Up next I will working on the graphics a little, a background table image and perhaps some chips/button animation. With those tweaks, legacy players should feel right at home and will likely have a better initial reaction and appreciation for the demo.
At this point however the demo and software is really a proposal to developers and entrepreneurs that want to implement their own poker site ideas but don’t have the millions of dollars in start up costs needed for hardware, security, regulation fees, and licensing etc to facilitate such an endeavor.
Seems like a really interesting idea. Please keep us posted and GL!!
Yup the project is really starting to get interesting and exciting.