Saya mengobrol dengan teman saya tentang apakah AI bisa dibuat atau tidak yang bisa mengalahkan manusia tanpa sumber daya curang dalam permainan strategi waktu nyata. AI yang akan bermain hampir sempurna. AI dari game saat ini memiliki banyak area yang dapat ditingkatkan, kebanyakan dari mereka bergantung pada kecurangan sumber daya, pengembangan basis awal yang lebih baik karena itu, dan menyerang dalam gelombang.
Namun, pertanyaannya adalah apa yang perlu dilakukan untuk memperbaiki hal ini untuk mendapatkan AI terbaik. Juga, jika Anda memiliki contoh permainan di mana fitur tertentu digunakan, itu akan bagus.
Sunting: Ada sedikit klarifikasi yang bisa saya berikan untuk mereka yang belum membaca judul atau beberapa paragraf yang menjelaskan masalah tersebut. Ini tentang game strategi waktu nyata dan AI utama. Itu berarti Strarcraft, Warcraft, General, Red Alert, Age of Empires, AI War dll. Game yang memiliki lebih dari satu tingkat kesulitan, tetapi fokusnya di sini adalah pada tantangan pamungkas.
tenpn memiliki pos fantastis yang diisi dengan sumber daya hebat. Terima kasih, tenpn! Saya berharap lebih banyak orang akan berkontribusi ke arah itu.
Jawaban:
Ini semacam pertanyaan yang sulit dijawab. Untuk menyatakan apa yang perlu ditingkatkan, Anda perlu memiliki AI yang dikenal untuk bekerja. Namun berikut adalah beberapa contoh RTS AI dari aigamedev.com (diperlukan pendaftaran):
Sayangnya sebagian besar hal yang sangat baik ada di balik paywall.
Solusi AI umum adalah Perencana Tindakan Berorientasi Sasaran, yang menggunakan aturan untuk membentuk rencana untuk memuaskan tujuan. Sudah ada beberapa saat sekarang tapi sangat keren. Ada gambaran umum singkat (pdf) yang tersedia di situs Jeff Orkin tentang bagaimana itu diterapkan pada FPS, tetapi prinsip yang persis sama (dengan aturan dan tujuan berbeda) berfungsi untuk RTS.
Banyak RTS akan menggunakan pusaka GOAP, dengan level yang berbeda menerima tujuan dari level di atas, dan memusatkan perhatian pada level detail yang berbeda dari medan perang. Saya membaca artikel yang bagus tentang beberapa AI hex hex wargame WWII yang disusun seperti ini, tetapi untuk semua itu adalah google saya tidak dapat menemukan tautannya sekarang. Bintang emas untuk siapa saja yang dapat membantu saya.
Tentu saja efektivitas GOAPs dan perencana lainnya bergantung pada seberapa baik Anda mengurai dunia game Anda, dan seberapa halus tindakan dan sasaran Anda.
Teknologi umum lainnya termasuk Utility arsitektur (pdf) untuk penilaian dan prioritas, dan papan tulis untuk parsing dunia game.
sumber
Intinya, jika Anda punya AI
maka Anda memiliki permainan tidak ada yang akan bermain karena mereka tidak bisa melewati level pertama.
Bagian tersulit dari pemrograman AI adalah membuat AI dapat dikalahkan, tetapi dikalahkan oleh seseorang dengan sedikit keterampilan. Buatlah terlalu mudah untuk dikalahkan dan pemain akan ditunda karena kurangnya tantangan, buat terlalu sulit dan lagi, orang akan muak dengan dipukuli sepanjang waktu.
Jadi ini bukan tentang membuat AI yang kompleks (yang tidak sulit, setelah semua, AI dapat memproses segala sesuatu dalam area bermainnya secara bersamaan sedangkan pemain hanya dapat memproses apa yang ada di layar), tetapi lebih lanjut tentang membuat game yang seimbang.
sumber
Banyak yang bisa dilakukan tetapi reaksi langsung saya terhadap pertanyaan ini adalah pertanyaan tandingan: mengapa ada orang yang menginginkan AI RTS utama? Dan mengapa orang ini tidak bermain online saja, melawan lawan manusia lain?
Intinya adalah: itu bukan masalah untuk membuat AI tak terkalahkan, itu masalah membuatnya berpikir cukup cepat (misalnya. Itu harus mengambil jalan pintas) untuk dapat bermain melawan 3 atau bahkan 7 lawan AI pada peta yang sama dengan komputer biasa. Bahkan hari ini, dan besok, dan saya berharap itu tidak akan berubah bahkan sepuluh tahun dari sekarang.
Masalah berikutnya adalah: selama AI mengikuti aturan yang ketat, itu akan dapat dieksploitasi. Bahkan aturan fuzzy akan membuatnya rentan terhadap eksploitasi. AI harus belajar, dan harus membuat kesalahan - disengaja dan tidak disengaja. Itu juga perlu mengejutkan Anda. Dan kemudian Anda bermain melawan manusia lain. Karena AI bahkan tidak mendekati menyalin cara berpikir manusia baik algoritmik maupun dalam hal kekuatan pemrosesan, Anda jauh lebih baik tidak membuang-buang waktu Anda pada satu pemain AI yang hampir tidak terlalu menyenangkan untuk dimainkan melawan yang lain manusia, jika hanya untuk faktor sosial yang terlibat.
sumber
Apa yang Anda definisikan sebagai 'kecurangan sumber daya' adalah seperti 'meningkatkan keseimbangan' dalam game balap. 'Boost' digunakan untuk mencoba dan menjaga paket dalam jarak yang relatif dekat satu sama lain untuk menciptakan ilusi perlombaan yang ketat. Jika pemain tidak berada dalam posisi terdepan, hal itu dapat membuat pemain CPU tetap terlihat, dan jika pemain berada dalam posisi memimpin itu membuat tekanan terus dengan menempatkan lawan langsung di ekor Anda, bahkan jika CPU itu sendiri adalah driver biasa-biasa saja.
Dalam RTS Anda melihat kumpulan nilai yang dapat diatur secara optimal. Anda tahu persis berapa lama untuk mendapatkan sumber daya, berapa biaya barang bangunan, peta waktu traversal, dll.
Jika Anda adalah orang yang telah membuat tabel dan memiliki info yang tersedia bagi Anda, itu hanya masalah jumlah data untuk menemukan rasio terbaik untuk output.
Tetapi seberapa menyenangkan bermain melawan musuh yang selalu melakukan hal yang persis sama berdasarkan konteks lapangan bermain?
Jadi, Anda menambahkan kekacauan. Anda memberikan AI efisiensi pada skala geser. Anda memilikinya melecehkan pemain. Jika pemain tampak melakukan terlalu baik, Anda memiliki AI sedikit curang dan memberikan beberapa sumber daya atau bala bantuan tambahan untuk menjaga pemain tetap pada langkah mereka.
Anda ingin pemain merasakan kepuasan menghadapi lawan yang menantang, daripada memukul AI yang lemah atau dibantai oleh Hal9000. Kesempurnaan lawan CPU terletak pada ketidaksempurnaannya. :)
sumber
Satu hal besar adalah Anda harus mengikuti perkembangan strategi gim. Perkembangan apa pun tidak akan memungkinkan AI memenangkan pertandingan Starcraft 1 (dalam permainan adil) jika berpikir pasukan inti marinir adalah cara untuk memainkan game Terran vs Terran.
Tidak hanya ini akan mencegah AI dari dipukuli secara konsisten karena pilihan strategi usang, tetapi memiliki repertoar pendekatan yang lebih besar untuk permainan akan membuat AI lebih menarik, jika AI membuat pilihan yang layak di sepanjang jalan.
Pohon strategi kaya bahkan memungkinkan slider kesulitan; mis. Zerg AI yang gila akan cenderung mengambil pendekatan yang fleksibel yang dapat beradaptasi dengan musuh dan berkembang dengan cepat ketika diberi kesempatan, tetapi pada tingkat kesulitan normal cenderung mengambil bangunan yang lebih kaku dan kurang rentan terhadap ekspansi massal.
sumber