Plinko
For Plinko, the payout multiplier is determined by the trajectory of the falling ball and the risk factor. The path algorithm calculates the direction of the ball for each row on the board. Players can choose from 8 to 16 rows, which will be the number of calculations needed to create a complete path from top to bottom. The result of the row can be either left or right. We use a combination of seeds to calculate the ball path; secret server seed, unique game seed, and customizable client seed. Every day a string of random letters and numbers will be generated to be used as the secret server seed for that day. Each seed is usually used for 24 hours; it is hidden as long as it is used. Instead, we show the SHA256 hash of the seed below. It is important to note that because we generate seed at the beginning of the day, this means that all results are predefined, and we cannot change the results of the round during the day. Therefore, you have an absolute guarantee that the rounds you play are truly random and unaffected by external factors. Since the SHA256 function is deterministic (meaning that it will always output the same result for the same input data), we can cryptographically prove the claim we make above. For battles, we use EOS blockchain to determine the seed of the game. No two players can use the same seed, and the seed must not be the same as the bot's seed in the battle. The battle creator has the option to fill combat spots with bots. These bots will have ascending client seed, for example: bot0001, bot0002, bot0003, etc. After all participants have joined the battle, we choose an unreached EOS unit from the nearest future. As soon as the EOS block becomes available, we use its identifier as the seed of the battle. In addition, the base hash used to determine the path is created in the format: {clientSeed}:{gameSeed}:{currentCursor}:{round}. Round is the number of the current round, starting with 0. For single-player games the round will always be 0. The Cursor is the current iteration of the calculation. Using the SHA256 function, we can only generate 32 bytes of data, which we divide by 4 for true uniqueness. This means that all games with more than 8 lines (32 / 4 = 8) will have to go through at least 2 iterations of computation, as shown in the JavaScript code below:
Last updated