已釋出原始碼的商業電子遊戲列表
這是一份羅列了可取得原始碼的商業電子遊戲清單。這些經商業開發與發行的電子遊戲,其原始碼已對大眾或遊戲社群開放。
在此處列出的幾個案例中,遊戲開發者明確地釋出原始碼,以防止其作品遺失。這類原始碼通常以各種不同(自由與非自由、商業與非商業)的軟體授權條款,釋出給遊戲社群或大眾;美術素材與資料的授權條款通常與原始碼不同,因為其版權狀況不同或更為複雜。原始碼可能由開發者推送到公開的程式碼庫(例如 SourceForge 或 GitHub),或提供給特定的遊戲社群成員,或與遊戲一同販售,或透過其他方式變得可用。遊戲本身可能是用 BASIC 或 Python 等直譯式語言編寫,並以未經編譯的原始碼形式發行;早期的軟體常以文字形式發行,例如《BASIC 電腦遊戲》一書。在某些情況下,當無法透過其他方式取得遊戲原始碼時,遊戲社群會透過耗時的逆向工程技術,從已編譯的二進位檔案中「重建」原始碼。
發行時即提供原始碼的遊戲
後來發布原始碼的遊戲
可取得原始碼的遊戲
下表中可取得的原始碼並非來自公司或智慧財產權持有者的官方發布,而是源於發布情況不明的場合,例如遺失後又被尋回的遊戲、合法性不明的洩漏(例如由個別開發者在產品生命週期結束時釋出),或未被刪除的內容。
原始碼經重建的遊戲
一旦遊戲或軟體對公司而言成為過時產品,重新建立該遊戲所需的工具和原始碼往往會遺失,甚至被主動銷毀和刪除。例如,隨著雅達利(Atari)於 1996 年關閉其位於加州森尼維爾的辦公室,《爆破彗星》(Asteroids)和《蜈蚣》(Centipede)等數個電子遊戲史上里程碑作品的原始碼,全都被當作垃圾丟棄了。
當投入大量時間與人力時,仍有可能從二進位程式中復原或還原一個能精確複製程式功能的原始碼變體。用於完成此任務的技術包括反編譯、反組譯與逆向工程二進位執行檔。這種方法通常不會產生與原始碼完全相同的版本,而是一個有所差異的版本,因為二進位程式不包含原始碼中原有的所有資訊。例如,如果程式在編譯時未包含額外的除錯資訊,那麼註解和函式名稱便無法還原。
在「由下而上」的開發方法流程中,運用上述技術重建的遊戲原始碼能夠精確複製原始遊戲的行為,通常能達到「時脈週期精確」及/或「像素級精確」。這種方法與遊戲引擎重製所使用的方法形成對比,後者通常採用「由上而下」的開發方法,其結果可能只是複製了遊戲引擎提供的一般功能,而不必然是對原始遊戲的精確再現。
<section begin=chapter2 />
參見
- :Category:原始碼可自由取得的商業電子遊戲
- 開源遊戲引擎列表
- 開源電子遊戲列表
- 曾為專有軟體的軟體列表
- 以免費軟體形式發布的商業電子遊戲列表
- 免費遊戲列表
- 專有的原始碼可用軟體列表
- 原始碼移植
- 原始碼可用軟體
參考資料
外部連結
- 網際網路檔案館的遊戲原始碼收藏
<section end=chapter2 />
Category:按授權方式分類的電子遊戲列表
電子遊戲