Rock – Paper-Scissors-Lizard-Spock as invented by Dr.Sheldon Cooper
Having the first experiences in making small apps & games in Steemit, I was really wondering if I could make a game working in EOS with EosJS.
The money I have paid to Udemy for the React courses should not be for nothing after all…
The main problem on making apps with EOS is you have a very limited supply, they don’t come from air.
That is why, nowadays most of the applications in EOS is depending on using other peoples money which leads the dev’s to make gambling games.
If this is the case, I also should be able to make one!
I believe I will never put it live more than a beta version since :
- – You need a lot of CPU to pay the players without problem.
- – Your cash must be really high since players can increase the bet. Putting a max limit on the bet would be a solution but who wants to play a game with max bet 1 EOS?
No problem, making is enough motivation!
I started with deciding to make a RPSLS (rock – paper – scissors-lizard-spock) game as the rules are defined by Dr.Sheldon Cooper in the Big-Bang Theory.
For anyone unfamiliar, the game is the extended version of Rock- Paper – Scissors game with rules below :
The outline as I have defined:
Make the UI – Client Side :
- User log-in with Scatter
- User can select tokens, EOS or TRYBE
- User token balances should be seen
- User selects from Rock-Paper-Scissors-Lizard or Spock
- Upon selection, Scatter pop-up openes and sends the bet
- User is informed on the win, lose or tie-game status.
With react, you can make really cool UI, mine looks as below:
A little animation on the selected choice, coin selection and status.
- The player should be able to send the bets and the best practice is using scatter for that.
Server is in NodeJS.
Clients transfers the transaction number to server with socket.io
Server checks the transaction and validates it.
Upon validation, server randomly creates a reply and defines the win-loss-tie condition
Server sends the necessary TRYBE or EOS to player upon win or TIE condition with a reply to client.
I have managed to make a playable game working on TRYBE and EOS.
Soon, I am planning to put the game ( after some make-up on the UI ) to a server and open a beta version.
For beta version, I will limit the max bet and put an information on AI CPU level and stop taking bets if the AI CPU is at a position that it can not pay back.
Thank you for reading and commenting for any development idea.