Ketika
mendiskusikan evolusi kecerdasan buatan dalam permainan komputer, salah satu
pasti harus menyebutkan game yang telah berubah menjadi tonggak dalam
pengembangan perilaku cerdas dalam permainan.
Salah satu permainan yang paling populer tahun 1990-an adalah Warcraft - game
yang dikembangkan oleh studio Blizzard. Ini adalah pertandingan pertama yang
menggunakan algoritma jalur-menemukan pada skala besar seperti, ratusan unit
dalam permainan terlibat dalam pertempuran besar. SimCity, dibuat oleh perusahaan
Maxis, adalah pertandingan pertama untuk membuktikan kelayakan menggunakan
teknologi A-Life di bidang game komputer. Tonggak lain ternyata menjadi
permainan Black & White, yang diciptakan pada tahun 2001 oleh Lionhead
Studios, di mana teknologi pembelajaran karakter 'yang dikendalikan komputer
digunakan untuk pertama kalinya.
AI di FPS-jenis Game
FPS-jenis game biasanya menerapkan struktur berlapis dari sistem kecerdasan
buatan. Lapisan terletak di bagian paling bawah menangani tugas yang paling
dasar, seperti menentukan jalur optimal untuk target (ditentukan oleh lapisan
yang lebih tinggi dalam hirarki) atau bermain urutan yang tepat dari karakter
animasi. Tingkat yang lebih tinggi bertanggung jawab untuk alasan taktis dan
memilih perilaku yang agen AI harus mengasumsikan sesuai dengan strategi yang
sekarang.
Sistem jalan-menemukan biasanya didasarkan pada grafik yang menggambarkan
dunia. Setiap simpul dari graf merupakan lokasi logis (seperti sebuah kamar di
gedung, atau sebuah fragmen dari medan perang). Ketika diperintahkan untuk
melakukan perjalanan ke suatu titik tertentu, agen AI memperoleh, menggunakan
grafik, navigasi berikutnya menunjuk itu berturut-turut harus kepala ke arah
untuk mencapai lokasi target yang ditentukan. Bergerak antara titik navigasi,
sistem AI juga dapat menggunakan jalur lokal yang memungkinkan untuk menentukan
jalur yang tepat antara dua titik navigasi, serta untuk menghindari dinamis
muncul hambatan.
Sistem animasi memainkan urutan yang tepat dari animasi pada kecepatan yang
dipilih. Hal ini juga harus dapat memainkan urutan animasi yang berbeda untuk
bagian tubuh yang berbeda: misalnya, seorang prajurit dapat berjalan dan
bertujuan musuh, dan menembak dan reload senjata sementara masih berjalan.
Permainan semacam ini sering menggunakan sistem kinematika terbalik. Sebuah
sistem animasi IK tepat dapat menghitung parameter lengan posisi animasi
sehingga tangan bisa ambil objek yang terletak di, misalnya, meja atau rak.
Tugas modul dari lapisan yang lebih tinggi adalah memilih perilaku yang sesuai
untuk situasi - misalnya, apakah agen harus patroli daerah, masukkan tempur,
atau dijalankan melalui peta mencari lawan.
Setelah sistem AI telah memutuskan mana perilaku yang paling tepat untuk
situasi tertentu, modul-tingkat yang lebih rendah harus memilih taktik terbaik
untuk memenuhi tugas itu. Memiliki informasi yang diterima bahwa agen harus,
misalnya, melawan, ia mencoba untuk menentukan pendekatan yang terbaik saat ini
- misalnya, apakah kita harus menyelinap pada lawan, bersembunyi di sudut dan
menunggu lawan untuk menyajikan target itu sendiri, atau mungkin hanya
menjalankan padanya, menembak membabi buta.
AI di RTS-jenis Game
Dalam RTS-jenis permainan, adalah mungkin untuk membedakan beberapa modul dari
sistem kecerdasan buatan dan struktur berlapis. Salah satu modul dasar adalah
jalan-menemukan sistem yang efektif - kadang-kadang, ia harus menemukan solusi
gerakan ratusan unit pada peta, dalam hitungan detik - dan ada yang lebih dari
sekedar mencari jalan dari titik A ke titik B, karena ini juga penting untuk
mendeteksi tabrakan dan menangani unit di medan perang menghindari satu sama
lain. Algoritma tersebut biasanya didasarkan pada peta permainan yang diwakili
oleh kotak persegi panjang, dengan mesh yang mewakili elemen tetap berukuran
daerah. Pada tingkat yang lebih tinggi dari hirarki sistem AI, ada modul
bertanggung jawab untuk ekonomi, pembangunan atau, sangat penting, modul untuk
menganalisis peta permainan. Ini adalah modul yang menganalisis sifat dari
medan, dan penyelesaian dibangun berdasarkan pada penilaian, misalnya, apakah
pemukiman terletak di sebuah pulau, sehingga membutuhkan tekanan yang lebih
tinggi untuk membangun angkatan laut. Medan analyzer memutuskan kapan kota
harus dibangun dan bagaimana benteng harus ditempatkan.
Gambar 1. Representasi dunia dalam RTS-jenis permainan
Gambar 2. Representasi dunia dalam FPS-jenis permainan
AI di Olahraga Permainan
Pada dasarnya, dalam kasus yang paling permainan olahraga, kita berhadapan dengan skala besar kecurangan. Ambil game balap mobil, misalnya. Untuk kebutuhan AI, dari geometri peta permainan, hanya dan hanya poligon milik melacak lawan yang dikendalikan komputer harus melakukan perjalanan dan mendapatkan dibedakan. Dua kurva kemudian ditandai pada track yang: pertama merupakan lagu berkendara yang optimal, kedua - lagu yang digunakan saat menyalip lawan. Seluruh lagu akan dibagi menjadi sektor tepat kecil dan, memiliki parameter yang diambil dari permukaan ke rekening, setiap elemen dari jalur perpecahan akan panjangnya dihitung. Mereka fragmen kemudian digunakan untuk membangun grafik yang menggambarkan trek, dan untuk mendapatkan karakteristik jalan di sekitar terdekat kendaraan. Akibatnya, komputer tahu itu harus memperlambat karena itu mendekati kurva, atau tahu bahwa itu mendekati persimpangan dan dapat, misalnya, mengambil jalan pintas. Dua atribut penting dari sistem Artificial Intelligence dalam permainan tersebut mampu menganalisis medan untuk mendeteksi rintangan tergeletak di jalan, dan kerjasama ketat dengan modul fisika. Modul fisika dapat memberikan informasi bahwa mobil meluncur, setelah menerima yang sistem Artificial Intelligence harus bereaksi dengan tepat dan mencoba untuk mendapatkan traksi kendaraan kembali di bawah kontrol.
Pada dasarnya, dalam kasus yang paling permainan olahraga, kita berhadapan dengan skala besar kecurangan. Ambil game balap mobil, misalnya. Untuk kebutuhan AI, dari geometri peta permainan, hanya dan hanya poligon milik melacak lawan yang dikendalikan komputer harus melakukan perjalanan dan mendapatkan dibedakan. Dua kurva kemudian ditandai pada track yang: pertama merupakan lagu berkendara yang optimal, kedua - lagu yang digunakan saat menyalip lawan. Seluruh lagu akan dibagi menjadi sektor tepat kecil dan, memiliki parameter yang diambil dari permukaan ke rekening, setiap elemen dari jalur perpecahan akan panjangnya dihitung. Mereka fragmen kemudian digunakan untuk membangun grafik yang menggambarkan trek, dan untuk mendapatkan karakteristik jalan di sekitar terdekat kendaraan. Akibatnya, komputer tahu itu harus memperlambat karena itu mendekati kurva, atau tahu bahwa itu mendekati persimpangan dan dapat, misalnya, mengambil jalan pintas. Dua atribut penting dari sistem Artificial Intelligence dalam permainan tersebut mampu menganalisis medan untuk mendeteksi rintangan tergeletak di jalan, dan kerjasama ketat dengan modul fisika. Modul fisika dapat memberikan informasi bahwa mobil meluncur, setelah menerima yang sistem Artificial Intelligence harus bereaksi dengan tepat dan mencoba untuk mendapatkan traksi kendaraan kembali di bawah kontrol.
Gambar 3. Metode presentasi realitas dalam lomba mobil (segmentasi dan optimalisasi trek)
Gambar 4. Metode presentasi realitas dalam lomba mobil
Kecurangan serupa juga dapat ditemukan dalam permainan olahraga lainnya. Dalam kebanyakan kasus, pemain yang dikendalikan komputer memiliki perilaku yang lengkap ditentukan bahkan sebelum awal gilirannya - artinya, akan, misalnya, jatuh ketika mendarat (akrobat, ski dll melompat), memiliki kecepatan yang salah, mulai palsu dll Selain itu, dalam permainan simulasi olahraga dengan skor oleh hakim, skor yang dihasilkan sesuai dengan aturan yang ditetapkan oleh badan olahraga yang tepat.
Skenario yang telah ditetapkan dari pemain yang dikendalikan komputer kemudian bertindak oleh sistem animasi karakter.
Paling Populer AI Algoritma di Game Komputer
Pada bagian berikut dari artikel ini, saya ingin membahas dua algoritma yang paling populer digunakan dalam permainan komputer pemrograman. Memiliki pengetahuan tentang mereka, satu berhasil dapat merancang sebuah sistem kecerdasan buatan yang sederhana memenuhi kebutuhan sederhana FPS atau game RTS. Yang pertama dari dua adalah algoritma A-Star, yang digunakan dalam melakukan pencarian cepat untuk jalur optimal yang menghubungkan dua titik di peta (grafik) dari permainan. Yang lainnya adalah mesin yang terbatas negara, berguna, misalnya, dalam mempersiapkan skenario perilaku untuk lawan yang dikendalikan komputer, biasanya mendelegasikan tugas-tingkat rendah ke modul jalan-menemukan.
A Algoritma *
Masalah menemukan cara dari titik A ke titik B pada peta adalah masalah utama di hampir semua game komputer (mungkin tidak termasuk permainan olahraga tertentu dan beberapa jenis permainan yang dapat dihitung dengan menggunakan angka satu tangan). Pada saat yang sama, algoritma dari kelompok ini termasuk ke dalam tingkat yang lebih rendah dari AI game ', melayani sebagai dasar untuk membangun jenis yang lebih rumit dan lebih cerdas dari perilaku, seperti perencanaan strategis, bergerak dalam formasi atau kelompok, dan banyak lainnya. Masalah ini telah dievaluasi secara menyeluruh dalam dunia game komputer, dengan satu algoritma - A * - telah menjadi standar masa kini.
Representasi Dunia Game
Dunia hampir semua game komputer dapat diwakili dengan grafik, bentuk tergantung pada jenis permainan. Dalam RTS-jenis permainan, dunia biasanya diwakili oleh array dua dimensi, masing-masing elemen sesuai dengan fragmen peta persegi panjang permainan dunia. Setiap elemen (kecuali yang batas) memiliki delapan tetangga. Menggunakan representasi seperti dunia RTS, kita dapat membangun sebuah grafik di mana setiap elemen array 2D akan berhubungan dengan dengan salah satu simpul dari grafik. Tepi grafik (biasanya ini hanya antara tetangga terdekat) menggambarkan kemungkinan (atau ketiadaan) bergerak dari salah satu elemen dari peta untuk elemen tetangga. Dalam strategi real-time, kita biasanya menetapkan satu simpul dari grafik ke suatu daerah unit terkecil dalam permainan bisa masuk ke dalam.
Dalam FPS-jenis permainan, simpul dari grafik biasanya lokasi / kamar, dengan simpul grafik ini yang menunjukkan adanya hubungan langsung antara dua kamar.
Memilih Algoritma
Ada banyak algoritma untuk menemukan jalan yang optimal dalam grafik. Yang paling sederhana dari algoritma tersebut, biasa disebut api di padang rumput, bekerja dengan membangun lingkaran berturut-turut di sekitar titik awal, dengan setiap langkah dari algoritma membangun lain, lingkaran yang lebih luas. Lingkaran berturut-turut dan elemen milik mereka ditugaskan lebih besar dan lebih besar indeks. Seperti yang dapat dilihat pada Gambar 5, lingkaran dengan indeks 4 melewati titik target kami.
Kecurangan serupa juga dapat ditemukan dalam permainan olahraga lainnya. Dalam kebanyakan kasus, pemain yang dikendalikan komputer memiliki perilaku yang lengkap ditentukan bahkan sebelum awal gilirannya - artinya, akan, misalnya, jatuh ketika mendarat (akrobat, ski dll melompat), memiliki kecepatan yang salah, mulai palsu dll Selain itu, dalam permainan simulasi olahraga dengan skor oleh hakim, skor yang dihasilkan sesuai dengan aturan yang ditetapkan oleh badan olahraga yang tepat.
Skenario yang telah ditetapkan dari pemain yang dikendalikan komputer kemudian bertindak oleh sistem animasi karakter.
Paling Populer AI Algoritma di Game Komputer
Pada bagian berikut dari artikel ini, saya ingin membahas dua algoritma yang paling populer digunakan dalam permainan komputer pemrograman. Memiliki pengetahuan tentang mereka, satu berhasil dapat merancang sebuah sistem kecerdasan buatan yang sederhana memenuhi kebutuhan sederhana FPS atau game RTS. Yang pertama dari dua adalah algoritma A-Star, yang digunakan dalam melakukan pencarian cepat untuk jalur optimal yang menghubungkan dua titik di peta (grafik) dari permainan. Yang lainnya adalah mesin yang terbatas negara, berguna, misalnya, dalam mempersiapkan skenario perilaku untuk lawan yang dikendalikan komputer, biasanya mendelegasikan tugas-tingkat rendah ke modul jalan-menemukan.
A Algoritma *
Masalah menemukan cara dari titik A ke titik B pada peta adalah masalah utama di hampir semua game komputer (mungkin tidak termasuk permainan olahraga tertentu dan beberapa jenis permainan yang dapat dihitung dengan menggunakan angka satu tangan). Pada saat yang sama, algoritma dari kelompok ini termasuk ke dalam tingkat yang lebih rendah dari AI game ', melayani sebagai dasar untuk membangun jenis yang lebih rumit dan lebih cerdas dari perilaku, seperti perencanaan strategis, bergerak dalam formasi atau kelompok, dan banyak lainnya. Masalah ini telah dievaluasi secara menyeluruh dalam dunia game komputer, dengan satu algoritma - A * - telah menjadi standar masa kini.
Representasi Dunia Game
Dunia hampir semua game komputer dapat diwakili dengan grafik, bentuk tergantung pada jenis permainan. Dalam RTS-jenis permainan, dunia biasanya diwakili oleh array dua dimensi, masing-masing elemen sesuai dengan fragmen peta persegi panjang permainan dunia. Setiap elemen (kecuali yang batas) memiliki delapan tetangga. Menggunakan representasi seperti dunia RTS, kita dapat membangun sebuah grafik di mana setiap elemen array 2D akan berhubungan dengan dengan salah satu simpul dari grafik. Tepi grafik (biasanya ini hanya antara tetangga terdekat) menggambarkan kemungkinan (atau ketiadaan) bergerak dari salah satu elemen dari peta untuk elemen tetangga. Dalam strategi real-time, kita biasanya menetapkan satu simpul dari grafik ke suatu daerah unit terkecil dalam permainan bisa masuk ke dalam.
Dalam FPS-jenis permainan, simpul dari grafik biasanya lokasi / kamar, dengan simpul grafik ini yang menunjukkan adanya hubungan langsung antara dua kamar.
Memilih Algoritma
Ada banyak algoritma untuk menemukan jalan yang optimal dalam grafik. Yang paling sederhana dari algoritma tersebut, biasa disebut api di padang rumput, bekerja dengan membangun lingkaran berturut-turut di sekitar titik awal, dengan setiap langkah dari algoritma membangun lain, lingkaran yang lebih luas. Lingkaran berturut-turut dan elemen milik mereka ditugaskan lebih besar dan lebih besar indeks. Seperti yang dapat dilihat pada Gambar 5, lingkaran dengan indeks 4 melewati titik target kami.
Gambar 5. Algoritma jalan-menemukan sederhana
Sekarang, menuju ke arah yang berlawanan dan mengikuti aturan yang dalam setiap langkah kita bergerak ke titik peta terdekat terletak pada lingkaran dengan indeks yang lebih kecil, kita mencapai titik awal; unsur peta kami, kami telah kembali melalui membentuk jalur terpendek antara titik awal dan tujuan.
Meneliti cara algoritma ini bekerja, kita dapat melihat bahwa, selain keuntungan yang besar - kesederhanaan - itu juga memiliki kelemahan yang parah. Jalur algoritma telah ditemukan dalam contoh kita hanya terdiri dari lima unsur dunia game, meskipun 81 bidang peta harus diperiksa dalam skenario terburuk. Dalam kasus peta yang terdiri dari 256x256 bidang, mungkin berarti harus meneliti 65.536 elemen peta!
Masukkan A * dan keuntungan utama - minimalisasi daerah sedang diperiksa oleh sadar orientasi pencarian ke arah target. Menjaga singkat, saya bisa mengatakan bahwa, ketika menghitung biaya mencapai titik di peta, A * algoritma menambahkan untuk itu beberapa heuristik yang menunjukkan perkiraan biaya mencapai tujuan; Fungsi ini biasanya jarak ke tujuan dari titik saat ini sedang diperiksa.
Persyaratan untuk Algoritma
Banyak persyaratan yang disampaikan kepada sistem jalan-menemukan optimal. Optimal tidak berarti terpendek; algoritma dapat memperhitungkan seperti faktor tambahan sebagai jenis medan (misalnya, tangki dalam permainan RTS akan melewati rawa cepat terjadi di sekitar daripada melintasi itu), mengubah keterbatasan sudut, jumlah musuh di daerah, dan banyak elemen lain tergantung pada permainan tertentu. Algoritma harus menghindari daerah diseberangi dari peta atau, misalnya, menjaga jarak dari unit ramah. Persyaratan terpenting adalah bahwa algoritma harus selalu dapat menemukan jalan optimal, asalkan jalan antara dua titik ada. Listing 1 menyajikan pseudocode menggambarkan A * algoritma.
Listing 1. A * algoritma
Optimisation
Algoritma diterapkan secara langsung dapat berubah menjadi tidak efektif sebagai akibat dari berapa banyak waktu operasi pada struktur dari antrian prioritas (yang OpenList) dan ClosedList dapat mengambil. Metode pemrograman beberapa ada yang bekerja di sekitar mereka ketidaksempurnaan. Masalah Optimisation dapat didekati dari dua cara:
mengoptimalkan algoritma pencarian sendiri,
mengoptimalkan struktur data.
Dalam kasus pertama, kita sering menggunakan metode membagi seluruh dunia (peta) ke daerah dan membelah algoritma menjadi dua bagian: pertama, kita mencari jalan dengan memeriksa daerah mana kita harus pergi melalui; maka untuk masing-masing daerah, kita bergerak dari titik masuk ke pintu keluar. Dalam setiap wilayah, kami menemukan jalan optimal, menggunakan A * lokal untuk wilayah kita berada di. Dengan cara itu, kami secara signifikan membatasi area pencarian, sehingga mengurangi jumlah sumber daya yang dibutuhkan untuk perhitungan.
Bahkan, metode ini sangat didasarkan pada bagaimana manusia mencari cara untuk target - ketika bepergian ke ujung lain kota besar, walker tidak berencana seluruh rute dengan presisi yang sama; sebaliknya, ia / dia bepergian antara titik orientasi dikenal, berencana tepatnya cara antara setiap dua poin, naik ke jalan ia / dia akan berjalan.
Faktor optimasi lain adalah pilihan yang tepat fungsi dan parameter untuk heuristik, karena ini adalah apa yang memutuskan berapa banyak area pencarian menyebar melalui peta permainan.
Mesin Negara Finite
Mesin negara yang terbatas adalah salah satu yang paling rumit, sementara pada saat yang sama, salah satu yang paling efektif dan paling sering digunakan metode pemrograman kecerdasan buatan. Untuk setiap objek dalam permainan komputer, adalah mungkin untuk membedakan sejumlah negara itu di sepanjang hidupnya. Sebagai contoh: seorang ksatria bisa mempersenjatai dirinya, berpatroli, menyerang, atau beristirahat setelah pertempuran; petani dapat mengumpulkan kayu, membangun rumah, atau membela diri terhadap serangan. Tergantung pada negara mereka, dalam game objek merespon dengan cara yang berbeda untuk (set terbatas) rangsangan eksternal atau, harus ada satu pun, melakukan kegiatan yang berbeda. Metode mesin negara yang terbatas memungkinkan kita dengan mudah membagi pelaksanaan perilaku setiap permainan objek menjadi fragmen yang lebih kecil, yang lebih mudah untuk debug dan memperpanjang. Setiap negara memiliki kode yang bertanggung jawab untuk inisialisasi dan deinitialisation objek dalam keadaan yang (juga sering disebut sebagai kode negara transisi), kode dieksekusi di permainan setiap frame (misalnya, untuk memenuhi kebutuhan fungsi kecerdasan buatan, atau untuk mengatur frame yang tepat animasi), dan kode untuk pengolahan dan menafsirkan pesan yang datang dari lingkungan.
Mesin negara yang terbatas biasanya diimplementasikan menggunakan salah satu dari dua metode berikut:
terbatas negara bahasa mesin - diimplementasikan dalam C sebagai satu set macro preprocessor,
pola desain negara - pola proyek khusus berorientasi objek.
Dalam usia desain berorientasi objek dan pemrograman, metode pertama sedang dihapus oleh kedua, yaitu, mesin dilaksanakan atas dasar keadaan pola proyek. Berikut adalah contoh dari seperti mesin berorientasi objek, menggambarkan perilaku sebagian mungkin kesatria; masing-masing negara dari objek diwakili oleh kelas dasar abstrak:
Sembunyikan Kode Copy
Artificial Neural Networks dan Advanced Algoritma di Game Komputer
Masalah jaringan syaraf tiruan dan aplikasi mereka dalam video game telah menjadi salah satu topik paling trendi hari terakhir di bidang game komputer. Banyak yang telah dikatakan selama bertahun-tahun tentang aplikasi potensi mereka dalam permainan komputer, di banyak majalah dan di banyak portal Web. The "jaringan saraf di komputer game" masalah juga telah dibahas, beberapa kali, di GDC (Game Developers Conference - acara berlangsung tahunan di London dan San Jose). Pada saat yang sama, kami harus menunggu lama untuk melihat permainan memasuki pasar yang mesin akan menjalankan berdasarkan, setidaknya minimal, pada potensi teori jaringan syaraf tiruan.
Permainan Collin McRae Rally 2 adalah salah satu aplikasi pertama dari jaringan saraf di game komputer, yang menjadi sukses total. Jaringan saraf tiruan yang dilatih bertanggung jawab untuk menjaga mobil pemain komputer di jalur sementara membiarkannya bernegosiasi trek secepat mungkin. Dalam pertandingan itu, sama seperti yang saya jelaskan di AI di bagian Olahraga Games, setiap lagu diwakili oleh satu set garis putus membentuk grafik. Dalam penyederhanaan kotor, parameter input jaringan syaraf ini adalah informasi seperti: kelengkungan tikungan jalan itu, jarak dari tikungan, jenis permukaan, kecepatan, atau properti kendaraan. Terserah jaringan saraf untuk menghasilkan output data untuk diteruskan lebih lanjut untuk modul lapisan fisik, data yang dipilih sedemikian rupa bahwa mobil perjalanan dan melakukan negosiasi hambatan atau kurva pada optimal kecepatan untuk kondisi yang diberikan. Berkat ini, gaya mengemudi pemain komputer muncul, bertentangan dengan game lain semacam ini, sangat alami. Komputer dapat menghindari rintangan kecil, memotong tikungan, mulai memutar tepat segera ketika pada permukaan licin dll Permainan menggunakan model perceptron multi-layered, bentuk sederhana dari yang satu dapat melihat pada Gambar 6.
Gambar 6. Model perceptron multi-layered
Jaringan syaraf tiruan bisa, secara teori, dapat diterapkan untuk memecahkan sebagian besar tugas yang dilakukan oleh AI di game komputer. Sayangnya, dalam prakteknya, sejumlah kendala yang ada yang membatasi aplikasi jaringan saraf dalam permainan. Ini termasuk:
masalah dengan memilih input yang sesuai untuk jaringan saraf,
sensitivitas jaringan saraf 'untuk perubahan dalam permainan aksi logika, dan kebutuhan untuk re-pelatihan jaringan setiap kali situasi seperti itu terjadi,
bukan teori rumit, dan kesulitan dengan debugging dalam kasus masalah,
memakan waktu dan proses yang rumit dari pelatihan jaringan.
Langkah-langkah apa yang kita butuhkan untuk melakukan dalam rangka mengambil keuntungan dari jaringan saraf tiruan dalam permainan komputer sederhana? Mari kita lihat singkat:
Untuk memulai, kita harus menjawab pertanyaan kita sendiri tentang jenis-jenis informasi jaringan saraf harus memberikan kami untuk membantu kami memecahkan masalah yang diberikan. Sebagai contoh, mari kita pertimbangkan sebuah permainan di mana jaringan saraf mengontrol penerbangan pesawat lawan kita tempur. Informasi yang kami harus mendapatkan dari jaringan saraf kemudian akan, misalnya, vektor optimal kecepatan dan percepatan yang bila diberikan kepada modul fisika, akan memandu tempur musuh untuk pesawat kami. Contoh lain bisa menjadi jaringan saraf yang digunakan untuk memilih strategi terbaik dalam RTS-jenis permainan. Berdasarkan analisis situasi, jaringan memutuskan bagaimana sangat berkonsentrasi pada pengembangan, produksi senjata, perbaikan setelah pertempuran dll Semua parameter yang diperlukan oleh permainan akan disediakan oleh jaringan saraf pada output.
Sementara mendefinisikan efek tindakan jaringan saraf adalah cukup mudah (karena kita tahu persis apa yang ingin kita capai), memilih parameter input jaringan adalah masalah yang jauh lebih serius. Parameter harus dipilih sedemikian rupa bahwa kombinasi yang berbeda akan membiarkan jaringan saraf belajar untuk memecahkan situasi rumit yang belum muncul dalam contoh mengatur sinyal. Aturan umum menyatakan bahwa input data (variabel) harus mewakili sebanyak mungkin informasi tentang dunia game mungkin; bisa, misalnya, vektor posisi relatif dari kendala terdekat dan lawan terdekat, kekuatan musuh, atau keadaan sekarang persenjataan dan kerusakan.
Langkah lain adalah untuk memperoleh satu set input data yang akan digunakan untuk melatih jaringan. Metode langsung bisa menyiratkan, misalnya, mengingat beberapa beberapa ratus sampel, serangan sukses, dan tindakan dari pemain manusia, dan menyediakan data yang tercatat ke jaringan saraf. Biasanya, bagaimanapun, proses yang digunakan otomatis, yaitu, sampel sendiri-komputer yang dihasilkan - yang membutuhkan tambahan, sering cukup signifikan, upaya dari programmer.
Langkah terakhir adalah pelatihan jaringan saraf. Algoritma pelatihan dapat digunakan di sini. Proses pelatihan harus terjalin dengan pengujian secara simultan untuk memastikan permainan ini tidak menjadi terlalu sulit atau, sebaliknya, jika tidak masih terlalu mudah dan membutuhkan pelatihan lebih lanjut dan optimasi.
Menerapkan jaringan saraf praktis bukanlah tugas yang mudah. Hal ini membutuhkan banyak waktu, pengalaman, dan kesabaran. Selain itu, jaringan saraf yang sering digunakan bersama-sama dengan logika fuzzy, yang memungkinkan untuk mengkonversi tradisional nol-satu alasan komputer menjadi sesuatu yang lebih kuat menyerupai cara manusia berpikir. Logika memungkinkan kita memutuskan apakah dan untuk apa gelar pernyataan yang diberikan adalah benar. Meskipun penggunaan simultan dari dua teknologi adalah tugas yang sulit, ketika berhasil, hasilnya hanya nafas-mengambil, dan tak tertandingi dengan apa yang bisa kita capai dengan menggunakan aturan keras-kode ke dalam kode dengan algoritma dan logika tradisional. Teknologi seperti jaringan saraf, algoritma genetika, dan logika fuzzy adalah masa depan game komputer - dan masa depan yang tidak jauh lagi.
AI Perpustakaan
Mengembangkan mesin kecerdasan buatan canggih membutuhkan waktu dan tim yang berpengalaman programmer. Jika sebuah studio pengembangan tidak dapat mengalokasikan sumber daya yang cukup manusia untuk membangun sistem kecerdasan buatan, memiliki kemungkinan pembelian sistem AI yang ada, banyak yang tersedia di pasar. Di sini, saya ingin memberikan penjelasan rinci tentang salah satu perpustakaan paling populer di pasar - Renderware AI, serta dari salah satu perpustakaan baru di sana, yang bisa menjadi alternatif yang lebih murah untuk Renderware AI - AI.Implant.
Renderware AI
Renderware adalah multiplatform, mesin permainan komputer komersial. Mesin Renderware terdiri dari beberapa modul; di antara mereka, yang menarik bagi kita di sini - modul kecerdasan buatan Renderware AI.
The Renderware modul dapat digunakan baik dalam permainan sepenuhnya didasarkan pada mesin Renderware, dan game yang menggunakan sendiri atau lainnya mesin mereka, hanya mau memanfaatkan Renderware AI sebagai dasar untuk sistem kecerdasan buatan yang canggih.
The Renderware AI perpustakaan mengikuti filosofi berlapis membangun sistem kecerdasan buatan. Renderware AI discerns tiga lapisan:
lapisan persepsi, bertanggung jawab untuk analisis situasi - terutama untuk menganalisis statis (misalnya, medan) dan dinamis (musuh, lift dll) lingkungan.
lapisan keputusan, bertanggung jawab untuk membuat keputusan strategis mendasarkan pada informasi yang diberikan oleh modul persepsi. Tindakan tingkat rendah, seperti menyerang, jalan-temuan, evasions dll, dijalankan oleh modul tindakan.
lapisan tindakan.
Unsur yang paling penting dari seluruh perpustakaan yang mewakili persepsi dunia, karena ini adalah apa yang lapisan lebih lanjut dari permainan AI berbasis. Dalam Renderware AI, modul ini disebut PathData (nama sedikit menyesatkan, mengingat analisis jalur hanya satu dari fungsi persepsi modul), dan menggunakan alat yang disebut PathData Generator. Modul PathData berhasil dapat menganalisis permainan dunia sehubungan dengan sifat topologi, dengan metode streaming yang fitur, sehingga memungkinkan untuk menghasilkan informasi yang diperlukan untuk modul AI bahkan untuk peta permainan yang sangat besar. PathData melakukan kedua analisis global topologi medan dan analisis unit lingkungan terdekat. Hasil analisis kemudian dapat, jika kebutuhan tersebut muncul, tunduk pada proses manual lebih lanjut.
Analisis global memberikan informasi seperti tempat pada peta yang menarik dari sudut pandang sifat topologi nya. Informasi ini dapat mencakup data tentang: lokasi yang tersembunyi di peta, lokasi dari mana daerah yang luas dari peta dapat dilihat dengan baik, di mana kamera dapat ditempatkan sehingga tampilan yang tidak akan dikaburkan oleh elemen kecil dari TKP dll analisis lokal dapat memberitahu kami mendeteksi dinding, hambatan yang harus berjalan sekitar atau melompati, dan banyak elemen lokal penting lainnya.
Renderware AI fitur lain yang penting adalah modul bertanggung jawab untuk fungsi perencanaan dipahami secara luas dan pelaksanaan gerakan unit.
Sumber : Artificial Intelligence in Games
cara buat a.i di game balap gimana? gak ngerti sya
BalasHapus