The two methods of house edge manifestation
A casino's bankroll is a make-or-break value: too high and nobody will play, too low and it'll get decimated by players. Once a casino has determined its edge, there are two ways it can implement it into the game itself. Let's explore what they are and how they work.
The first method of manifesting a house edge is in payout reduction. The game itself, in this case, won't have a skew on odds. The skew will only be on the payout given to players, which will be reduced by the house edge percentage. This can be understood with a simple coinflip game, the way flashflip does it.
On flashflip, the odds of getting a heads or tails on flashflip is a preset 50/50 chance. Over the long run, 50% of all games will be heads, and 50% of all games will be tails. On a coinflip game with user choice, the house edge cannot be embedded in the actual odds, because the user would simply pick the side which benefits them. For example, if the odds of heads were 50.5% and tails 49.5%, users would just go heads every time and deplete the bankroll. Since the odds of getting the right choice are 50%, the house edge must be embedded in the amount paid out to the player on a win. In a zero edge game (no house advantage), if you bet $1 and win on a 50% chance, you will receive $2. Since the game has a 1% edge, your payout is reduced by 1% (in this case, 1% of $2 is $0.02) and you will receive $1.98. Keeping this in mind, we can understand how the return on win for a given coinflip game is 1.98x of your bet (that is, if the house edge is manifested via payout reduction).
This method of edge implementation is not necessarily clean (if you like round numbers), but it is easy to implement. Moreover, it gives users freedom of choice to pick the outcome they desire. Although this doesn't actually change the odds of winning or losing, it can certainly feel that way to some players. Instead of being locked into one house-based choice and one player-based choice, a gambler can pick any, and they feel like they can theoretically win every single game if they just pick the right choice.
The second method of manifesting a house edge is in odds reduction. Payouts are not reduced, but rather, the chances of making money are. The most well-known example of an odds reduction-based house edge is bustabit, or crash games in general.
In a game without a house edge, the odds of hitting a "2x" (where you get two times your bet back if you win) would be 50%. On crash games, however, the odds of this are 49.5% (if we're talking about a 1% house edge). As you can see, the house edge is baked into the game odds rather than the payouts. This is a cleaner method because players can aim for the exact balance they need (if a player wants to win $1, they would just bet $1 on 2x, and receive $1 profit if they win as opposed to $0.98 with payout reduction-based house edge games). Of course, such a method isn't exactly the easiest to create. It's certainly not as easy as reducing the payout amount by X%, and involves a little bit of involved mathematics. Let's delve into this for a moment, looking at flashflip's crash game as an example. i = random.random()
i = 0.99/(1-i)
i = max(i,1.0)
i = math.floor(i*100)/100
This is how crash rolls are generated. First, a random decimal is chosen between 0 and 1. It is then converted into a crash point using the formula 0.99/(1-randomNumber). If the random decimal generated is 0.5, the crash point result would be 1.98x. It's a beautiful little chunk of math, and it has the house edge baked in thanks to the 0.99 instead of 1. There is one problem, though: in case the random number is 0, the crash point generated would be 0.99x, which isn't supposed to be possible. This is why in the next step, we take the bigger value between a 1x and the generated crash point. If the crash points happens to be between 0.99x and 1x, it is replaced with a 1x. After that, the last line pushes the crash point down to two decimal places: and voila! You are now able to generate crash points with a 1% house edge. This is an elegant solution which players truly love, thanks to the cleanness. However, since the house edge is baked into the game, you can't allow players to choose an outcome. There must be "house games", where no matter what they player bets or does, they will lose (in this case, the "1x bust"). This also makes it harder to verify the actual house edge. In the first situation of the payout reduction-based house edge, you can easily check the edge by seeing how much you get back on a win (since you can pick the outcome, which means the house wouldn't generate a skewed chain). To verify games with baked in house edges, you need to track the game's median value, or run the game's verifier script locally to ensure that the house edge matches with what has been advertised.
Both methods of house edge manifestation have their merits: the former being easier to implement and verify, the latter being cleaner and more elegant. Does it really matter that much which ones casinos use? Not really: but it does matter that users know how to verify the house edge, and that they do it frequently. If you'd like to experience both house edge manifestation methods in action, try out flashflip coinflip or dice (which uses the first method) and try out flashflip instant crash (which uses the second).