Salah satu opsi yang ingin saya implementasikan adalah sistem penyesuaian diri otomatis.
Saya akan menggunakan, sebagai contoh, sebuah game dari genre MOBA karena itu terstruktur sedemikian rupa sehingga cukup sederhana untuk melihat dengan tepat bagaimana masing-masing pahlawan dibandingkan dengan pahlawan lainnya.
Pada dasarnya, untuk setiap pahlawan, semua statistik untuk item itu harus bergantung pada nilai cacat, bahwa server secara otomatis berubah tergantung pada tingkat kemenangan untuk pahlawan itu. Kemudian, setiap kali game baru dimulai, ia menggunakan nilai handicap terbaru untuk durasi game.
Hero(){
attackSpeed = 50 + 5*heroType.adjustment;
moveSpeed = 100 + 5*heroType.adjustment;
}
Kemudian, pada akhir setiap permainan, server memodifikasi nilai untuk setiap pahlawan dengan jumlah kecil tergantung pada apakah pahlawan itu menang atau kalah, seberapa banyak mereka menang, dll:
for(Hero hero: game.winners)
hero.heroType.nerf();
for(Hero hero: game.losers)
hero.heroType.buff();
Formula penyesuaian yang tepat bisa jadi seperti ini, meskipun hal-hal statistik yang lebih kompleks mungkin lebih baik:
nerf: adjustment[heroType] -= 1 / globalNumberOfGamesPerWeek
buff: adjustment[heroType] += 1 / globalNumberOfGamesPerWeek
Dengan cara ini, jika pahlawan baru tertentu ditambahkan yang jauh lebih kuat, yaitu memiliki pahlawan yang secara signifikan meningkatkan peluang pemain untuk menang, maka server game akan secara otomatis memperbaikinya seiring waktu.
Bahkan, sistem ini juga akan mengoreksi karena alasan lain bahwa pahlawan tertentu mungkin akan dikalahkan, seperti seseorang menemukan meta baru yang benar-benar berfungsi dengan sangat baik, atau beberapa modifikasi medan yang memberi pahlawan tertentu keuntungan baru. Dan koreksi akan dapat terjadi bahkan ketika pengetahuan tentang taktik baru masih menyebar.
Hal ketiga yang dapat membantu ini adalah menemukan fakta bahwa ada sesuatu yang secara serius memengaruhi seorang pahlawan. Jika pahlawan dirancang sehingga nilai penyesuaian tetap mendekati nol, maka ketika nilai untuk salah satu pahlawan berubah secara signifikan, pengembang akan tahu bahwa ada beberapa masalah dengan pahlawan, sehingga mereka dapat pergi dan melakukan penyeimbangan yang lebih cerdas untuk pahlawan yang dimaksud.