Game Mechanics
Last updated
Last updated
A game of Russian Roulette can be started by any user that has onboarded through the instructions.
A user can start a game of Russian Roulette with the following command /rr 6 10000
. This command means that a game of Russian Roulette is being proposed, with 6 chambers and a minimum bet of 10,000 RNG tokens.
Once a game is proposed, users have 20 seconds to /join
the game. If no one /join
s the game in time, the game will expire.
If a game expires without a 2nd user joining, the game proposer will have the option to play against our RNG Gaming AI Agent.
If users choose to /join
the proposed game, their minimum bet will be 10,000 RNG tokens.
If the game becomes full before the joining timer expires, or if the joining timer expires and there are 2 or more users in the game, a game of Russian Roulette will begin.
Once the joining phase is over, players enter the /bet
ting phase. A user can increase their minimum bet by issuing a /bet 100000
command. This command would increase the users bet from 10,000 RNG to 100,000 RNG. A user can only bet more than the minimum, up to a max bet of 1,000,000 RNG.
The betting phase lasts for 15 seconds. A player in the game can never bet less than the minimum or more than the maximum. If a player wishes to not increase their bet, no action is needed.
Once the betting phase is over, the game begins. RNG Gaming published a new_game
transaction to Solana with details regarding the players, their bets, telegram id, game number, hashed bullet index (where the bullet actually is in the gun) and bump.
Once this transaction data is saved on-chain, RNG Gaming Bots send the players bets to RNG Escrow. RNG Escrow is where the players RNG tokens are stored during an active game.
During the game, users /pull
the trigger at least once, then /pass
the gun to the next player, until someone blows their brains out. Users can /pull
the trigger as many times as they wish.
When a user receives the gun, a 30 second auto pull timer begins. If a user for any reasons refuses to /pull
the trigger after 30 seconds, RNG Gaming will /pull
the trigger for the user. RNG Gaming will /pull
the trigger every subsequent 5 seconds until the users either get their head blown off, /pass
's the gun or /pull
s their own trigger.
Upon game end, RNG Gaming publish an end_game
transaction containing the following information; telegram id, beta, salt, public key, proof, alpha, seed hash, loser index, game number, and bump. The cryptographic data is stored on-chain & validates the provably fair principals of the game.
After the end_game transaction, RNG Gaming distribute the losers bet to the survivors proportionally. RNG Gaming is entitled to 5% of the losers bet. Of this 5%, 65% goes to the Treasury, 25% is burned forever, and 10% goes to the dev account.
For example, assuming the following game /roulette 3 10000
. Assume 3 players joined, each only betting the minimum 10,000 RNG tokens. Each player in this scenario has a 67% chance of winning. The payouts would look like this:
The losers bet is 10,000 RNG.
The remaining 2 survivors each earn 4,750 RNG.
RNG Gaming earns 500 RNG. Of this 500 RNG, 125 RNG are burned forever, 325 RNG are sent to the treasury, and 50 RNG is sent to a Dev Account. In other words
3.25% of the loser's bet (65% of the 5%) goes to the Treasury
1.25% of the loser's bet (25% of the 5%) is burned forever
0.5% of the loser's bet (10% of the 5%) goes to the dev