Menghitung "kekuatan" pemain dalam game tipe "Defend Your Castle"

10

Saya membuat game tipe "Defend Your Castle", di mana setiap pemain memiliki kastil dan harus mengirim unit untuk menghancurkan kastil lawan. Sepertinya ini (dan ya, ini adalah game yang sebenarnya, bukan menggambar cepat ..):

masukkan deskripsi gambar di sini

Sekarang, saya mencoba menerapkan AI lawan, dan saya ingin membuat 4 level AI berbeda: Mudah, Normal, Keras dan Hardcore. Saya belum pernah membuat AI "serius" sebelumnya dan saya ingin membuatnya yang cukup lengkap saat ini.

Ide saya adalah untuk menghitung skor "kekuatan" pemain, berdasarkan kesehatan kastilnya saat ini dan skor "kekuatan" individu dari unit-unitnya. Kemudian, AI hanya akan mencoba untuk menjaga skor dekat dengan skor pemain ( Easy akan tetap di bawahnya, Normal akan tetap di dekatnya dan Hard akan mencoba untuk mendapatkan di atasnya). Tapi saya tidak tahu bagaimana cara menghitung skor daya pemain. Ada terlalu banyak variabel untuk diperhitungkan dan saya tidak tahu bagaimana menggunakannya dengan benar untuk membuat satu angka penting (level daya).

Adakah yang bisa membantu saya dalam hal ini?

Berikut adalah variabel yang harus memengaruhi skor daya pemain:

Kesehatan kastil saat ini, total kesehatan unit, kerusakan, kecepatan, dan jangkauan serangan. Juga, pemain dapat meningkatkan Penghasilan (kantong uang), kerusakan (+ Kerusakan) dan kecepatan (kecepatan +) ... Bagaimana saya bisa memasukkan mereka ke dalam skor?

Saya benar-benar terjebak di sini ... Atau adakah cara lain untuk menerapkan AI untuk jenis permainan ini?

Terima kasih atas waktu berharga Anda.

Jesse Emond
sumber
Jika ada bagian yang tidak cukup jelas atau jika saya harus menyajikan informasi lebih lanjut tentang bagaimana saya menangani fungsi dalam permainan, tinggalkan komentar dan saya akan mengedit pertanyaan saya. Juga - haruskah ini menjadi wiki komunitas? Saya pribadi tidak melihatnya sebagai subyektif atau argumentatif tetapi saya mungkin salah.
Jesse Emond

Jawaban:

4

Saya tidak yakin seberapa mudah ini untuk mengatakan, tetapi mencoba mencari tahu seberapa penting setiap variabel mungkin adalah tempat untuk memulai (jika Anda mendapatkan 50 kesehatan, Anda dapat bertahan 10 detik lebih lama; jika Anda mendapatkan 5 kerusakan, Anda dapat menghancurkan 50 kesehatan 10 detik lebih cepat; dll ...). Setelah itu, mencoba menormalkan kemampuan mungkin bermanfaat (50 kesehatan sama dengan 10 kecepatan sama dengan 100 pendapatan).

Saya membayangkan cara mudah untuk menemukan beberapa ini adalah dengan hanya menjalankan simulasi. Pertahankan satu pemain di level tunggal, dan kemudian mulai sesuaikan variabel individu dengan bagaimana mereka skala.

nimbus57
sumber
3

Pertama-tama, saya tidak akan memasukkan barang jangka pendek seperti peningkatan pendapatan atau kecepatan ke dalam akun - saya pikir para pemain berharap hal-hal ini membantu mereka untuk sementara waktu, bukan karena AI beradaptasi dengan segera dan menjadi lebih kuat juga.

Dan sisanya: cobalah. Mulailah dengan formula kekuatan yang tampaknya masuk akal bagi Anda (respons nimbus57 harus menjadi titik awal yang baik) dan kemudian kembangkan formula Anda dan AI secara berulang.

Last but not least, cobalah untuk memastikan bahwa formula yang mendasari tidak dapat dieksploitasi oleh pemain untuk mendapatkan keuntungan yang tidak adil dll - juga seharusnya tidak terlalu jelas cara kerjanya, jadi tarik sedikit keacakan.

Alexander Gessler
sumber