A fair bet requires fair random numbers. As CryptoMania strives to set the bar in what concerns decentralized slot machines’ security, fairness, and user experience, we chose to use the Mersenne Twister algorithm for our Random Number Generation (RNG) method.
The Mersenne Twister algorithm is the only pseudo-RNG method approved by the international casino industry, and as far as we know, we are the only DApp to have implemented it. Hence, CryptoMania games are not only provably fair, but also meet the highest standards employed in the international casino industry.
For every wager you make you will receive a ‘maniaresult’ blockchain receipt which contains the information needed to verify the game’s fairness.
rand - An hexadecimal (Hex) random number, generated by the game.
fair_hash - SHA hash of rand value, submitted by the game before a player spins the reels.
player_rand - Six comma separated random numbers, submitted by a player upon spinning the reels.
The six random numbers generated by the game can be extracted from the rand value. First, we need to find the 4 digits Hex numbers - First number starts from 0 position, second from 8th, third from 16th, and so on.
Then, we need to convert the Hex value to their decimal form:
0013 hex = 19
0013 hex = 19
0000 hex = 0
0006 hex = 6
0007 hex = 7
004d hex = 77
Game RN (rand): 19, 19, 0, 6, 7, 77
Player RN (player_rand): 5,62,34,29,99,15
Each slot game and each individual reel has a fixed number of possible positions. For simplicity, we will name this number the ‘Max Reel Position’. In our first slot machine we have five reels with the following ‘Max Reel Position’ (fixed numbers):
Reel 1: 132
Reel 2: 365
Reel 3: 298
Reel 4: 365
Reel 5: 123
To calculate the final result which will determine the reels’ positions, we will use the following function:Reel position = (‘Player RN’ + ‘Game RN’) mod ‘Max Reel Position’
|Player RN||Game RN||Max Reel Position||Wining RN Result|
|Reel 1 (0-132)||5||9||132||24|
|Reel 2 (0-365)||62||19||365||81|
|Reel 3 (0-298)||34||0||298||34|
|Reel 4 (0-365)||29||6||365||35|
|Reel 5 (0-123)||99||7||123||106|
|Mega Bonus Draw||15||77||199||92|
For example, “24 mod 133 = 24” which means 24 is the remainder when you divide 24 by 133. Likewise, 133 mod 24 = 13, 13 is the remainder when you divide 133 by 24.
Now it is time to see how the RN results translates to the slot’s reels position. The first 5 RN result numbers (24, 81, 34, 35, 106) will be applied to the slot game, while the last number (92) will be used to determine the results for the Mega Bonus events (every 10 EOS accumulated wager).
The RN result numbers are effectively the index numbers the slot reels will land on. Each index number is represented by a predetermined slot symbol, when the reels stop spinning, the uppermost symbol showing on each reel is the one corresponding to the index number, followed by the two following index number symbols.Example:
Here are the five first index positions for the first CryptoMania slot game:
|Index Position||Reel 1||Reel 2||Reel 3||Reel 4||Reel 5|
If RN Result for ‘reel 1’ = 0
Then, reel 1 will return symbols #0-1-2:
If RN Result for ‘reel 3’ = 298
Then, reel 3 will return symbols #298-0-1:
WatermelonDownload index position spreadsheet for CryptoMania's 1st slot machine >>
The Mega Bonus mechanism works in a similar way to how blockchain Dice games work. Depending on your bet amount and the corresponding ‘winning chance %’, the 6th random number result has to fall within the winning RN range in order to win the Mega Bonus:
|Bet Amount||Winning Chance %||Winning 'RN Result'|
VIP status entitles to an immediate cashback of up to 0.4% on all wagers. The VIP status is calculated and granted/withdrawn on a weekly basis:
|VIP level||Weekly wager volume||Cashback|