Kamis, 28 November 2013

Pengertian Desain Acak Sempurna

Apakah " keacakan " harus benar-benar acak ?
Dalam desain game ada semacam hubungan cinta-benci dengan keacakan . Di satu sisi memungkinkan untuk berbagai dengan berbagai jenis konten , di sisi lain kita tidak bisa " merancang " keacakan benar . Bagaimana fungsi yang memberikan hasil acak tetapi dalam parameter yang dapat dipengaruhi agar sesuai dengan desain game ? Ini sedikit usaha dibandingkan dengan apa yang diperoleh dalam kendali , dengan mudah dapat disarikan dalam kode dan hanya membutuhkan memegang variabel yang lebih sedikit untuk setiap tidak - benar-benar - acak - acak .
Contoh cepat : bagaimana saya sebelumnya telah berurusan dengan dadu bergulir untuk menghitung " menjarah " dalam " dada " . ( Itu adalah sesuatu yang berbeda , tetapi mekanik yang sama dan konsep " dada " dan " menjarah " yang langsung dikenali untuk setiap grognard game. ) Katakanlah peluang untuk menemukan tiket emas , di samping yang biasa menjual hasil curian , di dada harus 1:10000 . Jika Anda menggunakan keacakan benar pemain akhirnya dapat menemukan tiket di tiga dada berturut-turut dan setelah itu dia akan menemukan tidak ada tiket dalam tiga bulan bermain . Apa yang kita lakukan pertama adalah untuk mengurangi jumlah 10.000 dengan 100 dengan setiap dada dibuka , menyimpan nilai ini dalam howLikelyIsPlayerToFindTicket dan menggunakan variabel ini untuk menghitung kesempatan acak kami . 1:9900 , 1:9800 dan seterusnya . Kemungkinan lebih baik dengan setiap dada sampai , setelah 100 kali mencoba , tiket diberikan . Ingat , masih ada kemungkinan bahwa pemain menemukan tiket dengan peluang 1:8400 atau semua kombinasi lainnya , kemungkinan hanya mendapatkan lebih baik dengan setiap mencoba.
Selain itu, ketika pemain telah menemukan tiket , kami ingin dia tidak menemukan tiket lain lagi , terlalu lama setelah . Kami menetapkan absolutelyNoTicketFindable variabel lain , katakanlah, 10 . Dengan dijarah setiap dada kami memastikan bahwa tidak ada tiket di sana dan menurunkan variabel dengan 1 .Setelah absolutelyNoTicketFindable mencapai 0 kita kembali ke awal 1:10000 kesempatan kami dan untuk mengurangi dengan 100 dengan setiap dada dibuka . Kami memperkenalkan nilai-nilai beberapa tambahan : Basis Kesempatan ( 10000 ) , Meningkatkan Kesempatan ( 100 ) , Blocker ( 10 ) , Current Mendung ( X , antara 10000 dan 0 ) dan Current Blok ( Y , antara 10 dan 0 ) .
Jika Anda adalah seorang programmer , Anda sudah dapat melihat keberadaan ini dipimpin .
Saya akan terus BC , IC dan B sebagai statika ( atau dalam kelas induk ) dan CC dan CB sebagai variabel ( atau dalam suatu objek atau dalam kelas turunan ) . Fungsi MyRandomSuccess ( ) proses statika ini dan variabel ( atau mendapatkan kelas dan objek sebagai parameter ) . Ini menghitung sukses dengan nilai-nilai saat ini , memodifikasi variabel sesuai dan hanya mengembalikan true atau false . Tergantung pada bagaimana Anda ingin mempengaruhi hasil , Anda dapat memperkenalkan banyak nilai tambah yang Anda inginkan.

    
Anda dapat mempengaruhi keberhasilan withs penggemar , power-up , dalam game peristiwa atau apa-yang - Anda .
    
Anda dapat mengurangi atau menambah " Meningkatkan Chance" dengan penggemar atau power-up
    
Untuk tingkat yang bermain di " miskin " area, pemain tidak pernah menemukan tiket dan menemukan sedikit dari lootable " langka " item.
    
Anda tidak harus mendefinisikan lootable sekali berbeda untuk setiap kesempatan . Cukup menandai daerah atau dada spesifik sebagai " miskin " .
    
Jika lebih pas , nilai absolutelyNoTicketFindable dapat menjadi jumlah waktu yang menghitung mundur .
    
Anda dapat mempengaruhi variabel untuk mis " terpukul " dan " hit kritis" tergantung pada tingkat - perbedaan antara lawan bahkan keluar lapangan dalam MOBA .
    
Anda dapat menghasilkan musuh filler dengan kekuatan yang tidak terlalu acak - acak dan kelemahan berdasarkan kinerja pemain dalam permainan sejauh ini .
Benar disarikan , fungsi tersebut dapat digunakan untuk keputusan lain yang tak terhitung jumlahnya . Saya menggunakan teknik ini untuk ( sesuatu yang sebanding dengan ) hits kritis , pertemuan musuh , " acak " barang di gamification , kemungkinan dalam undian tergantung pada cuaca kehidupan nyata , dll
Voila , keacakan dimanfaatkan .
Kesimpulannya: Mekanisme yang dimaksud adalah masih " acak " , dapat sangat dipengaruhi oleh desain game dan , dalam pengalaman saya , jauh lebih mudah untuk menyeimbangkan kemudian memiliki , misalnya , 100 lootables berbeda dan hanya beralih mereka di sekitar .

Tidak ada komentar:

Posting Komentar