- Space Cadet Pinball telah direkayasa balik menjadi kode sumber sehingga bisa dijalankan di berbagai platform
- Di Linux, cara termudah memasangnya adalah lewat Flatpak, dan sumber daya game asli Windows juga sudah disertakan
- Jika diganti dengan data Full Tilt! Pinball, resolusi 1024x768 bisa digunakan
- Data Full Tilt juga mengubah aturan sehingga beberapa lampu tidak lagi toggle dan tetap menyala
- Untuk perangkat lunak proprietari yang sudah dihentikan penjualannya, mekanisme escrow yang beralih ke lisensi FOSS lebih diinginkan
Menjalankan Space Cadet Pinball di Linux
Menggunakan data Full Tilt untuk resolusi lebih tinggi
- Grafik bawaan berada di kisaran 480p, jadi bisa terlihat kasar
- Data game dari versi terpisah Full Tilt! Pinball mendukung tampilan resolusi 1024x768
- Data game Full Tilt bisa diunduh dari file zip di archive.org
- Agar versi Flatpak menggunakan file data ini, dibutuhkan sedikit pekerjaan manual
-
Prosedur penerapan data
- Jalankan game setidaknya sekali terlebih dahulu agar direktori data dibuat
- Ekstrak file zip yang telah diunduh langsung ke direktori data Flatpak
cd ~/.var/app/com.github.k4zmu2a.spacecadetpinball/data/SpaceCadetPinball
unzip ~/Downloads/CADET.ZIP
- Hapus direktori data bawaan yang dibundel dengan aplikasi, atau jika ingin lebih aman, ubah namanya
sudo rm -r $(flatpak info --show-location com.github.k4zmu2a.spacecadetpinball)/files/extra/Pinball
- Penghapusan ini diperlukan karena game mencari data di beberapa lokasi, tetapi jika sudah menemukan file data di satu direktori, ia tidak akan melanjutkan pencarian ke lokasi lain
- Jika pemasangannya bersifat per-pengguna,
sudo mungkin tidak diperlukan, tetapi jika lokasi pemasangannya adalah /var/lib/flatpak, hak akses root diperlukan
- Jika game diperbarui, langkah ke-3 mungkin perlu diulang
- Namun, paket Flatpak tampaknya belum diperbarui selama lebih dari 2 tahun, jadi kemungkinan atau frekuensi pembaruan terlihat rendah
Perbedaan antara data asli dan data Full Tilt
- Jika file asli dan file Full Tilt digabungkan, di dalam game pengguna bisa beralih antara data 3DPB asli dan data Full Tilt
- File data tampaknya juga memengaruhi aturan permainan
- Pada versi 3DPB asli, lampu di re-entry lane dan launch lane akan toggle setiap kali bola melintas
- Pada versi Full Tilt, lampu tidak toggle dan tetap menyala, sehingga lebih mudah menyelesaikan satu set lampu dan meningkatkan set bumper yang terhubung
- Pada masa yang kurang lebih sama, beberapa Mac juga hadir dengan game pra-instal bernama Marble Blast, dan ada orang-orang yang punya keterikatan serupa dengan game itu
- Berbeda dari game pinball ini, seri Marble Blast terus berkembang setelahnya dan kini memiliki versi-versi yang lebih baru yang masih bisa dimainkan
Portabilitas dan pelestarian
- Game lama ini cukup dicintai, dan khususnya karena ada orang yang punya kemampuan dan motivasi untuk mengerjakannya, ia bisa hadir dalam bentuk yang dapat dijalankan di berbagai platform
- Jika kode sumber tersedia dalam bentuk apa pun, itu memberi keuntungan besar karena game dapat diporting ke berbagai platform
- Berkat proyek ini, game ini tampaknya bisa dijalankan bukan hanya di Mac, Windows, dan Linux, tetapi juga di Android dan Nintendo Switch
- Jika ada cara untuk membayar pengembang aslinya, penulis ingin melakukannya, tetapi ada kekhawatiran tentang legalitas pengunduhan data game versi Full Tilt
- Itu karena data tersebut berisi art dan data berhak cipta yang disertakan dalam produk komersial
- Meski lebih menyukai hasil yang dibuat dengan lisensi FOSS, kenyataannya tidak selalu berjalan seperti itu, dan para pembuat hal-hal bagus perlu diberi imbalan agar lebih banyak hasil bagus bisa muncul
Perangkat lunak proprietari dan escrow kode sumber
- Pelestarian perangkat lunak juga merupakan tujuan yang penting
- Idealnya, perangkat lunak proprietari seperti ini seharusnya bisa masuk ke semacam source code escrow
- Selama pemegang hak cipta asli masih menjual produknya, hak tersebut harus dihormati
- Namun, jika mereka memilih untuk menghentikan penjualannya, akan lebih baik jika kodenya beralih ke lisensi FOSS agar pengguna dapat memperbaiki dan memelihara perangkat lunak yang mereka gunakan
- Pendekatan seperti ini dapat membantu menyeimbangkan hak kreator, hak pengguna, dan tujuan pelestarian
1 komentar
Komentar Hacker News
Saya adalah salah satu pembuat asli Space Cadet Pinball, dan rasanya sangat keren mengetahui masih ada orang-orang yang cukup menyukai game pinball lama ini hingga tetap menjaganya tetap hidup
Saya juga berencana meneruskan postingan ini kepada teman-teman saya di Cinematronics, Mike Sandige (lead engineer) dan Kevin Gliner (desainer sekaligus manajer produk), dan saya rasa mereka berdua akan sama senangnya seperti saya
Berkat itu kami bisa mengadakan liga pinball saat pelajaran mengetik di SMP. Saya penasaran bagian mana dari game ini yang Anda kerjakan, dan apakah ada cerita lucu selama pengembangannya atau bug yang sulit ditemukan
Sepanjang karier saya, saya selalu mengingat masa itu sebagai keberuntungan besar, dan terima kasih untuk game yang membuat saya tidak gila
Game ini sangat memengaruhi saya hingga masuk ke dunia pinball sungguhan dan mencapai level semi-pro. Saya selalu ingin bertanya, apakah Anda tertarik kembali ke tahap desain untuk membuat sekuel resmi Space Cadet Pinball
Di tengah ensittification, mikrotransaksi, dan masalah lisensi virtual pinball yang merugikan pemain, mungkin ada beberapa generasi yang mendambakan nostalgia seperti ini. Saya sudah terlalu banyak memikirkannya sampai-sampai bersedia mencurahkan semua yang saya punya bila perlu, tapi pertama-tama saya ingin mendengar jawaban Anda
Belakangan ada orang-orang yang membawa Deluxe Skijump, Doom, dan Starcraft, tapi Space Cadet tetap merupakan pilihan yang sangat layak
Saya adalah kontraktor eksternal untuk Software Heritage; saya tidak tahu apakah mereka masih mengerjakan hal seperti ini sekarang, tapi menurut saya itu organisasi yang ideal untuk peran semacam itu
https://www.softwareheritage.org/
Tingkat kemiripan remake ini dengan versi asli benar-benar gila, tampilan dan rasanya hampir identik
Pembuatnya melakukannya hanya dengan mendekompilasi file exe tanpa melihat source code asli, jadi praktis ini dicapai dalam keadaan benar-benar buta. Jadi ungkapan “anak yang tidak bisa mendengar, berbicara, atau melihat tapi hebat bermain pinball” terasa sangat pas
Saya penasaran apakah itu juga berfungsi di versi ini dan berniat mencobanya nanti saat sudah di depan komputer, lalu saya memasang versi AUR dan ternyata memang bisa. Ketik “hidden test” saat urutan awal game dan bola bisa diseret
Tentu saja, mungkin hal serupa bisa dilakukan dengan meminta Claude menulis spesifikasi dari kode hasil disassembly
Saya melihat GitHub dan ini menarik: https://github.com/k4zmu2a/SpaceCadetPinball
Sudah diport ke berbagai konsol, dan ada juga versi browser: https://pinball.alula.me/
Selain itu, ternyata Space Cadet Pinball adalah bagian dari game Maxis yang lebih besar, Full Tilt! Pinball, yang sebelumnya tidak saya ketahui. Windows 95 hampir saja dibundel dengan DOOM, tapi ditolak dengan semacam alasan “bagaimana kalau game seperti pinball saja?”, dan akhirnya jadilah begini
https://en.wikipedia.org/wiki/Full_Tilt!_Pinball#Development
Tahun lalu di Shopify kami membuat game pinball yang terinspirasi dari Space Cadet, dan masih bisa dimainkan di sini: https://bfcm.shopify.com/
Setiap tahun saat Black Friday kami merilis situs yang memvisualisasikan penjualan toko secara real-time; dulu hanya berupa globe dengan lengkungan yang menunjukkan penjualan berpindah dari penjual ke pembeli. Beberapa tahun terakhir kami membuat situsnya lebih seru dan interaktif
Memprogram mesin pinball ternyata cukup sulit, dan dikerjakan sekitar satu setengah bulan oleh tim berisi 2 engineer dan 1 artist. Jika penasaran bagaimana cara kerjanya, kami menaruh catatan proses di komputer desktop di samping mesin pinball
Saya suka penyebutan FLOSS escrow source code di bagian bawah tulisan
Mungkin sulit diterapkan secara hukum, tetapi gagasan bahwa software boleh tertutup saat masih dijual lalu otomatis menjadi open source saat tidak lagi dijual terdengar menarik dari sudut pandang calon pengguna atau pembeli. Paling tidak, jika perusahaan bangkrut atau proyek dibatalkan, ketergantungan akan berkurang
Ini sedikit mengingatkan saya pada https://kde.org/community/whatiskde/kdefreeqtfoundation/
Bahkan ada perusahaan yang menjadi perantara untuk hal seperti ini: https://www.escrowcompany.co/source-code-escrow/
Setelah penjualan dihentikan, menurut saya cukup jika redistribusi, dekompilasi, reverse engineering, dan reimplementasi dibuat legal
Versi Full Tilt juga memiliki multiball yang tidak ada di versi Windows
Jika dua lampu berwarna sama, Anda bisa mengunci bola dengan menembakkannya ke wormhole, dan jika 3 bola terkunci maka mode itu dimulai
Jika Anda suka Space Cadet, saya sangat menyarankan mencoba Visual Pinball juga. Ada jauh lebih banyak game pinball yang lebih baik daripada Space Cadet, dan banyak meja buatan komunitas yang keren tersedia gratis. Namun sepertinya ini hanya untuk Windows. Meja- mejanya discript dengan VBScript dan PinMAME dimuat sebagai objek COM
Tambahan lagi, setelah sedikit mengoprek ini, pemrograman Space Cadet ternyata cukup berantakan. Status lampu langsung mencerminkan status game. Akibatnya, jika Anda kehilangan bola atau memulai misi saat pertunjukan lampu rank-up sedang diputar, ada bug yang memungkinkan Anda melewati rank
VPX sekarang juga berjalan di Linux, Mac, iOS, dan Android, dan berfungsi baik berkat pekerjaan perintis dari jsm174. Bagian VBScript ditangani dengan Wine seperlunya, sementara sisanya native
Ia juga mendukung surround sound feedback (SSF), Direct Output Framework (DOF), Pinup Popper packs (PUP Packs), dan sebagainya. GUI yang dulu hanya untuk Windows sekarang juga sudah tertanam lewat ImGUI di versi Windows/Mac/Linux dan bisa ditampilkan saat bermain
Jika ingin mencobanya, login ke GitHub lalu unduh action terbaru untuk platform Anda [0]. Bagi pengguna non-Windows, lebih baik memakai build master terbaru daripada rilis 10.8.0 tahun lalu karena jarak fitur dengan versi Windows sudah jauh berkurang. Gunakan versi BGFX yang memiliki backend rendering multithread baru dengan dukungan Metal dan Vulkan
Jika ingin tahu lebih lanjut, lebih baik lihat Discord Virtual Pinball Chat [1] atau wiki [2]. Para pengembang telah bekerja keras menjadikan VPX cross-platform, dan hasilnya terlihat jelas. Saya juga membuat Pincab [3] berbasis ini dan hasilnya luar biasa
Tambahan lagi, VPX sekarang juga didukung di Batocera, tetapi versi VPX yang disertakan di sana sudah cukup tua
[0] https://github.com/vpinball/vpinball/actions/workflows/vpinb...
[1] https://discord.gg/BhR9h5aWm
[2] https://github.com/dekay/vpinball-wiki/wiki/About-Visual-Pin...
[3] https://github.com/dekay/vpin-cabinet/
Tetapi semakin banyak saya memainkan game pinball lain, semakin saya mengakui bahwa Space Cadet sendiri memang game yang hebat. Rasanya enak dimainkan dan punya banyak elemen yang membuat orang terus kembali
Saya ingin menemukan game pinball lain yang bisa saya nikmati sebesar itu, dan yang paling mendekati adalah Xenotitle dan Demon's Tilt, tapi keduanya lebih sulit dibiasakan dan dikuasai. Setelah itu, menurut saya yang terbaik berikutnya adalah Yoku's Island Express
Ini bukan game yang pantas diremehkan
Untuk Visual Pinball, mungkin layak melihat ini: https://archive.org/details/vpinball-x-73-space-cadet / https://github.com/vpinball/vpinball
Mungkin ada yang lebih baik, tetapi versi JP langsung berjalan tanpa perlu memasang dan mengatur banyak software lain
https://youtube.com/results?search_query=JP%27s+Space+Cadet - https://youtu.be/UXfohCzilrQ
Cara orang-orang membuat pinball seperti ini zaman sekarang benar-benar mengagumkan
Meja lainnya juga ada di sini:
https://vpforums.org/index.php?app=downloads&showcat=50
https://vpuniverse.com/files/category/82-vpx-pinball-tables
https://virtualpinballspreadsheet.github.io
https://nailbuster.com/wikipinup
https://archive.org/search?query=visual+pinball+tables
Di Linux/Mac, apa pun yang saya lakukan tetap macet atau crash, dan meskipun sekarang perlahan mulai lepas dari belenggu itu, ini masih proyek yang berorientasi Windows
Ada ratusan meja berkualitas tinggi dan lebih dari 12 rilis baru setiap minggu. Ada juga meja orisinal baru yang melakukan hal-hal yang mustahil pada meja pinball fisik, tetapi banyak pula rekreasi penuh cinta dari mesin pinball komersial legendaris dari 1950-an hingga 2000-an. Besar kemungkinan meja yang Anda ingat dari masa remaja sudah diemulasikan
Seperti MAME melestarikan game arcade sebelum menghilang, komunitas VPin sedang melakukan pelestarian sejarah agar generasi mendatang tetap bisa menikmati mesin elektromekanis. Secara internal, di Visual Pinball ada versi khusus MAME bernama PinMAME yang mengemulasikan ROM mesin pinball, sedangkan Visual Pinball menangani rendering 3D dan simulasi fisika
Kebanyakan orang memainkannya di desktop dengan keyboard, tetapi sebagaimana sebagian pemain MAME menambahkan tombol khusus, joystick, atau kabinet arcade, VPin juga bisa dijalankan dalam kabinet yang tampak seperti mesin pinball. Di posisi playfield terdapat layar datar, dan bola virtual diluncurkan dengan tombol flipper serta plunger sungguhan
VPin juga mendukung suara stereo, tetapi saluran tambahan output 7.1 dari sound card PC biasa bisa dipakai untuk menggerakkan subwoofer, bass shaker, dan hingga 4 kanal haptic feedback berbasis posisi. Saya terkesan dengan akurasinya dalam meniru sensasi bumper dan slingshot pinball sungguhan bekerja di dalam kabinet, sampai getaran halus bola logam yang bergulir di atas playfield kayu
Di kabinet saya, bahkan ada solenoid flipper mesin pinball sungguhan yang dipasang tepat di bawah posisi flipper yang dirender. Kabinet VPin saya berada di ruang game di samping 8 mesin pinball sungguhan dan kabinet arcade MAME kustom, jadi saya bisa menjamin nuansa keseluruhannya sangat dekat dengan aslinya
Jika ingin mencoba Visual Pinball, saya sangat menyarankan memulai dengan installer otomatis Pinup Popper yang ditautkan @eahm di atas: https://nailbuster.com/wikipinup/doku.php
Hasil luar biasa ini muncul karena banyak proyek bekerja mulus bersama, tetapi pada awalnya memang bisa membingungkan untuk memasangnya di urutan dan lokasi yang tepat. Saat instalasi pertama saya harus membaca dokumentasi dan itu agak merepotkan, tetapi sekarang saya justru melihat kurangnya pengalaman one-click sebagai kelebihan. Tingkat kerumitannya pas untuk menyaring pengguna yang datang terlalu santai lalu menebar spam, sehingga komunitas yang sangat berpengetahuan dan aktif masih bertahan di hobi retro-adjacent yang sepenuhnya gratis ini
Saya suka ide escrow source code, dan rasanya ini area yang bagus untuk campur tangan pemerintah
Ini mengingatkan saya pada cara British Library diwajibkan menyimpan salinan semua buku yang diterbitkan. Mungkin bisa dibuat hukum serupa untuk source code murni demi tujuan pelestarian
Tidak masalah jika itu dikunci dalam brankas metaforis dan hanya dibuka setelah syarat tertentu terkait dukungan dan umur software terpenuhi. Bahkan jika syaratnya adalah “setelah hak cipta asli berakhir”, yaitu lebih dari 70 tahun kemudian, itu tetap jauh lebih baik untuk pelestarian source code daripada praktik saat ini. Ada game yang source code aslinya hilang bahkan sebelum 10 tahun setelah rilis (Kingdom Hearts 1). Menurut saya, alternatif apa pun lebih baik daripada keadaan sekarang
Insentif bagi para kreator sudah cukup rendah. Menulis buku lalu segera masuk ke Anna's Archive dan dicerna menjadi slop LLM demi keuntungan gerombolan Altman. Membagikan artikel jurnalisme investigatif di sini atau di Reddit lalu salah satu komentar yang paling banyak di-upvote adalah tautan ke situs bypass paywall
Ini sudah seperti broken window milik Bastiat, jadi insentif untuk membuat karya kreatif makin berkurang. Saya tidak ingin meningkatkan risiko karya kreator software makin mudah disalin dan dicuci hak ciptanya. Brankas negara akan menjadi sasaran empuk bagi perusahaan-perusahaan triliunan
Terlepas dari itu, sebagai orang yang mengerjakan reverse engineering retro, saya sangat bersimpati pada pernyataan penulis tentang ketegangan antara kebutuhan pelestarian software dan kebutuhan memberi imbalan kepada kreator
Sebentar lagi game dan data akan dipisahkan, dan itu akan mempermudah bagian kedua sehingga Flatpak kustom bisa memperluas data
Flatpak sudah menerima pembaruan untuk menjaga runtime tetap mutakhir, tetapi game upstream sendiri tidak diperbarui, dan Flathub hanya akan menampilkan data appstream tentang pembaruan. Jika melihat repositori manifest Flatpak, commit terbarunya 6 bulan lalu: https://github.com/flathub/com.github.k4zmu2a.spacecadetpinb...
Saya berharap seseorang, baik sebagai proyek hobi maupun di tingkat perusahaan, mau membuat meja pinball fisik Space Cadet
Sekalian saja, saya juga ingin melihat versi nyata dari meja pinball Sesame Street [2], meski itu mungkin proyek yang sedikit lebih ambisius
[1] - https://spacecadetpinball.wordpress.com
[2] - https://www.youtube.com/watch?v=JZshZp-cxKg
Ada jalur yang melewati bawah bumper, padahal bumper sungguhan memanjang cukup jauh ke bawah: https://files.catbox.moe/pnaeri.png
Waktu itu mereka juga ingin membuat mesin Halo, dan itu juga tidak berujung ke mana-mana