Goldeneye 007 adalah salah satu game terpenting dalam sejarah. Dia menentukan pengembangan lebih lanjut dari seluruh generasi game konsol dan membuka jalan bagi penembak orang pertama ke pasar konsol. Maju cepat ke lebih dari 20 tahun yang lalu untuk mengetahui bagaimana salah satu dari 64 game paling populer di Nintendo berhasil menerapkan musuh dan teman AI, dari mana Anda dapat mempelajari sesuatu bahkan hari ini.
Tentang permainan
Setelah dirilis pada 1997,
GoldenEye 007 tidak hanya menentukan nasib generasi, tetapi juga melampaui semua harapan. Langka, Nintendo sendiri, dan bahkan pemilik hak waralaba Bond, MGM, tidak terlalu percaya pada game ini. Dirilis dua tahun setelah rilis film dan satu tahun setelah konsol muncul di pasar, tampaknya ditakdirkan untuk gagal, tetapi menjadi yang ketiga dalam penjualan (delapan juta kopi) untuk seluruh umur platform, kedua setelah
Super Mario 64 dan
Mario Kart 64 . Belum lagi fakta bahwa pada tahun 1998 ia mendapatkan Rare BAFTA Award dan gelar Developer of the Year.
Permainan ini meninggalkan kita sebuah warisan besar: itu menetapkan standar untuk apa yang diharapkan dari generasi pertama penembak orang pertama, terutama dalam perilaku AI: karakter dengan pola patroli, musuh yang meminta bala bantuan, warga sipil melarikan diri dalam ketakutan, navigasi yang lancar dan menemukan jalan, serangkaian animasi, properti dinamis yang terjadi selama permainan, dan banyak lagi. Dia tidak hanya menetapkan standar untuk generasi, tetapi juga mempengaruhi permainan yang melampaui dirinya -
Half Life ,
Crysis ,
Far Cry dan banyak lainnya.
Saya tidak hanya tertarik pada bagaimana kecerdasan buatan bekerja, tetapi bagaimana pengembang neraka berhasil membuatnya bekerja. Saya berbicara tentang banyak teknik pembuatan AI, termasuk mesin negara, jalur navigasi, pohon perilaku, teknologi perencanaan, dan pembelajaran mesin, tetapi pada saat rilis
GoldenEye , mereka tidak melakukan praktik dalam industri game. Selain itu, Nintendo 64 hampir 25 tahun, dan dibandingkan dengan mesin modern, ia memiliki prosesor dan sumber daya memori yang minimal. Bagaimana Anda dapat membuat AI dan sistem gameplay yang akan bekerja secara efektif pada perangkat keras dengan keterbatasan serius?
Untuk mencari tahu kebenarannya, saya menghubungi informan rahasia terbaik:
Dr. David Dawke . David memainkan peran penting dalam tim pengembangan dan
GoldenEye 007 dan pengikut spiritualnya,
Perfect Dark . Selama wawancara, kami membahas kecerdasan NPC, perilaku alarm, sistem sensor, alat navigasi, keseimbangan kinerja, dan banyak lagi. Jadi mari kita mulai memahami bagaimana semua ini diatur.
Arsitektur bangunan
Pada dasarnya,
GoldenEye menjadi seperti itu, terima kasih kepada dua orang: produser dan sutradara game Martin Hollis dan programmer gameplay dan mesin Mark Edmonds. Awalnya, Hollis terinspirasi oleh permainan seperti
Virtua Cop , di mana musuh berlari ke bingkai kamera, menembak pemain, dan kemudian melarikan diri, bersembunyi, atau bereaksi secara dinamis terhadap serangan pemain. Namun, Hollis berusaha untuk menciptakan AI yang lebih menarik dan reaktif yang melampaui standar
DOOM 1993.
“Sangat penting bagi kami untuk menunjukkan pemain AI. Tidak ada gunanya kecerdasan buatan yang kompleks jika pemain tidak menyadarinya. NPC Anda dapat menginspirasi makna hidup dengan inspirasi, tetapi pemain tidak akan menyadari hal ini jika ia cukup untuk bersandar di tikungan dan memberi makan musuh dengan keunggulan dalam permainan. Artinya, kecerdasan harus jelas. AI harus menunjukkan mekanika game. AI harus menunjukkan struktur level. Dan semua ini harus membawa sesuatu yang baru ke dalam gameplay itu sendiri ”
[Martin Hollis, Forum Pengembang Eropa, 2004.]
Pendekatan ini telah menyebabkan penampilan penjaga dan patroli, memaksa pemain untuk lebih taktis dalam melewati. Sensor penglihatan dan pendengaran digunakan, memungkinkan AI untuk bereaksi terhadap perilaku pemain atau tidak memperhatikannya jika dia merangkak diam-diam. Selain itu, karakter ramah dan sipil bereaksi terhadap kehadiran pemain, membantunya atau melarikan diri.
Ketika David Dooke memasuki proyek, sebagian besar komponen dasar mesin untuk gerakan 3D, rendering, dan perilaku AI sederhana sudah dibuat oleh Edmonds. Namun, selama dua tahun terakhir pengembangan proyek, bagian utama dari perilaku AI dan sistem gameplay dasar lainnya telah muncul. Permainan menjadi kurang fokus pada pemain, AI muncul pola patroli, transisi ke keadaan alarm, kemampuan untuk menggunakan terminal kontrol, toilet dan banyak lagi.

Untuk mencapai hal ini, Mark Edmonds menciptakan sistem scripting keseluruhan di dalam basis kode C yang terus diperbarui dan diperbarui ketika Dook dan anggota tim lainnya sedang bereksperimen dengan ide-ide. Cukup sering, sebuah ide baru diajukan kepada Edmonds, yang mengevaluasi kemungkinan penerapannya dan menambahkannya ke mesin pada siang hari. Sistem skrip ini memungkinkan pengembang untuk menautkan banyak tindakan yang telah ditentukan sebelumnya dalam urutan perilaku cerdas, tergantung pada konteks yang sangat spesifik. Perilaku ini menyebabkan utas mereka sendiri untuk mengeksekusi dan membebaskan sumber daya sesegera mungkin, segera setelah perilaku "atom" berikutnya mulai dieksekusi, dan kemudian memeriksa apakah upgrade dapat dilakukan lagi. Perilaku yang ditulis seperti itu digunakan tidak hanya untuk karakter ramah dan musuh, tetapi juga untuk sistem seperti pintu dan gerbang pembuka waktu, serta screensaver sinematik di awal dan akhir setiap level yang mengendalikan pemain dan karakter lain di dunia.

The
GoldenEye Editor, awalnya dikembangkan oleh modder Mitchell "SubDrag" Kleiman, merekayasa balik perilaku AI ini. Mereka berubah menjadi "blok aksi" yang dapat diedit dari mana Anda dapat membuat perilaku Anda sendiri. Penjaga musuh dapat menanggapi berbagai sinyal sensorik: ketika tembakan mengenai mereka, bahwa mereka melihat musuh, penjaga lain terbunuh di bidang penglihatan mereka, serta tembakan yang terdengar di dekatnya. Selain itu, NPC bisa memutuskan untuk menyerah, itu tergantung pada probabilitas, tetapi lebih pada apakah pemain membidiknya. Apalagi, jika AI tahu bahwa pemain tidak lagi membidiknya, perilakunya berubah. Seperti yang akan dijelaskan di bawah ini, tes penglihatan dan pendengaran yang diperlukan untuk perilaku tersebut dilakukan dalam proses yang sangat terbatas dan terpotong, bagaimanapun, menciptakan hasil yang mengesankan pada perangkat keras N64 yang lemah.
Bergantung pada kondisinya, para penjaga dapat melakukan banyak perilaku berbeda, termasuk langkah-langkah menyamping, berguling ke samping, menembakkan squat, sambil berjalan, berlari, dan bahkan melemparkan granat. Tindakan ini sangat tergantung pada posisi relatif pemain dan perilaku mereka saat ini.
Bahkan, itu adalah mesin negara yang cukup sederhana (Finite State Machine), di mana AI berada dalam keadaan pelaksanaan perilaku tertentu, sementara peristiwa dalam game tidak memaksanya untuk pindah ke yang berikutnya. Prinsip yang sama kemudian digunakan di
Half-Life , yang keluar setahun setelah
GoldenEye (tahun 1998), dan para pengembang di Rare menyadari dampak permainan mereka terhadap Valve penembak yang sangat populer:
“Yang paling penting saya ingat pertemuan dengan orang-orang dari Valve di ECTS pameran industri Inggris pada tahun 1998. Mereka bercanda bahwa GoldenEye membuat mereka membuat kembali banyak hal di Half-Life. Mereka memutuskan untuk melakukannya dengan benar. "
David Doke, GamesRadar, 2018.
Kinerja AI
Dua elemen terpenting dari mesin Goldeneye untuk kontrol AI adalah kamera dan sesuatu yang disebut "sistem STAN." Untuk menyederhanakan rendering, level, bahkan sama besar dan terbuka seperti permukaan Severnaya, dibagi menjadi "kamar" - blok yang lebih kecil. Ini membantu mempertahankan tingkat kinerja yang diinginkan, karena hanya kamar di piramida kamera yang dapat dirender. Tetapi karena ini, AI biasanya tidak melakukan perilaku dasar sampai karakter diberikan oleh kamera. Ini membantu mengurangi biaya komputasi, sementara pada saat yang sama menyediakan fitur menarik, yang akan saya bahas di bawah ini.

Tetapi sistem yang paling penting terkait dengan kamar dan perilaku rendering adalah STAN (yang merupakan singkatan sederhana untuk Stand). Objek STAN yang dikembangkan oleh Martin Hollis adalah jerat poligon untuk satu ruangan yang ditandai untuk digunakan sebagai STAN. Semua benda ini “tahu” di ruangan atau koridor mana mereka berada. Jika karakter AI berdiri di atas STAN tertentu, maka dia bisa melihat pemain hanya jika STAN di mana dia berada terletak di ruang saat ini atau tetangga. Sistem melakukan pemeriksaan sederhana untuk melihat apakah dua STAN dapat “melihat” satu sama lain. Ini memungkinkan untuk uji visibilitas yang lebih murah daripada pelacakan sinar 3D, yang akan membutuhkan lebih banyak sumber daya dari peralatan. Sistem ini bekerja dengan sangat baik, tetapi dalam beberapa kasus tertentu "rusak". Contoh dari ini adalah penjaga di bendungan yang tidak bisa melihat pemain sampai dia mendekati jalan mereka: STAN di atas tangga hanya bisa melihat STAN di bagian bawahnya, yaitu, pemain bisa melakukan tindakan apa pun di dekatnya dan tidak diperhatikan. Contoh kedua adalah jalur spiral di gua, di mana NPC melihat jalan di depan mereka, tetapi tidak di sisi lain dari jurang.
Dengan menempatkan STAN di semua peta, dimungkinkan untuk membangun sistem navigasi berdasarkan poligon mereka. Seperti yang saya katakan sebelumnya dalam AI 101, game modern biasanya menggunakan jerat navigasi yang membuat permukaan poligon penuh yang menentukan tempat-tempat di mana karakter dapat bergerak di peta. Dalam bentuk modernnya, jerat navigasi hanya muncul pada tahun 1997, sehingga bagi pengembang
GoldenEye mengambil sistem STAN dan menambahkan objek yang disebut PAD di atasnya. PAD terletak di STAN, tetapi pada saat yang sama mereka terhubung satu sama lain, pada dasarnya membuat grafik untuk menavigasi jala. Karakter tahu di mana mereka berada, dan dapat mencari PAD dari ruang tujuan jika mereka bereaksi terhadap keributan di dekatnya, atau bergerak di sepanjang STAN di dalam ruangan saat ini ke tempat tujuan.
Semua ini dilengkapi dengan sensor pendengaran. Mereka melakukan pemeriksaan sederhana terhadap kedekatan karakter dalam radius tertentu dari sumber suara. Mereka juga memperhitungkan jenis senjata dan laju tembakan. PP7 dengan peredam tidak menarik perhatian, standar PP7 keras, KF7 Soviet bahkan lebih keras, dan menembakkan semburan meningkatkan radius ke tingkat maksimum, hanya peluncur roket dan senapan tank dianggap lebih keras.
Perubahan adaptif
Semua alat dan sistem AI ini sangat mengesankan, mereka menunjukkan bagaimana pengembang sengaja mencari cara cerdas dan efektif untuk membuat elemen spesifik yang ingin mereka lihat dalam permainan. Tetapi ada banyak elemen lain dimana
GoldenEye menciptakan perilaku AI individu yang dibuat hampir secara individual untuk setiap level. NPC tidak bersembunyi di balik rintangan, jadi pada level seperti Silo dan Train, diperlukan skrip unik sehingga karakter berdiri di samping PAD tertentu dan bereaksi tergantung pada apakah mereka berada dalam squat atau berdiri dengan ketinggian penuh.

NPC tidak tahu di mana karakter lain ada di peta, jadi pada level di mana pemain diperlukan untuk melindungi Natalya Simonov, perlu tidak hanya untuk memastikan pergerakannya, tetapi juga untuk menciptakan perilaku khusus sehingga musuh akan menembak tidak hanya padanya, tetapi juga mengarah pada pemain. Untuk implementasi karakter seperti ilmuwan yang membeku di tempat ketika mereka menyerahkan senjata, atau Boris Grishenko, yang bertindak sebagai pemain memerintahkannya untuk, sampai dia membiarkannya hilang dari pandangan, perilaku lain yang bekerja dalam konteks yang lebih spesifik diperlukan. Banyak karakter plot utama harus menulis perilaku AI mereka sendiri untuk setiap level. Sebagai contoh, Alec Trevelyan memiliki perilaku yang berbeda pada masing-masing dari enam level dengan partisipasinya: Fasilitas, Patung, Kereta, Kontrol, Gua dan Cradle.

Selain itu, perlu untuk menyelesaikan masalah dengan desain level dan kecepatan permainan. Level eksterior Severnaya ternyata sulit dalam hal menyeimbangkan lokasi karakter AI, sehingga pengembang menulis skrip level yang membuat musuh di luar radius kabut dan berlari langsung ke pemain. Tetapi jika musuh terlalu jauh, mereka hanya mematikan dan bisa mengaktifkan kembali di masa depan.
Fitur
GoldenEye favorit saya adalah bagaimana pemain dihukum karena penanganan senjata yang keras dan agresif jika ia tidak melewati level dengan cukup cepat. Ingat, saya mengatakan bahwa NPC tidak mengaktifkan perilaku AI mereka jika belum diberikan? Jika NPC mendengar suara, tetapi belum diterjemahkan, ia menciptakan klonnya sendiri untuk memeriksa sumber suara, dan terus membuat klon, atau sampai kegembiraan mereda, atau kamera tidak membuat karakter. Ini terutama terlihat pada level seperti Archives, di mana pemain dapat dengan mudah jatuh ke dalam perangkap di ruang interogasi di awal level karena klon yang terus-menerus dibuat.
Untuk meningkatkan kecepatan proses permainan secara keseluruhan, serta menyesuaikan kontrol dengan akurasi yang tidak memadai dari pengontrol Nintendo 64, transisi dan durasi animasi disetel dengan hati-hati karena pengujian, memberikan pemain kesempatan yang lebih baik untuk menentukan prioritas musuh atau menggunakan mekanik untuk membidik secara otomatis atau tepat.
Kesimpulannya
Setelah perilisan
GoldenEye, rendering dan AI toolchain berfungsi dengan baik untuk game-game berikutnya. Penerus spiritual Rare's Perfect Dark menggunakan sistem yang sama, sebagian dilengkapi dengan inovasi. Seperti yang dinyatakan di atas, NPC
GoldenEye dapat bersembunyi di balik penutup hanya menggunakan perilaku yang ditentukan khusus, tetapi dalam
Perfect Dark, musuh sudah dapat menghitung posisi penutup, termasuk yang dinamis yang dibuat oleh benda anti-gravitasi. Selain itu, berkat eksperimen dengan pencahayaan, dihitung dengan menaungi simpul, sensor penglihatan bisa menurunkan penglihatan. Proses yang sama kemudian digunakan oleh Free Radical Design untuk franchise
Timesplitters- nya, karena studio ini didirikan oleh beberapa anggota tim pengembangan
GoldenEye . Dalam seri game ini, sistem STAN / PAD telah dilengkapi untuk lebih mendukung arsitektur tingkat vertikal.
Terlepas dari ulang tahunnya yang kedua puluh,
GoldenEye telah menetapkan standar yang telah digunakan di Half-Life dan hari ini pencipta banyak waralaba penembak lainnya berusaha mereproduksi mereka. Saya berharap bahwa setelah membaca artikel ini Anda akan menghargai kedalaman penuh dari sistem yang digunakan dalam permainan dan tingkat komitmen dan keterampilan yang diperlukan untuk membuat proyek yang pada akhirnya memiliki dampak besar.