1 poin oleh GN⁺ 2024-05-24 | 1 komentar | Bagikan ke WhatsApp
  • Pada Space Quest II 2.0D/2.0F 720KB Disk 1 dari Sierra On-Line, kode sumber interpreter AGI yang tidak terlihat di daftar file masih tertinggal; ini adalah contoh kesalahan saat menyiapkan master disk yang ikut direplikasi begitu saja ke disk komersial
  • Di DOS FAT, penghapusan file tidak menghapus datanya, melainkan hanya menandai sektor sebagai tidak digunakan, sehingga jika disk yang belum diformat dipakai sebagai master, data sebelumnya dapat ikut terbawa ke seluruh salinan
  • Area “free” sebesar 402.432 byte di Disk 1 tidak berisi nilai isian format 0xF6, melainkan masih menyimpan source C/assembly; hasil ekstraksi mengonfirmasi 93 file, lebih dari 15.000 baris, dan sekitar 70% source interpreter AGI
  • Karena peralatan duplikasi FormMaster menyalin semua sektor disk byte demi byte, bukan per file, ada kemungkinan data yang telah dihapus dan tidak ada di daftar file sesungguhnya ikut tersebar ke disk untuk pelanggan dan toko ritel
  • Kesalahan yang terjadi pada Maret 1988, menjelang akhir era AGI ini, terkubur sampai penemuan pertama yang diketahui oleh NewRisingSun pada Oktober 2016, dan 36 tahun kemudian menjadi bahan arkeologi digital untuk melihat implementasi AGI milik Sierra

Jejak yang tidak terlihat dari daftar file saja

  • Floppy disk 720KB untuk Space Quest II versi 2.0D dan 2.0F secara tampilan tidak tampak istimewa, dan daftar filenya juga terlihat seperti disk game Sierra pada umumnya
  • Direktori 2.0D tidak berisi file tambahan yang mencurigakan, dan file data utama seperti PICDIR, LOGDIR, VIEWDIR, SNDDIR, VOL.0, VOL.1 dibuat pada 14 Maret 1988
  • File .OVL memiliki timestamp 15 Maret 1988, sedangkan kode interpreter AGI bertimestamp 18 Maret 1988, meninggalkan jejak bahwa persiapan Space Quest II 2.0D di kantor Sierra berlangsung selama satu minggu
  • Ruang terpakai pada disk ditampilkan sebagai 302.918 byte, sedangkan ruang “free” sebesar 402.432 byte, sehingga ruang kosongnya lebih besar daripada ruang terpakai

Area tidak terpakai yang terungkap lewat hex editor

  • Di DOS, sektor yang tidak digunakan pada floppy disk yang baru diformat biasanya diisi dengan nilai isian format 0xF6
  • Disk 2 Space Quest II 2.0D memiliki sektor tidak terpakai yang terisi 0xF6, tetapi di Disk 1 tidak ada satu pun sektor tidak terpakai yang terisi 0xF6
  • Di Disk 1, rentang terpanjang byte 0xF6 yang berurutan hanya 2 byte; meski lebih dari separuh ruang ditandai “free”, sebenarnya data lama masih tertinggal
  • Area yang ditandai tidak digunakan berisi teks yang tampak seperti source code C, yang sangat mengindikasikan bahwa disk tersebut pernah digunakan untuk keperluan lain sebelum dipakai sebagai master Space Quest II Disk 1
  • Dalam sistem file DOS FAT, penghapusan file tidak benar-benar menghapus data, melainkan menandai sektor agar dapat digunakan kembali, sehingga jika file baru tidak menimpanya, isi lama tetap tersisa

Source code interpreter AGI yang tertinggal

  • Saat teks ASCII dari area tidak terpakai diekstrak, ditemukan fungsi C seperti DisplayStatusLine dan StatusLineOn
  • DisplayStatusLine adalah kode yang menampilkan baris teks berisi skor saat ini dan status suara on/off, dan terkait dengan status bar putih di bagian atas layar Space Quest II
  • Kode ini bukan data game, melainkan source code milik interpreter AGI itu sendiri dari Sierra
  • Sektor yang tidak digunakan berisi source code dalam jumlah besar, dan karena kode tersimpan di sektor-sektor berurutan, kode tersebut relatif mudah diekstrak dan dipisahkan per file
  • Di bagian atas tiap file terdapat komentar yang menunjukkan nama file sumber, sehingga titik pemisahan mudah ditemukan; hasil pemisahannya berjumlah 93 file
    • 75 file source C
    • 16 file source assembly
    • 2 file DOS BAT
  • Total kodenya lebih dari 15.000 baris, dan sebagian besar file berada dalam bentuk lengkap
  • Disk ini memuat sekitar 70% source code interpreter AGI Sierra On-Line, termasuk komentar dan riwayat perubahan

Riwayat perubahan dan jejak developer

  • Komentar header di bagian atas beberapa file sumber memuat Change History
  • Header ANIMATE.C berisi nama file sumber, deskripsi singkat bahwa file itu “menangani satu siklus animasi dalam adventure game”, serta informasi seperti compile: MWC
  • MWC tampaknya merujuk pada compiler C dari Mark Williams yang banyak digunakan pada masa itu
  • Riwayat perubahan mencakup tanggal, waktu, inisial orang yang mengubah, dan deskripsi perubahan
  • Di antara inisial tersebut, JAS merujuk pada Jeff Stephenson yang terutama mengerjakan kode interpreter AGI, sedangkan DCI merujuk pada Chris Iden
  • Robert Heitman juga muncul, tetapi fokus utamanya adalah tool grafis seperti Picture Editor dan View Editor; Jeff Stephenson dan Chris Iden terutama bertanggung jawab atas kode interpreter

Memory map AGI.EXE dan perhitungan 70%

  • Selain 93 file source, Space Quest II 2.0D 720KB Disk 1 juga memuat memory map dari executable AGI.EXE sepanjang lebih dari 2.000 baris
  • Pada game AGI rilis, nama executable interpreter hanya AGI dan tidak dapat dijalankan langsung, tetapi selama pengembangan digunakan interpreter yang dapat dieksekusi langsung dengan ekstensi .EXE
  • Seseorang di Sierra membuat memory map AGI.EXE, yaitu interpreter AGI, pada 7 Oktober 1987
  • Tanggal ini sejalan dengan komentar terbaru dalam riwayat perubahan source code yang bertanggal September 1987
  • Memory map menyediakan daftar modul dan file sumber yang menyusun interpreter AGI secara relatif lengkap
  • Ada 98 file sumber berbeda yang muncul di memory map, dan dari jumlah itu 71 file terdapat dalam bentuk lengkap di disk SQ2
  • Berdasarkan rasio ini, dihitung bahwa disk Space Quest II memuat sekitar 70% source code interpreter AGI
  • Beberapa modul hanya menyertakan file header C, sehingga tidak dimasukkan dalam perhitungan ini

AGI sebagai kekayaan intelektual Sierra

  • Sierra On-Line mengalami masa sulit secara bisnis sekitar perilisan King’s Quest pada 1984, dan Ken Williams harus memberhentikan sekitar 100 karyawan, memangkas jumlah staf dari sekitar 130 menjadi sekitar 30 orang
  • Setelah itu, keberhasilan sistem game petualangan AGI dan game-game yang dibuat di atasnya ikut mengubah kondisi perusahaan
  • Pada akhir 1984, King’s Quest masuk 20 besar tangga penjualan software game komputer, dan bertahan di tangga tersebut selama sekitar setengah tahun hingga sebelum perilisan King’s Quest II
  • Kontrak dengan Tandy Radio Shack yang memungkinkan penjualan versi Tandy dari game tersebut di toko Radio Shack juga membantu
  • Dari 1985 hingga 1988, game-game AGI terus menjadi bestseller, dan interpreter AGI merupakan sumber pendapatan utama sekaligus kekayaan intelektual inti bagi Sierra On-Line
  • Tersalin massalnya 70% source code interpreter AGI dan terkirimnya kode itu kepada puluhan ribu atau ratusan ribu pelanggan merupakan kesalahan besar dari sudut pandang Sierra

Dampak master disk yang lupa diformat

  • Saat Sierra menyiapkan rilis game baru, mereka membuat master disk production copy untuk digunakan pada peralatan duplikasi disk FormMaster
  • FormMaster tidak hanya menyalin file dari master disk, melainkan menyalin semua sektor disk byte demi byte, terlepas dari apakah sektor itu digunakan atau tidak
  • Pada Space Quest II 2.0D dan 2.0F Disk 1, metode ini membuat 402.432 byte yang sebenarnya tidak digunakan sebagai file ikut tersalin
  • Dalam proses penyiapan master disk, disk seharusnya diformat penuh sebelum file game disalin, dan Sierra melakukan langkah ini dengan benar pada sebagian besar disk game asli
  • Pada Space Quest II 2.0D Disk 1, tampaknya seseorang melewatkan langkah format ini, dan disk yang sama juga digunakan untuk 2.0F
  • Akibatnya, ada kemungkinan ratusan ribu disk SQ2 yang dikirim ke pelanggan dan toko ritel memuat 70% source code interpreter AGI secara tersembunyi

Kasus arkeologi digital yang baru diketahui pada 2016

  • Peristiwa ini hampir pasti merupakan kesalahan yang tidak disengaja, dan tampaknya baik Sierra, pesaing, maupun pelanggan tidak menyadarinya saat itu
  • Penemuan pertama yang diketahui dilakukan oleh pengguna online NewRisingSun pada Oktober 2016
  • Fakta bahwa kejadian ini berlangsung menjelang akhir era AGI juga penting
    • Pada Maret 1988, Sierra sudah mengembangkan sistem game petualangan SCI
    • Mereka sedang bersiap merilis King’s Quest IV, game pertama yang menggunakan SCI
  • Jika source code interpreter AGI sempat terbuka secara tidak sengaja 1–2 tahun lebih awal, dampaknya mungkin lebih besar
  • Source code interpreter AGI yang diekstrak telah diunggah ke repositori GitHub
  • Implementasi AGILE, interpreter AGI berbasis web, awalnya mendapat sebagian bantuan dari source code AGI asli

1 komentar

 
GN⁺ 2024-05-24
Komentar Hacker News
  • Double Dragon II: The Revenge versi DOS tahun 1989 didistribusikan dalam 2 disket floppy, dan salah satunya berisi seluruh kode sumber dalam bentuk berkas arsip terkompresi yang sudah dihapus
    Tidak terlihat dengan perintah DIR, tetapi mudah dipulihkan: https://tcrf.net/Double_Dragon_II:The_Revenge(DOS)

    • Selalu menarik saat membuka ROM dan menemukan kasus-kasus ketika direktori dan nama berkas dari proses kompilasi ikut tertanam begitu saja di silikon
      Lucu juga bahwa bahkan pada masa ketika setiap byte benar-benar berarti uang, cukup sering entri FAT orang-orang ikut terbakar ke dalam cartridge
      https://forums.nesdev.org/viewtopic.php?t=17324
    • Mungkin ini pertanyaan agak bodoh, tapi saya penasaran bagaimana hal seperti ini bisa terjadi
      Setelah game difinalisasi, mereka pasti membuat semacam master disk lalu mengirimkannya ke fasilitas produksi massal, jadi saya bertanya-tanya bagaimana berkas arsip terhapus itu bisa masuk ke master. Mungkin sempat tersalin tanpa sengaja lalu dihapus sebelum rilis
    • Ini adalah game multipemain kedua saya, yang saya mainkan di komputer ayah teman saat berkunjung ke rumahnya
      Yang pertama juga Spacewar! versi DOS di komputer yang sama. Kalau ingatan saya benar, saat sampai ke bos gamenya macet sehingga saya tidak pernah menamatkan Double Dragon II, tetapi itu kenangan yang indah
  • Belakangan ini saya banyak melakukan rekayasa balik ROM synthesizer
    ROM Yamaha DX9 berisi potongan tabel simbol firmware di ruang kosong yang tersisa dalam binari[0], dan juga ada blok besar kode 6303 yang tampaknya berasal dari sistem pengembangan. Rasanya benar-benar menakjubkan saat menemukan hal semacam ini secara tidak sengaja. Saya terlalu tenggelam di bidang ini sampai merasa seperti arkeolog perangkat lunak yang mengintip sedikit ke masa lalu, dan masuk jauh ke lubang kelinci untuk mencari tahu alat pengembangan apa yang dipakai Yamaha. Saya tidak menemukan jawaban pasti, tetapi membaca dokumentasi alat pengembangan dari masa itu membuat saya makin menghargai alur kerja modern
    0: https://ajxs.me/blog/Hacking_the_Yamaha_DX9_To_Turn_It_Into_...

    • Saya juga suka rekayasa balik di dunia synthesizer, dan dulu pernah menganalisis Yamaha A-sampler serta membuat alat manajemen agar pengguna disk Yamaha A-sampler bisa melakukan tugas-tugas dasar dengan lebih cepat
      Saya banyak melakukan analisis I/O mentah dan sektor disk mentah dengan BeBox, dan BeOS punya berbagai alat yang bagus untuk peretasan sistem berkas. Dari situ saya membuat driver sistem berkas untuk Windows, dan kinerjanya cukup baik sampai mendapat dukungan Yamaha. Kalau suatu hari Anda terdorong untuk merekayasa balik ROM Yamaha untuk A-sampler, silakan hubungi saya. Saya sangat tertarik pada area ini. Pekerjaan DX9/DX7 Anda juga hebat, dan sebagai pengguna kedua synthesizer itu sejak masa peluncurannya, ini benar-benar menarik
  • Game ini punya porsi yang begitu kuat dalam masa kecil saya sampai, ketika memikirkannya setelah sekian lama, rasanya justru seperti mimpi
    Membayangkan memiliki jenis keterhubungan yang sama dengan suatu game dalam hidup saya sekarang terasa mustahil. Semua di sekitar saya terasa hanya seperti game, acara, atau benda, tetapi Space Quest 2, 3, 4 terasa terjalin seperti bagian mendasar dari DNA saya

    • Space Quest III adalah game Sierra pertama saya, dan jelas punya kekuatan seperti itu
      Game-game Sierra pada periode itu benar-benar istimewa. Khususnya Police Quest II, LSL III, dan Hero's Quest, yang banyak saya mainkan pada masa yang hampir sama. Ada sesuatu yang ajaib pada game Sierra EGA berbasis teks, dan bagi saya itu berada tepat di titik yang pas untuk keterhubungan emosional dan kreatif di antara Infocom dan versi VGA point-and-click yang datang kemudian
    • Saya mulai dari seri ke-6, tetapi kemudian kembali memainkan seri 1–5, dan jelas game-game itu menjadi bagian dari kepribadian inti saya
      Space Quest juga terkait dengan salah satu kisah internet awal favorit saya. Pada masa ketika situs web kebanyakan di-host di Geocities dan oleh mahasiswa bosan, ada situs penggemar Space Quest, dan saya mengirim email kepada operator salah satu situs SQ besar untuk mengatakan bahwa saya menyukai game dan situsnya. Saat itu saya kira-kira berusia 14 tahun, dan dia membalas bahwa ia bisa mengirimkan game-game orisinal itu kepada saya dengan harga sekitar 40 dolar. Semuanya adalah rilis asli dengan kotak dan floppy asli. Sekitar tahun 1997, saya agak khawatir mengirim 40 dolar kepada orang tak dikenal di sisi lain negeri dan berharap ia benar-benar mengirimkannya, tetapi ia sungguh melakukannya. Beberapa minggu kemudian semua game tiba persis seperti yang dijelaskan, dan saya sangat gembira. Dalam semalam saya menjadi penganut sejati, dan itu tetap menjadi semacam inti matahari optimisme yang masih saya pegang sampai sekarang. Jess, kalau Anda ada di suatu tempat, Anda benar-benar nyata. Semoga suatu hari kita bertemu lagi
    • Saya juga punya perasaan yang sangat mirip
      Ayah saya bekerja di pabrik baja dan berteman dengan orang bagian komputer di sana, yang memberi kami salinan SQ2 untuk dicoba di rumah. Saya memainkan game itu habis-habisan, tetapi karena masih cukup kecil, banyak bagian yang membingungkan. Kalau benar-benar buntu, saya meminta ayah bertanya kepada orang komputer itu bagaimana melewati titik tertentu, dan seingat saya ia dengan baik hati memberi petunjuk alih-alih langsung memberi jawaban. Sekitar 35 tahun telah berlalu, tetapi saya masih ingat cukup detail mimpi-mimpi yang saya alami terkait game itu. Pengaruhnya benar-benar besar
    • Saya juga merasakan hal yang sama, tetapi khususnya untuk Space Quest II
      SQ I baru saya mainkan jauh kemudian, dan SQ III tidak terasa sekuat itu. Sisanya bahkan bukan lagi game EGA dengan input teks. SQ II membangkitkan banyak kenangan, dan saya juga belajar cukup banyak bahasa Inggris darinya. Saya ingat rasa puas saat menemukan bahwa Roger Wilco bisa melakukan “rub berries”
    • Saya sangat senang ketika free little dude berhasil untuk menyelamatkan makhluk di awal game
      Ini adalah game pertama jenis itu yang pernah saya mainkan, dan saya terpaku padanya selama berminggu-minggu saat berusia sekitar sepuluh tahun
  • Saya tidak melihat ada secret sauce khusus di mesin AGI yang cukup membuat pesaing mendapat keuntungan dari kebocoran
    Mungkin ada contoh lain, tetapi Hugo's House of Horrors adalah game bergaya AGI yang dibuat satu orang beberapa tahun kemudian. Di luar kebaruan awal berupa petualangan grafis, game Sierra berhasil karena mereka mencurahkan upaya luar biasa untuk membuat grafis dan menulis game yang sesungguhnya. Bukan berarti teknologinya tidak berarti apa-apa, tetapi porsinya dalam hasil akhir relatif kecil

    • Pada masa itu, jauh lebih sulit mendapatkan informasi dan contoh kode yang berguna
      Mempelajari dan membuat perangkat lunak yang berfungsi jauh lebih sulit dibandingkan sekarang, dan hampir tidak ada yang bisa dijadikan pijakan. Di MS-DOS hampir tidak ada open source yang berarti, apalagi engine game open source. Dalam lingkungan seperti itu, jika source AGI bocor secara luas, setidaknya itu bisa cukup berarti sebagai cetak biru yang menunjukkan persis bagaimana game PC paling populer saat itu dibuat
    • Kadang saya bertanya-tanya apakah source code yang bocor benar-benar bernilai
      Terutama jika kodenya tidak berisi rahasia yang bisa disalahgunakan peretas, seperti key atau backdoor. Kode yang bocor tentu saja tidak punya lisensi, jadi kalau ingin menghindari gugatan, Anda tidak bisa langsung menggunakannya kembali dalam produk sendiri. Pada akhirnya Anda harus membaca kode itu, memahami tekniknya, lalu menerapkannya ke pekerjaan sendiri tanpa tercium seperti pelanggaran hak cipta, dan biasanya itu lebih sulit daripada membuat dari awal. Meski ada kasus yang menguntungkan, saya juga ragu seberapa sering itu benar-benar berujung pada keunggulan kompetitif. Developer sering menulis kode baru bahkan ketika ada open source yang terdokumentasi baik dan berlisensi permisif. Membaca kode sering kali lebih sulit daripada menulisnya, dan sekadar membangun ulang pun bisa sulit. Ini mungkin bisa membuat kloning sedikit lebih mudah, tetapi game biasanya sudah di-crack dan didistribusikan dalam beberapa hari, dan kode proteksi salinan mungkin saja tidak disertakan dalam source
    • Terdengar seperti perkataan seseorang yang tumbuh di “era ketika bisa membuat sesuatu tanpa harus memakai ASM atau C”
      Jumlah orang yang bisa berbicara dalam bahasa-bahasa itu sendiri mungkin beberapa orde magnitudo lebih sedikit, dan yang bisa membuat sesuatu yang koheren dengannya lebih sedikit lagi
    • Saat itu, learning rate jaringan saraf internal hampir dinaikkan ke maksimum
      Sekarang nilainya cepat menurun, jadi hal-hal yang kita temui saat ini tidak punya kekuatan sebesar dulu dalam membentuk bobot internal
  • Komentar riwayat perubahan-nya benar-benar bagus
    Ini menunjukkan tingkat ketelitian dan craftsmanship yang tinggi pada era jauh sebelum alat manajemen source menampilkan hal semacam ini dengan jelas. Jujur saja, bahkan setelah CVS/SVN/Git pun hal ini masih belum jelas bagi banyak orang. Tulisan ini juga mengingatkan pada esai terkenal “No Silver Bullet”[1] dari 1986, yang memprediksi bahwa perangkat lunak ke depannya pada dasarnya masih akan ditulis dengan susah payah oleh programmer, satu perintah demi satu perintah, seperti saat itu. Fakta bahwa kode dan komentar engine game di artikel asli mirip dengan sesuatu yang mungkin saya tulis hari ini, menurut saya masih mendukung prediksi itu hampir 40 tahun kemudian
    [1] https://en.wikipedia.org/wiki/No_Silver_Bullet

    • Sampai sekarang pun masih terlalu sering terlihat pesan commit git seperti “fix” atau “stuff”
  • Versi Famicom Air Fortress memuat banyak sekali hal tidak disengaja di dalam ROM
    Ada kode ASM yang belum dikompilasi, daftar direktori MS-DOS, string dari salah satu EXE yang dipakai untuk membangun game, dan banyak lagi. Kartrid versi Jepang berukuran 128+128KB. Kemudian saat membuat versi NES Amerika, sebagian besar data grafis 128KB ternyata berupa grafis duplikat atau tidak terpakai, dan grafis unik sebenarnya hanya sekitar 36KB. Mereka menghapus salah satu gambar planet di ending sehingga grafisnya diperkecil menjadi 32KB, lalu merilisnya sebagai kartrid 128+32KB alih-alih 128+128KB
    Source: https://tcrf.net/Air_Fortress

  • Situasi seperti ini sebenarnya sangat sering terjadi
    The Cutting Room Floor mencantumkan sekitar 500 kasus, mulai dari yang hanya berisi sedikit kode yang tidak sengaja ikut masuk hingga yang sebagian besarnya ikut masuk
    https://tcrf.net/Category:Games_with_uncompiled_source_code

    • Setelah mengecek cepat, sepertinya kasus kode AGI interpreter yang belum dikompilasi pada disk Space Quest II khusus ini belum ada di sana
      Saya penasaran apakah penilaian saya sama. Hal yang sama juga terjadi pada disk King's Quest III, dan sebenarnya tampaknya terjadi hampir pada periode yang sama dengan kasus Space Quest II
  • Bagian yang paling saya sukai adalah tampaknya tidak ada yang menemukan source code yang ada di disk itu selama satu generasi penuh
    “Yang mengejutkan, baik Sierra, pesaing, maupun pelanggan tampaknya tidak menyadari hal ini terjadi, dan baru ditemukan beberapa dekade kemudian. Penemuan pertama yang diketahui dilakukan oleh pengguna online NewRisingSun pada Oktober 2016.” Ini juga mengingatkan saya pada berbagai terobosan baru-baru ini terkait Tetris dan Super Mario Bros. Ketika saya memainkan game-game ini semasa kecil, saya mengira beberapa dekade kemudian mereka akan menjadi artefak terlupakan, bahkan sulit dijalankan kecuali oleh penghobi paling berdedikasi. Namun internet dan emulator memberi kehidupan baru pada game dan komputasi era awal itu

    • Kalimat terakhir tampaknya memberikan jawabannya
      Pasti ada orang yang menemukan file yang terhapus, tetapi karena itu terjadi sebelum internet menjadi umum, kemungkinan besar tidak tersebar luas atau terdokumentasi
    • Ada orang-orang yang mengarsipkan perangkat lunak lama dengan alat modern bernama flux imaging, sehingga penyalinan disk yang sempurna menjadi mungkin
      Saat mengimaging disk seperti ini, bisa saja seseorang menemukan data yang tersisa di ruang kosong
  • Antara 1987 dan 1993, saya menyiapkan sekitar sembilan master disk untuk dua aplikasi Mac
    Saya selalu memakai floppy baru, dan ada checklist panjang untuk memastikan disknya benar. Untungnya semuanya berjalan baik, dan beberapa di antaranya bahkan dipakai untuk membuat 100 ribu disk. Syukurlah sekarang tidak ada lagi yang harus melakukan hal seperti ini

    • Sampai sekarang pun kita masih melakukan hal serupa, hanya saja namanya Docker layer
      Saya pernah melihat layer seperti ini: base, tambah tool, tambah source code, compile, hapus source code, hapus tool tambahan, rilis. Situasinya jadi seperti, “Kenapa Docker image ini sebesar ini? Yah, storage kan murah...” Ada juga solusi mudah seperti multi-stage build( https://docs.docker.com/build/building/multi-stage/ ). Tapi kalau tidak tahu bahwa tampilan Docker image saat ini mencakup semua layer sebelumnya, kesalahan seperti ini kadang bisa terjadi
  • Pada masa artefak rilis dibuat secara manual, sisa-sisa yang sebenarnya tidak dimaksudkan untuk dirilis sering ikut terbawa
    Misalnya cut content[1] atau debug symbol[2]. Saat saya tidak sengaja menemukan debug symbol tersembunyi di dalam arsip data versi demo sebuah video game yang sedang saya reverse-engineer, itu tidak terduga, tetapi sangat membantu. Sekarang, berkat CI/CD, build otomatis, dan praktik pengembangan modern lainnya, kemungkinan hal seperti ini lebih jarang terjadi
    [1] https://tcrf.net
    [2] https://www.retroreversing.com/games/symbols

    • Saya menduga praktik bagus seperti CI/CD mungkin tidak selazim yang dibayangkan dalam pengembangan game
    • Pipeline CI/CD juga bisa bekerja sebaliknya
      Kalau tidak ada error, tidak ada yang membaca ribuan baris output konsol. Paket rilis final kemungkinan tetap lulus tes meskipun berisi terlalu banyak hal yang tidak diperlukan. Jadi insting saya justru sebaliknya. Ini bisa terjadi lebih sering, atau setidaknya CI/CD mungkin membuat hal semacam ini lebih mudah terjadi dibanding build manual. Mungkin ada faktor lain juga