newsence
來源篩選

Let's compile Quake like it's 1997

Hacker News

This article explores the process of compiling the classic game Quake using methods and tools from 1997, offering a nostalgic look back at game development practices from that era.

newsence

讓我們像 1997 年一樣編譯 Quake

Hacker News
20 天前

AI 生成摘要

這篇文章探討了使用 1997 年的方法和工具來編譯經典遊戲 Quake 的過程,提供了對那個時代遊戲開發實踐的回顧。

背景

這篇文章由知名科技作家 Fabien Sanglard 撰寫,探討如何還原 1997 年的開發環境來編譯《雷神之鎚》(Quake)原始碼。作者不僅重現了當時的硬體配置,更深入挖掘了 id Software 在開發這款傳奇遊戲時所使用的工具鏈,引發了資深開發者對於軟體考古與 90 年代開發流程的熱烈討論。

社群觀點

針對文章中提到 id Software 使用 DEC Alpha 伺服器進行交叉編譯的細節,社群展開了深入的技術辯論。部分開發者對此表示懷疑,認為當時的 PC 效能已足以應付 C 語言的增量編譯,且將編譯好的二進位檔案透過網路傳輸回 PC 測試可能抵銷效能優勢。然而,支持者反駁指出,90 年代中期的伺服器等級硬體(如擁有四顆 CPU 的 Alpha 伺服器)在編譯速度上與一般桌上型電腦有著天壤之別。Fabien 本人隨後也補充,他曾親自向 John Carmack 求證,證實當時確實利用 Alpha 伺服器的高速運算能力來大幅縮短編譯時間,這在當時是極具前瞻性的工程實踐。

討論串中也瀰漫著對 Visual C++ 6.0 等舊時代工具的懷念。許多資深工程師指出,儘管現代 IDE 功能強大,但在反應速度上卻遠不如當年的工具。有人提到 VS6 的偵錯器在單步執行與條件斷點的反應幾乎是即時的,而現代基於 Electron 或 .NET 架構的編輯器往往顯得臃腫且緩慢。此外,關於代碼風格的討論也很有趣,雖然以現代眼光來看,Quake 的原始碼充滿了全域變數且缺乏封裝,但開發者普遍認同其架構極其清晰、邏輯純粹,這種「載入、設定、循環」的簡潔設計,正是其效能強大且易於移植的關鍵。

此外,這場討論也勾起了開發者對於 90 年代網路環境的回憶。當時透過 10Base-T 網路傳輸不到 1MB 的執行檔僅需數秒,因此「網路開銷」在專業開發環境中並非阻礙。更有留言者分享了在資源極度受限的年代,如何透過手改組合語言來縮減二進位檔案體積,以節省硬體成本的實戰經驗。這些討論不僅是對技術細節的考據,更展現了早期遊戲開發者在硬體限制下,如何透過極致的工程手段追求效率。

延伸閱讀

在討論中,社群成員推薦了多個與軟體考古相關的優質資源。Virtually Fun 網站被譽為尋找舊系統與模擬技術的寶庫;Miyuki 的部落格則詳細記錄了對早期 GCC 編譯器 i386 後端的考古研究。針對想要重溫舊時代視覺風格的開發者,有網友分享了名為 Studio 98 的佈景主題,旨在於現代編輯器中還原 Visual Studio 6.0 的色彩配置。此外,關於 Quake 原始碼在 1997 年遭駭客外流的歷史事件,也有相關的專題報導連結供讀者參考。