Menggunakan Machine Learning untuk Dynamic Difficulty Adjustment

Game yang terlalu mudah cepat terasa membosankan, sedangkan tantangan yang terus-menerus terlalu berat bisa membuat pemain menyerah.

Masalahnya, kemampuan setiap pemain berbeda dan bahkan bisa berubah seiring waktu. Difficulty preset seperti Easy, Normal, dan Hard tidak selalu mampu menangkap perubahan tersebut.

Karena itu, Menggunakan Machine Learning untuk Dynamic Difficulty Adjustment atau DDA menjadi pendekatan menarik.

Sistem dapat membaca pola permainan, memperkirakan kemampuan pemain, lalu mengubah tantangan secara bertahap agar gameplay tetap menantang tanpa terasa seperti game sengaja mengalah atau curang.

Apa Itu Dynamic Difficulty Adjustment?

Dynamic Difficulty Adjustment adalah sistem yang mengubah tingkat tantangan berdasarkan kondisi atau performa pemain selama permainan berlangsung.

Penyesuaian tersebut bisa berupa health musuh, akurasi AI, jumlah lawan, kecepatan spawn, ketersediaan resource, waktu menyelesaikan objective, hingga kompleksitas puzzle.

Review mengenai DDA menjelaskan bahwa pendekatan ini pada dasarnya berusaha menyesuaikan fitur, perilaku, atau skenario game secara real-time terhadap skill pemain agar tantangan tidak terlalu rendah maupun terlalu tinggi.

Bedanya dengan difficulty tradisional cukup jelas. Pada preset konvensional, pemain memilih tingkat kesulitan sendiri. Pada DDA, game melakukan penyesuaian selama sesi berlangsung.

Tentukan Data Pemain yang Benar-Benar Berguna

Machine learning membutuhkan data, tetapi bukan berarti semua aktivitas pemain harus dijadikan input.

Mulailah dari indikator yang memiliki hubungan jelas dengan kemampuan bermain. Untuk shooter, misalnya, developer dapat melihat accuracy, damage received, waktu bertahan hidup, jumlah kematian, penggunaan cover, dan keberhasilan menyelesaikan encounter.

Untuk puzzle game, data yang relevan bisa berupa waktu penyelesaian, jumlah percobaan, hint yang digunakan, dan pola kesalahan.

Riset tentang temporal player modeling menunjukkan bahwa model berbasis data dapat digunakan untuk memprediksi perubahan penguasaan skill pemain dari waktu ke waktu, sehingga challenge bisa disesuaikan dengan kemampuan mereka.

Hindari mengambil terlalu banyak feature yang sebenarnya tidak berhubungan dengan difficulty. Data berlebihan dapat membuat model semakin sulit dianalisis tanpa otomatis menghasilkan prediksi yang lebih baik.

Bangun Player Model sebelum Mengubah Difficulty

Salah satu komponen penting DDA adalah player model.

Model ini mencoba menjawab pertanyaan sederhana: “Seberapa baik pemain menghadapi tantangan sekarang?”

Developer bisa membuat classification model yang membagi pemain menjadi kategori seperti struggling, balanced, atau dominating. Pendekatan lain menggunakan regression untuk menghasilkan skill score berkelanjutan.

Contohnya, pemain memiliki accuracy tinggi tetapi sering mati karena terlalu agresif. Sistem tidak boleh langsung menyimpulkan bahwa ia pemain buruk.

Player modeling perlu melihat beberapa indikator sekaligus.

Penelitian DDA berbasis data juga menunjukkan bahwa perubahan kemampuan sepanjang waktu penting diperhitungkan. Pemain yang kesulitan pada 20 menit pertama bisa menjadi jauh lebih baik setelah memahami mekanik utama.

Karena itu, jangan memperlakukan skill score sebagai angka permanen.

Jangan Mengubah Difficulty setelah Satu Kesalahan

Salah satu desain DDA terburuk adalah sistem yang terlalu reaktif.

Pemain mati satu kali, musuh langsung menjadi lemah. Pemain menang sekali, lawan tiba-tiba mendapatkan damage dua kali lebih besar.

Perubahan seperti ini mudah disadari dan membuat sistem terasa manipulatif.

Gunakan rolling window.

Misalnya, model melihat performa lima encounter terakhir daripada hanya satu pertarungan. Difficulty baru berubah jika terdapat pola konsisten.

Tambahkan juga hysteresis atau batas perubahan.

Jika skill score sedikit bergerak di sekitar threshold, sistem tidak perlu terus berpindah antara Medium dan Hard.

Tujuannya bukan mengejar performa pemain setiap detik, tetapi menjaga tantangan dalam rentang yang nyaman.

Tentukan Parameter yang Aman untuk Disesuaikan

Tidak semua elemen game cocok diubah secara dinamis.

Jika musuh yang sebelumnya membutuhkan lima peluru tiba-tiba membutuhkan sepuluh tanpa alasan, pemain bisa merasa aturan game tidak konsisten.

Sebaliknya, penyesuaian yang lebih halus sering lebih efektif.

Developer dapat mengubah frekuensi serangan musuh, jumlah reinforcement, peluang memperoleh resource, aggression AI, checkpoint assistance, atau komposisi encounter berikutnya.

Dalam sebuah studi DDA berbasis PPO pada game edukasi, parameter yang disesuaikan mencakup spawn rate, timer misi, tingkat kesalahan, dan kecepatan NPC. Model dapat mengubah tantangan berdasarkan kemampuan pemain selama permainan.

Insight-nya adalah difficulty sebaiknya dibentuk melalui beberapa parameter kecil daripada satu modifier besar.

Gunakan Machine Learning untuk Memprediksi Kesulitan

Tidak semua DDA membutuhkan reinforcement learning.

Supervised learning sering cukup jika developer memiliki gameplay telemetry dan label yang jelas.

Misalnya, data playtest menunjukkan sebuah encounter menghasilkan completion rate 90% pada pemain ber-skill tinggi tetapi hanya 30% pada pemain pemula.

Model dapat belajar memprediksi kemungkinan seorang pemain menyelesaikan challenge tertentu.

Sistem kemudian memilih encounter yang diperkirakan memberikan kemungkinan sukses sesuai target.

Pendekatan player modeling seperti ini memungkinkan game menyesuikan tantangan berdasarkan kombinasi karakteristik challenge dan riwayat kemampuan pemain. Penelitian terkait DDA telah menunjukkan penggunaan machine learning untuk prediksi performa dan personalisasi challenge.

Keuntungannya, developer masih mempunyai kontrol kuat terhadap content yang diberikan.

Jangan Jadikan Win Rate sebagai Satu-Satunya Tujuan

Kesalahan lain adalah menganggap DDA sukses ketika win rate selalu mendekati 50%.

Angka tersebut bisa berguna, tetapi pengalaman pemain jauh lebih kompleks.

Ada game yang memang menyenangkan ketika pemain sering menang. Ada pula roguelike yang sengaja membuat kegagalan menjadi bagian besar dari progression.

Sebuah framework reinforcement learning untuk DDA pada action game menggunakan kombinasi performa pemain dan agent sebagai state, perubahan difficulty sebagai action, serta durasi round dan win/loss sebagai reward signal.

Studi tersebut menunjukkan sistem dapat memberikan personalized challenge. Namun target sistem tetap harus mengikuti desain game.

Selain win rate, developer bisa mempertimbangkan retry rate, session duration, voluntary quit, completion time, dan subjective feedback.

Sisakan Kontrol untuk Pemain

Sistem otomatis tidak berarti pilihan difficulty manual harus dihapus.

Sebagian pemain suka tantangan ekstrem. Pemain lain hanya ingin menikmati cerita.

Google PAIR menyarankan agar sistem AI menyeimbangkan automation dengan kontrol pengguna dan memberi feedback mechanism yang sesuai. Prinsip ini relevan untuk DDA.

Developer bisa menawarkan mode seperti:

“Adaptive Difficulty” sebagai pilihan tambahan, sementara Easy, Normal, dan Hard tetap tersedia.

Jika pemain merasa sistem terlalu agresif, berikan opsi untuk mengurangi atau menonaktifkan adaptasi.

Transparansi juga membantu menjaga trust.

Tidak perlu memunculkan pesan setiap kali difficulty berubah, tetapi pemain sebaiknya memahami bahwa mode adaptif memang sedang digunakan.

Uji DDA dengan Pemain Nyata

Simulator dan bot sangat berguna saat pengembagan, tetapi manusia sering bermain dengan cara yang tidak terduga.

Pemain bisa sengaja bermain buruk, mencoba eksploitasi, berhenti sejenak, atau menggunakan strategi yang belum pernah ada dalam training data.

Karena itu, lakukan playtest dengan skill level berbeda.

Bandingkan adaptive difficulty dengan difficulty statis. Ukur completion rate, frustration, challenge perception, engagement, dan apakah pemain menyadari perubahan difficulty.

Penelitian continuous RL-based DDA pada visual working memory game dengan 52 partisipan menemukan pendekatan RL menghasilkan hasil lebih baik pada beberapa aspek pengalaman dibanding metode rule-based dalam eksperimen tersebut.

DDA yang bagus bukan hanya bekerja secara matematis. Pemain juga harus merasa tantangannya masuk akal.

Menggunakan Machine Learning untuk DDA memungkinkan game membaca kemampuan pemain dan menyesuaikan tantangan secara lebih personal.

Kuncinya adalah memilih telemetry relevan, membangun player model, menghindari perubahan terlalu cepat, dan menyesuaikan parameter secara halus.

Mulailah dengan model sederhana, lakukan playtest, lalu ukur apakah sistem benar-benar meningkatkan pengalaman dibanding difficulty statis.