Bagaimana AI bekerja di Hitman (2016)

Dirilis oleh IO Interactive pada tahun 2016, Hitman telah mengembalikan waralaba ke akarnya: menciptakan skenario yang kaya dan menarik di mana Agen 47 harus menghilangkan tujuannya, seringkali dengan cara improvisasi dan tidak praktis. Untuk mengatasi masalah ini, banyak sistem AI digunakan di dalam game, dan kami akan mempelajarinya dengan tepat. Kami akan mempelajari lebih dalam struktur sistem AI yang bertanggung jawab untuk berbagai fungsi dalam generasi terbaru game-game Hitman : penciptaan NPC yang merespons situasi, pengawal, sistem kerumunan, animasi yang dikendalikan oleh kecerdasan buatan, dan banyak lagi.


Tentang Hitman


Para pemain di Hitman memiliki tugas membunuh kepribadian yang kejam dan tidak berprinsip, yang kematiannya tidak akan disesali oleh siapa pun. Namun dalam setiap kasus, maknanya lebih pada cerita-cerita unik yang dapat dibuat pemain sendiri, menghancurkan gol dengan cara yang kompleks atau lucu. Hitman penuh dengan sistem yang memungkinkan pemain untuk bereksperimen, berimprovisasi, dan menanggapi perubahan dalam gambar yang lebih besar yang terungkap. Menyamarkan diri Anda sebagai bartender dan meracuni korban dengan minuman, mematahkan lehernya dengan berpura-pura menjadi tukang pijat, menakut-nakuti target dengan menggambarkan seorang dokter wabah atau bahkan mendapatkan kepercayaan diri dari tim rekaman dengan bermain drum. Gim ini menyediakan berbagai metode penetrasi yang menarik dan sering dinegosiasikan kepada pengguna atau menyembunyikan informasi dari mereka dalam skenario yang lebih kompleks dan panjang. Apakah Anda berjalan di atas catwalk pekan mode di Paris atau bertindak di tengah-tengah kudeta politik di Marrakech, tujuan Anda selalu dalam adegan padat penduduk, hidup dan kompleks di mana ada penjaga pribadi dan lembaga penegak hukum setempat, belum lagi warga sipil yang ikut campur. Tetapi justru karena ini, permainan menjadi benar-benar menarik: pemain harus bergabung dengan lingkungan, menyamarkan diri mereka sendiri dan memanipulasi dunia di sekitar mereka, untuk menjadi selangkah lebih dekat ke tujuan, menimbulkan pembalasan karma pada mereka, dan kemudian melarikan diri sampai dunia di sekitar mereka mencurigai kehadiran Agen.


Hitman membawa kesenangan paling besar ketika persiapan dan perencanaannya benar dan diimplementasikan dengan sempurna, dan untuk ini Anda membutuhkan banyak sistem AI. Pada artikel ini, kita akan melihat empat elemen utama, menjelaskan cara kerjanya dan membantu menciptakan gameplay Hitman :

  • Sistem pohon perilaku yang digerakkan oleh situasi, di mana lebih dari 300 karakter level dapat membuat keputusan tentang tindakan mereka di masa depan berdasarkan apa yang terjadi di sekitar mereka dan merespons peristiwa, yang sering kali berada di tangan pemain.
  • Sistem penjaga dan pengawal yang responsif dan praktis yang menyulitkan pekerjaan Agen dan didistribusikan untuk melindungi pemain yang kesulitan mencapai tujuan.
  • Sistem yang kuat untuk mengendalikan dan mensimulasikan perilaku orang banyak, memungkinkan Anda untuk menggunakan pada tingkat kerumunan hingga 1000 NPC yang merespons aksi pemain.
  • Dan akhirnya, kerangka animasi yang disetel dengan hati-hati yang memberikan semua karakter ini penampilan dan perilaku paling realistis.

Saya akan menjelaskan bagaimana semua sistem ini bekerja, serta berbicara tentang pengaturan yang lebih baik yang digunakan di game 2016 dan di sekuel 2018. Namun, sebelum memulai percakapan tentang AI game apa pun, Anda perlu melihat sumber dari mana AI toolchain dimulai dan mempelajari prinsip-prinsip dasar desainnya. Karena itu, kita akan mulai dengan Hitman Absolution .

Dirilis pada 2012, Hitman Absolution menerapkan interpretasi waralaba yang lebih lancar dan lebih linier. Meskipun popularitasnya relatif rendah dibandingkan dengan game yang lebih baru, itu telah menjadi dasar dari teknologi dasar dan alat yang digunakan dalam game pada 2016 dan 2018. Salah satu alasan paling penting untuk ini adalah bahwa Absolution adalah permainan waralaba pertama setelah Hitman: Blood Money pada tahun 2006 (di antaranya, IO Interactive bekerja pada seri Kane & Lynch , serta Mini Ninja . Oleh karena itu, alat baru diciptakan untuk Absolution dan sistem yang lebih mencerminkan ambisi tim untuk masa depan. Arsitektur dasar karakter non-pemain Hitman AI, serta sistem untuk kerumunan dan animasi, diciptakan untuk Absolution dan ditingkatkan untuk rilis 2016 dan 2018.

Arsitektur AI Dasar


Hitman AI dirancang untuk mengambil keuntungan dari gaya passing yang berbeda yang tersedia di Absolution dan game-game berikutnya. Ini berarti bahwa sistem ini memungkinkan Anda untuk menggunakan stealth, menyamar, dan bergabung dengan lingkungan (pengembang menyebutnya "stealth sosial") atau memilih pendekatan yang lebih agresif dan bermain-main dengan senjata.

Selain itu, harus memungkinkan NPC untuk hidup normal, kadang-kadang bahkan memiliki prosedur perilaku yang mapan: mereka melayani minuman, merias wajah, menjaga pintu masuk, menyiapkan makanan, yaitu, melakukan apa yang sesuai untuk lingkungan tempat kejadian. Prosedur-prosedur ini harus dapat diprediksi dan dapat diandalkan, karena dalam permainan sembunyi-sembunyi, pemain harus bergantung pada kemampuan untuk diprediksi. Pada saat yang sama, AI harus dapat mengganggu mereka ketika ia menemukan salah satu dari banyak item yang dapat dimanipulasi oleh pemain. Misalnya, ketika pemain mematikan mesin, atau memblokir saluran pembuangan di wastafel, atau menembus tangki bahan bakar, atau menyalakan video. Bergantung pada jenis interaksi, itu akan segera menarik karakter, karena itu mengganggu tindakan mereka, atau mengubah urutan tindakan mereka nanti, sehingga pemain dapat menggunakannya. Ini berguna untuk beberapa tindakan spesifik yang memungkinkan Anda memikat target ke tempat yang tepat. Pemain tidak akan mau menunggu hasil 20 menit, tetapi reaksi instan dari karakter akan tampak terlalu tidak wajar.


Hitman Fundamental AI menggunakan pohon perilaku - salah satu format manajemen perilaku AI paling umum di game modern. Dalam pohon perilaku, struktur top-down dibangun yang menentukan reaksi karakter terhadap berbagai kondisi. Perilaku dipilih tergantung pada kondisi spesifik dunia di sekitarnya dan mengarah ke tindakan atau rantai tindakan sebagai reaksi terhadap tindakan pemain dan sistem permainan lainnya.

Tetapi sebelum pohon perilaku dapat membuat keputusan, setiap karakter harus mencari tahu apa yang terjadi di dunia di sekitarnya. Untuk ini, setiap karakter AI aktif di dunia memiliki basis pengetahuan. Basis pengetahuan terdiri dari dua set data: pengetahuan umum, yaitu informasi yang diketahui publik tentang suatu objek atau karakter, serta informasi yang mencerminkan kondisinya. Tetapi ada juga pengetahuan pribadi yang dipertahankan oleh karakter tentang posisi objek atau karakter yang terakhir diketahui. Dia juga menyimpan sejarah pengetahuan tentang mata pelajaran tertentu. Akibatnya, karakter mulai memperhatikan bahwa benda-benda di dekatnya menghilang atau bergerak; demikian juga, ia tidak akan mencoba menemukan karakter yang hilang atau mati, dan juga berinteraksi dengan mereka.


Basis pengetahuan diakumulasikan dengan mengumpulkan semua informasi yang saat ini terjadi pada titik tertentu di dunia game, dengan penyaringan selanjutnya menggunakan sensor dan layanan. Sensor memungkinkan karakter untuk memperbarui data pribadi mereka dan menanggapi perubahan yang mereka perhatikan, serta mendengar apa yang terjadi di dekatnya. Layanan memperbarui basis pengetahuan umum. Tiga layanan yang paling umum adalah Penyamaran (disguise), Deadbody (mayat) dan Hitman (pembunuh). Layanan Penyamaran digunakan ketika Agen 47 berubah menjadi kostum; itu membantu karakter mengetahui jika kostum Agen harus curiga padanya. Layanan Deadbody membantu karakter di dekatnya menyadari bahwa mayat baru-baru ini ditemukan di dekat mereka. Akhirnya, layanan Hitman memungkinkan Anda untuk berbagi pengetahuan umum tentang Agen 47, misalnya, informasi tentang apakah pemain dikompromikan dan di mana dia terakhir kali terlihat. Fitur menyenangkan dari sensor adalah bahwa mereka memberikan keseimbangan yang menarik dari pengetahuan kontekstual, sementara pada saat yang sama meninggalkan celah yang bisa dijelajahi pemain. Sensor memberikan informasi langsung tentang dunia, tetapi aksi mereka dapat terganggu dengan memblokir ruang lingkup atau mengganggu karakter. Layanan tidak mahakuasa dan diperbarui hanya pada interval tertentu. Oleh karena itu, sebagian besar informasi yang diterima dari layanan menjadi usang cukup cepat, yang memungkinkan pemain untuk memanipulasi karakter untuk kepentingan mereka.

Tetapi ketika AI menerima semua informasi ini, ia perlu membuat keputusan tentang tindakannya. Setiap karakter AI dapat mencakup satu set tujuan untuk dirinya sendiri, yang mengendalikan keputusannya. Setelah memilih sasaran-sasaran ini, ia menggunakan pohon perilaku untuk membuat keputusan tentang perilaku masa depan. Sejauh ini saya belum menjelaskan hal ini, tetapi nanti kita akan membahas topik ini.

Untuk mendiversifikasi gameplay, game membagi NPC AI yang dikelola menjadi dua jenis utama: warga sipil dan penjaga keamanan. Pemisahan ini memengaruhi informasi yang disimpan dalam basis pengetahuan mereka dan jenis tujuan yang dapat mereka pilih sendiri.

Mari kita mulai dengan warga sipil. Tokoh-tokoh ini biasanya bersifat pasif, tetapi mereka melihat perilaku yang paling provokatif, menganggapnya mencurigakan atau mengkhawatirkan. Pada saat yang sama, mereka mungkin memiliki tujuan seperti melawan pemain atau memperingatkan penjaga, tetapi ini tidak memungkinkan mereka untuk terlibat dalam pertempuran. Contoh bagus dari ini adalah level di peragaan busana Paris dan di hotel Bangkok 2016 di Bangkok. Di dalamnya, warga sipil dengan profil basis pengetahuan yang berbeda muncul dengan perilaku yang berbeda. Para tamu jauh lebih pasif, tetapi mereka semua menanggapi perilaku pemain yang paling mengerikan, sementara staf dan orang-orang di sekitar tujuan Agen lebih cenderung bereaksi terhadap kejenakaannya dan mencoba untuk menangkalnya.

Mari kita beralih ke penjaga. Secara alami, mereka adalah lawan utama pemain dan berperang dengannya, bereaksi terhadap kondisi paling ekstrem, misalnya, penemuan mayat atau orang yang tidak sadar, serta senjata dan barang strategis lainnya yang ditemukan di dunia terbuka. Seperti disebutkan di atas, pada tahun 2016 Hitman muncul pengawal AI, aktif mengikuti VIP dan melindunginya ketika dia bergerak di sekitar level. Pada saat yang sama, mereka masih memiliki kehendak bebas dan secara mandiri dapat menjelajahi dunia. Untuk mengimplementasikan ini, diperlukan sistem yang sama sekali berbeda, dan sebentar lagi kita akan membicarakannya.

Jadi, setelah menerima semua informasi ini dan telah mengaktifkan tujuan, permainan membangun sistem pohon perilaku yang memungkinkan para karakter untuk bertindak sesuai dengan salah satu dari dua opsi: melakukan perilaku sendiri, atau bergabung dengan "situasi" di mana perilaku dikoordinasikan oleh kelompok. Perilaku adalah satu atau beberapa tindakan, misalnya, berbalik ke arah pemain, berinteraksi atau berbicara dengannya, pindah ke lokasi dunia, beralih ke mode pertempuran atau berinteraksi dengan objek yang dimanipulasi pemain. Saat bermain, Anda akan melihat bahwa banyak gol memenuhi perilaku yang ditetapkan setelah pemain memanipulasi dunia dengan cara tertentu. Ini terjadi karena sesuai dengan tujuan yang ditetapkan bahwa tujuan harus dipenuhi jika terjadi kondisi tertentu. Artinya, mereka sengaja menempatkan diri dalam posisi berisiko sehingga pemain bisa membunuh mereka.


Pada saat yang sama, situasi sering muncul ketika peristiwa yang terjadi di dunia memiliki dampak yang lebih luas, misalnya ketika karakter menemukan mayat, ketika pemain dikompromikan, atau ketika target menyadari bahwa mereka sedang mencari dan mencoba melarikan diri. Dalam kasus seperti itu, karakter menyadari apa yang terjadi di sekitar mereka, dan bergabung dengan situasinya. Situasi menentukan tindakan untuk masing-masing dari mereka dan mereka semua memainkan peran mereka dalam pertunjukan ini. Misalnya, dalam kasus ketika seorang pemain melepaskan tembakan di sebuah peragaan busana, para tamu dan staf sering mencoba melarikan diri dan meminta bantuan, dan penjaga keamanan mulai berburu untuk pemain tersebut dan melepaskan tembakan.

Sistem pohon perilaku pertama kali muncul di Absolution dan sangat ditingkatkan dan ditambah dengan rilis game pada 2016 dan 2018. Ia menggunakan sistem level of detail (LOD). Ini berarti bahwa ketika pada level ada lebih dari 300 karakter AI aktif yang dikendalikan oleh pohon perilaku, karakter yang terletak jauh dari pemain memperbarui perilaku mereka lebih jarang, dan prioritas sumber daya CPU untuk memperbarui AI diberikan kepada karakter terdekat. Selain itu, untuk karakter AI yang jauh ini, animasi disederhanakan atau dinonaktifkan sepenuhnya. Seperti disebutkan di atas, sebagian besar karakter pada level dikendalikan oleh sistem AI kerumunan, tetapi jika perlu, setiap karakter dalam kerumunan dapat diberkahi dengan pohon perilaku AI, yang meningkatkan kemampuannya menjadi karakter yang responsif dan terkoordinasi.

Kerumunan


Sekarang, sebelum kita beralih ke sistem yang dirancang untuk permainan 2016, mari kita lihat sistem dasar kedua yang dibuat untuk Absolution: kerangka kerja kecerdasan buatan kerumunan. Di Absolution, ia dapat mendukung hingga 1.200 agen dalam satu kerumunan, dan 500 dari mereka dapat terlihat pada saat yang sama. Saya belum mengatakan ini, tetapi sistem kerumunan sangat sulit untuk diterapkan dengan benar. Kerumunan sering terdiri dari banyak AI boneka, yang tidak dapat dibandingkan dalam pikiran mereka dengan karakter AI biasa. Hal ini terutama disebabkan oleh kenyataan bahwa ada terlalu banyak dari mereka, tetapi sering juga cukup logis - orang-orang di kerumunan hanya mematuhi naluri orang banyak dan bergerak di ruang menuju tujuan mereka. Tetapi pengembang Hitman mengatur sendiri tugas untuk mengaburkan batas antara kerumunan dan perilaku pohon AI.


Karakter ditempatkan dalam kerumunan sebagai individu, mampu berjalan, berhenti dan mengenali benda-benda di ruang angkasa. Ada juga kelompok di mana desainer memiliki kontrol lebih besar. Grup sangat berguna ketika ada tindakan spesifik yang harus dilakukan beberapa karakter dalam kerumunan, misalnya, melihat beberapa titik dan pada saat yang sama membentuk bentuk tertentu, misalnya, angka besar atau konfigurasi. Setiap karakter kepribadian menerapkan sistem yang mirip dengan mesin keadaan terbatas sederhana, hanya memiliki tiga keadaan dasar perilaku: kemalasan, berjalan, dan "menunggu untuk berjalan". Keadaan terakhir berguna dalam situasi di mana karakter ingin pindah, tetapi ia tidak diizinkan melakukan ini dengan kerumunan orang banyak. Jika karakter terjebak dalam kerumunan, maka mereka memutuskan arah gerakan terbaik dan menunggu kesempatan yang memungkinkan mereka kembali berjalan lagi. Bahkan, semuanya lebih rumit daripada yang saya gambarkan, karena dalam proses pemindahan karakter perlu menyesuaikan kecepatannya. Oleh karena itu, setiap karakter dapat mengatur kecepatan yang disukai dan maksimum yang digunakan untuk mempertahankan aliran kerumunan. Sistem seperti itu bahkan lebih berguna jika terjadi kepanikan, ketika orang-orang mulai berlarian secara acak.


Salah satu bahaya nyata dari memiliki begitu banyak agen dalam sistem pengendalian kerumunan adalah bahwa mereka menginterogasi nomesch untuk menemukan cara atau hanya memeriksa untuk melihat apakah mereka dapat mencapai titik yang diinginkan. Navigasi jerat adalah sistem yang biasa digunakan dalam permainan 3D untuk memindahkan karakter di sekitar lingkungan. Perusahaan IO menyadari bahwa ini adalah momen yang agak kritis, oleh karena itu, overlay grid pengambilan keputusan 2D yang menginformasikan karakter AI apakah mungkin untuk melewati ruang yang diberikan, apakah itu harus dihindari (jika ini adalah kawasan lindung), titik keluar untuk NPC, dan daerah terlarang jika terjadi kepanikan yang disebabkan oleh Agen 47 - akan aneh jika orang dengan tenang berlari di sebelahnya. Kecerdasan buatan dari kerumunan dan pohon perilaku memiliki grid pengambilan keputusan. Untuk pohon perilaku, kisi-kisi menyediakan cara cepat dan efektif untuk melakukan pemeriksaan visibilitas, mencari lokasi yang cocok di dekat titik-titik penting, dan menemukan lokasi taktis relatif terhadap karakter yang diberikan tanpa tekanan yang tidak semestinya pada engsel itu sendiri.

Tetapi bagian tersulit dimulai ketika Agen 47 ditambahkan ke sistem. Kerumunan berjalan di sekelilingnya dan pergi tentang bisnisnya, tetapi ketika pemain mulai membuat kekacauan, sistem AI harus dapat menanggapinya. Karakter di sekitar pemain harus terlihat panik dan mencoba melarikan diri, tetapi ini akan memiliki efek kumulatif pada seluruh kerumunan - karakter akan mulai bergerak melalui ruang begitu setiap karakter yang berada di dekatnya mulai melarikan diri dari sumber alarm. Masalah ini diselesaikan oleh dua sistem yang disebut zona perilaku dan arus panik.


Pertama, tindakan apa pun di dunia yang seharusnya memengaruhi orang banyak menciptakan satu atau lebih zona perilaku di lingkungan. Zona perilaku mengirimkan impuls dengan jari-jari dan sudut tertentu relatif terhadap sumber kejadian, yang menentukan bagaimana setiap kerumunan AI yang berinteraksi dengannya harus bereaksi. Misalnya, ketika kembang api mulai membuat suara, maka semua karakter dalam radius tertentu beralih ke titik penting untuk melihat ledakannya. Jika seorang pemain, sementara itu, mengeluarkan senjata dan mengarahkannya ke penonton yang tidak bersalah, tiga zona perilaku akan bekerja:

  • Yang pertama menyebabkan mereka yang berada di garis api jatuh ke lantai.
  • Yang kedua membuat karakter di sekitar panik pemain.
  • Yang ketiga membuat semua orang dalam radius tertentu dari pemain belajar tentang situasi dan pergi ke keadaan kecemasan yang meningkat.

Ketika Agen bergerak melalui ruang dengan senjata, zona perilaku ini terus mengirim impuls dari pemain dan membuat karakter AI lain dari kerumunan bereaksi padanya. : , , , . , , , . , , , , . .

, , , . , Hitman 2016 , . iVixen Club Hitman Absolution , , - .

, , . , , , , . , , . , «», , .

VIP


Hitman 2016, : VIP . Hitman , . , , , , . .


VIP. - . , , , . , , , , . . . VIP , - . VIP ( ) — .

VIP, . , . , IO . VIP — , , . — , VIP.

-, Ambient VIP Escort, VIP . , . VIP , , .

, VIP . , VIP- , , . VIP ; , , .

— VIP , , . . — Escort-Search. , , VIP ( , , , ), . , VIP, , .

, VIP , . VIP , , VIP , , 2016 — Evacuate VIP.


, VIP . , VIP , , , . VIP, . — , VIP. , , , . , , VIP, . , , , — , .

, , . , , . , ; VIP. , , .

VIP. , , NPC .

Animasi


Hitman , . , ; -, , , .

: , . , , , , , , . , , . , . id Software , DOOM 2016 , . Hitman , IO Interactive . - , .


IO Interactive « » (Motion Graphs), , — , , . : , , . ( ), . , . , , . , , .

, , , . Absolution , . , , , , . , Q- (basis function approximation), .

Hitman 2


Absolution Hitman 2016 , , VIP. 2018 Hitman 2 .

, , . , 2000 NPC, .


: NPC, — . , , . , NPC , .

— , . , , , .

Kesimpulannya


, Hitman — , AI and Games. , NPC, . -, , IO Interactive.


  • «Creating the AI for the Living, Breathing World of Hitman Absolution» by Mika Vehkala, GDC Europe 2013.
  • «Crowds in Hitman: Absolution» by Kasper Fauerby, Game/AI Conference 2012
  • «Reinforcement Learning based Character Locomotion in Hitman: Absolution» by Michael BĂĽttner, Game/AI Conference 2012.
  • «Bodyguards and VIPs: A look at ambient, alert and evacuation AI behaviour in Hitman» by Jason Schroder and Thomas Egeskov Petersen. nucl.AI Conference 2016.

Source: https://habr.com/ru/post/id467301/


All Articles