Pertanyaan ini tidak difokuskan pada video game tetapi game pada umumnya. Saya pergi ke pameran dagang boardgame kemarin dan bertanya pada diri sendiri apakah ada cara untuk menghitung keadilan permainan. Tentu, beberapa dari mereka membutuhkan porsi keberuntungan yang baik, tetapi dimungkinkan untuk menghitung jika beberapa karakter dikalahkan. Terutama dalam permainan permainan peran dan permainan kartu perdagangan. Bagaimana, misalnya, dapatkah pembuat "Magic: The Gathering" memastikan bahwa tidak ada "satu kartu yang mengalahkan mereka semua", mengingat jumlah kartu yang tersedia yang mengesankan?
40
Jawaban:
Ya, itu secara teoritis mungkin - itu bagian yang baik dari teori permainan yang berkaitan dengan subjek ini.
Namun, ini jarang praktis , dan itupun kebanyakan hanya untuk permainan yang tidak melibatkan pengacak (Catur, Reversi, Go, dan sebagainya). Ledakan kombinatorial memastikan bahwa waktu teoretis yang diperlukan untuk bukti semacam itu untuk game yang lebih kompleks seperti Magic the Gathering dapat dengan mudah beberapa kali lipat lebih lama dari usia alam semesta saat ini.
Pada akhirnya, untuk game non-sepele mana pun Anda mungkin harus meninggalkan gagasan untuk membuktikan keseimbangan atau keadilan sebuah game dan sebaliknya pergi dengan kombinasi akal sehat, naluri desainer, penggunaan kembali sistem game dan selama pengujian.
sumber
Jawaban singkat: Setiap permainan dengan jumlah gerakan terbatas, bahkan jika tidak ditentukan, memiliki jumlah permainan terbatas yang terbatas. Setiap game dengan "kompleksitas pohon permainan" yang terbatas secara teoritis dapat menganalisis semua game yang memungkinkan untuk menentukan apakah jumlah game di mana setiap pemain akan menang adalah sama.
Sederhananya: jika Pemain 1 memenangkan tepat setengah dari semua kemungkinan permainan, permainan seimbang. Jika ini tidak benar, permainan akan condong ke satu pemain atau lainnya.
Namun, aturan sederhana ini bisa sangat tidak praktis untuk dipraktikkan. Go, misalnya, memiliki kompleksitas permainan-pohon-pada urutan 10 ^ 170 permainan yang mungkin, lebih dari jumlah atom yang diperkirakan ada di alam semesta yang dikenal. Diperkirakan mustahil untuk menyusun pohon permainan yang lengkap. Namun, perpustakaan permainan yang dimainkan dan direkam jumlahnya jutaan, dan menunjukkan bahwa permainan memiliki "keuntungan langkah pertama" (yang biasanya dikurangi dengan 1,5 poin "komi" yang diberikan kepada White).
Membandingkannya, bahkan diberikan kompleksitas permainan-pohon-keseluruhan yang besar, semua permainan M, N, K (papan kotak lebar M, tinggi N, di mana objeknya adalah bagi pemain untuk membuat deretan potongan K dengan menempatkan dan tidak pernah memindahkan / menghapusnya) diselesaikan, karena ada jalan pintas; seluruh "cabang" dari pohon permainan dapat diidentifikasi sebagai selalu menyebabkan satu pemain atau yang lain kalah. Cabang yang tersisa mengikuti pola yang dapat diidentifikasi. Tic-Tac-Toe adalah contoh nyata; selain hanya memiliki 300.000 permainan ish mungkin, hanya ada 16 di mana satu pemain atau yang lain tidak membuat langkah yang jelas akan membiarkan pemain lain menang di langkah berikutnya. Jadi, pohon permainan dimulai dari yang kecil dan menjadi lebih kecil ketika Anda mempertimbangkan permainan yang sebenarnya akan dibuat oleh para pemain.
Dalam gim dengan elemen keberuntungan, kompleksitas gim pohon meningkat melebihi jumlah keputusan yang tersedia untuk setiap pemain. Karena permainan tidak lagi dimainkan dengan "informasi sempurna", seperti dalam catur, catur, Go, Othello, dll, adalah mungkin bagi seorang pemain yang telah bermain dengan sempurna mengingat informasi yang diketahui pada saat itu masih kalah dari permainan. elemen acak. Game-game ini tidak memiliki "solusi"; Namun, biasanya masih ada pohon permainan yang terbatas dan secara teori permainan masih bisa dianalisis secara mendalam. Ini biasanya masih tidak layak; alih-alih permainan yang melibatkan probabilitas dianalisis secara probabilistik untuk mengidentifikasi strategi "taruhan terbaik", dan jika strategi ini ditunjukkan untuk mendukung pemain yang menggunakannya, terlepas dari strategi yang digunakan oleh pemain lain (termasuk strategi yang sama),
Secara umum, aturan berikut ini berlaku: jika desain game secara inheren menyebabkan ketimpangan dalam satu atau lebih hal berikut, game memiliki bias:
Sekarang, desain gim mungkin memperkenalkan satu ketimpangan tetapi berupaya mengimbanginya. Atau, desain gim ini memungkinkan terjadinya keacakan di area-area yang dapat menghasilkan bias, artinya satu gim mungkin bias sementara yang lain lebih adil (gim dengan papan start acak dapat menunjukkan ini). Dalam kasus ini hanya analisis empiris game antara pemain dengan kekuatan yang kira-kira sama dalam jangka panjang yang dapat menunjukkan bias.
Untuk diskusi lebih lanjut tentang bias dalam permainan papan, coba forum http://www.geekdo.com ; telah ada beberapa diskusi tentang bias yang ditunjukkan dalam game, dan bagaimana cara menghindari bias tersebut dalam pengembangan game secara umum.
sumber
Saya kira tidak ada rumus matematika pra-dibuat untuk mengevaluasi seberapa adil permainan karena bagaimana setiap permainan sangat berbeda dan kompleks.
Anda tidak dapat benar-benar membandingkan parameter gim yang berbeda dan membuat semacam skor daya tentang seberapa bagus karakternya (kecuali gim Anda sangat sederhana) karena semua itu memengaruhi permainan Anda secara berbeda dan bergantung pada cara penerapannya (misalnya bagaimana Anda bisa mengevaluasi bagaimana kekuatan berhubungan dengan vitalitas? Bagaimana Anda memberikan nilai numerik untuk serangan khusus karakter?).
Anda harus menguji permainan Anda. Banyak . Mainkan game Anda sendiri dan buat orang lain memainkannya dan simpan hasil pertempuran / game dalam file untuk membuat statistik dan mengevaluasi seberapa sering karakter tertentu menang, dalam keadaan apa, dll. Lalu, pastikan Anda menerapkan beberapa cara untuk memeriksa replay atau menganalisis gameplay untuk melihat mengapa karakter seperti itu dikalahkan dan menerapkan perubahan yang sesuai.
Sungguh, Anda tidak memiliki pilihan lain selain pengujian. Itulah salah satu alasan mengapa betas ada (misalnya Starcraft2 sebagai beta memberi Blizzard kesempatan untuk menyeimbangkan 3 balapan berdasarkan hasil pertandingan).
Singkatnya, mainkan gim Anda, dan buat orang lain memainkannya (memulai beta adalah opsi). Lihat mengapa game tidak seimbang melalui replay atau analisis otomatis dan ubah apa yang perlu diubah. Itulah satu-satunya cara Anda akan mendekati keadilan.
sumber
Untuk dapat membuktikan permainan itu seimbang atau adil, Anda harus menentukan apa arti seimbang atau adil terlebih dahulu. Ini adalah istilah yang agak kabur yang dapat mencakup berbagai hal, misalnya permainan 'keseimbangan' yang sering diartikan sebagai:
Dan seterusnya.
Secara umum saya adalah penggemar hal-hal yang membuktikan secara matematis seperti ini, tetapi untuk membuktikan sesuatu melalui logika atau pengujian, Anda harus terlebih dahulu mendefinisikannya dengan jelas. Beberapa aspek keseimbangan mudah diuji melalui matematika jika Anda dapat memahami aturan permainan dengan benar. Yang lain jauh lebih sulit untuk dinilai tanpa hanya melakukan tes empiris. Masalah utama adalah bahwa sebagian besar perancang permainan tidak benar-benar memahami mekanisme permainan mereka, karena mereka biasanya akhirnya menggabungkan aturan permainan menjadi simulasi di sekitarnya, dan yang terakhir sangat sulit untuk dimodelkan secara akurat.
sumber
Secara teori itu mungkin, tetapi untuk sebagian besar permainan itu sangat sulit sehingga dapat dianggap mustahil.
Satu pendekatan: Konversi game menjadi bentuk normal. Game dalam bentuk normal adalah seperangkat strategi untuk setiap pemain dan fungsi yang mengatakan seberapa baik hasil ketika untuk kombinasi pilihan yang diberikan. Faktor acak dapat dimodelkan sebagai pemain lain.
Kemudian kita dapat mencari strategi dominan / dominan (hal-hal yang SELALU lakukan dan hal-hal yang TIDAK PERNAH dilakukan). Entah bagaimana permainan itu menarik, jika tidak mengandung strategi dominan.
Lalu kita bisa melihat apa yang bisa dijamin masing-masing pemain untuk dirinya sendiri. untuk setiap pilihan "SAYA", lihat hasil terburuk yang mungkin dan pilihlah yang memiliki pilihan terbaik ini.
Jika itu berbeda banyak antara pemain, ada sesuatu yang busuk dalam permainan.
Ada hal-hal lain untuk dilihat (strategi campuran dominan (memilih setiap pilihan dengan kemungkinan besar), nash equilibriums (kombinasi yang setelah semua pemain tahu yang akan dilakukan orang lain, adalah lokal terbaik untuk semua orang)).
Tapi langkah pertama sangat rumit untuk kebanyakan gim, jadi biasanya tidak begitu berguna. Tetapi dapat digunakan jika Anda dapat menghilangkan detail rumit / mengganti strategi dengan set strategi yang dapat dikenali (mis. Pesanan build awal) dan menghasilkan dengan beberapa perkiraan statistik dari permainan yang sebenarnya dimainkan dan dapat memberi tahu Anda tentang masalah dalam permainan. Saya kira sesuatu seperti ini tidak dengan SC.
Bentuk lain dari gim adalah gim di mana para pemain bergiliran dan tahu semua yang dilakukan orang lain (catur). Di sana Anda dapat mencoba mencari strategi dominat dengan mencari state tree of game (dan biasanya BESAR, jadi sekali lagi, terlalu rumit untuk digunakan). Dan banyak permainan yang tanpa pengetahuan lengkap dan banyak hal yang menyulitkan.
Pendekatan lain, lihat hal-hal dalam permainan dan coba bandingkan.
Pendekatan lain: Untuk pertarungan tim (khususnya dengan jumlah peserta yang besar) Anda dapat mencoba menggunakan simulasi force on force (saya tidak pernah menggunakannya, dan itu membutuhkan matematika yang tinggi (persamaan yang berbeda) dan kerja keras untuk mengubah game menjadi model yang sesuai).
Jadi kesimpulan saya, banyak hal yang bisa dilakukan untuk menyeimbangkan subsistem game, dan ketika game keluar (dan selama betatest), banyak yang bisa dilakukan dengan menganalisis hasil, tetapi kecuali jika Anda membuat semuanya sama, hampir tidak mungkin untuk membuktikan bahwa game seimbang .
PS: Anda bisa menutupi kesamaan dengan mengganti satu atribut dengan banyak yang bersama-sama dapat digunakan untuk menghitung atribut awal, dan dengan membuat semuanya lebih acak, sehingga pemain tidak melihat kesamaan itu (
Berhati-hatilah karena mudah melakukan kesalahan (mis. Serangan kecil cepat vs serangan lambat besar), karena 18 lemparan oleh d6 -18 memberikan hasil 0-90, 10 lemparan pada d10-10 memberikan hasil 0-90 1 lemparan oleh d91-1 memberikan hasil 0-90 tetapi semuanya memiliki distribusi yang berbeda.
PS2: Satu orang bijak mengatakan, bahwa keseimbangan yang sebenarnya tidak penting, keseimbangan yang dipersepsikan itu.
sumber
Banyak jawaban bagus tentang mendapatkan jawaban yang benar secara matematis, tetapi saya akan mencoba sudut yang berbeda: jika kode Anda memungkinkan, Anda bisa mensimulasikan jumlah gim yang sangat besar dan kemudian memeriksa apakah ada strategi (atau strategi) yang menang terlalu sering.
Anda mungkin akrab dengan simulasi Monte-Carlo atau algoritma genetika. Idenya di sini terkait. Anda membutuhkan AI untuk memainkan permainan dan beberapa pengukuran kunci. Anda membiarkan AI saling bertarung dalam turnamen besar, cukup sering, dengan variabel awal yang berbeda dan Anda mengukur hasilnya.
Saya selalu ingin mencoba pendekatan seperti itu untuk menyeimbangkan kelas / senjata, itu akan menyenangkan.
sumber
Dari teori perspektif komputasi, kedengarannya seperti menjawab ini tidak mungkin secara umum . Ini mengajukan pertanyaan tentang properti program dan Teorema Rice mungkin berlaku. Asumsi saya adalah bahwa game mengacu pada program yang ditulis dalam bahasa Lengkap Turing seperti c ++. Saya juga mengasumsikan bahwa untuk menghitung atau membuktikan apakah suatu game itu adil berarti ada program c ++ yang membaca program c ++ (program game) dan berakhir dalam jumlah waktu terbatas untuk semua input yang mungkin , dengan hanya dua output, adil atau tidak adil.
Pencarian cepat menunjukkan bahwa ada kemungkinan untuk memiliki permainan deterministik namun tidak dapat diputuskan, lihat slide 7 di sini dan dari International Journal of Game Theory: Beberapa permainan ditentukan:
"Mesin komputer menggunakan algoritma bermain game dan bahkan belajar bermain game. Namun, sifat keterbatasan inheren algoritma memaksakan batasan pada kemampuan bermain game mesin. M. Rabin mengilustrasikan batasan ini pada tahun 1957 dengan membangun dua orang menang-kalah permainan dengan aturan yang bisa ditentukan tetapi tidak ada strategi kemenangan yang dapat dihitung. "
Otak manusia tampaknya lebih "kuat" daripada komputer karena kita dapat memperoleh dan menerapkan pengetahuan masa lalu dan kadang-kadang tampak bertentangan dengan hasil seperti masalah Henti dengan menemukan loop tak terbatas dalam program. Tetapi bagaimana kita melakukan ini tidak diketahui dan tidak dapat ditulis secara tepat dan jelas dalam suatu algoritma.
sumber
Saya benar-benar ingin mengomentari jawaban Martin Sojka, tetapi saya tidak memiliki reputasi. Dia benar bahwa Game Theory termasuk menghitung keadilan sebuah game (misalnya, itu pertanyaan terbuka jika dalam permainan catur di mana putih dan hitam bermain dengan sempurna apakah itu akan menjadi seri).
Untuk MtG bisa jadi sangat tidak mungkin untuk menghitung apakah itu adil, tetapi tidak ada yang membuktikan secara matematis bahwa perhitungannya tidak layak.
Mungkin sepele untuk membuktikan itu adil - jika itu acak siapa yang pergi pertama dan semua orang bermain dengan aturan yang sama maka itu adil. Mungkin saja siapa pun yang pergi dulu selalu menang, tetapi jika siapa yang pergi dulu diputuskan dengan adil maka permainan itu adil.
sumber
Yang dimaksud dengan "adil" tidak jelas, izinkan saya menjelaskan:
Pertimbangkan permainan Rock-paper-cissors (http://en.wikipedia.org/wiki/Rock-paper-scissors): menurut Anda itu adil, saya kira (menurut saya juga).
Sekarang, mari kita perhatikan permainannya: Rock-paper-cissors-well di mana sumur itu mengalahkan batu dan kertas dan sumur itu kalah di atas kertas. Tidak seimbang, bukan? Sumur itu tampaknya sangat dikuasai: ia mengalahkan dua senjata dan kalah satu.
Tetapi orang dapat mengatakan bahwa itu sama sekali tidak dikuasai: karena jika Anda tahu bahwa lawan Anda lebih cenderung menggunakan sumur karena mengalahkan dua senjata, Anda bisa bertindak dengan mengambil kertas lebih sering.
Jadi ada jawaban untuk potensi dikalahkan dengan baik: cukup pilih kertas lebih sering. Tapi kemudian Anda tahu bahwa lawan Anda mungkin tahu itu dan mungkin menggunakan kertas itu cukup sering, jadi Anda pikir Anda harus lebih sering menggunakan gunting. Dll. Tidak terlalu dikuasai, hanya permainan yang berbeda dengan aturan yang berbeda.
Saya akan merekomendasikan membaca tentang teori permainan dan terutama game dengan informasi yang tidak sempurna (http://en.wikipedia.org/wiki/Game_theory).
sumber