Poken
A poker game on Token.
Feedback on Token Starter App
- Need an ORM built in (we integrated in Sequelize, feel free to copy code)
- Need a higher level library, rather than low-level calls (see our sample functions in src/bot.js)
- Need a test harness that allows rapid development and testing without hitting Token Server (allows rapid development, and doesn't require Token to be working)
Key components
Centralized
Decentralized 5. Dapp Poker application
Game Play
- User prompted whether to join a game room or create a new game
- Create new game: (Can be public or private, needs a name)
- When joining, can start a game if more than 1 player
- Join and leave notification
Sample gameplay:
Welcome to Poken! Do you want to join an existing game room or create a new one? (Actions: Join, Create)
Create new game: Great, give your game room a name: SOME NAME Join a game: Which game? (Actions: will show listing or let them type in a name)
You are the first person in this game room. Notify your friends that the game is running.
@abc just joined. Actions: Start game, exit room, wait
Choice: Start game You got "Jack of Spades and King of Hearts" Actions: (Match/Check, Raise $set amount, Raise Custom, Fold) @jb matched @asda raised Total pot:
Flop: Cards a/b/c. @jb checked Total pot:
Turn:
River:
Other Ideas
- Alternate token for use specifically with this game (and pre allocations)
- Need to make this fun and addictive (jokes, memes, random points)
Data Model
Game
- name
- state
- bigBlind
- ante
- maximumBuyIn
- game_users (association)
- user
- balance
- playing
- active
- state (sitting_out, playing, folded, all in)
- state timestamp of when they hit each state (to order sidepot)
Hand
- state (ante_and_blinds, preFlop, flop, turn, river)
- pot
- sidePot (0 to many)
- bigblind
- littleblind
- dealer
Action
- user (assocation)
- game (association)
- action
- amount
- number: auto incrementing integer
- time_limit
User
- username
- address