Taipan Rollercoaster bukanlah game komputer yang paling modis pada tahun 1999. Namun jika Anda melihat ke bawah pikselnya—wahana yang reyot, kerumunan orang yang lapar, haus, muntah (dan petugas kebersihan yang mengepel di belakang mereka)—jauh di tingkat kode, Anda melihat keahlian yang begitu obsesif hingga hampir gila. Chris Sawyer, satu-satunya pengembang game tersebut, menulis semuanya dalam perakitan.
Bahasa pemrograman tertentu, seperti Python atau Go atau C++, disebut “tingkat tinggi” karena cara kerjanya seperti bahasa manusia, ditulis dalam perintah dan idiom yang mungkin cocok dengan puisi. Secara umum, perangkat lunak seperti kompiler mengubahnya menjadi apa yang sebenarnya dibaca oleh mesin: blok 1s dan 0s (atau mungkin hex) yang memberi tahu transistor sebenarnya bagaimana berperilaku. Bahasa assembly, bahasa “tingkat rendah” yang paling rendah, memiliki korespondensi hampir satu-ke-satu dengan bahasa ibu mesin. Ini mengkode langsung ke logam. Membuat permainan komputer yang rumit dari perakitan seperti menenun permadani dari bulu kucing yang rontok.
Mengapa ada orang yang melakukan ini? Saya baru-baru ini bertanya kepada Sawyer, yang tinggal di negara asalnya, Skotlandia. Dia mengatakan kepada saya bahwa efisiensi adalah salah satu alasannya. Pada tahun 1990an, alat untuk pemrograman tingkat tinggi belum semuanya tersedia. Kompiler sangat lambat. Debugger payah. Sawyer dapat menghindarinya dengan melakukan sendiri perakitan x86, bahasa utama chip Intel.
Tapi kami berdua tahu itu bukan alasan sebenarnya. Alasan sebenarnya adalah cinta. Sebelum beralih ke roller coaster, Sawyer telah menulis permainan perakitan lainnya, Taipan Transportasi. Ini menempatkan pemain untuk bertanggung jawab atas jalan kota, stasiun kereta api, landasan pacu, dan pelabuhan. Saya membayangkan Sawyer sebagai penghobi model kereta api—meletakkan setiap bentangan rel, menjahit rumput sintetis dengan tangan, setiap detail merupakan pilihan dan tugas. Untuk memindahkan piksel yang dibuat dengan hati-hati ini dari bitmap ke tampilan, Sawyer harus mengeluarkan potensi penuh dari chip tersebut. “Taipan RollerCoaster hanya terjadi karena saya mengetahui batasan dari apa yang mungkin terjadi,” katanya kepada saya.
Bekerja dalam batas? Sebuah ide yang asing, mungkin, di era kelimpahan digital ini, ketika memanggil satu fungsi dalam algoritma pelatihan AI dapat melibatkan jutaan GPU. Dengan perakitan, Anda mendapatkan satu hal dan satu hal saja, dan itu adalah hal yang Anda minta—bahkan, seperti yang telah dipelajari oleh banyak pembuat kode dengan susah payah, jika itu salah. Perakitan itu brutal dan indah seperti itu. Ini mengharuskan Anda untuk mengatakan dengan tepat apa yang Anda maksud.
Saya sudah menyelesaikan perakitan pencipta sebuah tindakan yang merugikan. Mereka ingin segalanya menjadi lebih mudah, bukan lebih sulit. Saya membayangkan mereka lelah memuat kartu punch dan menekan tombol pada mesin steampunk mereka. Mungkin mereka memimpikan sebuah dunia seperti dunia kita, di mana komputer dapat melakukan banyak hal dengan bimbingan yang sangat minim.