1 poin oleh GN⁺ 3 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • 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

  • Space Cadet Pinball yang dulu dibundel dengan Windows XP telah diubah menjadi kode sumber melalui dekompiler dan alat reverse engineering, dan ada proyek GitHub yang merapikannya agar bisa dijalankan di berbagai platform
  • Di Linux, cara termudah untuk menjalankannya adalah dengan Flatpak, dan sumber daya game asli dari versi Windows juga ikut disertakan
  • Di GUI, pemasangan bisa dilakukan dengan alat seperti KDE Discover, dan di CLI bisa dipasang dengan perintah berikut
    flatpak install com.github.k4zmu2a.spacecadetpinball
    
  • Ada juga versi berbasis browser, tetapi menjalankannya dengan memasang langsung di komputer lokal terasa lebih baik

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

 
GN⁺ 3 jam lalu
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

    • Dulu sangat istimewa bahwa instalasi standar Windows menyertakan game yang menyenangkan, jadi terima kasih sudah membuat game ini dan menjualnya ke Microsoft
      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
    • Saat pertama kali memakai NT 4, saya harus memasang banyak mesin dan terus mengawasinya, dan Space Cadet Pinball membantu saya bertahan melewati malam-malam panjang yang membosankan
      Sepanjang karier saya, saya selalu mengingat masa itu sebagai keberuntungan besar, dan terima kasih untuk game yang membuat saya tidak gila
    • Menyertakan Space Cadet Pinball dalam instalasi bawaan Windows adalah salah satu nilai jual terkuat dalam sejarah Windows, dan saya benar-benar berterima kasih Anda membuatnya
      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
    • Karena termasuk dalam instalasi standar Windows 2000, game ini ada di setiap lab komputer, menjadi jeda yang bagus dari kenyataan sejenak, dan merupakan pengalaman game yang bertahan lama
      Belakangan ada orang-orang yang membawa Deluxe Skijump, Doom, dan Starcraft, tapi Space Cadet tetap merupakan pilihan yang sangat layak
    • Saya penasaran apa pendapat Anda tentang usulan escrow source code di akhir tulisan
      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

    • Dari yang saya ingat, di versi asli saat urutan awal dimulai, jika mengetik sesuatu seperti “hidden test”, bola bisa digerakkan dengan kursor
      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
    • Perlu dicatat juga bahwa Microsoft menyediakan debug symbols untuk Pinball
    • Sepemahaman saya, dalam metode clean room, Anda seharusnya tidak melihat langsung kode yang didisassembly, melainkan menerima dokumentasi yang dibuat orang lain setelah mereka melihatnya
      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

    • Di bagian lain thread ini, CEO-nya membantah teori keterlibatan DOOM
    • Versi Full Tilt jauh lebih ditingkatkan, dan memiliki multiball yang tidak ada di versi bundel Windows
  • 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 sangat suka perangkat penangkap bola di bagian tengah sebelah kiri yang jauh itu, yang mengerang susah payah sambil “melempar” bola
  • 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/

    • Ini memang tidak sama dengan FLOSS escrow, tetapi escrow source code cukup umum dalam kontrak software perusahaan besar
      Bahkan ada perusahaan yang menjadi perantara untuk hal seperti ini: https://www.escrowcompany.co/source-code-escrow/
    • Software escrow sangat umum, saya bahkan pernah bekerja di tempat yang memiliki escrow source code Windows
    • Sejujurnya saya tidak yakin source code itu sendiri akan terlalu berguna
      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

    • Untungnya itu tidak benar
      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/
    • Saya sempat merasa game yang lebih realistis tentu akan lebih seru, dan mungkin saya suka Space Cadet hanya karena nostalgia masa kecil
      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
    • Saya sudah banyak bermain pinball, dan Space Cadet adalah game pinball yang sangat bagus dari sisi desain, keseimbangan, dan ketertarikan
      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

    • Saya cukup kesulitan mencoba menjalankan proyek ini di lingkungan non-Windows
      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
    • Visual Pinball benar-benar sangat luar biasa, dan didukung komunitas besar yang aktif berisi artist dan pengembang meja
      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

    • Saya tidak yakin bahwa alternatif apa pun pasti lebih baik daripada kondisi 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

    • Sudah ada beberapa percobaan seperti itu, dan setahu saya yang paling dikenal mungkin ini [1]
      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
    • Banyak orang sudah memikirkannya, tetapi kalau tidak salah secara fisik itu tidak bisa dibuat
      Ada jalur yang melewati bawah bumper, padahal bumper sungguhan memanjang cukup jauh ke bawah: https://files.catbox.moe/pnaeri.png
    • Dua puluh satu tahun lalu saya pernah mengusulkannya ke seorang pegawai Stern, tapi tentu saja tidak terjadi apa-apa
      Waktu itu mereka juga ingin membuat mesin Halo, dan itu juga tidak berujung ke mana-mana