Apakah konsep 'Pure AI' tingkat tinggi (seperti Neural-Nets atau Genetic Algos) pernah berhasil diimplementasikan dalam permainan komersial?

18

Meskipun grafis adalah area fokus utama saya, saya sudah mencoba-coba konsep Game AI untuk beberapa waktu sekarang; dari pencarian jalur A * sederhana hingga Perceptrons yang rumit ..

Pertanyaan saya adalah ini; Adakah yang punya contoh implementasi yang sukses (atau mungkin lebih menarik, gagal) dari beberapa konsep AI tingkat tinggi dalam judul komersial berskala besar?

Dengan level yang lebih tinggi, maksud saya metode simulasi kecerdasan yang biasanya ditemukan di AI Murni .. Misalnya ..

  • Jaringan Saraf Tiruan
  • Algoritma Genetika
  • Teori Keputusan

Saya mengerti bahwa selain anggaran keuangan, pengembang juga memiliki anggaran penggunaan memori (dengan AI sering mengambil kursi belakang). Banyak dari metode ini mahal untuk diterapkan dan memberikan pengembalian terbatas .. Saya hanya tertarik untuk mengetahui apakah ada yang tahu di mana atau kapan semua ini (atau konsep tingkat tinggi lainnya yang saya lupa sebutkan) telah digunakan di ada game terkenal :)

Saya juga tahu bahwa dalam industri ini, rahasia dagang adalah fakta kehidupan;) Selain dari gelar AAA, jika Anda memiliki kisah sukses Anda sendiri (atau bencana), akan menyenangkan untuk mendengarnya! : D

Bluestone
sumber

Jawaban:

18

Secara umum, jaringan saraf dan algoritma genetika tidak digunakan dalam permainan, dan terlepas dari minat baru-baru ini dalam menggunakan jaring saraf untuk pembelajaran yang mendalam, tidak sering di luar permainan juga.

Alasan utama ini diajarkan di akademi AI bukan karena penerapan praktis mereka tetapi karena mereka cukup mudah untuk dijelaskan sebagai alat pengajaran - keduanya memiliki analog matematika dan biologis yang memungkinkan siswa untuk memahami bagaimana mereka bisa bekerja.

Di dunia nyata, Anda biasanya membutuhkan keandalan dan kepastian. Masalah dengan metode pembelajaran adalah bahwa jika mereka belajar 'di alam liar' maka mereka dapat mempelajari pola yang salah dan tidak dapat diandalkan. NN atau GA dapat berpotensi mencapai maksimum lokal yang tidak dijamin cukup baik untuk memberikan pengalaman bermain yang diperlukan, misalnya. Di lain waktu, itu mungkin berakhir menjadi terlalu baik, menemukan strategi sempurna yang tidak ada duanya. Baik diinginkan di sebagian besar produk hiburan.

Bahkan jika Anda berlatih secara offline (mis. Sebelum peluncuran, dan bukan saat bermain game), kumpulan data yang kelihatannya bagus bisa menyembunyikan anomali yang, setelah ditemukan oleh pemain, mudah dieksploitasi. Suatu jaringan saraf khususnya secara khusus mengembangkan seperangkat bobot yang cukup buram untuk dipelajari, dan keputusan yang dibuat olehnya sulit untuk dipikirkan. Akan sulit bagi seorang perancang untuk men-tweak rutin AI seperti itu untuk melakukan yang diinginkan.

Tapi mungkin masalah yang paling memberatkan adalah bahwa GA dan NN umumnya bukan alat terbaik untuk tugas pengembangan game apa pun. Sementara alat pengajaran yang baik, siapa pun dengan pengetahuan yang cukup tentang domain subjek umumnya lebih siap untuk menggunakan metode yang berbeda untuk mencapai hasil yang sama. Ini bisa berupa apa saja dari teknik AI lain seperti mendukung mesin vektor atau pohon perilaku hingga pendekatan yang lebih sederhana seperti mesin negara atau bahkan rantai panjang persyaratan-jika-maka. Pendekatan-pendekatan ini cenderung memanfaatkan pengetahuan domain pengembang dengan lebih baik dan lebih dapat diandalkan dan dapat diprediksi daripada metode pembelajaran.

Namun saya telah mendengar bahwa beberapa pengembang telah menggunakan jaringan saraf selama pengembangan untuk melatih pengemudi untuk menemukan rute yang baik di sekitar arena pacuan kuda, dan kemudian rute ini kemudian dapat dikirim sebagai bagian dari permainan. Perhatikan bahwa permainan terakhir tidak memerlukan kode jaringan saraf untuk berfungsi, bahkan jaring yang terlatih.

'Biaya' metode ini sebenarnya bukan masalah, kebetulan. Baik NN dan GAS dapat diimplementasikan dengan sangat murah, dengan NN secara khusus meminjamkan dirinya untuk pra-perhitungan dan optimisasi. Masalahnya adalah benar-benar bisa mendapatkan sesuatu yang bermanfaat dari mereka.

Kylotan
sumber
3
Di luar permainan, GAS telah sangat berhasil menghasilkan solusi esoterik untuk masalah teknik, misalnya penelitian awal Dr. Adrian Thompson tentang sirkuit genetik yang menghasilkan sub-sirkuit "tidak berguna" yang memengaruhi fluks sedemikian rupa untuk membuat sisanya bekerja. Masalahnya adalah bahwa solusi esoterik yang efektif tidak bernilai dalam game seperti dalam rekayasa. Masalah yang sangat sulit dari game AI adalah membuat AI memiliki strategi yang komprehensif, tidak hanya bermain dengan baik.
4
Saya telah menggunakan GA untuk menyetel variabel driver AI. Tetapi seperti yang Anda sebutkan ini dilakukan secara offline dengan alat untuk menghasilkan data tuning. Gim ini tidak dikirim dengan GA aktif, hanya angka yang diperoleh selama pengembangan.
wkerslake
@ Jo - Ya, saya suka GAS sendiri. Saya pikir mereka adalah cara yang cukup efektif untuk mengeksplorasi ruang masalah dengan cara yang cukup intuitif bagi orang yang mengutak-atik algoritma. Saya juga telah menggunakannya untuk pengambilan keputusan secara real-time, tetapi sulit untuk mengatakan bahwa mereka lebih efisien atau lebih efektif daripada alternatif.
Kylotan
+1 untuk pengetahuan domain. Juga jangan mengabaikan kasus bisnis: Berminggu-minggu waktu programmer untuk membuat dan menyetel dan mempertahankan jalur balap NN bisa lebih hemat biaya daripada alat max sederhana untuk meletakkan spline dan beberapa hari waktu desainer.
tenpn
Masalahnya adalah lebih untuk mempelajari sesuatu yang berguna, Anda membutuhkan jaring saraf besar yang membutuhkan banyak daya komputasi. Jika Anda memiliki jaring kecil, itu murah untuk dilatih seperti yang Anda katakan, tetapi tidak memiliki kesempatan untuk belajar perilaku canggih. Masalah lain yang saya lihat adalah bahwa Anda membutuhkan sejumlah besar contoh pelatihan untuk ML, jadi Anda tidak bisa berlatih selama permainan karena butuh terlalu lama bagi musuh untuk menjadi pintar. Di sisi lain, penguatan Q-learning terlihat seperti teknik yang bagus untuk itu. Trik hanya akan bekerja sekali terhadap AI ini. Saya tidak yakin apakah game telah menggunakan itu.
danijar
7

Aplikasi AI "akademik" dalam game cenderung jauh lebih halus daripada jenis hal yang biasanya dianggap sebagai AI dalam lingkup game. Banyak fokus profesor AI Game saya ketika saya masih di sekolah adalah AI untuk kontrol kamera. Bidang minatnya yang lain adalah manajemen naratif AI yang sejauh yang saya tahu masih terbatas pada akademisi. Contoh penting dari bidang ini nanti adalah fasad .

Masalah utama untuk AI "akademik", dalam game, adalah mereka menyelesaikan masalah yang berbeda. Anda sering tidak ingin memenuhi persyaratan, dalam game; Anda hanya ingin memuaskan. Seperti yang telah dikatakan sebelumnya: Anda tidak ingin mudah, tetapi Anda juga tidak ingin lawan AI Anda menjadi terlalu sulit.

Yang sedang berkata, seri game Black and White Lionhead memang menggunakan AI mirip dengan apa yang Anda bicarakan dengan pertanyaan di atas dan setidaknya cukup berhasil bagi mereka untuk membuat sekuel .

Saya ingat laporan AI yang berseri-seri dari "The Elder Scrolls IV: Oblivion ' menjadi contoh dari perilaku ini pada awalnya juga, tetapi itu harus dikalahkan karena perilaku aneh yang tidak terduga seperti NPC saling membunuh satu sama lain karena makanan.

lathomas64
sumber
GA juga digunakan dalam seri makhluk: en.wikipedia.org/wiki/Creatures_(artificial_life_program) tetapi tidak sesukses yang hitam dan putih yang disebutkan sebelumnya atau
terlupakan
Terima kasih atas jawabannya .. Sangat menarik karena Anda menyebutkan betapa keseimbangan dalam Game AI sangat penting, karena dengan hampir setiap aspek pengembangan game, itu harus menyenangkan sebelum realistis / dapat dipercaya. AI yang terlalu 'pintar' sama sekali tidak menyenangkan, tidak ada yang suka smart-alec :)
Bluestone
1

Mereka sulit di-debug, jadi kesalahan (mungkin disebabkan oleh optimasi yang tidak disengaja) tidak dapat diperbaiki dengan mudah. Karena itu, setiap jaringan saraf yang menggunakannya, game harus belajar secara real time selama bermain game. Namun, mereka telah digunakan, misalnya game NERO.

Lucas
sumber
1

Karena Anda meminta contoh dalam industri, inilah salah satu untuk Anda: Judul paling awal yang saya tahu tentang jaringan saraf yang digunakan adalah Fantasy Empires, sebuah permainan D & D TBS / aksi yang dirilis tahun 1993. Rupanya mereka menggunakan ini untuk menggerakkan apa yang akan dikatakan oleh tokoh utama penjara bawah tanah dan lakukan dengan cara "cerdas" tetapi "tidak dapat diprediksi" ... jika Anda sering memainkan permainan, Anda mungkin tidak setuju! Sosok utama dungeon animasi menawarkan panduan tentang gaya permainan Anda, berdasarkan tindakan Anda saat ini, dari kumpulan gigitan suara statis, menggunakan NN. Saya menganggap itu memang jaringan yang sangat sederhana.

(lihat halaman 57 manual untuk detail)

masukkan deskripsi gambar di sini

Insinyur
sumber
Ini mungkin contoh yang menarik, tetapi bagi seseorang yang belum memainkan permainan ini tidak banyak membantu. Bisakah Anda menguraikan mekanika permainan apa yang dikontrol oleh jaringan saraf, seperti apa niatnya dan memberikan beberapa contoh hasil baik dan buruk yang dihasilkannya?
Philipp
@ Pilip Poin Anda sepatutnya dicatat - ETA. Hasilnya tidak terlalu "buruk" hanya karena sifat analog jaring saraf tampaknya terbuang sia-sia untuk serangkaian tindakan keluaran yang sangat terbatas.
Insinyur