Bagaimana pelari cepat Ocarina of Time memecahkan permainan dengan cara baru

respek dt gambar unggulan 2
Kisah ini adalah bagian dari seri ReSpec Jacob Roach, yang mencakup dunia game PC dan perangkat keras.

ReSpec biasanya adalah kolom tentang dunia game PC yang luar biasa dan teknis, tetapi terkadang ada topik yang terlalu bagus untuk dilewatkan. Legenda Zelda:Okarina Waktu secara universal diakui sebagai salah satu game Nintendo 64 terbaik pernah dibuat, dan meskipun ini bukan judul PC, speedruns paling teknis dan paling tinggi dari game tersebut mengungkapkan cara kerja game pada level dasar. Lebih penting lagi, prestasi luar biasa ini hanya mungkin terjadi dengan banyak upaya komunitas.

Isi

  • Jauh dari sewenang-wenang
  • Meretas dengan cepat

Video yang Direkomendasikan

Okarina Waktu adalah game yang membutuhkan waktu sekitar 30 jam untuk dikalahkan oleh pemain normal; pelari cepat paling terampil, yang bertujuan untuk memainkan permainan secepat mungkin, dapat mengalahkannya dalam waktu sekitar tiga jam 40 menit tanpa gangguan. Tetapi kategori Any% dari game tersebut, yang menugaskan pemain untuk menyelesaikan game terlepas dari metode yang digunakan, turun menjadi tiga menit, 54 detik, dan 566 milidetik. Dan ya, milidetik itu penting. Pemegang rekor tempat kedua kurang dari satu detik penuh di belakang rekor dunia.

Game Ocarina of Time untuk Nintendo 64.

Bahkan dengan prestasi yang luar biasa, itu belum semuanya Okarina Waktu speedruns membawa ke meja. Di Summer Games Done Quick 2022, maraton lari cepat setengah tahunan untuk amal, ada pameran yang menyoroti sekelompok pelari cepat memprogram ulang game dengan cepat untuk menampilkan grafik baru, memutar musik baru, dan bahkan menjalankan obrolan Twitch hamparan. Dan semua itu dilakukan pada salinan stok game tanpa pemrograman sebelumnya.

Itu Okarina Waktu komunitas speedrunning terus memecahkan permainan dengan cara yang tampaknya mustahil. Saya menghubungi dua pemikir terkemuka di komunitas untuk mencari tahu apa yang membuat game Nintendo 64 klasik tergerak, dan semuanya bermuara pada satu eksploitasi: Eksekusi Kode Arbitrer.

Jauh dari sewenang-wenang

Konsol dan game Nintendo 64.
Rob Tek/Shutterstock

Eksekusi Kode Sewenang-wenang, atau ACE, terdengar jauh lebih menakutkan daripada yang sebenarnya. Ini adalah istilah yang digunakan dalam keamanan siber yang pada dasarnya berarti menjalankan kode (atau program) yang seharusnya tidak dijalankan. Untuk itulah dannyb, seorang pelari cepat Okarina Waktu yang memegang rekor tempat kedua dalam kategori Any%, dijelaskan ACE di Okarina Waktu: Eksekusi Kode Sewenang-wenang di OoT adalah eksploitasi di mana pemain dapat menggunakan tindakan dalam game untuk mengatur banyak data dalam memori untuk meniru kode game, lalu memanipulasi lokasi di mana game tersebut ingin menjalankan kode menjadi tempat di mana kita baru saja melakukannya mengatur.”

Dengan tindakan yang tepat, dannyb mengatakan pemain dapat “pada dasarnya menjalankan kode apa pun yang kita suka dari dalam game, dan menyebabkan game menjadi melakukan hal-hal yang tidak diprogram untuk dilakukan.” Tindakan ini mencakup hal-hal yang tampaknya tidak berguna seperti nama yang Anda masukkan saat memulai permainan. Itulah tindakan yang memungkinkan Okarina Waktu untuk dipukuli begitu cepat.

Dalam permainan seperti Okarina Waktu, permainan memeriksa ingatannya untuk persyaratan tertentu yang harus dipenuhi untuk mengalahkan permainan. Tujuan dalam Any% speedrun adalah mengatur ulang memori untuk melihat nama karakter Anda alih-alih di tempat yang biasanya terlihat. Ini disebut Manipulasi Referensi Basi, atau SRM, dan dannyb mengatakan eksploit itulah yang retak Okarina Waktu speedruns terbuka secara besar-besaran.

[Mantan Rekor Dunia] OoT Setiap% Speedrun dalam 3:55.300!

“ACE dalam video game apa pun selalu membutuhkan dua hal itu: kontrol yang disetel dengan baik atas beberapa wilayah memori sedemikian rupa sehingga pemain dapat melakukannya membuat data di sana meniru kode, dan kemampuan untuk mengubah lokasi eksekusi kode menjadi tempat kode kustom berbohong. Pada 2019, kesalahan yang disebut Manipulasi Referensi Basi ditemukan di OoT, yang membuka persyaratan kedua secara besar-besaran, ”kata dannyb.

Dalam kasus normal Okarina Waktu lari, tindakan yang tampaknya acak ditambahkan untuk mengelabui game agar memeriksa area (seperti nama karakter Anda) untuk persyaratan penyelesaian padahal seharusnya tidak. Ini adalah proses dua bagian. Buat muatan data, seperti nama karakter Anda, dan manipulasi memori dengan SRM untuk mengarah ke muatan itu.

Meretas dengan cepat

OoT Triforce Persen ACE Showcase: TASBot membawa kita Ke Sini Bersama di SGDQ 2022! (Beta + konten baru)

Begitulah cara speedrunners mengalahkan Okarina Waktu hanya dalam beberapa menit, tetapi itu tidak sepenuhnya menjelaskan bagaimana showcase Triforce% yang penuh kasih dapat ditambahkan tekstur baru, model, musik, kode, dan bahkan overlay Twitch ke game tanpa modifikasi apa pun peluru. Savestate, salah satu pemikir di balik proyek selama bertahun-tahun ini, menjelaskan bahwa ini semua tentang menyiapkan konsol Nintendo 64 untuk memahami data pengontrol sebagai data game.

Ini adalah karya yang hanya mungkin karena TASBot, yang mampu mengeksekusi input dengan kecepatan yang tidak manusiawi. Seperti yang dijelaskan oleh Savestate, “Kami memodifikasi instruksi dalam memori untuk mulai membaca data pengontrol sebagai instruksi N64. Biasanya, ini akan macet, tetapi berkat TASBot, dia dapat mensimulasikan pengontrol dan memanipulasinya secara tidak manusiawi kecepatan agar terlihat seperti instruksi N64 sehingga game mengeksekusi data pengontrol sebagai satu set yang telah ditentukan sebelumnya instruksi.”

Pelari dapat menambahkan kode apa pun yang mereka inginkan ke dalam game hanya melalui input pengontrol.

Singkatnya, etalase Triforce% menggunakan ACE dan SRM seperti biasa Okarina Waktu speedrun, tetapi secara khusus mengubah cara konsol Nintendo 64 memahami instruksi. Dengan pengaturan itu, pelari dapat menambahkan kode apa pun yang mereka inginkan ke dalam game hanya melalui input pengontrol. Savestate melanjutkan: “Tidak ada modifikasi pada kartrid game. Untuk memasukkan data khusus ke dalam memori, kami menggunakan kesalahan yang memungkinkan kami untuk mulai menambahkan dan memodifikasi barang memori dengan bantuan TASBot sementara hanya berinteraksi dengan konsol N64 melalui pengontrolnya pelabuhan.”

Port pengontrol di Nintendo 64.

Eksploitasi ini juga tidak ditemukan secara acak. Savestate menjelaskan bahwa Okarina Waktu komunitas telah mengembangkan alat untuk melihat bagaimana memori diatur dalam game, serta program untuk mensimulasikan pengaturan memori yang berbeda. Emulator seperti Project64 sangat membantu, memungkinkan pelari dan pengembang alat mempelajari cara game mengeksekusi kode langkah demi langkah.

Okarina Waktu adalah salah satu game paling ikonik yang pernah dibuat, dan komunitas speedrunning yang kuat dan berdedikasi telah memungkinkan game tersebut berkembang dengan perkembangan baru selama beberapa dekade setelah pertama kali dirilis. Eksploitasi seperti yang memberi kekuatan tercepat Okarina Waktu speedruns menyepelekan tantangan yang biasanya dikaitkan dengan mengalahkan game secepat mungkin, tetapi mereka juga menyoroti keahlian teknis yang luar biasa dan upaya komunitas yang dilakukan untuk membedah dan menganalisis orang yang dicintai permainan.

Komunitas juga menyadari keseimbangan ini, menurut dannyb: “Kategori speedrun Any% OoT adalah satu-satunya di papan peringkat utama kami yang memungkinkan ACE sebagai cara yang valid untuk menyelesaikan tujuan. Untuk yang lainnya, kami melarang ACE untuk menjaga keunikan yang menghidupkan kategori tersebut.

Artikel ini adalah bagian dari ReSpec – kolom dua mingguan berkelanjutan yang mencakup diskusi, saran, dan pelaporan mendalam tentang teknologi di balik game PC.

Rekomendasi Editor

  • Zelda: Ocarina of Time bergabung dengan Video Game Hall of Fame
  • Ekspansi N64 Switch Online tidak akan lengkap tanpa pengontrol transparan