Tried to think of an easy to implement game idea after today's lunch discussion with @palango . So, this is what I got:
Team-based RockPaperScissors Idea:
- 2 teams with unlimited number of participants
- each game finalizes after 1 round
- each team can pick one of rock,paper,scissors
- each team picks the movebased on a majority of votes of the team members
- each team member sends the move& an off-chain payment
We need:
- GameClient, which enables the user to choose a team_idand amove
- GameGuardian Raiden node, which receives the move payments
Round:
- team member proposes a move& sends a payment to theGameGuardian:hash(move || team_id || move_secret)- this will be theadditional_hashof the Raiden balance proof;GameClientwill validate themove,team_id, paid amount
- the round has a known time limit for receiving & finalizing the off-chain transfers; no payments will be accepted after this.
- after round finishes, each person sends the move,team_id&move_secretto theGameGuardian
- GameGuardiancalculates the winning team -> keeps a % of the funds for himself and then distributes the rest of the money to the winning team members.
We can have a constant paid amount for each move or, people can send whatever amount and then if their team wins, they can get a profit proportional to what they staked.
With this, we can test both many-to-one and one-to-many payments with some load on the network. Members don't need to have an open channel with the GameGuardian, they can send the payments through the network.