Selama bertahun-tahun menulis artikel tentang game, saya berbicara tentang banyak
gangguan yang luar biasa ,
kode yang tidak diketahui untuk waktu yang lama ,
trik dengan eksekusi kode arbitrer dan
mencari konten yang sangat tersembunyi di dalam game dan peralatan klasik. Tapi tidak ada yang bisa mempersiapkan saya untuk
video Twitch ini di mana armada terbang Arwing dari
Star Fox 64 menyerbu dunia
Ocarina of Time untuk menyerang Link.
Anda berharap melihat adegan seperti itu hanya dalam kartun atau retasan ROM buatan penggemar yang
suka diambil Nintendo
dari Internet . Tetapi hal yang paling menakjubkan tentang video ini adalah ia menunjukkan versi yang tidak dimodifikasi dari
Ocarina of Time ROM asli Jepang menggunakan konsol standar dan pengontrol N64.
Sepanjang pagi saya menemukan bagaimana ini bahkan mungkin. Untuk menjelaskan ini, Anda harus masuk ke inti instruksi bahasa mesin Nintendo 64, manajemen memori
Ocarina of Time , dan proses pengembangan game pertengahan 90-an itu sendiri. Jika Anda ingin tahu seperti saya, bergabunglah dengan kami.
Tautan usang dan kode baru
Bagian yang luar biasa ini dimulai dengan ditemukannya kesalahan penting pada Oktober tahun lalu: pemain Glitches0 dan 0stuff menggunakan emulator dan penelitian yang cermat terhadap area memori Nintendo 64
menemukan cara untuk memanipulasi tautan usang di
Ocarina of Time .
Faktanya, kesalahannya adalah bahwa pemain mengambil item, dan kemudian mengelabui permainan untuk menurunkannya langsung dari tangan Link ketika melintasi ambang lokasi pemuatan baru (misalnya, kamar sebelah). Pada tahap ini, gim membebaskan area memori yang ditempati oleh item ini sehingga dapat digunakan untuk objek dalam gim lainnya selama pemuatannya. Tetapi pada saat yang sama, gim ini berpikir bahwa Link memegang
sesuatu , sehingga terus memperbarui pointer ke "outdated link" di memori yang dibebaskan, menuliskan data yang mewakili posisi dan sudut objek yang tidak ada. Dengan manipulasi yang cermat, pointer ini kemudian dapat digunakan untuk "merusak" data objek yang baru dimuat dengan nilai arbitrer.
Pesawat ruang angkasa tidak bisa dibandingkan dengan Link.Arwing dari Star Fox 64 dapat menerima damage dan menembak Link karena mereka selalu ada dalam game.Bertujuan dengan tombol Z membuatnya mudah untuk mengarahkan bumerang di bagian bawah Arwing.Tautan tersebut menyimpan objek "kosong" - persiapan untuk kesalahan dilakukan dengan eksekusi kode arbitrer.Bagian terpenting dari teknik ini adalah membekukan kamera pada posisi kesalahan.Perangkat untuk menahan tombol / posisi yang diperlukan dari joystick analog controller 3 untuk langsung ke judul.Setelah sepuluh menit memasukkan nama file, kode Arwing siap diunduhAwalnya, trik ini hanya digunakan untuk "merusak" permainan, misalnya, untuk
memuat item baru menjadi peti harta karun atau untuk mengubah posisi item lain di dalam ruangan (seperti
dijelaskan secara rinci di sini ). Namun, setelah beberapa waktu, para pemain menemukan bahwa metode yang sama dapat digunakan untuk
memodifikasi kode lompatan assembler individual yang memberi tahu permainan di mana ia perlu mencari instruksi berikutnya ketika melakukan acara permainan tertentu.
Setelah memasukkan kode yang diinginkan dengan cara ini, Anda dapat memaksa game untuk pergi ke area memori yang berisi nilai rotasi terakhir yang diketahui untuk ketapel X dan Y. Jika nilai
- nilai ini ditentukan dengan tepat, mereka akan ditafsirkan sebagai kode lompatan
lain yang mengeksekusi transisi ke area memori di mana nama file saat ini disimpan. Maka nama file ini akan ditafsirkan sebagai kode mesin N64 normal, sehingga pemain dapat dengan cepat pindah ke tempat mana pun dalam permainan yang dia butuhkan (tentu saja, jika dia benar mengkonversi karakter biner dari nama file ke
opcodes yang sesuai ).
Penjelasan kesalahan dengan tautan usang yang awalnya digunakan untuk mengganti item di peti.Contoh serius pertama menggunakan manipulasi ini dengan kode transisi sedang
memuat cutscene game dengan teks . Dengan demikian, pemain menetapkan
rekor dunia baru untuk speedran permainan dalam kategori "Setiap%" . Untuk melakukan ini dengan cepat di area awal permainan, Anda perlu menggunakan gangguan lain, termasuk
kesalahan kamera "berjalan selama percakapan" , yang memungkinkan Anda memuat dan membongkar batu pada waktu dan lokasi yang tepat. Juga untuk ini, Anda perlu menahan tombol dan posisi tertentu dari joystick analog dari pengontrol yang terhubung ke port Nintendo 64 pertama dan ketiga sehingga sinyalnya diinterpretasikan sebagai kode lokasi cutscene dengan keterangan.
Buka Arwing
Metode yang dijelaskan di atas cukup baik jika Anda hanya ingin pergi ke cutscene. Tetapi ia memiliki batasan serius: sistem file
Ocarina of Time terbatas pada delapan karakter, yaitu nama file hanya dapat dikonversi menjadi beberapa instruksi kode mesin. Untungnya, dua slot instruksi ini juga dapat digunakan untuk secara praktis menghilangkan batas karakter.
Ini dilakukan dengan cara yang sangat membingungkan, dijelaskan secara rinci dalam
Pastebin ini dan
video ini . Cukuplah untuk mengatakan bahwa ia menggunakan metode yang dijelaskan di atas tiga kali, yang menghilangkan pemeriksaan penting dari indikator posisi nama file, dan kemudian mengatur pointer ini ke nilai posisi negatif.
Penjelasan terperinci tentang eksekusi kode arbitrer di Ocarina of TimeSebagai akibatnya, pemain diberi kesempatan untuk memasukkan kode yang panjangnya ratusan karakter, yang memungkinkan mereka untuk memuat urutan yang jauh lebih kompleks dari instruksi mesin untuk mengimplementasikan metode transisi kode yang dijelaskan di atas. Tetapi ini masih belum cukup untuk menyandikan grafik, animasi, dan logika gameplay yang diperlukan untuk menyerang Arwing. Untungnya, Nintendo banyak membantu kami dengan mudah menyembunyikan semua kode Arwing ini jauh di dalam semua kartrid
Ocarina of Time .
Mengapa Desainer karakter dan grafis Satoru Takizawa
mengatakan kepada Iwata Asks dalam sebuah wawancara tahun 2011 bahwa itu hanya cara untuk menggunakan kembali kode untuk memindahkan salah satu musuh di
Zelda :
Volvagia adalah seekor naga, sehingga ia menggeliat dan bergerak dalam gelombang. Saya baru saja menyerahkan bos programmer Kazuaki Morita bagian dari model naga, dan dia segera menggerakkannya. Bagiku tetap menjadi misteri bagaimana dia berhasil ... jadi aku tidak bisa menahan diri untuk tidak bertanya padanya. Dia menjawab bahwa itu sama dengan pemrograman untuk Star Fox 64 . Ada adegan dalam permainan ini di mana pejuang lain tergantung pada ekor Arwing, dan gerakan penerbangan pejuang itu persis sama dengan Volvagia. Saya kagum, itu adalah keajaiban nyata bagi saya.
Video 2007 yang menunjukkan Arwing terbang di atas Hutan Kokiri (kode GameShark dan emulator digunakan).Setelah menyalin animasi yang diperlukan untuk Volvagia, Morita tampaknya telah meninggalkan seluruh blok kode Arwing dalam data sampah permainan. Bertahun-tahun yang lalu, para
peneliti data mempelajari hal ini. Dan
selama lebih dari satu dekade, pemain telah mengetahui cara mengakses bagian-bagian tersembunyi dari kode menggunakan
perangkat cheat seperti GameShark , yang mengubah nilai dalam memori untuk menggantikan musuh dengan Arwing.
Tetapi berkat trik dengan manipulasi memori yang dijelaskan dalam artikel, perangkat cheat eksternal tidak lagi diperlukan. Pada 23 Januari, pemain ZFG1
membuktikan ini sekali dan untuk semua dengan memuat Arwing menggunakan Zelda ROM yang tidak dimodifikasi dan konsol standar Nintendo 64 dalam aliran Twitch. Hasilnya adalah permainan di mana semua pintu digantikan oleh Arwing, terbang di sekitar Ling, menyerangnya dengan tembakan merusak dari peledakan, dan bahkan jatuh ke tanah ketika dirobohkan.
Persiapan untuk merekam klip ini
memakan waktu lebih dari satu jam , di mana tiga siklus eksekusi kode arbitrer dibuat dan dalam 10 menit nama file untuk memuat Arwing dimasukkan dengan susah payah. Tetapi pada saat yang sama, klip ini adalah puncak dari berbulan-bulan dan bertahun-tahun pekerjaan sebuah komunitas yang terobsesi dengan keinginan untuk sepenuhnya memahami dan menguasai permainan klasik dan gangguannya.
Selain nilai hiburan, klip "Arwings in Zelda" membuktikan bahwa komunitas, sekelompok spesialis komputer, dengan waktu dan upaya yang cukup, dapat melakukan hal-hal menakjubkan dengan peralatan dan perangkat lunak permainan klasik.