Saya telah melakukan banyak penelitian pada generator angka acak untuk mesin slot, penghitungan reel stop dan bagaimana secara fisik memberi pengguna peluang bagus untuk menang.
Apa yang saya tidak tahu adalah bagaimana memastikan dengan benar bahwa mesin akan memiliki peringkat pembayaran (katakanlah) 95%.
Jadi, saya punya reel yang diatur dengan 22 ruang di atasnya. Dipenuhi dengan 16 simbol berbeda.
Ketika saya mendapatkan nomor acak saya, mod membaginya dengan 64 dan mendapatkan sisanya, saya melompat ke atas ke atas untuk melihat bagaimana virtual stop terkait dengan posisi reel.
Sekarang setelah saya mengetahui bagaimana gulungan akan berhenti, apakah saya memastikan rasio pembayaran sudah benar? Untuk setiap dolar yang mereka masukkan, bagaimana cara memastikan mesin akan membayar 0,95 sen?
Terima kasih atas idenya.
Saya bekerja dalam naskah tindakan, jika itu membantu dengan masalah bahasa, tetapi secara umum saya hanya mencari teori.
Sunting: Ada uang nyata hanya terlibat dalam kenyataan bahwa mereka dapat membeli lebih banyak token untuk bermain lebih banyak. Tidak akan ada uang nyata yang dibayarkan kepada orang tersebut, jika mereka benar-benar mencapai salah satu paylines.
sumber
Jawaban:
Apa yang Anda tanyakan terkait dengan teori probabilitas . Cara termudah untuk bekerja dengan satu gulungan, dan kemudian rentangkan ke beberapa gulungan setelah Anda memahami cara kerjanya.
Pertimbangkan jika Anda memiliki gulungan, Anda memiliki beberapa simbol yang ingin Anda tetapkan untuk berhenti. Lebih banyak simbol pada gulungan akan mengarah ke kontrol yang lebih besar atas hasil akhir, tetapi akan terasa lebih acak bagi pemain. Tujuannya adalah untuk menyeimbangkan jumlah simbol dan berhenti sehingga mesin terasa kurang acak bagi pemain, dan seperti mereka memiliki lebih banyak peluang.
Jika Anda memiliki 10 simbol dan 10 berhenti, setiap simbol akan memiliki peluang 1 dalam 10 untuk muncul. Tidak masalah urutan simbol apa (dalam teori, dalam praktiknya keacakan permainan hanya sebagus penghasil angka acak Anda). Dengan kata lain, Anda mungkin berharap melihat 10 simbol berbeda dalam 10 putaran, atau simbol berbeda pada setiap putaran. Peluang untuk mendapatkan satu simbol tertentu adalah 1 dalam 10. Jadi untuk setiap 10 putaran, Anda dapat berharap untuk melihat setiap simbol satu kali. Jika Anda memilih 1 simbol sebagai simbol "menang", pemain harus bermain 10 kali sebelum mereka menang. Dengan informasi ini, cukup mudah untuk melakukan pembayaran. Jika Anda menagih mereka $ 1 untuk setiap putaran, mereka harus menghabiskan $ 10 sebelum mereka menang. Jika peringkat yang Anda harapkan adalah 95%, perhitungannya adalah $ 10 x 95% = $ 9,50. Dengan kata lain, hadiah untuk pendaratan pada simbol "pemenang" harus $ 9,50 untuk mendapatkan pembayaran yang diharapkan sebesar 95%. Sekarang ingat bahwa ini semua berdasarkan rata-rata. Tidak ada jaminan bahwa simbol akan muncul tepat 10 putaran, mungkin butuh 100 atau 1000 putaran, atau bahkan hanya 1 putaran muncul. Diambil dalam waktu yang cukup lama, rata-rata mesin akan membayar jumlah yang benar.
Agar ini dapat bekerja pada beberapa gulungan, Anda perlu melipatgandakan probabilitas menang dari setiap gulungan. Pertimbangkan contoh 3 gulungan dengan 10 simbol pada setiap gulungan, dan 1 simbol pemenang pada setiap gulungan seperti pada contoh sebelumnya. Katakanlah Anda ingin pemain menang hanya ketika ketiga gulungan menunjukkan simbol kemenangan pada saat yang sama. Untuk melakukan ini, Anda perlu menghitung probabilitas untuk setiap reel, dan kemudian mengalikan probabilitas bersama-sama. Kita tahu dari contoh sebelumnya bahwa probabilitasnya adalah 1 banding 10. Ini juga dapat ditulis sebagai 1/10, atau 0,1. Probabilitas dari ketiga gulungan mendarat pada simbol yang menang pada saat yang sama adalah 1/10 x 1/10 x 1/10, atau 0,1 x 0,1 x 0,1, atau 0,001, atau 1 dalam 1000. Kita melihat bahwa ada banyak probabilitas yang lebih rendah dari simbol pemenang yang muncul pada ketiga gulungan pada saat yang sama. Pemain harus berputar rata-rata 1.000 kali sebelum mereka menang. Jika setiap putaran adalah $ 1 mereka harus menghabiskan $ 1000 untuk menang. Maka perhitungan untuk persentase yang menang adalah: $ 1000 x 95% ** = $ 950.00.
Singkatnya teori itu. Sisanya adalah menyeimbangkan keseimbangan berbagai probabilitas untuk membuat permainan tampak lebih menarik.
Dalam kasus Anda, jika Anda memiliki 22 pemberhentian dan 16 simbol. Ini berarti Anda akan memiliki 6 simbol yang sama dengan setidaknya satu simbol lainnya. Probabilitas pasti dari simbol tertentu yang muncul tergantung pada jumlah total kejadian simbol itu pada reel. Berapa banyak dari masing-masing simbol pada setiap gulungan benar-benar terserah Anda.
Sebagai contoh, katakanlah Anda memiliki 15 simbol unik, dan 7 yang semuanya merupakan duplikat. Kemungkinan salah satu dari duplikat yang muncul adalah 7 dalam 22, atau 7/22, atau 32%. Jika Anda memiliki 1 gulungan, dengan $ 1 putaran, pemain akan mendarat di salah satu duplikat 32 kali dalam 100 putaran. Pembayaran dihitung sebagai (1 / (32/100)) x 95% x $ biaya. Jadi jika biaya $ 1 per putaran, Anda akan membayar pemain $ 2,97 setiap kali salah satu duplikat muncul.
Sebagai contoh lain, jika Anda memiliki 3 gulungan dan biayanya $ 2 per putaran, Anda akan menyelesaikan pembayaran sebagai berikut: (1 / (32/100 x 32/100 x 32/100)) x 0,95 x $ biaya = 30,5 x 95% x $ 2 = pembayaran $ 57,95. Anda dapat menghitung probabilitas non-duplikat lainnya sebagai berikut: (1 / (1/22 x 1/22 x 1/22)) x 0,95 x $ biaya = 10648 x 0,95 x $ 2 = $ 20231.20. Itu angka yang cukup besar, tetapi kemudian kemungkinan dari urutan kemenangan yang muncul cukup rendah (kira-kira 9x10 ^ -5).
Dalam contoh terakhir perbedaannya cukup ekstrem, pemain dapat memenangkan $ 58 sangat sering, atau $ 20231 hampir tidak pernah, tanpa variasi di antaranya. Seni membuat permainan menjadi menarik adalah menciptakan lebih banyak peluang untuk menang dengan jumlah yang bervariasi. Ini sering dilakukan dengan mencampur gulungan dengan probabilitas yang berbeda. Jadi, bukannya masing-masing memiliki reel
jumlah yang sama dari setiap simbol, satu gulungan mungkin memiliki lebih banyak simbol, atau lebih dari satu jenis simbol, dan sebagainya. Rumus untuk menghitung probabilitas adalah sama dengan sebelumnya, ingatlah untuk menggunakan rasio yang benar untuk setiap gulungan. Misalnya, jika Anda memiliki gulungan gulungan A dengan 22 berhenti dan 3 kemunculan simbol, gulungan B dengan 26 berhenti dan 2 kemunculan simbol, dan gulungan C dengan 20 berhenti dan 5 kemunculan simbol, rumusnya akan terlihat seperti ini: (1 / (3/22 x 2/26 x 5/20)) x 95% x $ biaya.
Dan hanya itu yang ada untuk itu. Mudah-mudahan saya tidak membuat banyak kesalahan dalam contoh sehingga Anda masih dapat menemukannya berguna: P
** Catatan tentang notasi, 95% identik dengan 0,95. 32/100 identik dengan 0,32, 7/22 identik dengan 0,31818 .. dll.
sumber
Anda ingin nilai yang diharapkan menjadi 0,95. Secara sederhana, ini adalah jumlah
probability * payout
untuk setiap negara.Metode brute force adalah untuk mengulangi semua 22 ^ 3 negara (dengan asumsi Anda memiliki 3 gulungan), tambahkan pembayaran, dan bagi jumlah dengan 22 ^ 3. Namun, karena sebagian besar negara bagian mungkin tidak membayar apa pun, mungkin lebih mudah untuk menyelesaikan semua negara bagian yang membayar sebagai gantinya.
Misalnya jika Anda memiliki 1 Bell simbol per reel, maka probabilitasnya
akan menjadi 1/22 ^ 3. Dan jika Anda memiliki 2 Ceri per gulungan, maka kemungkinan
akan menjadi 1/11 ^ 2.
EDIT: Di atas hanya memberitahu Anda cara memeriksa bahwa pembayaran memberikan tingkat pengembalian yang diinginkan. Sebagai contoh sederhana, mari pertimbangkan sebuah game di mana Anda membayar $ 1 untuk melempar 2 koin. Berikut adalah tiga skema pembayaran yang semuanya memberikan tingkat pengembalian 0,95:
Mana yang lebih "menyenangkan"? Katakan pada saya...
sumber
Cara yang lebih mudah dan lebih dapat diandalkan untuk melakukan ini bukan dengan mensimulasikan gulungan tetapi lebih baik memiliki internal mati yang memilih apa yang pemain menang dan kemudian hanya mengisi gulungan secara prosedural (atau memiliki satu set besar dari mereka disimpan di suatu tempat tetapi mungkin akan membutuhkan waktu lebih lama untuk membuat).
sumber
Yang lain belum menyentuh bagian ini:
Jika Anda menggunakan angka yang benar-benar acak, tidak ada cara untuk memastikan. Namun, Anda dapat menyimpan statistik pembayaran dan menyesuaikan probabilitas pembayaran saat runtime menggunakan loop umpan balik .
Jika belum ada pembayaran untuk beberapa waktu, buat kemungkinan menang, dan sebaliknya.
Anda dapat menjalankan simulasi proses (beberapa miliar iterasi harus dilakukan) untuk memastikan umpan balik Anda berfungsi sebagaimana dimaksud.
sumber
Perhatikan bahwa semua jawaban sejauh ini berasumsi bahwa Anda memiliki RNG yang sempurna untuk bekerja dengannya. Perangkat lunak murni RNG sebenarnya adalah pseudo-RNG, atau PRNG, karena nilai input yang sama (seed) akan selalu menghasilkan urutan angka acak yang sama, sehingga PRNG secara inheren dapat diprediksi.
Tentu saja, itu adalah masalah yang sulit untuk membedakan RNG "benar" dari "semu" di sisi klien, terutama dengan ukuran sampel yang kecil, tetapi ada perbedaan - dalam aplikasi di mana uang dan tanggung jawab hukum terlibat, saya tidak akan mengambil kesempatan. Jika Anda membutuhkan RNG, satu-satunya hal yang lebih buruk daripada tidak memiliki RNG adalah memiliki RNG yang rusak tanpa menyadarinya, jadi ini adalah satu area di mana perusahaan Anda seharusnya tidak pernah mengambil jalan pintas atau belajar dengan cepat.
Ada algoritma PRNG yang bagus, tetapi mereka tidak akan pernah cocok dengan sumber fisik entropi. Jadi, agar matematika bekerja dalam praktik maupun teori, pastikan Anda menggunakan RNG sebaik mungkin - ini demi kepentingan terbaik perusahaan Anda, baik secara legal maupun finansial.
sumber
Pendekatan yang sangat sederhana bisa saja mengulang setiap kemungkinan hasil putaran dan menambahkan kemenangan gabungan, dibandingkan total uang yang dikumpulkan.
Mulailah dengan membuat tata letak roda, izinkan simbol duplikat jika diinginkan. Tentukan pola kemenangan dan pembayaran yang Anda inginkan. Jalankan pola roda melalui algoritme untuk menentukan pembayaran total, dibagi dengan uang yang dikumpulkan, ini adalah rasio pembayaran Anda.
Jika terlalu tinggi, tambahkan lebih banyak ruang kosong, atau simbol pembayaran yang lebih rendah, ATAU kurangi pembayaran pola (mis. Tiga batang tunggal dapat menjadi $ 10, atau $ 5). Jalankan kembali algoritma sampai rasio pembayaran yang diinginkan ditentukan.
Ini memungkinkan Anda untuk menjaga pembayaran nilai yang merata (bukan $ 4,58 untuk pola kemenangan, Anda bisa menggunakan $ 5). Anda mungkin tidak dapat menghasilkan pembayaran tepat sebesar 95%, tetapi dengan mengutak-atik Anda bisa mendekati.
Berikut adalah contoh algoritma untuk menentukan rasio pembayaran tata letak roda:
sumber