Saya tahu algoritma Truskill, cukup rumit tapi efektif.
Pertanyaan saya apakah ada algoritme / metode lain untuk menentukan keterampilan pemain untuk pengukuran akurat untuk permainan kompetitif multi-pemain?
Saya tahu algoritma Truskill, cukup rumit tapi efektif.
Pertanyaan saya apakah ada algoritme / metode lain untuk menentukan keterampilan pemain untuk pengukuran akurat untuk permainan kompetitif multi-pemain?
Jawaban:
Saya pikir meminta "yang paling sederhana paling efektif" adalah persyaratan yang tidak realistis, tetapi tentu saja ada beberapa pendekatan yang baik. Daripada masuk ke detail, saya akan menautkan ke sebuah artikel:
http://www.lifewithalacrity.com/2006/01/ranking_systems.html
Ini meliputi:
Secara keseluruhan Anda akan melihat bahwa mereka semua cukup banyak variasi pada tema yang sama - Anda memilih nilai awal atau rata-rata untuk pemain, dan kemudian nilai-nilai tersebut digunakan untuk memprediksi hasil pertandingan. Perbedaan antara hasil aktual dan hasil yang diprediksi digunakan untuk memodifikasi skor untuk setiap pemain, dan proses ini berulang dengan skor yang disesuaikan. Karena setiap modifikasi pada skor membuat hasil prediksi lebih akurat, skor menyatu pada nilai 'benar' mereka. (Ini benar-benar mengasumsikan bahwa itu adalah permainan keterampilan daripada kebetulan, bahwa keterampilan yang dimaksud mampu peringkat linear, dll.)
Tergantung pada gim. Ada beberapa masalah yang bisa Anda hadapi:
Untuk game yang memiliki komponen keberuntungan dan komponen keterampilan (Bridge, Poker, Magic: the Gathering, dll.), Sebagian besar algoritma tidak memperhitungkan fakta bahwa pemain yang lebih lemah terkadang bisa beruntung. Jika game Anda termasuk dalam kategori ini, Anda harus melakukan beberapa pekerjaan. Secara umum ini berarti mencari tahu berapa persen adalah keberuntungan dan berapa persen adalah keterampilan (trik yang sulit, tetapi jika Anda sudah menggunakan algoritma berbasis keterampilan seperti Elo, Anda bisa menjalankan beberapa metrik pada hasil untuk mengetahui seberapa sering algoritma meramalkan kesal versus seberapa sering itu sebenarnya terjadi). Maka Anda harus mengubah algoritme, dan tepatnya untuk mengubahnya apa, mungkin di luar cakupan pertanyaan ini.
Untuk permainan di mana pertandingan dapat dimanipulasi (saya dapat memilih untuk memainkan permainan peringkat melawan teman saya), Anda harus menerapkan perlindungan ekstra untuk mencegah pemain melemparkan pertandingan dengan sengaja.
Untuk permainan di mana pemain bisa "keluar dari latihan" jika mereka tidak bermain secara teratur, sistem dapat melibatkan semacam degradasi berbasis waktu. Sistem Glicko adalah mod dari Elo yang menambahkan variabel "ketidakpastian" ke peringkat masing-masing pemain, berdasarkan pada berapa banyak permainan yang telah mereka mainkan dan seberapa baru mereka memainkannya; semakin yakin peringkat pemain, semakin sedikit perubahan dari satu game ke game lainnya.
Game multi pemain (apakah gratis untuk semua, berbasis tim, atau struktur pemain lain) tentu saja membutuhkan perhatian khusus. Beberapa permainan berbasis tim memudahkan untuk mengetahui kontribusi masing-masing individu, dibandingkan dengan yang lain.
Juga tanyakan apa tujuan sistem peringkat / peringkat Anda. Dalam permainan dan olahraga profesional, tujuannya adalah statistik: peringkat digunakan sebagai prediktor hasil pertandingan apa pun. Tujuan utama di sini adalah ketepatan. Namun, ini jarang yang diinginkan pemain; alih-alih mereka menginginkan kemajuan, perasaan mereka menjadi lebih baik dan naik pangkat (apakah mereka benar-benar menjadi lebih baik atau tidak). Singkatnya, ada pertukaran antara akurasi dan kesenangan yang perlu Anda pertimbangkan.
Apa yang menurut Anda rumit tentang TrueSkill ? Saya pikir itu adalah algoritma langsung dengan jumlah tombol yang tepat untuk mengubah untuk mode permainan yang berbeda, dan itu berkurang menjadi Elo ketika permainan head-to-head dengan kepastian tinggi.
Jika Anda mencari cara paling sederhana untuk menentukan peringkat dan mengukur pemain secara efektif dalam lingkungan multi-pemain - rekomendasi saya adalah TrueSkill.
Bagaimana dengan sistem berpasangan seperti elo ? Telah digunakan selama berabad-abad dalam olahraga "normal" dengan hasil yang sangat baik.
Untuk pertandingan gratis untuk semua pertandingan, Anda dapat mengartikannya sebagai sekelompok pertandingan berpasangan dan menetapkan poin berdasarkan kedudukan relatif.