
2026/02/09 2:11
**Quake(1997年版)をコンパイルする手順** 1. **ソースの取得** * アーカイブやミラーサイトから元の `quake-1.32` タールボールをダウンロードします。 * 端末で次のコマンドを実行して解凍します。 ```bash tar xzf quake-1.32.tar.gz ``` 2. **環境構築** * C コンパイラ(gcc、clang)と標準ライブラリをインストールしてください。 * 現代のシステムで 32‑bit ビルドを行う場合は `gcc-multilib` 等が必要になることがあります。 3. **ビルド設定** ```bash cd quake-1.32/src make -f makefile.q2 linux ``` * `makefile.q2` は元々の Makefile です。Unix ライクな環境を想定しています。 * ターゲット `linux` を指定するとエンジンとクライアントがコンパイルされます。 4. **コンパイル** ```bash make ``` * すべてのオブジェクトファイルが `quake`, `qcommon` 等に結合されます。 * 警告は古いコード由来であることが多いため、通常は無視して構いません。 5. **インストール(任意)** ```bash sudo cp quake /usr/local/bin/ sudo mkdir -p /usr/share/games/quake sudo cp *.pk3 /usr/share/games/quake/ ``` * 元の `pak0.pk4` とカスタムマップを同じディレクトリに置いてください。 6. **起動** ```bash quake +set fs_basepath /usr/share/games/quake ``` --- ### 補足 * 64‑bit システムを使用している場合は、Makefile の `CFLAGS` に `-m32` を追加し 32‑bit コンパイルを強制してください。 * 元のコードでは非推奨関数が使われているため、現代コンパイラでビルドする際には厳格な警告を無効化(例:`CFLAGS += -Wno-deprecated`)する必要があります。 * マルチプレイヤーを行う場合は、専用サーバを起動し `quake +set sv_hostname "MyServer"` でホスト名を設定してください。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
記事では、歴史的なビルド環境を再現することで、元の1997年版 Windows‑32 Quake バイナリを最新のコンピュータ上で再構築する方法について説明しています。最初に、開発当時のハードウェアを紹介します:HP 712‑60 上で NeXT を動かし、DEC Alpha 2100A で DJGPP によってクロスコンパイルしたものから始まり、1996年6月に Intergraph RealizM Dual P6‑200MHz ワークステーションへ切り替わり Windows NT が実行されるようになりました。その後のバイナリ(winquake.exe, glquake.exe, qwcl.exe, qwsv.exe)は、Windows NT 上で Visual C++ 4.x を使ってコンパイルされています。
ガイドでは、再構築に適した四つの実用的な環境を列挙しています:オリジナルの Intergraph ハードウェア、デュアル・ペンチューム Pro ワークステーション(W6‑LI)、1990年代後半の「Quake PC」、または Oracle VirtualBox の仮想マシンです。手順としては、Windows NT 4 をインストールするところから始めます(約30分で完了し、起動時に CPU/RAM が表示されるが SMP には再インストールが必要)。その後、Visual C++ 6 を CD/Internet Archive から入手します(Windows 9X テーマ、解像度は ≤800×600 がベストで IntelliSense は無い)。
ソースコードは
q1source.zip として Quake Official Archive からダウンロードし、WinRar v2.50 で展開します。「WinQuake.dsw」を VC++ 6 で開き、すべてのプロジェクトを再ビルドします。
初期のビルドではアセンブラ(
vcpp5.exe)が見つからないため失敗します。解決策は acmsetup.exe を使って MDAC 2.5 をインストールし、その後に Processor Pack 用の setupsp5.exe を実行することです。この手順を踏めば再ビルドが成功します。再構築後は QuakeWorld をコンパイルして QSpy で実行でき、VC++ 6 のデバッグツール(ブレークポイント、スタックトレース、変数検査)を利用できますが、IntelliSense はありません。
この詳細なプロセスにより、愛好家や研究者は古いゲームビルドを保存し、互換性をテストし、モッド開発を行うことができ、元のハードウェアを必要とせずに最新プラットフォーム上で作業できます。
本文
2026年2月5日 – 1997年版クエイクのビルド体験を再現する
背景
- 最初にリリースされたクエイク実行ファイル(
とquake.exe
)は、NeXT 上で動作する HP 712‑60 でプログラムされ、DEC Alpha 2100A で DJGPP を使ってクロスコンパイルされました。vquake.exe - 1996年6月にタイトルをリリースした後、NeXT の開発環境が停滞していることを懸念し、id Software は開発スタックを Intergraph ハードウェア(Windows NT 上)へ切り替えました。 – ジョン・カーマック
その後のビルド(
winquake.exe、glquake.exe、および QuakeWorld ― qwcl.exe/qwsv.exe)はすべて Windows NT で Visual C++ 4.X を使って開発・コンパイルされました。
再現対象の環境
| 選択肢 | 説明 |
|---|---|
| 1 | Intergraph RealizM Dual P6‑200 MHz ワークステーション(手に入れるのは大変) |
| 2 | デュアル Pentium Pro マシン(同様に手に入れづらい;W6‑LI なら可能) |
| 3 | 当時の典型的なラスト90年代 PC(元のクエイク PC とほぼ同じ) |
| 4 | Windows 98 SE または Windows NT 4.0 を動作させる VirtualBox VM |
上記4つを物理ハードウェアと VirtualBox の両方でテストしました。
Windows NT 4 のインストール
- CD はブート可能です。インストールには約30分かかります。
- NT のミニマル起動画面では検出された CPU(Windows 95/98 互換は1CPUのみ)と RAM が表示され、アニメーションはありません。
- 2つ目の CPU を追加するには SMP システムをハンドリングできる HAL を取得するために再インストールが必要です。デュアル CPU マザーボードでも同様です。W6‑LI ではレギュレーターも必要になります。
Visual C++ 6 のインストール
- ダウンロード:通常は Internet Archive や winworldpc.com から取得します。
- UI は 640×480 / 800×600 を想定して設計されているため、1280×1024 では見づらくなります。
- Windows NT 4 が動作するマシンにインストールしてください。
ソースコードの入手
- GitHub から取得したり FTP 経由で転送すると
ワークスペースファイルが壊れます。.dsw - Quake Official Archive(Jason Brownless)から
をダウンロードします。q1source.zip - WinRar v2.50 で解凍してください。
Visual C++ 6 への設定
- VC++6 を起動し、Open Workspace →
を選択。WinQuake.dsw
は単一プロジェクト、.dsp
はワークスペースです。.dsw
- Rebuild All を実行してビルドします。
- アセンブリファイルが組み立てられない場合は VC++6 Processor Pack(
)をインストールします。setupsp5.exe- まず同フォルダ内の
を実行。acmsetup.exe
- まず同フォルダ内の
- 再度
を実行すると成功します。setupsp5.exe - 再びビルドし、すべてがコンパイルできるはずです。
結果
- QuakeWorld(QSpy 付き)もビルドして実行できます。
- VC++6 は「定義へジャンプ」「ブレークポイント」「スタックトレース」「変数の検査」など、強力なデバッグ機能を提供します(IntelliSense は未搭載)。
参考文献
- ジョン・カーマックによる開発切替に関する声明。
- Jason Brownless の Quake Official Archive。