Pembaca Zork Terlihat yang Membuka Tabir Cara Kerja Gim-Gim Era 80-an

Sejak akhir 1970-an hingga awal 1980-an, banyak orang mengasosiasikan gaming dengan Space Invaders dan Pac-Man. Namun, di luar lingkungan arkade, para penggemar komputer rumahan awal lebih sering menghabiskan waktu dengan menggali pemikiran, serta menggaruk-garuk kepala, di depan jenis permainan yang sangat berbeda. Bersama pendahulu spiritualnya, Colossal Cave Adventure, Zork dan sekuensekuelnya memelopori genre petualangan teks—permainan berbasis parser tanpa grafis yang mengalami kebangkitan puluhan tahun kemudian dengan label yang lebih intelek: “fiksi interaktif.”

Selain menjadi yang pertama dari serangkaian kesuksesan awal hingga pertengahan 1980-an bagi studionya, Infocom, Zork merupakan pencapaian nyata dari sudut pandang teknis. Popularitas gim ini setidaknya sebagian disebabkan oleh portabilitasnya—ia dapat berjalan di Commodore 64 semudah di PC 8086 atau ZX Spectrum, yang merupakan keunggulan besar di era ketika konsumen dapat memilih di antara puluhan mikrokomputer yang sebagian besar tidak kompatibel satu sama lain.

Keserbagunaan gim tersebut berasal dari keputusan visioner Infocom untuk pada dasarnya menjalankan judul-judulnya di apa yang mereka sebut Z-Machine—pada intinya, implementasi awal dari mesin virtual. Gim dan penerusnya ditulis dalam bahasa tingkat tinggi milik Infocom, yaitu Zork Implementation Language, yang kemudian dikompilasi ke dalam set instruksi tingkat rendah bernama Z-Code, yang dieksekusi oleh environment Z-Machine. Ini berarti bahwa alih-alih harus menulis ulang gim mereka dari awal untuk setiap sistem baru yang ingin mereka dukung, Infocom hanya perlu menulis interpreter Z-Code baru untuk setiap sistem. (Bagi yang tertarik, banyak dokumentasi bagus tentang cara kerja Z-Machine dapat ditemukan di sini.)

Ngomong-ngomong, kini, hampir tepat 50 tahun setelah perilisan gim Zork pertama, hadir sebuah situs yang membuka tirai tentang Z-M Ternyata, bagian yang cukup besar dari kode permainan ini dikhususkan untuk teka-teki tersebut, yang secara internal disebut sebagai "teka-teki Cina." Setiap posisi di dalam grid 6×6 disimpan sebagai satu angka dalam sebuah array berisi 36 elemen, di mana posisi berbagai dinding diperbarui setiap kali pemain memindahkannya.

MEMBACA  Amazon Jual Sistem Audio Premium LG dengan Diskon Hampir Setengah Harga — Soundbar Termasuk

Anda mungkin mengira bahwa akan ada 36 ruangan di dalam teka-teki ini, ternyata tidak — hanya ada satu ruangan, kemungkinan besar karena menambahkan 36 ruangan yang hampir identik ke dalam permainan akan sangat sia-sia dalam hal penggunaan memori. (Sebagai perbandingan, ada sekitar 60 ruangan di seluruh bagian lain permainan ini.) Satu-satunya ruangan teka-teki selalu merupakan ruangan tempat pemain berada, yang mengharuskan permainan untuk terus melacak berbagai objek dan menukarnya masuk dan keluar dari ruangan sesuai kebutuhan: misalkan Anda menjatuhkan pedang di ruangan dengan koordinat x: 3, y: 4, lalu bergerak ke timur. Sebenarnya Anda tidak benar-benar bergerak — permainan hanya memperbarui posisi Anda menjadi x: 4, y: 4 dan menghilangkan pedang tersebut. Jika Anda bergerak ke barat lagi, permainan mengingat bahwa inilah ruangan tempat Anda menjatuhkan pedang, sehingga permainan memperbarui posisi Anda lagi, lalu mengembalikan pedang ke ruangan tersebut.

Optimasi semacam ini sangat penting ketika Anda bekerja dengan keterbatasan ruang yang diterapkan era awal 1980-an — dan keterbatasannya itu cukup berat. Seluruh source code Zork III — termasuk daftar kata kerja/kata benda, deskripsi ruangan dan objek, parser, penerjemah ZIL beserta kode permainan itu sendiri — beratnya hanya 92 KB. Secara total. Permainan ini jelas bukan Crimson Desert.

Meski begitu, menarik pula untuk melihat banyaknya kesamaan antara cara kerja Zork III dan permainan modern. Pada dasarnya, sebuah permainan hany merupakan sekumpulan state variable: apakah seorang pemain sudah pernah ke ruangan ini? Apakah mereka sudah membunuh monster ini? Apakah mereka sudah bicara dengan NPC ini dan menerima misi? Sejauh mana kemajuan misi mereka? Apa saja yang sedangmereka bawa sekarang? Berapa level kesehatan mereka sekarang? Bagaimana dunia permainan berubah sejak permainan dimulai?

MEMBACA  Jawaban Mini Teka-Teki Silang NYT Hari Ini, 13 Juli 2025 Desain visual yang rapi dengan spasi dan format yang konsisten.

Cara sebuah permainan modern menangani hal-hal semacam itu pastinya jauh lebih kompleks dan bernuansa dibandingkan tahun 1982 — misalnya, Zork tidak mengenal misi multi-tahap — namun prinsip-prinsipnya esensinya sama. Setelnya bendera [x] jika peristiwa penting [y] terjadi. Pantau terus isi inventaris pemain. Pantau terus waktunya. Pemain baru saja dipukul monster? Kurangi [x] dari kesehatan mereka. Apakah kesehatan mereka berada di bawah 0 saat ini? Ya? Astaga. Saatnya menjalankan fungsi JIGS-UP, lalu memuat kembali savegame mereka sebelumnya.

Dalam hal tersebut, sebenarnya sangat sedikit perbedaan antara Zork dan Elden Ring. Tentu, implementasi ide-ide ini berbeda sekali, namun konsepnya sendiri tetaplahan.

Oh, dan terakhir: seperti yang diketahui oleh penggemar Zork, Anda harus mencoba — di setiap permainan Zork — untuk mengetik, “Hello sailor”. Ini semacam ekuivalen Zork-ish dari Konami cheat code, dalam artian itu adalah sesuatu yang Anda coba ketik karena Anda berharap sesuatu akan terjadi sebagai hasilnya. Masalahnya, di sepanjang Zork (dimana untuk pertama kalinya frasa ini ditemui) dan Zork II, satu-satunya respon teman-teman terima hanyalah “Nothing happens here.” Implikasinya adalah bahwa sesuatu mungkin akan terjadi di tempat lain pada suatu saat, namun tidak pernah terjadi. Tetapi! Di Zork III, ada satu lokasi dimana pesan itu berubah menjadi “Nothing happens yet.” Dan jika Kamu cukup lama menunggu, jreng: saat pun tiba tibanya langsung sang pelaut tua tersebut akan datang!

© The Visible Zorker —Bri-Arial;Trof;pencils © Buku bermurip at disle u of ri

Public: Jakarta old "Ar" at → cholic"
—***Disclaimer part disinformated

Tinggalkan komentar