🎰Ruglette (Russian Roulette)
Ruglette is a unique game mode inspired by Russian Roulette, but designed as the inverse of a traditional raffle. Instead of selecting a set number of winners, players choose how many losers will be in the game. The entry fees from the losing players are distributed among the winners, making Ruglette a low-risk, low-reward game mode.

How Ruglette Works
Game Creation & Auto-Enrollment
When you create a Ruglette game, you are automatically entered as Player 1.
Unlike raffles, there is no revenue share for the game creator—all winnings go directly to the players.
Winner & Loser Determination
Instead of selecting winners, the game randomly determines a set number of losers based on the parameters defined at creation.
The entry fees of the losing players are evenly distributed among the remaining winners.
Handling Underfilled Games
If a game does not receive enough participants (e.g., a 10-loser game only has 9 total entries), the system will attempt to adjust the game dynamically to ensure it can proceed.
If the game cannot be fairly adjusted, all participants will be refunded automatically.
Why Play Ruglette?
A Unique, Reverse-Raffle Experience – Players take a different approach to risk, aiming to avoid elimination rather than winning directly.
Low-Risk, Low-Reward Gameplay – Unlike high-stakes raffles, Ruglette offers a more measured approach where losses and winnings are distributed among participants.
Decentralized & Fair Mechanics – The smart contract ensures that game adjustments, payouts, and refunds happen transparently and without manual intervention.
Ruglette provides a fun and strategic alternative to traditional raffle-based mechanics while maintaining fairness, automation, and accessibility for all players.
Small lobby adjustment calculation
If this returns `0`, then the game will automatically refund.
function resolveDynamicaly(uint256 entries, uint256 losers, uint256 max) internal pure returns(uint256) {
if(entries == 0 || losers == 0 || max == 0) { return 0; }
return(entries * losers) / max;
}
Last updated