Bagaimana menerapkan AI untuk game pertempuran

8

Saya membuat petarung 2D http://neighr.com/mif/index.htmlkemarin.

'Pemain' kedua hampir tidak melakukan apa-apa. Sebenarnya tidak ada. Sejujurnya, saya belum pernah membuat game sebelumnya yang memiliki lawan seperti ini.

Jadi pertanyaan saya adalah, bagaimana cara memulai dengan pemrograman AI untuk lawan? Apakah ada tutorial, praktik terbaik? Saya ingin itu menjadi tantangan (untuk pemain, bukan saya sendiri).

Lanbo
sumber

Jawaban:

12

N-gram populer di sini. Ide dasarnya adalah menyimpan daftar gerakan yang dilakukan pemain. Anda kemudian dapat, mengingat gerakan N terakhir dari pemain, mencari tahu persentase kemungkinan dari apa langkah selanjutnya mungkin.

Game Anda harus memiliki basis data penghitung dan blok yang efektif untuk setiap gerakan.

Untuk mode ofensif dalam AI, Anda masih dapat melakukan pemodelan pemain dasar untuk menentukan serangan mana yang paling sulit diblokir atau dilawan pemain, dan digunakan kembali.

Untuk kesulitan AI, cukup bodoh AI di tingkat yang lebih mudah. Mode AI terburuk mungkin membalikkan pilihan (yaitu, jika tahu pemain biasanya memblokir pukulan, ia memiliki chane yang lebih tinggi daripada yang lebih rendah untuk melemparkan pukulan). Mode kesulitan tertinggi akan menggunakan algoritma non-cacat, dan kemungkinan akan mengalahkan para pemain.

Jika Anda ingin membuat permainan lebih menyenangkan, saya juga merekomendasikan menambahkan kepribadian ke AI. Beberapa karakter mungkin mengejek lebih banyak, beberapa mungkin lebih defensif daripada ofensif, dll. Pemain menikmati kemampuan untuk menganggap kecerdasan manusia sebagai karakter AI.

Sean Middleditch
sumber
3

Jujur seperti halnya beberapa jawaban teratas merekomendasikan AI yang lebih kompleks, Jika ini merupakan upaya awal dalam permainan dan Anda belum begitu mahir dengan kode, Anda mungkin mencoba AI yang lebih bodoh

Misalnya sistem sederhana

tunggu (0-3 detik)

Gulung d6

pilih dari 6 tindakan.

Atau sesuatu yang serupa tergantung pada berapa banyak tindakan yang Anda miliki

ProtoJazz
sumber
2

Ini adalah bagaimana saya akan membuat ai untuk game pertempuran.

Buat daftar gerakan (tergantung karakter) yang sesuai untuk jarak yang berbeda dari pemain dan minta dia untuk mengambil langkah. Jika kesulitan diatur pada hard. Mintalah dia mengambil langkah memukul keras. Kalau tidak pilih langkah yang kurang untuk menengah dan kurang untuk mudah. Anda juga bisa melempar faktor acak yang memilih rentang berbeda dari yang sebenarnya tergantung pada kesulitan pemain. Jumlah keputusan harus didasarkan pada kesulitan di mana ia mengevaluasi 3 detik setelah setiap gerakan (mudah) 2 detik (sedang) dll. Setiap kali menentukan tindakannya.

meringkas, memilih jarak (pindah set), memilih bergerak dan kemudian berapa lama mereka menunggu sebelum mereka melakukan hal yang sama. Di sela-sela menunggu tindakan selanjutnya mereka dapat memberondong dan menghindar secara kebetulan. Semoga ini membantu.

Kaliber64
sumber
+1 Ini adalah solusi yang sangat sederhana, namun tetap layak & efisien. Kebetulan, akankah Anda tahu jika sistem seperti ini telah digunakan dalam gim komersial? :)
Miguel
Tidak, saya tidak. Saya berbicara dari sedikit pengalaman. Jadi jika ada gunanya, dan saya memikirkannya. Maka pasti saya bukan yang pertama. (Jika ada gunanya). N gerakan akan lebih pintar. Tapi lebih sulit.
Kaliber64