Adakah blog atau whitepaper yang direkomendasikan yang berbicara tentang membuat AI dalam game RPG terasa lebih nyata? (Khususnya pada pertempuran berbasis giliran.)
Saya tahu pasti ada sesuatu di luar sana, tetapi saya hanya menemukan makalah yang membahas tentang algoritma di belakang AI. Saya mencari lebih banyak di sepanjang baris "ini yang membuat lawan komputer merasa hidup". Mengambil risiko, mudah, mundur, dll ....
Begitu banyak jawaban yang luar biasa, dan saya berharap dapat menerima beberapa dari mereka. Terimakasih semuanya!
Jawaban:
Kesalahan. Tidak ada yang lebih buruk dari lawan AI yang dapat menyerang Anda dari jarak lima belas mil, atau selalu memilih strategi kemenangan yang sempurna. Itu merusak perendaman dan membuatnya jelas bahwa Anda memainkan rutinitas. Kesalahan bisa membuat AI tampak lebih manusiawi.
Banyak game FPS memaksa AI untuk kehilangan dengan beberapa tembakan pertamanya, memperingatkan pemain bahwa AI ada di sana, sebelum pergi untuk membunuh.
Permainan strategi kadang-kadang bisa memilih strategi sub-optimasi, atau ketika mengevaluasi ancaman mungkin sengaja mengabaikan sebagian dari mereka.
Sebuah game balapan yang saya kerjakan dihitung ketika pemain berada di dekatnya, dan kemudian melempar dadu untuk membuat mobil AI di depannya mengecilkan sudut atau meniup ban. Itu dipuji karena AI realistis.
Namun menciptakan AI yang tidak sempurna masih merupakan tantangan. Anda harus membuat kesalahan yang meyakinkan, pada tingkat yang meyakinkan, daripada melakukan tindakan sempurna setelah tindakan sempurna sampai membuat kesalahan konyol. Itu bisa lebih buruk daripada memainkan AI yang sempurna. Sebagai contoh, programmer yang bekerja pada AI balap di atas menghabiskan banyak waktu untuk memodelkan bagaimana mobil memahami, dan input apa yang perlu dibuat AI untuk menyebabkan understeer yang meyakinkan. Seperti biasa, tes bermain sangat penting.
Inilah artikel bagus tentang apa yang menyebabkan kesalahan semacam ini: http://www.gamasutra.com/view/feature/3947/intelligent_mistakes_how_to_.php
sumber
Yang lain berbicara tentang AI, logika, perencanaan, dan pentingnya membuat kesalahan. Dan semua ini baik dan bermanfaat dalam pengembangan AI.
Tetapi pertanyaannya adalah tentang apa yang membuat lawan komputer merasa hidup, dan itu tidak dapat dicapai melalui AI. Itu tidak benar. Pemain tidak menilai karakter dalam permainan berdasarkan pilihan tingkat strategis mereka; mereka menilai itu berdasarkan hal-hal yang jauh lebih kecil.
Untuk membuat lawan komputer merasa hidup, yang Anda butuhkan adalah serangkaian animasi dan suara berkualitas tinggi yang komprehensif (terutama vokal) untuk lawan. Pemain tidak bisa melihat AI. Dia tidak bisa mendengarnya, dia tidak bisa mengalaminya, dia tidak bisa tahu apa yang dipikirkan lawan. Penampilan "karakter ini adalah entitas yang hidup" disajikan kepada pemain sepenuhnya melalui animasi yang dimainkan pada karakter, dan suara yang dihasilkan oleh karakter (yang lagi-lagi sebagian besar akan menjadi vokal).
Penting bagi karakter untuk bereaksi terhadap rangsangan di sekitarnya; untuk melihat hal-hal di dekatnya, menyentuh benda-benda di dekatnya (saat yang tepat untuk melakukannya), untuk tampil kaget ketika terkejut, dan untuk menunjukkan emosi lain bila sesuai.
Ketika berbicara tentang hal-hal ini, penting untuk meminimalkan pengulangan. Jika karakter menggunakan animasi "serangan" yang sama setiap kali dia menyerang, dia tidak akan pernah merasa hidup. Jika dia memainkan animasi "idle" looping tunggal ketika dia tidak melakukan hal lain, dia tidak akan merasa hidup. Jika dia mengatakan suara yang sama menyindir dua kali (terutama berturut-turut), itu mematahkan ilusi bahwa karakter itu hidup.
Dan itu sudah cukup. Jika lawan yang Anda coba buat tampak hidup secara fisik hadir dalam permainan Anda, maka kesuksesan Anda dalam membuat mereka tampak hidup sebagian besar akan ditentukan oleh grafik dan suara yang ditunjukkan kepada pemain.
Jika lawan yang Anda coba buat tampak "hidup" sebenarnya tidak ada dalam permainan, seperti halnya dalam Catur dan StarCraft, maka silakan abaikan balasan ini; taruhan terbaik Anda adalah mengikuti balasan yang berfokus pada AI.
sumber
Berikut daftar beberapa konsep sederhana yang dapat membuat lawan Anda lebih jelas:
Intent
Berikan pemain beberapa cara meramalkan 'niat' AI. Ini bisa sesederhana meminta mereka meneriakkan "Kuantitas atas Kualitas" sebelum mencoba serangan headshot yang akurat, "Mengapitnya" ketika mencoba untuk mendukung Anda, atau "Ambil pemimpin, tidak ada yang penting" sebelum menyerang protagonis. Anda juga bisa menjadi lebih kompleks, misalnya, minta mereka memberikan bahasa isyarat kepada rekan satu tim mereka, lalu ubah perilaku rekan satu tim itu.
Keputusasaan
Saat lawan semakin mendekati kematian, Anda bisa memberi mereka rasa putus asa. Ubah taktik mereka pada tonggak kesehatan tertentu. Jadikan tahap-tahap mereka lebih panik, dengan mengambil risiko yang lebih besar di pihak mereka (pergi untuk hujan es, daripada memperlambat chipping). Komunikasikan ini secara visual juga (animasi yang berlebihan, urat nadi, dll.).
Pergilah dengan Bang.
Beri mereka kematian yang membuat perkelahian dengan mereka sesuatu yang layak diulang. Mendengus ke atas dengan bersemangat. Atasan soliloquize. Jika itu adalah karakter yang bangga, buatlah mereka menolak untuk memberi Anda pembunuhan, dan menangani kerusakan terakhir pada diri mereka sendiri. Anda mengerti maksudnya.
sumber
Saya sangat merekomendasikan google IO talk ini tentang google doodle pacman. Pada cca 18:00 mereka mulai berbicara tentang kepribadian hantu di pacman. Ini benar-benar mengejutkan betapa sederhananya Anda dapat menempatkan kepribadian ke dalam pencarian jalan yang sederhana.
Google I / O 2011: Rahasia Google Pac-Man: Pertunjukan Game
Seluruh video layak ditonton. Saya sangat merekomendasikannya.
sumber
Saya tidak tahu tentang blog semacam itu, tetapi karena RPG berbasis giliran taktis adalah genre favorit kedua saya setelah roguelikes, saya akan menulis posting blog untuk Anda. Dari pengalaman saya, itu bukan kesulitan AI taktis dalam RPG atau RTS yang sering membuat saya pergi, tetapi kebalikannya: AI benar-benar rabun dan tidak adanya keputusan tim. Manusia tidak akan pernah bermain seperti ini.
Saat itu, ketika saya masih memandang JRPG sebagai puncak dari desain game, saya pernah mencoba membuat "TRPG khas Jepang" dengan fokus besar pada pertempuran taktis berbasis giliran seperti Final Fantasy Tactics. Seperti biasa, itu hanya menjadi demo teknologi untuk merintis jalan dan AI, jadi saya akan membagikan pemikiran saya tentang masalah ini.
Sebagian besar TRPG ini tidak terlalu peduli dengan AI. Kesenangan pemain di luar sana bukan berasal dari tantangan taktis atau strategi yang kompleks, tetapi dari pertanian umum dan penyalahgunaan AI dengan cara yang lucu. Jadi tidak masalah bahwa AI mereka melakukan hal-hal yang tidak akan pernah dilakukan manusia. Biasanya cukup untuk memiliki AI bodoh dan menyeimbangkannya dengan desain game sehingga tidak perlu melihat lebih dari satu gerakan di muka dan hanya menggunakan gerakan jangka pendek terbaik. Tentu saja tidak pernah terasa nyata, tetapi siapa yang peduli? Ini hanya terasa salah, saya ingin percaya bahwa adalah mungkin untuk membuat kesenangan berdasarkan pada aksi AI yang kompleks dan bukannya bertani dan melakukan steamrolling. Mungkin tidak perlu, dan juga memakan waktu, tetapi mungkin.
Mengingat Final Fantasy Tactics asli dan mod hardcore FFT 1.3, saya menetapkan tujuan berikut untuk manusia-suka dan menyenangkan untuk bermain AI:
Saya berpikir bahwa saya akan menangani # 1 dengan perilaku yang muncul, # 2 dengan kepribadian yang berbeda dan pilihan strategi "semi-acak" seperti manusia, # 3 dengan menjaga pengkodean seminimal mungkin dan pengujian yang cermat.
Jadi apa perilaku yang saya bicarakan ini, apakah ini urutan kemampuan yang dapat digunakan? Kemampuan teratas dari daftar tertimbang? Tidak, yang ada dalam pikiran saya adalah kombinasi dari kecerdasan yang diinginkan , tipe kepribadian dan peran yang berasal dari kemampuan dan senjata yang tersedia saat ini. Anda dapat menggambarkan kombinasi ini sebagai "dealer kerusakan bodoh berserking" atau "penyembuh defensif pintar". Jadi spesialisasi AI, seperti kelas atau profesi, misalnya Archer AI yang menggunakan busur untuk menembakkan panah dengan beberapa set combo kemampuan pemanah generik yang telah ditentukan sebelumnya seperti Take Aim atau Arrow Shower, menjadi muncul secara logis alih-alih dengan kode keras.
Pada dasarnya, penting untuk mendeteksi dan beroperasi pada peran-peran ini: dealer kerusakan, kerusakan soaker, disabler, skirmisher, penyembuh, penyangga / debuffer, area efek; biasanya, satu karakter akan melakukan setidaknya dua peran ini.
Untuk membuat taktik ini menyenangkan, kami ingin perilaku menangani beberapa kasus dengan solid:
Kasing paling sederhana. Banyak goblin yang lemah menyergap pahlawan kita. Ancaman yang dirasakan sudah jelas, goblin akan mencoba membanjiri pemain dengan setiap goblin memiliki kepribadian mengamuk bodoh dengan beberapa kemampuan jarak dekat primitif, kelemahan yang dirasakan juga jelas, seperti memancing goblin ke karakter lapis baja dan tahan api, kemudian melemparkan serangkaian api mantra AoE berbasis di arah umum itu. Temukan soaker perusak, temukan AoE'er, khususkan perusak kerusakan untuk tipe kerusakan AoE'er, kirim perusak kerusakan ke massa goblin, gunakan mantra AoE yang merusak ketika goblin berkelompok di sekitarnya.
Kasus biasa untuk menguji interaksi tim yang sederhana. Pemain bertemu seorang ksatria, seorang pemanah, seorang penyihir dan seorang ulama. Ancaman yang dirasakan sekarang lebih kompleks, berbagai interaksi menjadi tersedia. Anda sudah dapat melihat kemungkinan peran dan kombinasinya. Cleric akan buff dan menyembuhkan, mage akan mengeluarkan hal-hal sihir yang rumit tapi sangat merusak, knight akan menagih seseorang atau membela mage, archer akan membantu knight dengan menembakkan mereka yang mencoba melarikan diri darinya atau membuat strategi pertahanannya lebih sempurna, ini akan tergantung pada pilihan knight. Kepribadian untuk musuh dapat diputuskan secara acak mengubah pertemuan yang sama menjadi pengalaman unik. Pemain harus memutuskan apa strategi terbaik dengan unit yang dia miliki saat ini, dan jika AI akan mencoba melakukan hal yang sama di sisi lain layar, itu akan menarik.
Kasus kompleks untuk menguji interaksi tim dan perencanaan strategis. Ada pertempuran di mana Anda menghadapi geng empat assasins (dealer kerusakan yang cermat + skirmisher). Sedikit jumlahnya, dengan penampilan mengancam, anggapan ancaman mereka terletak pada serangan yang terampil dan mematikan, dan kelemahan yang dirasakan adalah mudah untuk mengurangi kekuatan keseluruhan dengan hanya satu pembunuh terbunuh. Jadi secara alami mereka pintar, mereka menggunakan kemampuan yang bekerja dengan baik satu sama lain dan dapat memfokuskan karakter pemain yang paling berbahaya; orang-orang yang terluka parah mundur, sembuhkan dan gosok diri mereka sendiri untuk bergabung kembali dalam pertempuran. Tentunya, pemain akan mencoba untuk mem-nuke salah satu dari mereka terlebih dahulu, dan para assasin harus melakukan soft-counter strategi yang mudah ini, sehingga itu akan menjadi kurang dominan.
Hard case untuk banyak strategi. Ada beberapa regu musuh dengan masing-masing pemimpin regu memutuskan gerakan taktis lokal terbaik, dan kemudian keputusan strategis global terbaik dipilih untuk menguntungkan semua regu.
Kasus tidak mungkin. Tambahkan seorang jenderal untuk memutuskan strategi, dan mintalah para pemimpin pasukan menerapkannya sebaik mungkin.
Sudah banyak surat, ceritanya panjang, implementasi berantakan dan saya tidak pernah melewati "kasus sulit", tetapi bahkan kemudian pendekatan taktik yang menyenangkan ini terasa bisa dilakukan. Saya mulai dengan FSM tetapi harus meninggalkan pendekatan itu dengan cepat, itu menjadi kekacauan keadaan yang terjerat dan transisi yang tidak mungkin dilakukan debug. Setelah beberapa saat saya puas dengan karakter berbasis kemampuan semi-otonom persepsi seperti dalam paradigma "akal-berpikir-bertindak" dengan pohon perilaku untuk tindakan individu yang mungkin, strategi global yang mempengaruhi tindakan tim yang mungkin didasarkan pada tindakan individu yang mungkin, juga versi sesuatu yang terbastardisasi dari sesuatu seperti prediksi statistik N-Gram dilemparkan ke dalam.
Bagaimana cara kerjanya? Anehnya, AI bahkan membaca pikiran saya beberapa kali, tetapi saya menjadi lelah dan meninggalkannya karena ada lebih dari cukup kelemahan meyakinkan:
Saya kira pendekatan saya biasa-biasa saja di terbaik, jika tidak langsung buruk, dan AI buggy dan sakit di pantat untuk mengembangkan lebih lanjut, tetapi bahkan kemudian saya memiliki waktu yang sangat menyenangkan bermain melawannya, hampir seolah-olah bermain dengan anak yang terganggu, yang masih lebih baik dari Tactics Ogre :)
sumber
Jangan selalu membuatnya merespons tindakan X Anda dengan tindakan Y. Saat Anda mengevaluasi setiap tindakan potensial, tambahkan faktor fudge acak sehingga AI tidak selalu memilih opsi yang sama tetapi memilih sesuatu yang masuk akal.
Mengevaluasi jika serangan memiliki peluang yang masuk akal untuk berhasil atau setidaknya melakukan kerusakan yang berarti. Terlalu banyak gim yang memiliki skrip serangan yang bisa dipelajari dan digunakan manusia untuk menyergap AI berulang-ulang.
sumber
Satu hal yang saya lihat menyarankan banyak adalah memiliki AI menyampaikan "pikiran" kepada pemain dalam beberapa cara. Hal ini sering dilakukan pada penembak orang pertama dengan membuat musuh (tidak realistis) meneriakkan rencana mereka kepada pemain (yaitu, "panggil dia!", "Dia ada di sana!", Dll.).
Pada akhirnya, pemain tahu mereka bermain melawan AI, jadi apa pun yang cerdas yang dilakukan AI tanpa terlebih dahulu memberi tahu pemain bisa dianggap sebagai kecurangan.
sumber
Seringkali, kita berpikir tentang "bagaimana kita menciptakan AI?"
Itu melewatkan pertanyaan besar, "Apa itu AI?"
Pembicaraan dari TED.com ini yang saya tonton beberapa tahun yang lalu, berbagi pendekatan yang sangat inspiratif dengan definisi Artificial Intelligent.
Jika Anda ingin pemain Anda merasa bahwa musuh "cerdas" maka ini akan memberikan jawaban tingkat tinggi, dan pada dasarnya cara berpikir baru tentang AI, yang merupakan "kemampuan untuk memprediksi"
http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html
sumber
Bagi saya, "merasa hidup" berarti bahwa karakter itu bertindak seperti yang Anda pikirkan dalam kehidupan nyata.
Orang-orang dalam kehidupan nyata memiliki kebutuhan, motivasi, ketakutan, kekurangan. Mereka berbicara, mereka bereaksi satu sama lain jika itu adalah kelompok, mereka melarikan diri karena mereka peduli dengan kehidupan mereka sendiri.
Jika mereka militer atau terlatih, mereka punya taktik.
Jadi mungkin Anda harus memeriksa di bidang perilaku manusia, jadi dalam ilmu manusia, bukan dalam ilmu komputer.
sumber