Buat distribusi acak palsu?


8

Terkadang acara acak "nyata" tampak tidak adil dan membuat pemain frustrasi. Misalnya musuh memiliki kemungkinan 20% untuk menyebabkan kerusakan ganda ("pukulan kritis"). Dengan demikian ia bisa membuat 4 pukulan kritis berturut-turut dengan probabilitas 1/725. Ini tidak sekecil kedengarannya.

Saya berharap probabilitas bisa disesuaikan setelah setiap pukulan. Jika pemain baru saja mendapatkan pukulan kritis, kemungkinannya berkurang untuk pukulan berikutnya. Kalau tidak meningkat.

Apakah ada model matematika untuk perilaku ini?


Jawaban:


9

Anda mungkin ingin memikirkan kembali sepenuhnya apa yang "hit kritis" lakukan di sistem Anda dan mengapa Anda menggunakannya. "Yah, RPG lain menggunakannya!" bukan alasan yang valid. Salah satu tanda peringatan dari desain yang miring adalah kebutuhan untuk menerapkan aturan yang semakin khusus.

Setiap jenis bonus acak menghilangkan keterampilan pemain langsung dan taktis dan menambah perencanaan strategis (pemuatan item RPG, memprioritaskan statistik pada gigi, dll ...). Karena perubahan fokus ini, Anda harus memutuskan apa permainan Anda sebelum menerapkan standar lama seperti kritik dan gagal.

Saran saya adalah bahwa jika Anda ingin keacakan untuk mengambil bagian dalam permainan Anda maka kemuliaan di dalamnya, biarkan menjadi acak.

Tetapi jika Anda benar-benar ingin menambahkan lebih banyak aturan sewenang-wenang, Anda dapat memulai hitung mundur saat kritikal pertama terjadi dan selama hitung mundur itu lagi kritikan berkurang menjadi 50% dan kemudian 25% dan seterusnya. Setiap kritikan, tentu saja, mengatur ulang hitungan mundur . Ini memberi Anda dua tempat untuk menyempurnakan aturan sewenang-wenang Anda: berapa lama hitung mundur dan berapa banyak pengurangan diakumulasikan di setiap kritis. Kombinasi dari dua kontrol tersebut memungkinkan Anda menghindari masalah yang tidak terucapkan dengan jelas, "bagaimana jika bos mendapat kritikan, lalu normal, lalu kritis kedua?" bahwa cek rantai sederhana tidak akan diperbaiki.


5

Dota 2 menggunakan PRD (pseudo random distribution) yang tidak secara signifikan memengaruhi ekspektasi, tetapi mengurangi kemungkinan gebrakan, misalnya bash streak. Lihat ini, jelaskan semuanya dengan detail. http://www.youtube.com/watch?v=KdS-K_rosCI


Sebenarnya tidak. Itu hanya memperkenalkan konsep tanpa rincian tentang algoritma ini.
Lai Yu-Hsuan

@ LaiYu-Hsuan Ya, video versi dasar mungkin membuatnya sedikit lebih mudah untuk dipahami: youtu.be/yR7BcWfBCsc
aaaaaaaaaaaa

3

Saya pikir ini adalah kasus di mana mencoba menjadi terlalu pintar akan mengarah ke spiral tweak dan penyesuaian ke generator angka acak yang akan membuatnya sangat kompleks.

Jawabannya mungkin ada dalam pertanyaan: jika seorang pemain menjadi frustrasi dengan terlalu banyak serangan kritis berturut-turut, yah, secara langsung mengurangi peluang terjadinya hal ini. Jika RNG menggambar kritis ke-4 berturut-turut, Anda mungkin ingin menggulungnya kembali. Atau bahkan menegakkan critical = false.


3

Salah satu pendekatan yang cukup umum yang dapat Anda gunakan yang harus memberikan hasil yang Anda cari: daripada menggulung mati setiap kali, alih-alih mengambil kartu: misalkan Anda memiliki peluang 1/10 untuk 'kegagalan kritis', peluang kegagalan 4/10, peluang keberhasilan 4/10, dan peluang 1/10 untuk 'kesuksesan kritis'. Kemudian daripada menggulirkan (metaforis) d10 dan menangani hasilnya, alih-alih mengocok tumpukan sepuluh kartu hasil (virtual) dan membagikannya, satu per satu, setiap kali Anda perlu menghasilkan hasil seperti itu. Ketika Anda kehabisan dek, cukup reshuffle dan mulai berurusan lagi. Ini masih dapat menghasilkan kegagalan kritis back-to-back, tetapi menjamin bahwa akan ada keberhasilan (dan keberhasilan kritis) dalam beberapa rentang yang masuk akal. Jika Anda ingin hal-hal menjadi tidak begitu jelas (dan tidak keberatan memperkenalkan peluang kecil untuk hasil ekstrem berturut-turut), Anda selalu dapat 'menggandakan' dek Anda; membangun tumpukan dua puluh kartu yang berisi dua salinan dari setiap hasil dan mengocoknya sebagai gantinya.


Ini jawaban yang bagus. Ini sama dengan: jika Anda ingin 10 angka acak dari 0 hingga 100, daripada mendapatkan angka acak 10 kali, Anda hanya menghasilkan array dengan semua opsi yang memungkinkan (0, 1, 2, ..100) dan mengocoknya, lalu gunakan yang pertama 10. Ini menghindari pengulangan sehingga tidak cukup setara, tetapi dalam banyak kasus itu solusi yang jauh lebih baik.
zeh

1

Bayesian Inference berkaitan dengan situasi sedikit. Anda mulai dengan distribusi probabilitas untuk suatu peristiwa yang terjadi, kemudian setelah itu terjadi, Anda memperbarui probabilitas ini ke yang baru. Ini adalah probabilitas sebelum dan belakang masing-masing. Sering kali paling berguna untuk melihat ini dalam bentuk pohon (mengambil ini dari internet).

masukkan deskripsi gambar di sini

Di pohon, cabang-cabang mewakili kemungkinan mengambil cabang itu, dan simpul adalah peristiwa. Jadi dalam kasus Anda, mari kita buat A, B, C peristiwa mendapatkan hit kritis dengan serangan A, B, dan C resp. Maka P dan NP akan menjadi peristiwa mendapatkan yang lain atau tidak. Kami perhatikan bahwa pada titik (B -> P) ada peluang 25% untuk mendapatkan pukulan kritis lagi karena Anda mendapat giliran terakhir. Tentu saja pohon Anda tidak akan terlihat seperti ini, tapi itu yang terbaik yang bisa saya lakukan dalam 5 menit.


1
Kesimpulan Baysian tidak ada hubungannya dengan ini!
dibintangi

@ starwed lalu apakah Anda ingin menawarkan istilah yang berbeda daripada hanya meneriaki saya?
Jemmy

@ Jeremy, Anda perlu menjawab cara mengatasi masalah OP. Sejauh ini, Anda baru saja menulis ulang pertanyaannya dengan ilustrasi matematika. Tapi itu tidak memberi tahu OP bagaimana membuat RNG lebih menyenangkan.
kurtzbot

1

Saya pikir sudah ada beberapa jawaban bagus yang diberikan di atas tetapi akan menyarankan pendekatan yang berbeda.

Ketika pemain membuat pukulan kritis Anda memberinya hadiah kecil untuk membujuk bermain lebih lanjut. Agak seperti bagaimana seorang pecandu judi akan tinggal di meja poker untuk 'hanya sedikit lebih lama' setelah memenangkan satu tangan. Ketika musuh ditabrak oleh kritikan, itu mungkin tidak meningkatkan pengalaman permainan sama sekali, tetapi hanya merasa tidak adil, terutama jika itu yang membuat mereka kalah dalam pertarungan.

Jadi saran saya adalah untuk hanya menjaga crit untuk pemain dan tidak menggunakannya untuk musuh sama sekali. Setelah semua pemain adalah pahlawan dan harus disukai oleh para dewa sendiri untuk mencapai kehebatan :)


0

Berikut ini adalah teknik acak tapi tidak sepenuhnya acak yang saya gunakan.

1) Kocok tas. Masukkan semua hasil yang valid ke dalam tas, pilih satu secara acak dan keluarkan dari kantong. Ulangi sampai tas kosong lalu isi ulang tas. Untuk menambahkan kembali secara acak, isi ulang tas ketika hanya memiliki X item yang tersisa.

2) Persentase progresif. Roll pertama X% kemungkinan, jika gagal roll kedua adalah X + Y%, maka X + 2Y% dll. Reset ke X% jika berhasil. Baik nilai awal, dan perkembangan dapat disesuaikan (bahkan non-linear).

3) Cooldown internal. Roll X & kebetulan, jika berhasil, jangan roll untuk N detik berikutnya atau upaya M atau apa pun. Dapat dikombinasikan dengan metode lain. Untuk menambahkan lebih banyak keacakan, lakukan beberapa pemeriksaan acara dengan coodlown yang berbeda, yaitu buat 2 gulungan pada 25% dengan cooldown internal 3 dan 7 detik sebagai lawan dari 1 gulungan dengan 50% dengan icd 5s (bukan probabilitas yang sama persis, tetapi Anda dapat menghitung dan cocok jika penting).

4) Jarak pra-roll. Daripada memeriksa vs satu persen setiap acara, cukup pilih saat acara tersebut terjadi. Misalnya, "bos ini menerima setiap serangan 1d4 + 4." Bekerja dengan baik ketika menginginkan sesuatu terjadi relatif konsisten, dan agak acak, tetapi Anda tidak ingin kembali ke acara kembali Dalam beberapa kasus kasus khusus metode (2) ditambah (3). Sekali lagi untuk lebih banyak keacakan Anda dapat memiliki 2 atau lebih urutan yang tumpang tindih.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.