Misteri Hilangnya 3D Pinball dari Windows, Penyebab Aslinya Terungkap Bagi pengguna komputer pada era Windows 95 hingga Windows XP, 3D Pinball for Windows Space Cadet merupakan salah satu permainan yang sulit dilupakan. Tanpa perlu membeli gim tambahan, pengguna bisa membuka meja pinball bertema luar angkasa langsung dari menu Games, menarik peluncur, kemudian mengejar skor setinggi mungkin sambil menyelesaikan berbagai misi.
Popularitasnya membuat banyak pengguna bertanya ketika Windows Vista hadir tanpa permainan tersebut. Solitaire masih bertahan dalam bentuk baru, begitu pula beberapa permainan Windows lainnya, tetapi Space Cadet tiba tiba menghilang. Berbagai dugaan kemudian beredar, mulai dari persoalan lisensi hingga anggapan Microsoft sengaja meninggalkan gim lama untuk memperbarui koleksi permainan bawaan.
Jawaban sebenarnya datang dari Raymond Chen, insinyur Microsoft yang terlibat dalam pengembangan Windows selama puluhan tahun. Ia menjelaskan bahwa 3D Pinball ditinggalkan bukan karena masalah hukum. Penyebab utamanya justru sebuah kesalahan teknis saat kode permainan dipindahkan ke lingkungan 64 bit. Bug tersebut membuat bola pinball dapat menembus benda seolah tidak memiliki aturan tumbukan.
Bola Pinball Mendadak Bisa Menembus Meja
Masalah yang ditemukan Microsoft bukan gangguan kecil yang hanya muncul sesekali. Menurut Chen, versi 64 bit mempunyai kesalahan serius pada sistem deteksi tumbukan. Bola dapat melewati objek yang seharusnya menghentikan atau memantulkannya.
Keanehannya sudah terlihat sejak awal permainan. Bola yang seharusnya masuk ke area peluncur justru perlahan bergerak turun, menembus plunger, kemudian terus jatuh melewati bagian bawah meja. Permainan praktis berakhir sebelum pemain sempat melakukan apa pun.
Sistem tumbukan merupakan bagian penting dalam permainan pinball digital. Program harus menghitung posisi bola, kecepatan, arah gerakan, bentuk objek, serta titik pertemuan dengan bumper, dinding, flipper, dan jalur lainnya.
Apabila kalkulasi tersebut gagal, permainan tidak lagi dapat berfungsi seperti pinball. Bola yang seharusnya memantul dari bumper dapat melewatinya. Flipper yang ditekan pemain juga tidak akan mampu mempertahankan bola di meja.
Chen menduga persoalan tersebut berkaitan dengan kesalahan pembulatan perhitungan floating point ketika program dipindahkan ke 64 bit. Namun, penyebab tepat pada tingkat kode tidak pernah benar benar ditemukan oleh tim Microsoft ketika itu.
Microsoft Bahkan Kesulitan Menemukan Sistem Collision Detection
Situasi menjadi lebih sulit karena Microsoft bukan pembuat awal seluruh kode Space Cadet. Gim tersebut berasal dari perangkat lunak yang dikembangkan perusahaan lain beberapa tahun sebelumnya.
Chen mengatakan dirinya bersama seorang insinyur lain mencoba menelusuri program untuk menemukan penyebab bola dapat melewati objek. Masalahnya, sebagian besar kode hampir tidak mempunyai komentar yang membantu menjelaskan fungsi setiap bagian.
Lebih buruk lagi, tidak ada orang di Microsoft yang benar benar memahami susunan kode lama tersebut. Chen bahkan menceritakan bahwa mereka kesulitan menemukan bagian program yang menjalankan collision detection atau sistem pendeteksian tumbukan.
Dalam perangkat lunak modern, komentar dan dokumentasi sangat membantu ketika kode berpindah dari satu tim ke tim lain. Tanpa dokumentasi, insinyur baru harus membaca fungsi, struktur data, dan hubungan antarbagian satu per satu sebelum memahami cara sebuah sistem bekerja.
Space Cadet menjadi contoh betapa mahalnya mempertahankan perangkat lunak lama ketika pengetahuan mengenai program tersebut sudah tidak berada di perusahaan yang harus merawatnya.
Menurut penulis, hilangnya Space Cadet memperlihatkan bahwa sebuah gim sederhana bagi pengguna dapat menyimpan persoalan teknis besar di belakang layar. Satu kesalahan pada sistem fisika saja cukup membuat permainan yang telah digunakan jutaan orang akhirnya dicoret dari Windows.
Waktu Microsoft Saat Itu Sangat Terbatas
Tim Windows tidak mempunyai kebebasan untuk menghabiskan waktu berminggu minggu hanya pada satu gim. Chen menjelaskan mereka sedang mengerjakan pemindahan jutaan baris kode dari lingkungan 32 bit menuju 64 bit.
Windows sendiri terdiri dari komponen yang jauh lebih penting dibandingkan sebuah permainan bawaan. Sistem file, antarmuka, jaringan, keamanan, kompatibilitas aplikasi, driver, dan berbagai komponen lainnya harus dipastikan tetap berjalan.
Ketika dua insinyur tidak segera menemukan sumber kesalahan Space Cadet, mereka menghadapi pilihan. Tim dapat terus menghabiskan waktu membongkar kode gim lama atau mengalihkan tenaga menuju bagian Windows lain yang masih harus diselesaikan.
Microsoft akhirnya mengambil keputusan untuk tidak lagi memasukkan Pinball ke produk Windows berikutnya. Menurut Chen, keputusan tersebut dibuat karena waktu pengembangan tidak cukup untuk terus mencari kesalahan misterius pada kode yang sulit dipahami.
Windows XP kemudian menjadi versi Windows konsumen terakhir yang membawa Space Cadet. Ketika Windows Vista diluncurkan, permainan pinball tersebut tidak lagi menjadi bagian sistem operasi.
Bukan Gara Gara Sengketa Lisensi
Salah satu teori yang lama beredar menyebut Space Cadet dihapus karena persoalan lisensi. Dugaan itu cukup masuk akal karena Microsoft memang bukan pemilik awal seluruh kode permainan.
Namun, Chen secara tegas membantah bahwa alasan penghapusannya adalah persoalan hukum. Ia membuka penjelasannya dengan menyatakan bahwa teori mengenai masalah legal bukan penyebab Pinball menghilang dari Windows.
Persoalan lisensi baru menjadi penting ketika sejumlah pengguna meminta Microsoft membuka kode sumber Space Cadet setelah gim tersebut tidak lagi dipakai.
Chen menjelaskan Microsoft tidak dapat begitu saja merilis kode itu karena kode sumbernya dilisensikan dari perusahaan lain. Hak menggunakan sebuah perangkat lunak dalam Windows tidak otomatis memberi Microsoft hak untuk membagikan kode sumber kepada publik.
Perbedaan tersebut menjelaskan mengapa gim dapat tersedia bertahun tahun pada Windows tetapi kode resminya tidak pernah dirilis oleh Microsoft sebagai proyek terbuka.
Space Cadet Sebenarnya Berasal dari Full Tilt Pinball
Jauh sebelum menjadi ikon Windows XP, Space Cadet merupakan salah satu meja dalam Full Tilt! Pinball. Gim tersebut dikembangkan oleh Cinematronics dan diterbitkan Maxis pada 1995. Versi lengkapnya mempunyai tiga meja permainan, yaitu Space Cadet, Skulduggery, dan Dragon’s Keep.
Microsoft kemudian melisensikan versi Space Cadet untuk dimasukkan dalam Microsoft Plus! for Windows 95. Versi Windows hanya membawa satu meja dan sejumlah perubahan dibandingkan Full Tilt! Pinball.
Full Tilt! dapat berjalan hingga resolusi 1024 x 768, sedangkan versi Windows yang dikenal banyak pengguna dibatasi pada 640 x 480. Beberapa elemen grafis dan presentasinya juga berbeda.
Meski lebih sederhana, versi Windows justru menjadi jauh lebih dikenal. Penyebabnya sederhana. Pengguna tidak perlu mencari, membeli, atau memasang permainan secara terpisah.
Space Cadet berada langsung di komputer, berdampingan dengan Solitaire, FreeCell, Minesweeper, dan gim bawaan lainnya. Dalam masa ketika koneksi internet belum secepat sekarang, keberadaan gim gratis di dalam Windows mempunyai nilai hiburan yang besar.
Pemain Tidak Hanya Mengejar Bola dan Skor
Space Cadet mempunyai sistem permainan yang lebih dalam dibandingkan kesan pertama. Pemain tidak sekadar menjaga bola agar tidak jatuh melalui celah di antara kedua flipper.
Meja Space Cadet menggunakan tema karier ruang angkasa. Pemain memulai permainan sebagai Cadet dan dapat meningkatkan pangkat dengan menyelesaikan misi tertentu. Tingkatannya berkembang hingga Fleet Admiral.
Target tertentu akan membuka misi. Pemain kemudian harus mengarahkan bola menuju jalur atau sasaran yang diperintahkan sebelum kesempatan misi berakhir.
Struktur tersebut memberi alasan untuk terus bermain selain sekadar memperbesar skor. Pemain belajar sudut pantulan, waktu penggunaan flipper, kekuatan peluncuran, serta posisi sasaran yang memberikan bonus.
Kemampuan itulah yang membuat permainan sederhana tersebut dapat menyita waktu jauh lebih lama daripada perkiraan pengguna.
Perpindahan ke 64 Bit Menjadi Titik Sulit
Komputer konsumen selama bertahun tahun sangat bergantung pada arsitektur 32 bit. Ketika industri mulai bergerak menuju 64 bit, perangkat lunak lama harus disesuaikan agar tetap dapat bekerja dengan baik.
Pemindahan tersebut tidak selalu sesederhana melakukan kompilasi ulang. Perbedaan tipe data, ukuran pointer, pengelolaan memori, asumsi lama di dalam kode, hingga perhitungan numerik dapat menimbulkan kesalahan yang sebelumnya tidak terlihat.
Dalam kasus Space Cadet, masalah yang terlihat adalah sistem tumbukan. Bola kehilangan kemampuan berinteraksi secara tepat dengan objek.
Chen menyebut kemungkinan terdapat kesalahan pembulatan floating point yang membuat collision detection gagal. Namun, karena tim tidak berhasil menemukan bagian yang tepat sebelum memutuskan meninggalkan gim tersebut, penjelasan itu lebih merupakan dugaan teknis berdasarkan gejala yang terlihat.
Artinya, misteri mengenai alasan Microsoft menghapus Pinball sudah terjawab. Akan tetapi, misteri mengenai baris kode tertentu yang membuat bola berubah seperti hantu belum pernah diselesaikan secara resmi oleh tim Microsoft saat itu.
Proyek Dekompilasi Justru Memberi Temuan Menarik
Bertahun tahun setelah Space Cadet menghilang, pengembang independen melakukan dekompilasi permainan untuk memahami dan membangun kembali kode yang dapat dijalankan pada sistem modern.
Salah satu proyek yang cukup dikenal tersedia melalui SpaceCadetPinball di GitHub. Proyek tersebut berhasil membuat versi lintas platform menggunakan SDL dan dapat dijalankan pada Windows modern, Linux, serta macOS.
Hal menarik muncul ketika pembuat proyek mencoba menjalankan hasil dekompilasi pada mode 64 bit. Bug yang pernah membuat Microsoft menyerah ternyata tidak muncul.
Pengembang proyek menyebut hasil dekompilasinya dapat bekerja pada x64 sejak percobaan pertama. Ia menduga kesalahan yang dialami Microsoft mungkin muncul ketika proses porting internal dilakukan, atau bagian yang memicu masalah tidak ikut terbawa dalam hasil dekompilasi.
Ia memperkirakan titik yang mungkin berkaitan dengan masalah tersebut berada pada fungsi pengelolaan tepi dan pemeriksaan area tumbukan. Namun, itu belum membuktikan bahwa fungsi tersebut merupakan penyebab pasti masalah Microsoft.
Temuan tersebut membuat kisah Space Cadet semakin menarik. Microsoft benar benar mengalami bug serius pada proses porting, tetapi reproduksi modern tidak otomatis menghasilkan kegagalan yang sama.
Windows Vista Menghadirkan Koleksi Gim Berbeda
Ketika Vista hadir, Microsoft tidak menghapus hiburan bawaan sepenuhnya. Sejumlah permainan klasik tetap tersedia dengan tampilan yang diperbarui.
Space Cadet menjadi salah satu peninggalan era Windows sebelumnya yang tidak ikut menyeberang. Windows XP akhirnya menjadi tempat terakhir sebagian besar pengguna mengenal gim tersebut sebagai bagian resmi dari sistem operasi konsumen Microsoft.
Keputusan ini kemudian membuat Space Cadet semakin melekat dengan identitas Windows XP. Bagi banyak pengguna, gambar meja berwarna biru gelap, bumper merah putih, panah bercahaya, serta panel skor di sebelah kanan segera mengingatkan pada komputer sekolah, warnet, kantor, atau PC keluarga.
Suara bumper dan flipper bahkan menjadi bagian yang mudah dikenali oleh orang yang bertahun tahun tidak memainkan gim tersebut.
Menurut penulis, keputusan menghapus Space Cadet justru membuat permainan itu semakin kuat sebagai simbol satu generasi Windows. Ketika sebuah fitur selalu tersedia, orang jarang memikirkan nilainya. Kerinduan baru terlihat ketika fitur tersebut tiba tiba tidak ada.
Space Cadet Tetap Hidup Setelah Windows Meninggalkannya
Berakhirnya distribusi resmi bersama Windows tidak membuat Space Cadet benar benar hilang. Komunitas terus mempertahankan permainan melalui proyek dekompilasi dan port baru.
Proyek SpaceCadetPinball telah menambahkan kemampuan menjalankan gim dalam jendela yang dapat diubah ukurannya, menggunakan aset dengan resolusi lebih tinggi, serta membawa permainan ke berbagai sistem operasi.
Kode hasil dekompilasi juga membantu pengembang memahami struktur permainan yang dulu sangat sulit ditelusuri Microsoft ketika melakukan porting 64 bit.
Proyek tersebut bahkan mencatat kemungkinan menambahkan unsur dari Full Tilt! Pinball dan dukungan untuk meja lain pada tahap pengembangan berikutnya.
Keberadaan proyek komunitas memperlihatkan perbedaan besar antara industri perangkat lunak era 1990 an dan sekarang. Saat Microsoft menemukan kode lama tanpa dokumentasi lengkap, perusahaan mempunyai sedikit waktu dan sedikit orang yang mengenal program tersebut.
Kini, pengembang dari berbagai negara dapat membedah program lama secara bersama, mendokumentasikan temuannya, memperbaiki kompatibilitas, dan membagikan hasil pekerjaan secara terbuka.
Penyebab Hilangnya Pinball Lebih Sederhana dari Berbagai Teori
Selama bertahun tahun, hilangnya Space Cadet sering dikaitkan dengan berbagai alasan rumit. Ada yang mengira Microsoft kehilangan lisensi, menghadapi persoalan dengan Maxis, atau sengaja menggantinya karena permainan dianggap terlalu kuno.
Penjelasan Raymond Chen menunjukkan keputusan tersebut jauh lebih sederhana. Ketika port 64 bit diuji, sistem tumbukan rusak. Dua insinyur mencoba mencari masalah, tetapi kode lama buatan pihak luar hampir tidak mempunyai dokumentasi dan terlalu sulit dipahami dalam waktu yang tersedia. Microsoft masih mempunyai jutaan baris kode lain yang harus dikerjakan. Pinball akhirnya dicoret.
Tidak ada strategi besar untuk mengakhiri sebuah ikon Windows. Tidak ada pula cerita bahwa permainan itu sengaja dilarang. Sebuah bug yang membuat bola menembus meja, ditambah tekanan waktu pengembangan sistem operasi, sudah cukup untuk menghentikan perjalanan salah satu gim bawaan paling dikenal dalam sejarah Windows.
Ironisnya, puluhan tahun kemudian, hasil dekompilasi komunitas dapat berjalan pada sistem 64 bit tanpa langsung memperlihatkan kesalahan yang sama.
Itulah sebabnya kisah Space Cadet masih menarik bagi penggemar teknologi. Alasan Microsoft menghapusnya telah dijelaskan langsung oleh orang yang terlibat, tetapi bagian kode yang benar benar membuat bola berubah seperti hantu masih menyisakan teka teki teknis sampai sekarang.