Here you guys go,
https://pastebin.com/GAuuPhE8you can check that the simulator is accurately using stake's original bj formula, as it will print out the card order for test1/test1 nonce 1- or anything else you switch in near the bottom there, it can be your own seed pair, so long as it's unhashed of course.
One thing I had to do was count naturals as 1.5 wins, not just 1. This brings the winrate much closer to what is expected, because you're getting back 1.5 units when you win, not just 1. I think this was discussed earlier in the thread.
Without doubling, and when using an imprecise/poor strategy, the house edge is very high. Before I implemented doubling properly to this, it was hard to get less than 5% edge.
It is also worth noting that on Stake, when you have a draw/push, it doesn't count as a loss or a win. So the playthrough goes up in the stats, but it doesn't say there was a game at all.
Here is the strategy I used:
Always hit 11 or below
12: Hit vs 2,3,7+ | Stand vs 4,5,6
13-16: Hit vs 7+ | Stand vs 2-6
17+: Always stand
Soft Totals:
A,2 through A,6: Always hit
A,7 (soft 18): Hit vs 9,10,A | Stand vs 2-8
A,8+ (soft 19+): Always stand
Pairs:
Always split Aces and 8s
Never split 5s or 10s
Split 2s,3s,7s vs 2-7
Split 4s vs 5,6
Split 6s vs 2-6
Split 9s vs 2-6,8,9
Doubling:
Double 11 vs anything
Double 10 vs 2-9
Double 9 vs 3-6
Double soft 13-18 vs 5,6
Insurance:
Never take insurance
Here is a random result of 100,000 games:
Simulation Results (100,000 games):
Server Seed: eb4ecccbd4e5b26ad5b2073e7f80c48ae890717838e36216ecc0af9806ec1a8d
Client Seed: 5f3f15412deb
Win Units: 50,764.5 (47.22%)
Losses: 48,081 (44.73%)
Pushes: 8,658 (8.05%)
House Edge: 0.89%
Average Return: -0.0089
Variance: 0.9678
Time: 11.68s
==================================================
You can adjust how many games are run in the code, it by default does 100k- you can do any number you like, even their supposed 10 million. It might just take a minute though
How to use: I do not suggest running random code without checking it first. But, this is entirely open source, so check it before running it. You need python.
`py originalblackjack.py` in any cli. You could also run this from an online python environment, but if it's a free one, it may have issues simulating too many games. I'm sure you can figure it out if you care this much.
Takeaways: it's hard to approach the house edge without a lot of games, and playing perfect strategy, including all proper doubles with no fear or balance worries. The edge is quite low in that case. When naturals only count as 1 win, it can feel low, even though it's not. There is a reason mass-playing perfect strategy og blackjack on a bot was one of the best ways to farm wager, if you had those tools.
This simulator follows stake's implementation 1:1; there are no liberties taken here.
Thanks for reading